Leapfrog integration
I numerisk analys är leapfrog integration en metod för att numeriskt integrera differentialekvationer av formen
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
- Numeriska metoder för vanliga differentialekvationer
- Symplektisk integration
- Euler integration
- Verlet integration
- Runge–Kutta integration
externa länkar
- [1] , Drexel University Physics