Symulacja dynamiczna
Symulacja dynamiczna (lub dynamiczna symulacja systemu) to wykorzystanie programu komputerowego do modelowania zmiennego w czasie zachowania systemu dynamicznego . Systemy są zazwyczaj opisywane za pomocą równań różniczkowych zwyczajnych lub równań różniczkowych cząstkowych . Przebieg symulacji rozwiązuje system równań stanu, aby znaleźć zachowanie zmiennych stanu w określonym przedziale czasu. Równanie jest rozwiązywane za pomocą metod całkowania numerycznego w celu uzyskania przejściowego zachowania zmiennych stanu. Symulacja systemów dynamicznych przewiduje wartości zmiennych stanu modelu-systemu, ponieważ są one określone przez wartości stanu przeszłego. Zależność tę można znaleźć, tworząc model systemu.
Przegląd
Modele symulacyjne są zwykle uzyskiwane z przybliżeń modeli matematycznych w czasie ciągłym w czasie dyskretnym. Ponieważ modele matematyczne uwzględniają rzeczywiste ograniczenia, takie jak luz przekładni i odbicie od twardego zatrzymania, równania stają się nieliniowe. Wymaga to metod numerycznych do rozwiązania równań. Symulacja numeryczna jest wykonywana poprzez przejście przez przedział czasu i obliczenie całki pochodnych poprzez całkowanie numeryczne . Niektóre metody wykorzystują stały krok przez interwał, a inne krok adaptacyjny, który może się automatycznie zmniejszać lub zwiększać, aby zachować akceptowalną tolerancję błędu. Niektóre metody mogą wykorzystywać różne etapy czasowe w różnych częściach modelu symulacyjnego.
Istnieją dwa rodzaje modeli systemów do symulacji: modele z równaniami różnicowymi i modele z równaniami różniczkowymi. Fizyka klasyczna jest zwykle oparta na modelach równań różniczkowych. To dlatego większość starych programów symulacyjnych to po prostu programy do rozwiązywania równań różniczkowych, które delegują rozwiązywanie równań różniczkowych do „segmentów programów proceduralnych”. Te systemy równań różniczkowo-algebraicznych wymagają specjalnych metod matematycznych do symulacji.
Zachowanie niektórych złożonych systemów może być dość wrażliwe na warunki początkowe, co może prowadzić do dużych błędów od poprawnych wartości. Aby uniknąć tych możliwych błędów, można zastosować rygorystyczne podejście, w którym można znaleźć algorytm, który może obliczyć wartość z dowolną pożądaną precyzją. Na przykład stała e jest liczbą obliczalną, ponieważ istnieje algorytm, który jest w stanie wytworzyć stałą z dowolną precyzją.
Aplikacje
Pierwsze zastosowania symulacji komputerowych dla układów dynamicznych miały miejsce w przemyśle lotniczym. Komercyjne zastosowania symulacji dynamicznej są liczne i obejmują energię jądrową, turbiny parowe, modelowanie pojazdów o 6 stopniach swobody, silniki elektryczne, modele ekonometryczne, systemy biologiczne, ramiona robotów, układy masa-sprężyna-amortyzator, układy hydrauliczne i migrację dawek leków przez ludzkie ciało, żeby wymienić tylko kilka. Modele te często można uruchamiać w czasie rzeczywistym , aby uzyskać wirtualną odpowiedź zbliżoną do rzeczywistego systemu. Jest to przydatne w sterowania procesami i systemach mechatronicznych do dostrajania automatycznych systemów sterowania przed ich podłączeniem do rzeczywistego systemu lub do szkolenia ludzi, zanim będą sterować rzeczywistym systemem. Symulacja jest również wykorzystywana w grach komputerowych i animacjach i może być przyspieszona za pomocą silnika fizyki , technologii używanej w wielu potężnych programach do grafiki komputerowej , takich jak 3ds Max , Maya , Lightwave i wielu innych do symulacji właściwości fizycznych. W animacji komputerowej rzeczy takie jak włosy , tkaniny , płyny , ogień i cząsteczki można łatwo modelować, podczas gdy ludzki animator animuje prostsze obiekty. Dynamiczna animacja komputerowa została po raz pierwszy zastosowana na bardzo prostym poziomie w filmie krótkometrażowym Pixara Knick Knack z 1989 roku , aby przesunąć sztuczny śnieg w kuli śnieżnej i kamyki w akwarium.
Przykład symulacji dynamicznej
Ta animacja została wykonana za pomocą oprogramowania dynamic system, z modelerem 3D. Obliczone wartości są powiązane z parametrami pręta i korby. W tym przykładzie korba napędza, zmieniamy zarówno prędkość obrotu, jego promień, jak i długość tłoczyska, za którym podąża tłok.
Zobacz też
- Porównanie oprogramowania do dynamiki systemu — obejmuje pakiety niewymienione poniżej
- Simulink — graficzne środowisko programowania oparte na MATLAB-ie do modelowania, symulacji i analizowania układów dynamicznych
- MSC Adams — oprogramowanie do symulacji dynamiki wieloobiektowej
- SimulationX — Oprogramowanie do symulacji wielodomenowych systemów dynamicznych
- AMESim — Oprogramowanie do symulacji wielodomenowych systemów dynamicznych
- AGX Multiphysics — silnik fizyczny do symulacji wielodomenowych układów dynamicznych
- EcosimPro — narzędzie symulacyjne do modelowania systemów ciągłych i dyskretnych
- Hopsan — oprogramowanie do symulacji wielodomenowych systemów dynamicznych
- MapleSim — Oprogramowanie do symulacji wielodomenowych systemów dynamicznych
- Modelica — niezastrzeżony, zorientowany obiektowo, oparty na równaniach język do symulacji dynamicznych
- Silnik fizyczny
- VisSim — wizualny język do nieliniowej symulacji dynamicznej
- EICASLAB — pakiet oprogramowania umożliwiający nieliniową symulację dynamiczną
- PottersWheel — zestaw narzędzi Matlab do kalibracji parametrów układów dynamicznych
- Simcad Pro — dynamiczne i interaktywne oprogramowanie do symulacji zdarzeń dyskretnych