Few models are simulated only once. In fact, running several simulations with different parameters and comparing the results is one of the most fundamental user tasks. This can be done with scripts in Dymola or from Python, or using the built-in functionality.
Dymola has a modern user interface that allows the user to drag-and drop variables that will be used to sweep and to visualize the results. When sweeping one parameter, you have the choice of plotting the full trajectories or just the points at end of simulation. When sweeping two parmeters Dymola will plot a surface from the last points.
A Modelica model describing a physical system typically includes many parameters which have to be set. Some parameter values are difficult to determine from the design specification or hard to measure, for example the inertia of a part, friction and loss parameters.
Model calibration (parameter estimation) is the process where measured data from a real device is used to tune parameters such that the simulation results are in good agreement with the measured data. Dymola varies the tuning parameters and simulates to search for satisfactory solutions which minimize the difference between the simulation results and the measurements.
Design Optimization is used to tune parameters of a device or its controller to improve system dynamics for multiple criteria and multiple cases.
A Modelica model contains many parameters that can be tuned for better performance, for example, the spring constants of a car, the gear ratio of a gearbox, or parameters of a controller.
Design optimization is an approach to tune parameters such that the system behavior is improved. The tuning parameters are calculated to minimize mathematical criteria which express improvement. Criteria values are usually derived from simulation results, e.g., the overshoot or rise time of a response, but they can also be derived by frequency responses or eigenvalue analysis.
Model Management includes support for encryption of models, version control from Dymola (CVS, Subversion and GIT) and utilities for checking, testing and comparing models.
- Integration with version control systems.
- Regression testing (checking simulation results against know good results).
- Class and condition coverage.
- Variable unit and style checking.