Dynamic simulation is the use of a computer program to model the time varying behavior of a system. The systems are typically described by ordinary differential equations or partial differential equations. As mathematical models incorporate real-world constraints, like gear backlash and rebound from a hard stop, equations become nonlinear. This requires numerical methods to solve the equations. A numerical simulation is done by stepping through a time interval and calculating the integral of the derivatives by approximating the area under the derivative curves. Some methods use a fixed step through the interval, and others use an adaptive step that can shrink or grow automatically to maintain an acceptable error tolerance. Industrial uses of dynamic simulation are many and range from nuclear power, steam turbines, 6 degree of freedom vehicle modeling, electric motors, econometric models, biological systems, robot arms, mass spring dampers, hydraulic systems, and drug dose migration through the human body to name a few. These models can often be run in real time to give a virtual response close to the actual system. This is useful in process control and mechatronic systems for tuning the automatic control systems before they are connect to the real system, or for human training before they control the real system. Simulation is also used in computer games and animation and can be accelerated by using a physics engine, the technology used in many powerful computer graphics software programs, like 3ds Max, Maya, Lightwave, and many others to simulate physical characteristics. In computer animation, things like hair, cloth, liquid, fire, and particles can be easily modeled, while the human animator animates simpler objects. Computer-based dynamic animation was first used at a very simple level in the 1989 Pixar Animation Studios short film Knick Knack to move the fake snow in the snowglobe and pebbles in a fish tank.
Example of dynamic simulation
This animation was made with a software system dynamics, with a 3D modeler.
The calculated values are associated with parameters of the rod and crank.
In this example the crank is driving, we vary both the speed of rotation, its radius and the length of the rod, the piston follows.
- SimulationX— A software for simulating multi-domain dynamic systems
- RecurDyn— A software for simulating flexible multibody dynamic systems
- AMESim — A software for simulating multi-domain dynamic systems
- Modelica — A non-proprietary, object-oriented, equation based language for dynamic simulation
- Physics engine
- VisSim — A visual language for nonlinear dynamic simulation
- EICASLAB — A software suite allowing nonlinear dynamic simulation
- PottersWheel — A Matlab toolbox to calibrate parameters of dynamic systems