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
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:
- r = rugóhossz
- θ = a rugó állásszöge (0
= függőlegesen lefelé)
- φ = a pálca (rúd) állásszöge
(0 = függőlegesen lefelé)
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:
- m1 = a rugó-pálca
csatlakozásánál lévő tömeg nagysága
- m2 = a pálca szabad
végénél lévő tömeg nagysága
- S = a pálca hossza
- k = a rugó merevsége
- h = a rugó nyugalmi hossza
- g = gravitációs állandó
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
= T − V.
A kinetikus energia képlete
1⁄2
m v2. A sebességvektor
négyzete a következő skalárszorzatot jelenti:
v2
= v · v.
Ebből:
T = 1⁄2
m1 v1 ·
v1 + 1⁄2
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 = k⁄2
(r − h)2 − m2
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 =
0 =
0 =
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) (h − r) +
2 m1 (m1 + m2) r θ'2 +
2 g m1 (m1 + m2) cos θ +
2 S m1 m2 φ' 2 cos (θ − φ) −
k m2 (h − r) cos(2θ − 2φ)
)
|
|
2 m1 (m1 + m2)
|
θ'' =
|
1
|
(
k m2 (h − r) 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 (h − r) 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.