Következő lapNext Page Arrow

Fizlab (MyPhysicsLab.hu)

Himbálódzó pálca

This page is part of the website prepared by Sándor Nagy with kind permission from Erik Neumann as a translation to Hungarian of his original site MyPhysicsLab—Physics Simulation with Java.

A szimuláción látható himbálódzó pálca egy elhanyagolható tömegű (magyarán 0 tömegű) merev rudat jelent, végein egy-egy tömegponttal. A rúd egyik vége rugó közvetítésével rögzül a mennyezethez. Az egészre gravitáció hat.
A Vezérlőkkel négyzetet kijelölve változtatni tudjuk a tömegeket, a gravitációt, a rugó merevségét és nyugalmi hosszát, valamint a rúd hosszát. Az egérrel meg lehet ragadni a rúd bármelyik végét, ha változtatni szeretnénk a kiindulási helyzetén. A Statikus állapot gomb mozdulatlan egyensúlyi állapotba viszi a szimulációt.
Ha nem jön elő a szimuláció, akkor érdemes elolvasni a Java engedélyezéséről szóló instrukciókat. A kapcsolatos fizikát és matekot lásd lentebb.




Próbálja megkeresni a szimuláció hibáját. Ehhez egy csöppet játszadozni kell vele. Talán még a hiba okára is rá fog jönni. A válasz lentebb található.

Fizika

dangling stick variables
a himbálódzó pálca változói
A mozgásegyenleteket a Lagrange-módszerrel fogjuk meghatározni. Három független változónk van: Az 1-es index a rugó-pálca csatlakozásánál lévő tömeget fogja jelenteni, a 2-es pedig a pálca szabad végénél lévőt. A pontszerűnek tekintett tömegek (x, y) Descartes-féle koordinátáihoz az R1, R2 vektort rendeljük. A vektormennyiségeket ezúttal is félkövér álló betű jelöli felülhúzással.

A következő állandókat használjuk:

A himbálódzó pálca kinematikája

Először a kinematikával foglalkozunk.   Pontosabban, a tömegek R1, R2 helyzetvektorát felírjuk az r, θ, φ változók segítségével.   Ezek idő szerint deriválásával megkapjuk a sebességeket. Ne feledjük: a kinematika színtiszta geometria, vagyis semmiféle információt nem kapunk az erőkről. R1 = {r sin θ,   −r cos θ} R2 = {r sin θ + S sin φ,   r cos θS cos φ)} A helyzetvektorok két komponense az {x, y} koordinátákat jelenti.   A tömegpontok v1, v2 sebességét differenciálással kapjuk: R1' = v1 = {r θ' cos θ + r' sin θ,   r' cos θ + r θ' sin θ } R2' = v2 = {r θ' cos θ + r' sin θ + S φ' cos φ,   r' cos θ + r θ' sin θ + S φ' sin φ}

Az energia és a Lagrange-függvény

Egyenleteket állítunk fel a rendszer T kinetikus és V potenciális energiájára. A Lagrange-függvény e kettő különbsége L = TV.

A kinetikus energia képlete 12 m v2.   A sebességvektor négyzete a következő skalárszorzatot jelenti: v2 = v · v.   Ebből: T = 12 m1 v1 · v1 + 12 m2 v2 · v2 A potenciális energia a rugóenergiából és a két ponttömeg gravitációs potenciáljából tevődik össze. V = k2 (rh)2m2 g (r cos θ + S cos φ)m1 g r cos θ

Mozgásegyenletek

A mozgásegyenletek meghatározásához fel kell írnunk a Lagrange-egyenletet mindhárom független változóra. 0 = \frac{d}{dt} \left( \frac{\partial L}{\partial r'} \right) - \frac{\partial L}{\partial r} 0 = \frac{d}{dt} \left( \frac{\partial L}{\partial \theta'} \right) - \frac{\partial L}{\partial \theta} 0 = \frac{d}{dt} \left( \frac{\partial L}{\partial \phi'} \right) - \frac{\partial L}{\partial \phi} A három Lagrange-egyenletet megoldva kifejezéseket kapunk az r'', θ'', φ'' második deriváltakra. A Mathematica program segítségével a következő mozgásegyenleteket kapjuk.
r'' =   1 ( k (2 m1 + m2) (hr) + 2 m1 (m1 + m2) r θ'2 + 2 g m1 (m1 + m2) cos θ + 2 S m1 m2 φ' 2 cos (θφ)k m2 (hr) cos(2θ − 2φ) )
2 m1 (m1 + m2)

θ'' =   1 ( k m2 (hr) sin(2θ − 2φ) − 2 g m1 (m1 + m2) sin θ4 m1 (m1 + m2) r' θ' + 2 S m1 m2 φ' 2 sin(θφ) )
2 m1 (m1 + m2) r

φ'' =   k (hr) sin(θφ)
S m1
Ez már csaknem megfelel arra a célra, hogy a numerikus megoldást a Runge–Kutta-algoritmus segítségével számíthassuk ki. Mindössze a 3 másodrendű egyenletet kell 6 elsőrendű egyenletté alakítanuk azáltal, hogy külön változókat vezetünk be az r', θ', φ' deriváltakra. Legyenek az új változók vr, vθ, vφ. Így a fenti egyenletek bal oldala vr', vθ', vφ' lesz, míg a három új egyenlet egyszerűen r' = vr
θ' = vθ
φ' = vφ

A szimuláció hibája

A mozgásegyenletekkel van egy kis bibi. Ha ugyanis a rugó r hossza nullává válik, akkor a második deriváltak egyike (θ'' ) végtelen nagy lesz.   Ha elég soká játszik az ember a szimulációval, akkor ez előbb-utóbb előjön.

Íme az én elképzelésem, hogy ez miért van: A rugó állásának (szögének) változási sebessége az alkalmazott forgatónyomatéktól függ, amit viszont részben a rugó hossza határoz meg. Amikor a rugóhossz nullára csökken, a forgatónyomaték végtelen lesz.

A valós világban egy rugó soha sem lehet nulla hosszúszágú. A hiba elhárításához a rugót nemlineáris erővel kellene modellezni. Ha a rugó csaknem 0 hosszúságúra nyomódna össze (pontosabban a lehetséges legrövidebb hossz közelébe zsugorodna), az erőnek végtelenhez kellene tartania.
Látogatószám 2013.02.27. óta:

webcounter.com