Bolygómozgás. Számítógépes szimulációk 1n4i11/1. Csabai István tavasz. ELTE Komplex Rendszerek Fizikája Tanszék csabaiθcomplex.elte.

Hasonló dokumentumok
Bolygómozgás. Számítógépes szimulációk fn1n4i11/1. Csabai István, Stéger József

3. jegyz könyv: Bolygómozgás

2. Alapfeltevések és a logisztikus egyenlet

Tömegvonzás, bolygómozgás

Inga. Szőke Kálmán Benjamin SZKRADT.ELTE május 18. A jegyzőkönyv célja a matematikai és fizikai inga szimulációja volt.

Égi mechanika tesztkérdések. A hallgatók javaslatai 2008

Képlet levezetése :F=m a = m Δv/Δt = ΔI/Δt

Naprendszer mozgásai

Földünk a világegyetemben

A bolygók mozgására vonatkozó Kepler-törvények igazolása

Osztályozó, javító vizsga 9. évfolyam gimnázium. Írásbeli vizsgarész ELSŐ RÉSZ

Dinamikai rendszerek, populációdinamika

A világtörvény keresése

Differenciálegyenletek numerikus integrálása április 9.

A Kepler-féle egyenlet és az affin transzformációk

Periódikus mozgás, körmozgás, bolygók mozgása, Newton törvények

Ingák. Számítógépes szimulációk fn1n4i11/1. Csabai István, Stéger József

Egy keveset a bolygók perihélium - elfordulásáról

Programozás II. 2. Dr. Iványi Péter

Kora modern kori csillagászat. Johannes Kepler ( ) A Világ Harmóniája

Maximum kiválasztás tömbben

Erők (rug., grav., súrl., közegell., centripet.,), és körmozgás, bolygómozgás Rugalmas erő:

Fizika példák a döntőben

A hiperbolikus Kepler-egyenlet geometriai szemléletű tárgyalása

Egyszerű számítási módszer bolygók és kisbolygók oályáj ának meghatározására

3D számítógépes geometria 2

Bevezetés a programozásba I.

Lássuk be, hogy nem lehet a három pontot úgy elhelyezni, hogy egy inerciarendszerben

3. Nevezetes ponthalmazok a síkban és a térben

Populációdinamika. Számítógépes szimulációk szamszimf17la

Nemzetközi Csillagászati és Asztrofizikai Diákolimpia Szakkör Gravitáció, égi mechanika Tanári jegyzet

Bevezetés a programozásba. 8. Előadás: Függvények 2.

1. Írjunk programot mely beolvas két egész számot és kinyomtatja az összegüket.

1. Alapok. Programozás II

A Hamilton-Jacobi-egyenlet

Egy mozgástani feladat

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

Égi mechanika tesztfeladatok 2006

FIZIKA II. Dr. Rácz Ervin. egyetemi docens

Mozgás centrális erőtérben

Földünk a világegyetemben

Baran Ágnes, Burai Pál, Noszály Csaba. Gyakorlat Differenciálegyenletek numerikus megoldása

Gnädig Péter: Golyók, labdák, korongok és pörgettyűk csalafinta mozgása április 16. Pörgettyűk különböző méretekben az atomoktól a csillagokig

Bevezetés a programozásba I.

Analízis III. gyakorlat október

Ellipszissel kapcsolatos képletekről

Lendület. Lendület (impulzus): A test tömegének és sebességének szorzata. vektormennyiség: iránya a sebesség vektor iránya.

Meghatározás: Olyan egyenlet, amely a független változók mellett tartalmaz egy vagy több függvényt és azok deriváltjait.

A bifiláris felfüggesztésű rúd mozgásáról

117. AA Megoldó Alfréd AA 117.

Kirchhoff 2. törvénye (huroktörvény) szerint az áramkörben levő elektromotoros erők. E i = U j (3.1)

Tömegpontok mozgása egyenes mentén, hajítások

2014/2015. tavaszi félév

Pénzügyi algoritmusok

HD ,06 M 5911 K

