Differential Equations and Integration Algorithms
Due to the complexity of the equations in continuous time models and frequent non-linearities, it is generally not possible to solve them by analytic methods. It is therefore necessary to solve the differential equation system using a numeric integration algorithm.
If only CT blocks are simulated in a CT structure, ASCET uses a global integration algorithm. The combination with discrete controller models is possible at the project level only (combined modeling in a hybrid project). Projects also support modeling with several CT structures using different integration methods.
To ensure high flexibility and short iteration cycles for modeling and simulations, the configuration of the integration method, i.e., the actual integration method and its integration step size, can be selected and modified interactively during the experiment.
There is no ideal integration method that fits all types of models. The speed and accuracy of the individual algorithms varies for different model characteristics such as non-linearities, discontinuities, and dynamic behavior. A general statement regarding the speed of each method cannot be given, as the step size is adapted to suit the model and integration method best. However, some guidelines for selecting a suitable integration method are given below. Detailed information can be found in the literature, e.g.,
Addison, C. A.; Enright, W. H.; et al., A Decision Tree for the Numerical Solution of Initial Value Ordinary Differential Equations. ACM Transitions on Mathematical Software 17, 1, March 1991, Chapter "Continuous Time Integration Algorithms".
ASCET provides several
fixed-step integration methods.
To solve more complex or stiff differential equations that need more precise calculation, ASCET provides several
variable-step iterative integration methods.
During calculation, these integration methods adapt the step width used interactively in order to achieve a certain given precision. Therefore, they cannot be used for real-time calculations.
The integration method is always specified for the entire model (global integration). When experimenting in a project context, a separate integration method can be specified for each block separately (multirate). It is possible to change the integration method during the experiment.
Due to technical reasons, the implicit integration methods can only be used with newer Borland and Microsoft compilers, among them the MinGW GNU versions shipped with ASCET. They cannot be used with the Borland-C V4.5 compiler shipped with previous ASCET versions. The integration methods are taken from the GNU Scientific Library.
See also