BONYOLULT TÁLBAN MOZGÓ GOLYÓ Kaotikus mozgás vizsgálata a Dynamic Solver programmal
Oktatási segédanyag Készítette: Tóthné Juhász Tünde
I. Bevezetés Ezen oktatási segédanyag célja az, hogy egy konkrét példán keresztül bemutassa az ingyenesen letölthető Dynamic Solver program alapfunkcióit, s ezáltal mindenki számára elérhetővé tegye azt, hogy saját maga elemezhessen egyszerű – vagy bonyolultabb – mechanikai problémákat. A programot egy egyszerű kaotikus rendszeren, a bonyolult tálban mozgó golyó példáján mutatjuk be. Az egyenletek beírásától kezdve a paraméterek és grafikus ablakok beállításáig minden lépést végigveszünk, így reményeim szerint a dokumentum végére érve az olvasó saját maga is képes lesz egyéb problémák (pl. Lissajous-görbék) szimulálására. A Dynamic Solver program a http://tp.lc.ehu.es/jma/ds/ds.html honlapról szabadon letölthető. Amennyiben nem szeretné megtanulni a Dynamic Solver programozását, de szívesen bemutatná az óráin a bonyolult tálban mozgó golyóhoz kapcsolódó szimulációkat, az adott fejezetek végén megtalálja hozzá a már előre megírt programot.
II. Bonyolult tálban mozgó golyó vizsgálata II.1. A probléma elméleti háttere és differenciálegyenletei Egy tetszőleges alakú tálban mozgó golyó mozgásegyenletei nagyon egyszerűen, a V V x és y x y másodrendű differenciálegyenlet-rendszerrel adhatók meg, feltéve, ha a tál nem túl magas. Nézzük most azt az esetet, amikor a tál alakját a
V x 4 y 4 x 2 y 2 5 x 2 5 y 2 xy potenciál adja meg. A tál alakját persze szinte akármi másnak is választhatnánk, de figyelni kell arra, hogy forgásszimmetrikus esetben (pl. V x 2 y 2 ) esetén nem alakul ki kaotikus mozgás! [1] Ha a konzervatív esetet vizsgáljuk (azaz feltesszük, hogy nincs súrlódás), még egy feltételünk van, mégpedig az, hogy: 1 1 E E mozgási E potenciáli s mu 2 mv 2 mV állandó , 2 2 ahol u és v rendre a sebesség x illetve y irányú komponensei. Nézzük meg, hogyan vizsgálható ez a rendszer a Dynamic Solver program használatával!
II.2. Differenciálegyenlet-rendszer megadása a Dynamic Solver programban A program elindítása után a legelső lépés az, hogy megadjuk a rendszerünk alapegyenleteit. Ehhez a következő lépéseket kell tennünk: 1.
A felső menüsor Edit menüjéből válasszuk a Type-ot. (1. ábra). Ezután az előugró ablakban ki kell választanunk, hogy milyen típusú egyenleteket kívánunk megadni. A mi esetünkben elsőfokú differenciálegyenlet-rendszert választunk, és az egyenletek számára 4-et írunk be. (2. ábra)
1. ábra
2. ábra
2.
Ahhoz, hogy a rendszer egyenleteit megadhassuk lineáris differenciálegyenletrendszer formájában, vezessünk be két új (az energia képletében már használt) változót! Legyen x u és y v . Így a rendszer mozgásegyenletei már lineáris differenciálegyenlet-rendszerként is felírhatók: x u y v u 4 x 3 2xy 2 10x y v 4 y 3 2 x 2 y 10 y x Az utolsó két egyenlethez el kellett végezni a potenciál parciális deriválását. Írjuk be most ezeket az egyenleteket a programba!
3.
A változók megadásához, válasszuk az Edit menü Variables pontját (3. ábra)! Az előugró ablak első fülében megadhatjuk először a független változó (Independent variable) és annak kezdőértékének (initial value) jelölését. A program ezt automatikusan t-nek, illetve t0-nak állítja be, hagyjuk is így (4. ábra)! Ez alatt megadható egy úgynevezett kollektív elnevezés (collective name) a többi változóra, de ezt nyugodtan töröljük ki, nem lesz rá szükségünk! (5. ábra) Ezután adjuk meg a változóinkat (individual names) sorban: x, y, u, v, (6. ábra) úgy, hogy minden változó után lépünk egyet a lefelé nyíllal. Adjuk meg a kezdőértékek jelölését is, értelemszerűen x0, y0, u0, v0 alakban!. Ha egyenlőre nem nyomjuk meg az OK gombot, az ablak továbbra is nyitva marad, így megadhatjuk az egyenleteket is.
3/a kép 3. ábra
3/b kép 4. ábra
lefelé nyíl 3/c kép 5. ábra
kép 6.3/d ábra
4. Az egyenleteket az ablak fölső fülei közül az Equations-re kattintva adhatjuk meg. (Ha az előző lépésnél megnyomtuk volna az OK gombot, válasszuk az Edit menü Equations pontját!) Mivel az elején megadtuk, hogy 4 egyenletünk lesz, a program automatikusan 4 egyenletet vár, méghozzá a megadott változók alapján a dx/dt, dy/dt, du/dt, dv/dt egyenleteket.) Ezeket a 2. pontban már leírtuk, most egyszerűen csak be kell őket gépelni a megfelelő helyre. (7-10. ábrák) Az egyenletek közötti váltáshoz használjuk ismét a bal oldali lefelé gördítő nyilat. Figyeljünk arra, hogy a szorzásra kizárólag a * használható (tehát xy helyett x*y-t írjunk), hatványkitevőt pedig a ^ gombbal írhatunk (tehát x3 jelölése x^3).
7. 4/aábra kép
9.4/c ábra kép 5.
8.4/b ábrakép
10. 4/d ábra kép
Az egyenletek megadása után nézzük a kezdeti feltételek megadását! Ez azért lesz különösen fontos, mert ennél a lépésnél tudjuk megadni az E=állandó feltételt. Ennek a feltételnek a korábban megadott: 1 1 E E mozgási E potenciáli s mu 2 mv 2 mV állandó 2 2 formáját egy kicsit leegyszerűsíthetjük azzal, hogy az egyenletet leosztjuk a tömeggel. Mivel a golyó tömege a mozgás során szintén állandó, ezért E 1 1 E(paraméter) u 2 v 2 V állandó m 2 2 Így két paraméter helyett csak egyet, az egyenlet bal oldalán álló E-t kell megadnunk ahhoz, hogy a mozgást szimulálni tudjuk. De hogyan is történik a kezdőfeltételek megadása? Ha a 4. pontban használt ablakot nem zártuk be, kattintsunk a fölső fülek közül a 4.-re, az Initial values gombra! (Ha bezártuk, válasszuk az Edit menü Initial values pontját!) Az ablak alsó részével kell csak foglalkoznunk (az initial functions feliratú résszel). Itt a legördülő nyíl segítségével megadhatjuk x0, y0, u0 és v0
kezdőértékének függvényeit. Ahhoz, hogy a konzervatív feltétel teljesüljön, azaz E=állandó legyen, az egyik sebességkomponens kezdőértékét a fenti egyenletből ki kell fejeznünk, és azt kell megadnunk. (Tehát a szimuláció során csak 3 kezdőérték lesz függetlenül választható, a negyediket a gép számolja ki a megadott egyenlet alapján.) Így a beírandó 4 kezdeti feltétel a következő lesz: x 0( t ) x 0 y 0( t ) y 0 2 4 4 2 2 2 2 u 0( t ) 2E ( v0) 2((x 0) ( y0) ( x 0) ( y0) 5(x 0) 5( y0) ( x 0)( y0)) v 0( t ) v 0 Az itt megadott egyenleteknek csak a jobb oldalát kell begépelni. A harmadik egyenlet a program által elfogadott formátumban kell megadni, figyelve a fent már említett szorzás és kitevő jelölésekre. (11. ábra)
11.5/aábra kép
6. Már csak egy lépés van hátra ahhoz, hogy a bonyolult tálban mozgó golyó egyenletei megadásának végére érjünk. Ez pedig nem más, mint a paraméterek megadása. Az eddig is használt ablak második fülére (parameters) kattintva a legfölső sorban megadhatjuk az egyenletekben használt paraméterek értékeit. A mi esetünkben csak egy paraméter van, E, aminek az értékét állítsuk be pl. 40-re. (12. ábra)
12. ábra
II.3. A golyó mozgásának megjelenítése Miután a rendszer mozgásegyenleteit megadtuk, lehetőségünk nyílik a mozgás grafikus megjelenítésére is. Ehhez meg kell nyitnunk egy grafikus ablakot a felső sor Output menüsorának New graph window pontját választva. (13. ábra) Az előugró ablakban azután megadhatjuk esetlegesen az ablak elnevezését, majd kissé lejjebb a vízszintes és függőleges tengelyen ábrázolt változókat. A mi esetünkben a vízszintes tengelyen az x, a függőleges tengelyen az y változókat ábrázoljuk, és mindkét esetben a skála menjen -5-től +5-ig! (14. ábra)
13. ábra
14. ábra
A képernyőn megjelenő kurzor úgy van beállítva, hogy az adott pont 1. illetve 2. koordinátáját rendre x0 és y0 értéknek veszi. Így különböző helyekre kattintva lehetőségünk van különböző kezdeti feltételeknek megfelelő mozgás megfigyelésére. Kattintsunk egy tetszőleges pontra, majd a felső menü gyorsgombjai közül kattintsunk a Go feliratú zöld gombra! (15. ábra) Ezzel elindítottuk a szimulációt, és a program megjeleníti a golyó mozgását. A szimulációt a piros Stop gombbal állíthatjuk le. (16. ábra) Ha új kezdeti értékre szeretnénk szimulációt végrehajtani, töröljük a képernyőt a 17. ábrán látható gyorsgombbal, majd kattintsunk egy másik helyre, és indítsuk újra a szimulációt!
15. ábra
16. ábra
17. ábra
A golyó mozgását bemutató programot innen is elindíthatja: golyó1.ds A szimuláció során kapott mozgásgörbék lehetnek kaotikusak (18. ábra)– ilyenkor a golyó bejárja az egész tálat, kirajzolva annak alakját - ,vagy kváziperiodikusak (19. ábra). A kaotikus esethez tartozó kezdőértékei lehetnek pl. (x0;y0)=(1;2), az alábbi ábrán látható kváziperiodikus eset kezdőértékei pedig (x0;y0)=(1.6;2.4)
18. ábra
19. ábra
II.4. Poincaré-metszetek készítése Ahhoz, hogy igazán jól szemléltethessük a rendszer kaotikus jellegét, érdemes elkészíteni egy-két úgynevezett Poincaré-metszetet. (Ez nagyon leegyszerűsítve azt jelenti, hogy a mozgásnak csak azon pontjait ábrázoljuk, amelyek egy bizonyos feltételnek eleget tesznek.) 1. Nézzük meg a v=0 feltételnek eleget tevő pontokat az xy síkon! Hozzuk létre a II.3 pontban leírt grafikus ablakot, de most a tengelyeken szereplő változók megadása után menjünk kicsit lejjebb, és jelöljük be a Poincaré section és az Increasing és Decreasing előtt álló négyzeteket! (20. ábra) Ezek után adjuk meg a feltételt a Condition mezőben. Itt egyszerűen csak azt a kifejezést kell beírni, amit 0nak szeretnénk, így a mi esetünkben a v(t) kifejezést kell begépelnünk. (21. ábra) FONTOS! A Format fülre kattintva vegyük ki a pipát a continuous line elől! (22. ábra)
20. ábra
21. ábra
22. ábra
Ha ezek után újra elindítjuk a szimulációt (különböző pontokra kattintva), kirajzolódik a Poincaré-metszet (23. ábra):
23. ábra
Az E paramétert változtatva változik a Poincaré-metszet is, ezt is érdemes bemutatni. (24. ábra)
E=80
E=40
24. ábra A Poincaré-metszet megrajzolásához szükséges program innen is futtatható: Poincaréxy.ds. Szintén hasznos lehet, ha egyszerre tudjuk megjeleníteni a golyó mozgását, és a Poincaré metszetet. (25. ábra) Ehhez egyszerűen két grafikus ablakot nyitunk a II.3 és II.4 pontok szerint. A kezdőpontot érdemes a Poincaré-metszeten kiválasztani, mert így könnyebben megtaláljuk a kváziperiodikus pályákat. (Egy-egy görbe megrajzolása után töröljük az ablakokat, és válasszunk új kezdőpontot!) Az ehhez tartozó program: Poincaréésmozgás.ds
25. ábra 2. Készíthető olyan Poincaré-metszet is, amelyen pl. az x=0 és u0 feltételnek megfelelő pontokat ábrázoljuk az y-v síkon. Ekkor az eljárás hasonló az előzőekhez, de a grafikus ablakban a vízszintes és függőleges tengelyeken ábrázolt mennyiségek most rendre y és v lesznek. Ilyenkor a cursor feliratú fülnél állítsuk át a kezdőértékeket y0 és v0-ra (26. ábra) További különbség az előzőhöz képest, hogy most a Poincaré section és az Increasing előtti négyzetet kell csak kipipálni, a Decreasinget nem. A Condition mezőbe pedig a következő kifejezést írjuk: x(t) + (if(u(t),0,1e10,1e10)). (27. ábra)
26. ábra
27. ábra
Az így létrejövő Poincaré-metszetek is jól mutatják a paramétertől (E-től) való függést. (28. ábra)
E=40
E=100
28. ábra A fenti ábrán lévő Poincaré-metszetek megrajzolhatók a következő programmal: Poincaréyv.ds.
III. Óravázlat szakköri feldolgozáshoz (45 percre) 1. Bevezető tanári kísérlet: bonyolult tálban mozgó golyó tanulmányozása (3 perc) 2. A kaotikus mozgás definíciója (szabálytalan, előrejelezhetetlen, de a fázistérben szabályos fraktálszerkezetű), rövid elméleti magyarázat.[2] (5 perc) 3. A bonyolult tálban mozgó golyó pályagörbéinek vizsgálata különböző kezdőfeltételek esetén a golyó1.ds programmal. Csoportmunka: kaotikus és kváziperiodikus görbék keresése, eredmények összehasonlítása (12 perc) 4. Az xy sík v=0 pontjainak ábrázolása (Poincaré-metszet készítése) a Poincaréxy.ds porgrammal. Ismét csoportmunka, mindegyik csoport külön E értékekre rajzolja meg a metszetet. (A paraméter beállításának leírását lásd a II.2. fejezet 6. pontjában) Az így kapott eredményeket összehasonlítva megállapíthatjuk a paramétertől való függést. (12 perc) 5. Kapcsolat keresése a Poincaré-metszet és a golyó pályagörbéje között a Poincaréésmozgás.ds programmal. Csoportmunka. (10 perc) 6. Házi feladat kiadása: Az x=0, u0 feltételű Poincaré-metszet yv síkjának megrajzolása különböző energiák esetén, a képek Word dokumentumba csatolásával. Az ehhez használandó program: Poincaréyv.ds (3 perc)
IV.
Irodalomjegyzék 1. Gruiz Márton, Tél Tamás: Fizikai Szemle 2005/5. 191.o. 2. Tél Tamás, Gruiz Márton: Kaotikus dinamika, Nemzeti tankönykiadó, 2002.