Programozási nyelvek I. 5. előadás (Gregorics Tibor anyagának felhasználásával)

1. Feladatok a dinamika tárgyköréből

Kinematika szeptember Vonatkoztatási rendszerek, koordinátarendszerek

Bevezetés a programozásba I.

Programozási alapismeretek :: beadandó feladat. Felhasználói dokumentáció. Molnár Tamás MOTIABT.ELTE

Fizika. Fizika. Nyitray Gergely (PhD) PTE PMMIK február 13.

EGY ABLAK - GEOMETRIAI PROBLÉMA

A mérés célkitűzései: A matematikai inga lengésidejének kísérleti vizsgálata, a nehézségi gyorsulás meghatározása.

MATEMATIKA HETI 5 ÓRA

Párhuzamos programozási feladatok

A mechanika alapjai. A pontszerű testek dinamikája

Szerző. Varga Péter ETR azonosító: VAPQAAI.ELTE cím: Név: Kurzuskód:

Determinisztikus folyamatok. Kun Ferenc

Minimum feladat: Teljes feladat: Minimum feladat: Teljes feladat: Minimum feladat:

Optika gyakorlat 1. Fermat-elv, fénytörés, reexió sík és görbült határfelületen. Fermat-elv

KÖRMOZGÁS, REZGŐMOZGÁS, FORGÓMOZGÁS

A Föld helye a Világegyetemben. A Naprendszer

Modern Fizika Labor. 2. Az elemi töltés meghatározása. Fizika BSc. A mérés dátuma: nov. 29. A mérés száma és címe: Értékelés:

KOVÁCS BÉLA, MATEMATIKA I.

Hamilton rendszerek, Lyapunov függvények és Stabilitás. Hamilton rendszerek valós dinamikai rendszerek, konzerva3v mechanikai rendszerek

20. tétel A kör és a parabola a koordinátasíkon, egyenessel való kölcsönös helyzetük. Másodfokú egyenlőtlenségek.

Diszkréten mintavételezett függvények

Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1

ANALÍZIS II. Példatár

INFORMATIKA tétel 2018

1. Feladatok munkavégzés és konzervatív erőterek tárgyköréből. Munkatétel

Mérnöki alapok 10. előadás

Tartalomjegyzék. Általános Információ! 2. Felhasználói dokumentáció! 3. Feladat! 3. Környezet! 3. Használat! 3. Bemenet! 3. Példa!

Bevezetés a programozásba. 11. Előadás: Esettanulmány

Programok értelmezése

3. előadás Stabilitás

ÉGITESTEK MOZGÁSA, ÉGI KOORDINÁTA- RENDSZEREK NAVIGÁCIÓS ÖSSZEFÜGGÉSEI BEVEZETÉS ÉGITESTEK NAVIGÁCIÓS TRANSZFORMÁCIÓI

Gyakorló feladatok a Közönséges dierenciálegyenletek kurzushoz

L 4πd 2 1 L 4πd 2 2. km 3,5. P max = P min = Az 5 naptömegű bolygó esetén ez alapján a zóna belső és külső határai (d 1 és d 2): 2.

Programozás II gyakorlat. 8. Operátor túlterhelés

Az egyenes ellipszishenger ferde síkmetszeteiről

4. Öröklődés. Programozás II

MODELLEZÉS - SZIMULÁCIÓ

Az elliptikus hengerre írt csavarvonalról

A brachistochron probléma megoldása

Molekuláris dinamika I. 10. előadás

(kidolgozta: Dr. Nagy Zoltán egyetemi adjunktus)

A Kepler - problémáról. Megint az interneten találtunk egy szép animációt 1. ábra, amin elgondolkoztunk: Ezt hogyan oldanánk meg? Most erről lesz szó.

A nagyobb tömegű Peti 1,5 m-re ült a forgástengelytől. Összesen: 9p

A Föld középpontja felé szabadon eső test sebessége növekszik, azaz, a

Átírás:

Bolygómozgás Számítógépes szimulációk 1n4i11/1 Csabai István ELTE Komplex Rendszerek Fizikája Tanszék 5.102 Email: csabaiθcomplex.elte.hu 2009 tavasz

A bolygómozgás Kepler törvényei 1 A bolygók pályája ellipszis, és annak egyik gyújtópontjában van a Nap. 2 A bolygók vezérsugara (a bolygót a Nappal összeköt szakasz) azonos id k alatt azonos területet súrol. 3 A bolygók Naptól való átlagos távolságainak, azaz a pálya fél nagytengelyeinek (a) köbei úgy aránylanak egymáshoz, mint a keringési idejük (T ) négyzetei. Tehát a a3 T 2 hányados minden bolygó esetén ugyanakkora (ha azok ugyanabban a naprendszerben keringenek).

Kepler az el z törvényeket nem elméleti úton vezette le, hanem Tycho Brahe csillagászati meggyelései alapján találta meg. A törvényeket kés bb Isaac Newton vezette le a gravitációs elmélete alapján. A gravitációs elmélet alapján több általánosítás is tehet : a törvények nem csak egy bolygó-csillag párosra, hanem bolygó körül kering holdakra és m holdakra, illetve bármely nagy tömeg égitest körül kering más égitestekre is igazak a természetben nem csak kötött ellipszis alakú pályák lehetésgesek, hanem parabola és hiperbola is lehetséges

Newton gravitációs törvénye Kepler törvényei Newton gravitációs törvényéb l vezethet ek le: F 12 = Gm 1m 2 r 3 12 r 12, F 21 = Gm 1m 2 r21 3 r 21 A középpontba mutató er k következtében a perdület megmarad, így a pályák síkban helyezkednek el.

A Kepler probléma egzakt megoldása a Nap tömege legalább 1000-szerese bármely bolygó tömegénél feltehetjük, hogy a Nap mozdulatlan, illetve elhanyagolhatjuk a bolygók tömegét bolygó-hold, csillag-csillag rendszerek esetén a tömegek nem hanyagólhatóak el, ekkor a tömegközéppont lesz mozdulatlan (redukált tömeg!) µ = m 1m 2 m 1 + m 2, r = r 1 r 2, m 1 r 1 + m 2 r 2 = 0 Kepler pálya egyenlete (ɛ a pálya excentricitása) r(θ) = a(1 ɛ2 ) 1 ɛ cos θ, b = a 1 ɛ 2

A Kepler probléma egzakt megoldása a pálya sebesség v = G(m 1 + m 2 ) ( 2 r 1 ) a a teljes energia = kinetikus + potenciális energia E = 1 2 µv2 Gm 1m 2 r keringési id - Kepler 3-ik törvényéb l T 2 = 4π 2 G(m 1 + m 2 ) a3 = Gm 1m 2 2a a perdület L = r (µv)

A Kepler probléma numerikus számítása Két bolygó kering a közös tömegközéppontjuk körül. Határozzuk meg a pálya paramétereit! Csillagászati egységek a Föld fél nagytengelye: Kepler 3-ik törvénye 1AU = 1.496 10 11 m G(M Sun + m Earth ) = 4π2 a 3 a távolságot mérjük csillagászati egységben (AU) és az id t években (yr) G(M Sun + m Earth ) = 4π 2 AU 3 /yr 2 t 2

A Kepler probléma numerikus számítása Kezdeti értékek válasszuk a nagytengelyt x tengelynek rögzítsük x(t = 0)-t a közelpontban: x(0) = a(1 + ɛ) a közelpontban a sebesség y irányú, adjuk meg v y (t = 0)-t a sebesség a pálya egyenletb l v = G(m 1 + m 2 ) ( 2 r 1 ) a az el z összefüggések alapján t = 0-ban meghatározhatjuk a megadott paraméterek mellett az excentricitást és a fél nagytengely méretét ɛ = x(0)v y (0) 2 /(G(M + m)) 1, a = x(0)/(1 + ɛ)

