Sprężyna 2D


Symulacja pokazuje pojedynczą masę zawieszoną na sprężynie, której drugi koniec jest zawieszony w punkcie kotwiczenia. Masa może poruszać się w 2 wymiarach i działa grawitacja. Punkt kotwiczenia jest ruchomy. Czy ruch wydaje ci się losowy? Oglądaj wykres przez chwilę, a zobaczysz jego skomplikowany wzór.

Można zmienić grawitację, masę, sztywność sprężyny i opory (tłumienie). Można przeciągać masę za pomocą myszy, aby zmienić jej położenie początkowe. Można także przeciągnąć górny punkt kotwiczenia.

Zależności matematyczne użyte w symulacji są pokazane poniżej. Zagadnienia programistyczne patrz strona źródłowa (en).

pokaż/ukryj opis

Fizyka sprężyny 2D



zmienne sprężyny 2D

Sprężyna z obciążnikiem, zaczepiona w nieruchomym (ale przeciągalnym) punkcie kotwiczącym, kołysze się w dwóch wymiarach. Ciężarek traktujemy jako punkt materialny. Określamy następujące zmienne:

  • θ = kąt ( 0 = pion, zwiększa się przy obrocie przeciwnym do ruchu wskazówek zegara)
  • S = odkształcenie sprężyny (przemieszczenie od długości spoczynkowej)
  • L = długość sprężyny
  • u = położenie ciężarka
  • v = u'= prędkość ciężarka
  • a = u''= przyspieszenie ciężarka

Wprowadzamy kilka stałych:

  • R = długość spoczynkowa sprężyny
  • T = położenie punktu kotwiczącego
  • m = masa ciężarka
  • k = współczynnik sprężystości sprężyny
  • b = stała tłumienia (oporu)
  • g = przyspieszenie grawitacyjne

wersory osi

Zauważ, że dla tej symulacji oś pionowa jest skierowana w dół. Będziemy potrzebować standardowych wektorów jednostkowych, wersorów osi i, j . Do oznaczenia wektora używamy pogrubienia i kreski nad symbolem.

  • i = wektor jednostkowy w kierunku poziomym
  • j = wektor jednostkowy w kierunku pionowym (w dół)

Na ciężarek działają trzy siły:

Po zsumowaniu tych sił i skorzystaniu z drugiej zasady dynamiki Newtona, otrzymujemy:

m a = Fgrawitacji + Fsprężystości + Ftłumienia

m (ax i + ay j) = m g jk S (sin θ i + cos θ j)b (vx i + vy j)

Możemy zapisać osobne równania dla składowych poziomych i pionowych. Daje nam to dwa równania. Dzielimy także każdą ze stron przez m .

ax = − km S sin θbm vx (1a)
ay = gkm S cos θbm vy (1b)

Są to równania ruchu. Pozostaje tylko pokazać, jak S sin θ i S cos θ zależą od położenia ciężarka. Odkształcenie sprężyny S to aktualna długość sprężyny minus długość spoczynkowa.

   S = LR (2)

Z twierdzenia Pitagorasa możemy uzyskać długość sprężyny L w zależności od położenia obciążnika, u i położenia punktu zaczepienia, T .

$$L = \sqrt{(u_x - T_x)^2 + (u_y - T_y)^2} \tag{3}$$

Sinus i cosinus kąta θ wynosi:

   sin θ = (uxTx)/L (4a)
   cos θ = (uyTy)/L (4b)

Rozwiązanie numeryczne sprężyny 2D

Aby rozwiązać te równania ruchu numerycznie, tak abyśmy mogli sterować symulacją, stosujemy metodę Rungego-Kutty rozwiązywania układów równań różniczkowych zwyczajnych. Ponieważ metoda ta dotyczy tylko równań różniczkowych pierwszego rzędu, przekształcamy dwa równania drugiego rzędu (1) na następujące cztery równania pierwszego rzędu.

ux' = vx

uy' = vy

vx' = − km S sin θbm vx

vy' = gkm S cos θbm vy

Należy pamiętać, że S sin θ i S cos θ są funkcjami położenia ciężarka, ux, uy , jak to podano w równaniach (2-4).

Jednostki miary

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ę.

Dostosuj i udostępnij

Istnieje kilka sposobów na odtworzenie określonej konfiguracji eksperymentalnej. Najłatwiej jest kliknąć przycisk „udostępnij”.

  1. Zmodyfikuj symulację, zmieniając parametry, takie jak grawitacja, tłumienie oraz przeciągając obiekty za pomocą myszy.
  2. Kliknij przycisk „udostępnij”. Skopiuj adres URL z okna dialogowego.
  3. Udostępnij adres URL lub zapisz go w pliku tekstowym do późniejszego wykorzystania.

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 kwietniu 2001 roku.

Źródło: