To jest symulacja podwójnego wahadła. Dla dużych wychyleń jest to układ chaotyczny, ale dla małych jest to prosty układ liniowy.
Można zmienić parametry symulacji, takie jak masa, przyspieszenie grawitacyjne i długości prętów. Można przeciągnąć wahadło za pomocą myszy, aby zmienić położenie początkowe.
Zależności matematyczne użyte w symulacji są pokazane poniżej. Zagadnienia programistyczne patrz strona źródłowa (en).
W przypadku małych kątów wahadło zachowuje się jak układ liniowy (zobacz wahadło proste). Gdy kąty są małe w podwójnym wahadle, układ zachowuje się analogicznie do zachowania liniowego podwójnej sprężyny. Na wykresie możemy obserwować powstawanie podobnych krzywych Lissajous. Dzieje się tak, ponieważ ruch jest określony przez proste funkcje sinus i cosinus.
W przypadku dużych kątów wahadło jest nieliniowe, a wykres fazowy staje się znacznie bardziej złożony. Widać to, gdy przeciągniemy jedną masę, odchylając o większy kąt i puścimy.
Przyjmujemy, że pręty wahadła są pozbawione masy i sztywne. Obciążniki traktujemy jako punkty materialne. Wyprowadzenie równań ruchu, przy użyciu bezpośredniej metody newtonowskiej, pokazano poniżej.
Kinematyka oznacza tu relacje części urządzenia, bez względu na siły. W kinematyce staramy się tylko znaleźć wyrażenia określające położenia, prędkości i przyspieszenia w kategoriach zmiennych, które określają stan urządzenia.
Początek układu współrzędnych umieszczamy w punkcie zaczepienia górnego wahadła. Przyjmujemy, że oś y jest skierowana do góry, a x w prawo. Oznaczamy wielkości dotyczące górnego wahadła indeksem 1, a dolnego indeksem 2. Zacznijmy od prostych związków trygonometrycznych, aby zapisać wyrażenia określające położenia x1, y1, x2, y2 w zależności od kątów θ1, θ2 .
x1 = L1 sin θ1
y1 = −L1 cos θ1
x2 = x1 + L2 sin θ2
y2 = y1 − L2 cos θ2
Prędkość jest pochodną położenia po czasie.
x1' = θ1' L1 cos θ1
y1' = θ1' L1 sin θ1
x2' = x1' + θ2' L2 cos θ2
y2' = y1' + θ2' L2 sin θ2
Przyspieszenie jest drugą pochodną.
x1'' = −θ1'2 L1 sin θ1 + θ1'' L1 cos θ1 | (1) |
y1'' = θ1'2 L1 cos θ1 + θ1'' L1 sin θ1 | (2) |
x2'' = x1'' − θ2'2 L2 sin θ2 + θ2'' L2 cos θ2 | (3) |
y2'' = y1'' + θ2'2 L2 cos θ2 + θ2'' L2 sin θ2 | (4) |
Traktujemy oba obciążniki wahadła jako punkty materialne. Zaczniemy od narysowania schematu sił dla górnej masy i zapisania wyrażenia na działającą na nią siłę wypadkową. Wprowadzamy następujące zmienne:
Siły działające na górną masę wahadła to naprężenie górnego pręta T1 , naprężenie dolnego pręta T2 i siła grawitacji −m1 g . Zapiszemy osobne równania dla składowych poziomych i pionowych, ponieważ można je traktować niezależnie. Siła wypadkowa działająca na masę jest ich sumą. Stosujemy drugą zasadę dynamiki Newtona F = m a .
m1 x1'' = −T1 sin θ1 + T2 sin θ2 | (5) |
m1 y1'' = T1 cos θ1 − T2 cos θ2 − m1 g | (6) |
W przypadku dolnej masy, działające siły to naprężenie dolnego pręta T2 i siła grawitacji −m2 g .
m2 x2'' = −T2 sin θ2 | (7) |
m2 y2'' = T2 cos θ2 − m2 g | (8) |
Odnosząc te równania do schematów sił, należy pamiętać, że na przykład na górnym schemacie sił θ1 jest dodatni, a θ2 jest ujemny, zgodnie z konwencją, że kąt skierowany przeciwnie do ruchu wskazówek zegara jest dodatni, a zgodnie ujemny (tu od osi OY).
Teraz wykonamy pewne przekształcenia algebraiczne w celu znalezienia równań wyrażających θ1'', θ2'' w zależności od θ1, θ1', θ2, θ2' . Zacznijmy od wyznaczenia z równań (7), (8) T2 sin θ2 i T2 cos θ2 , a następnie podstawienia do równań (5) i (6).
m1 x1'' = −T1 sin θ1 − m2 x2'' | (9) |
m1 y1'' = T1 cos θ1 − m2 y2'' − m2 g − m1 g | (10) |
Mnożymy teraz równanie (9) prez cos θ1 , a równanie (10) przez sin θ1 i po przekształceniach otrzymujemy
T1 sin θ1 cos θ1 = −cos θ1 (m1 x1'' + m2 x2'') | (11) |
T1 sin θ1 cos θ1 = sin θ1 (m1 y1'' + m2 y2'' + m2 g + m1 g) | (12) |
To prowadzi do równania
sin θ1 (m1 y1'' + m2 y2'' + m2 g + m1 g) = −cos θ1 (m1 x1'' + m2 x2'') | (13) |
Następnie mnożymy równanie (7) przez cos θ2 , a równanie (8) przez sin θ2 i przekształcamy, aby uzyskać
T2 sin θ2 cos θ2 = −cos θ2 (m2 x2'') | (14) |
T2 sin θ2 cos θ2 = sin θ2 (m2 y2'' + m2 g) | (15) |
co prowadzi do
sin θ2 (m2 y2'' + m2 g) = −cos θ2 (m2 x2'') | (16) |
Następnie musimy użyć systemu algebry komputerowej do wyznaczenia z równań (13) i (16) θ1'', θ2'' w zależności od θ1, θ1', θ2, θ2' . Zauważ, że dołączamy również definicje dane równaniami (1-4), tak że mamy 2 równania (13, 16) i 2 niewiadome ( θ1'', θ2'' ). Wynik jest nieco skomplikowany, ale jest łatwy do zaprogramowania w komputerze.
θ1'' = | −g (2 m1 + m2) sin θ1 − m2 g sin(θ1 − 2 θ2) − 2 sin(θ1 − θ2) m2 (θ2'2 L2 + θ1'2 L1 cos(θ1 − θ2)) |
L1 (2 m1 + m2 − m2 cos(2 θ1 − 2 θ2)) |
θ2'' = | 2 sin(θ1 − θ2) (θ1'2 L1 (m1 + m2) + g(m1 + m2) cos θ1 + θ2'2 L2 m2 cos(θ1 − θ2)) |
L2 (2 m1 + m2 − m2 cos(2 θ1 − 2 θ2)) |
Są to równania ruchu podwójnego wahadła.
Powyższe równania mają już formę bliską tej, której potrzebujemy, żeby zastosować meodę Rungego Kutty. Ostatnim krokiem jest przekształcenie tych dwóch równań drugiego rzędu na cztery równania pierwszego rzędu. Określimy następujące pierwsze pochodne jako odrębne zmienne:
Teraz możemy zapisać cztery równania pierwszego rzędu:
θ1' = ω1
θ2' = ω2
ω1' = | −g (2 m1 + m2) sin θ1 − m2 g sin(θ1 − 2 θ2) − 2 sin(θ1 − θ2) m2 (ω22 L2 + ω12 L1 cos(θ1 − θ2)) |
L1 (2 m1 + m2 − m2 cos(2 θ1 − 2 θ2)) |
ω2' = | 2 sin(θ1−θ2) (ω12 L1 (m1 + m2) + g(m1 + m2) cos θ1 + ω22 L2 m2 cos(θ1 − θ2)) |
L2 (2 m1 + m2 − m2 cos(2 θ1 − 2 θ2)) |
Jest to dokładnie ta forma, której potrzebujemy, aby użyć metody Rungego-Kutty do numerycznego rozwiązania układu.
Symulacje myPhysicsLab nie mają określonych jednostek miary, takich jak metry, kilogramy, sekundy. Jednostki są bezwymiarowe, mogą być interpretowane, jak chcesz, ale muszą być spójne w symulacji.
Na przykład, jeśli traktujemy jednostkę odległości jako jeden metr i jednostkę czasu jako jedną sekundę, to jednostka prędkości musi wynosić jeden metr/sekundę.
Istnieje kilka sposobów na odtworzenie określonej konfiguracji eksperymentalnej. Najłatwiej jest kliknąć przycisk „udostępnij”.
Gdy odbiorca kliknie adres URL, EasyScript osadzony w tym adresie powieli warunki, które zostały ustawione.
Zobacz Dostosowywanie symulacji myPhysicsLab (en) jak dodatkowo programować symulacje z bezpośrednim wykorzystaniem JavaScript lub EasyScript.
Opublikowano po raz pierwszy w lutym 2002 roku.