C++ program #include <cstdlib> #include <fstream> #include <iostream> using namespace std; #include "vector.hpp" #include "odeint.hpp" using namespace cpl; const double pi = 4 * atan(1.0); const double GmPlusM = 4 * pi * pi; bool switch_t_with_y = false; // to interpolate to y = 0 // Derivative vector for Newton's law of gravitation Vector f(const Vector& x) { double t = x[0], r_x = x[1], r_y = x[2], v_x = x[3], v_y = x[4]; double rsquared = r_x*r_x + r_y*r_y; double rcubed = rsquared * sqrt(rsquared); Vector f(5); f[0] = 1; f[1] = v_x; f[2] = v_y; f[3] = - GmPlusM * r_x / rcubed; f[4] = - GmPlusM * r_y / rcubed; if (switch_t_with_y) { // use y as independent variable for (int i = 0; i < 5; i++) f[i] /= v_y; } return f; }

A pálya vizsgálatához ki akarjuk íratni az x-tengely metszeteket. Mivel a véges lépések miatt nem lenne mindig kiértékelés itt, amikor keresztezzük az x-tengelyt, visszaléptatünk oda. A következ függvény vissza-interpolálja a pályát egy x-tengely metszése után az y = 0-hoz. ehhez áttérünk t-r l y változóra: a Runge-Kutta lépésköz legyen -y dx dy = dx/dt dy/dt // Change independent variable from t to y and step back to y = 0 void interpolate_crossing(vector x, int& crossing) { ++crossing; switch_t_with_y = true; RK4Step(x, -x[2], f); cout << " crossing " << crossing << "\t t = " << x[0] << "\t x = " << x[1] << endl; switch_t_with_y = false; }

//The code contains both simple and adaptive Runge-Kutta method int main() { cout << " Kepler orbit comparing fixed and adaptive Runge-Kutta\n" << " -----------------------------------------------------\n" << " Enter aphelion distance in AU, and eccentricity: "; double r_ap, eccentricity, a, T, v0; cin >> r_ap >> eccentricity; a = r_ap / (1 + eccentricity); T = pow(a, 1.5); v0 = sqrt(gmplusm * (2 / r_ap - 1 / a)); cout << " Enter number of periods, step size, and adaptive accuracy: "; double periods, dt, accuracy; cin >> periods >> dt >> accuracy; Vector x0(5); x0[0] = 0; x0[1] = r_ap; x0[2] = 0; x0[3] = 0; x0[4] = v0; ofstream datafile("fixed.data"); Vector x = x0; int steps = 0, crossing = 0; cout << "\n Integrating with fixed step size" << endl; do { for (int i = 0; i < 5; i++) datafile << x[i] << '\t'; datafile << '\n'; double y = x[2]; RK4Step(x, dt, f); ++steps; if (y * x[2] < 0) interpolate_crossing(x, crossing); } while (x[0] < periods * T); cout << " number of fixed size steps = " << steps << endl; cout << " data in file fixed.data" << endl; datafile.close();

} datafile.open("adaptive.data"); x = x0; steps = crossing = 0; double dt_max = 0, dt_min = 100; cout << "\n Integrating with adaptive step size" << endl; do { for (int i = 0; i < 5; i++) datafile << x[i] << '\t'; datafile << '\n'; double t_save = x[0]; double y = x[2]; adaptiverk4step(x, dt, accuracy, f); double step_size = x[0] - t_save; ++steps; if (step_size < dt_min) dt_min = step_size; if (step_size > dt_max) dt_max = step_size; if (y * x[2] < 0) interpolate_crossing(x, crossing); } while (x[0] < periods * T); cout << " number of adaptive steps = " << steps << endl; cout << " step size: min = " << dt_min << " max = " << dt_max << endl; cout << " data in file adaptive.data" << endl; datafile.close();

Három test probléma Egzakt megoldások a probléma egyszer nek t nik: három tömeg (m 1, m 2, m 3 ), három pozició ( r 1, r 2, r 3 ) és három egyenlet : d 2 r 1 dt 2 = Gm r 1 r 2 2 r 1 r 2 Gm r 1 r 3 3 r 1 r 3 (ez az 1. testre vonatkozik, hasonló egyenletek írhatóak fel a 2. és 3. testre) a megoldások azonban er sen függenek a kezdeti feltételekt l! analitikusan csak nagyon kevés eset kezelhet kezelhet egyszer bb esetek: síkbeli 3 test probléma - a 3 test egy síkban mozog korlátozott 3 test probléma - m 3 = 0, ekkor m 1, m 2 Kepler pályán mozog, míg a 3-ik körülöttük kering

