Leapfrog integration

I numerisk analys är leapfrog integration en metod för att numeriskt integrera differentialekvationer av formen

eller motsvarande form
särskilt i fallet med ett dynamiskt system av klassisk mekanik .

Metoden är känd under olika namn inom olika discipliner. Speciellt liknar den hastigheten Verlet- metoden, som är en variant av Verlet-integration . Leapfrog-integrering motsvarar uppdatering av positioner och hastigheter vid olika interfolierade tidpunkter, förskjutna på ett sådant sätt att de " springer " över varandra.

Leapfrog-integration är en andra ordningens metod, till skillnad från Euler-integration , som bara är första ordningens, men ändå kräver samma antal funktionsutvärderingar per steg. Till skillnad från Euler-integration är den stabil för oscillerande rörelse, så länge som tidssteget är konstant, och .

Genom att använda Yoshida-koefficienter, applicera leapfrog-integratorn flera gånger med rätt tidssteg, kan en integrator av mycket högre ordning genereras.

Algoritm

I leapfrog-integration är ekvationerna för att uppdatera position och hastighet

där är position i steg , är hastigheten eller första derivatan av , vid steg a är accelerationen, eller andraderivatan av , i steg , och är storleken på varje tidssteg. Dessa ekvationer kan uttryckas i en form som också ger hastighet i heltalssteg:

I denna synkroniserade form måste emellertid tidssteget vara konstant för att bibehålla stabilitet.

Den synkroniserade formen kan omarrangeras till "kick-drift-kick"-formen;

som i första hand används där variabla tidssteg krävs. Separationen av accelerationsberäkningen till början och slutet av ett steg innebär att om tidsupplösningen ökas med en faktor två ( , då krävs bara en extra (beräkningsmässigt dyr) accelerationsberäkning.

En användning av denna ekvation är i gravitationssimuleringar, eftersom accelerationen i så fall endast beror på de graviterande massornas positioner (och inte på deras hastigheter), även om högre ordningens integratorer (som Runge–Kutta-metoder) används oftare .

Det finns två primära styrkor med språngintegrering när den tillämpas på mekanikproblem. Den första är tidsreversibiliteten för Leapfrog-metoden. Man kan integrera n steg framåt, och sedan vända integrationens riktning och integrera n steg bakåt för att komma till samma startposition. Den andra styrkan är dess symplektiska natur, som ibland tillåter bevarande av en (något modifierad) energi i ett dynamiskt system ( endast sant för vissa enkla system ). Detta är särskilt användbart vid beräkning av orbitaldynamik, eftersom många andra integrationsscheman, såsom (order-4) Runge–Kutta -metoden, inte sparar energi och tillåter systemet att driva avsevärt över tiden.

På grund av dess tidsreversibilitet, och eftersom det är en symplektisk integrator , används leapfrog-integration också i Hamiltonian Monte Carlo , en metod för att dra slumpmässiga urval från en sannolikhetsfördelning vars totala normalisering är okänd.

Yoshida algoritmer

Leapfrog-integratorn kan konverteras till högre ordnings-integratörer med hjälp av tekniker tack vare Haruo Yoshida. I detta tillvägagångssätt tillämpas språnget över ett antal olika tidssteg. Det visar sig att när de korrekta tidsstegen används i sekvens, upphäver felen och integratörer av mycket högre ordning kan enkelt produceras.

4:e ordningens Yoshida-integrator

Ett steg under den fjärde ordningens Yoshida-integrator kräver fyra mellansteg. Positionen och hastigheten beräknas vid olika tidpunkter. Endast tre (beräkningsmässigt dyra) accelerationsberäkningar krävs.

Ekvationerna för 4:e ordningens integrator för att uppdatera position och hastighet är

där är startpositionen och hastigheten, är mellanliggande position och hastighet vid mellansteg , är accelerationen vid positionen , och är den slutliga positionen och hastigheten under en 4:e ordningens Yoshida steg.

Koefficienter och härleds i (se ekvationen (4.6))

Alla mellanliggande steg bildar ett steg vilket innebär att koefficienter summerar till ett: och . Observera att position och hastighet beräknas vid olika tidpunkter och vissa mellanliggande steg är bakåt i tiden. För att illustrera detta ger vi de numeriska värdena för koefficienter: c , ,

Se även

externa länkar

  • [1] , Drexel University Physics