Fizlab (MyPhysicsLab.hu)
Kétdimenziós rugómozgás
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.
Ez a szimuláció egyetlen tömeget mutat (kör), mely egy rugó közbeiktatásával
lóg a mennyezet egy pontjáról (a négyzet alsó oldalközepe). A tömeg két dimenzióban
(vízszintesen és függőlegesen) képes mozogni; mozgását a gravitáció is befolyásolja.
Vajon összevissza mozog? Figyeljük egy ideig a grafikont, és látni fogjuk, hogy
a mozgás egy bonyolult (de szép) mintázatot követ.
A szimuláció változtatható paraméterei a tömeg, a rugómerevség, a rugóhossz
és a súrlódás (csillapítás). A tömeg (és a mennyezet) helyzetét az egérrel lehet
megváltoztatni. Ha a rugó éppen rövidebb, mint a beállított nyugalmi hossz,
akkor a színe piros, egyébként pedig zöld.
A Statikus állapot gomb stabil egyensúlyi helyzetet állít be: a tömeg függőlegesen
lóg rezdületlenül, és a rugó csak annyira van megnyúlva, hogy a rugóerő egyensúlyt
tartson a gravitációval. A nyugalomból az egérrel (vagy bizonyos paraméterek
megváltoztatásával) hozhatjuk ki a rendszert. (Ha az oldalt újra letöltjük,
akkor természetesen minden az eredeti módon kezdődik újra, mint mindig.)
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.
A 2-dimenziós rugó fizikája
Rugóváltozók 2D-ben
Tekintsünk egy rögzített (de az egérrel elmozdítható)
felfüggesztési pontot, melyről egy tömeg nélküli rugó lóg, másik végén egy
tömeggel. Az egész rugó–tömeg páros két dimenzióban képes nyúlni–lengeni.
Tekintsük a tömeget pontszerűnek. Definiáljuk a következő változókat:
- θ = a rugó (állás)szöge
(0 = függőlegesen lefelé, a pozitív szög az óra járásával ellentétes)
- S = a rugó megnyúlása (a nyugalmi
hossztól való eltérés)
- L = a rugó aktuális hossza
- u = a tömeg helyzete
- v = u' = a tömeg sebessége
- a = u'' = a tömeg gyorsulása
Definiáljunk néhány állandót is:
- R = a rugó nyugalmi hossza
- T = a felfüggesztési pont helye
- m = a tömeg
- k = rugóállandó
- b = csillapítási állandó
- g = gravitációs állandó
i &
j egységvektorok
Jegyezzük meg, hogy ebben a szimulációban a
függőleges helyzet(koordináta) lefelé növekszik. Szükségünk lesz a szokásos
i, j
egységvektorokra is. A vektorokat félkövér betűk jelölik felülvonással.
- i =
a vízszintes egységvektor
- j =
a függőleges (ezúttal lefelé mutató) egységvektor
A tömegre három erővektor hat:
- Fgravitáció
= m g j = a
gravitáció, mely függőlegesen lefelé hat.
- Frugó
= −k S (sin θ i
+ cos θ j) = a
rugóerő, mely a felfüggesztési pontot a tömeggel összekötő egyenes mentén
hat, húzva/nyomva azt.
- Fcsillapítás
= −b (vx i
+ vy j) = a
csillapítás (súrlódás), mely a tömeg mozgásirányával (sebességvektorával)
ellentétes irányban hat, vagyis fékezi a mozgást.
Az erőket összeadva és Newton második törvényét alkalmazva ezt kapjuk:
m a = Fgravitáció
+ Frugó + Fcsillapítás
m (ax i
+ ay j) = m g
j − k S
(sin θ i + cos θ
j) − b
(vx i + vy
j) Az utolsó egyenlet helyett
két szimultán egyenletet is írhatunk, melyek egyike a vizszintes, a másik
pedig a függőleges összetevőkre vonatkozik. Osszuk el a kapott egyenletek
mindkét oldalát az
m tömeggel.
ax = − k⁄m S sin θ − b⁄m vx
| (1a) |
ay = g − k⁄m S cos θ − b⁄m vy
| (1b) |
Ezek lennének a mozgásegyenletek. Már csak azt kell megmutatni, hogy
S
sin θ és
S cos θ
a tömeg helyzetének függvénye. A rugó
S
megnyúlását az aktuális hossz és a nyugalmi hossz különbsége adja.
A rugó
L hosszát a Pitagorasz-tétel segítségével
számíthatjuk ki a tömeg
u, valamint a
felfüggesztési pont
T helyzetéből.
|
| (3) |
A
θ szög szinusza és koszinusza:
A 2-dimenziós rugó mozgásegyenleteinek numerikus megoldása
A szimuláció működtetéséhez numerikusan oldjuk meg a mozgásegyenleteket.
Ehhez a Runge–Kutta-módszert fogjuk használni.
Ez olyan közönséges differenciálegyenlet-rendszerekre alkalmazható, melyek
elsőrendű differenciálegyenletekből állnak.
Ezért az (1) másodrendű egyenleteket a következő elsőrendű egyenletekké alakítjuk
át. ux' = vx
uy' = vy
vx' = − k⁄m
S sin θ − b⁄m
vx vy'
= g − k⁄m S
cos θ − b⁄m vy
Ne feledjük, hogy S sin θ
és S cos θ a tömeg ux,
uy helykoordinátáinak függvényei, ahogy azt a (2-4)
egyenlet mutatja.