Síkbeli 3 test probléma általában a 3 test problémák nem síkbeliek, de pl. a Naprendszer kezelhet síkbeliként gyorsulások relatív poziciók mozgás egyenletek a 1 = Gm 2 r 2 12 r 12 Gm 3 r13 2 r 13 s 1 = r 3 r 2, s 2 = r 1 r 3, s 3 = r 2 r 1 s 1 + s 2 + s 3 = 0 d 2 s i dt 2 = mg s 2 s i + m i G m = m 1 + m 2 + m 3, 3 G s i = G s 2 i=1 i

Linkek Nap-Föld-Jupiter applet: t/t : keringési id, r: távolság, v: sebesség állíthatóak: m i : a Jupiter és a Föld tömege, e i excentricitásuk, a: a Föld fél nagytengelye, theta: a Föld kezdeti pálya szöge, a keringési iránya, valamint a egy csúszkával az animáció sebessége.

Feladatok Használjuk a kepler.cpp programot! 1 A nagytengely iránya és nagysága elvileg állandó. Teszteljük, hogy a numerikus hibák miatt ez változik-e, és ha igen, akkor mennyire. Vizsgáljuk meg, hogy a lépéshossz és az alkalmazott integrál módszer mennyire befolyásolja ezt. (Keressük meg a trajektória perihéliumát és mérjük le a nagytengely szögét és hosszát a kiindulási helyzethez képest.) 2 Vizsgáljuk meg, hogy az adaptív lépéshossz hogyan változik a pálya mentén! Ábrázoljuk és magyarázzuk meg a kapott eredményt! Szorgalmi feladat: Hasonlítsuk össze, hogy ugyanakkora precizitás megkövetelésekor (pl. 10 teljes pálya után ugyanakkora hiba) mennyi futási id szükséges a normál és az adaptív Runge-Kutta szimulációhoz. 3 A Merkúr perihélium precessziója (lapozz!)

Feladatok 3 A Merkúr perihélium precessziója. A Merkúr pályája er sen elnyúlt (excentricitása: ɛ = 0.2056), így a pályán hosszú id alatt meggyelhet annak elfordulása. Erre az elfordulásra az általános relativitás elmélet adott magyarázatot. Ennek alapján a következ korrekció szükséges az er k megadásakor: F = Gm ( Summ Mercury r 2 1 + α ) r 2 Írjuk át a kódot ennek a korrekciónak a gyelembevételére. Vizsgáljuk meg, hogy α 1.1 10 8 AU 2 érték mellett mekkora perihélium mozgást tapasztalunk. A kapott értéket vessük össze a a Merkúr pályájának évszázadonkénti 43 ívmásodperces mért elfordulásával. (tipp: kis α esetén a precesszó rátája α, azaz meghatározhatjuk a meredekséget és extrapolálhatunk α 1.1 10 8 AU 2 -ra) 4 Alakítsd át a kepler.cpp forráskódot, hogy 3 test problémát kezeljen. Próbálj ki különféle paramétereket, ábrázold a pályákat, vizsgáld a stabilitást!

Feladatok 5 Szorgalmi feladat: Largrange pontok (lásd Wikipédia) stabilitása. Szimuláljuk a Nap-Jupiter rendszert, és vizsgáljuk meg az L1, L2, L3, L4, L5 Lagrange pontokba helyezett kis (a bolygó tömegénél sokkal kisebb) tömegek mozgását, igazoljuk, hogy (csak) a L4-L5 pontok stabilak. A Jupiter esetében az utóbbi pontokban valóban összegy lnek aszteroibák, az ún Trójai kisbolygók (linkek: trójaiak az SDSS-ben, wikipedia).