Multirate Integration - Variable Stepsize on Steroids
VMG is pleased to announce a major new feature for the dynamic simulation engine - multirate integration. This feature demonstrates our ongoing commitment to being an industry leader and providing best in class, state of the art tools for our users.
We have had requests from users to be able to specify different integration stepsizes for different flowsheets in a dynamic simulation. An example of where this might be useful is for models that contain compressor trains, where fast transients can occur. Rather than running the entire model with a small stepsize, it would be useful to be able to run just the compressor train flowsheet with a reduced stepsize.
The solution that we have implemented is far more wide-ranging and useful. It provides for:
- Integrating with different stepsizes down to unit operation granularity.
- Varying the integration stepsize for each unit operation over time to either enhance overall convergence, or to meet a user supplied error tolerance.
Dynamic simulation is almost always very computationally intensive, and one is always faced with trying to optimize the tradeoff between speed and robustness / accuracy.
If the entire model is being integrated with a single stepsize, that stepsize must be sufficiently small to provide accurate results for the most active unit operation. Similarly, if one unit operation is operating near a singularity, the number of iterations to solve the integration step goes up for the entire model. Applying robust convergence techniques can become computationally very expensive.
However, if one has the ability to integrate different parts of the model with different stepsizes, one can focus computational effort where it is needed, and one can apply expensive but robust solution methodologies without having a large impact on the overall model performance.
Using Multirate in VMGSim Dynamics
Multirate is not yet the default method and has to be explicitly selected:
Fixed Step Integration
For fixed step integration, as with the standard method, there is no error control. The integration step may be split in order to obtain or enhance convergence. You have the option of using Euler (the existing first order) or BDF2 (new second order) integration method
Variable Step Integration
Error estimation for variable step multirate is obtained by integrating with both Euler and BDF2, and comparing the predictions. The results that are used are the ones from the selected method. Selecting Euler will favor stability, and is recommended for this reason.
Although not a requirement, most implementations of a multirate method use an approach whereby the various stepsizes differ from each other by a factor of two. The method is often described by a "slab" analogy where the depth is the time domain and points along the length correspond to different components to be integrated:
The procedure as implemented in the dynamics engine is as follows:
- Integrate all the equations from time t(n-1) to time t(n).
- Evaluate convergence for each equation/component/unit operation.
- For each component that fails the convergence test, split the step into two substeps. For components adjacent to failed components, interpolate the solution to provide boundary values for the sub-step.
- Integrate the first half-step. If there are still failures, identify the failed components and split the step again until the first half has been successfully integrated.
- Integrate the complete system. Some components are being integrated over the full time interval, and some components are being integrated over the second half of the interval (or smaller if recursion occurred).
The combined integration of the second half-step guarantees that the final result is internally consistent.
Background Information / Literature on Multirate Methods
Multirate integration has found application in a number of areas that utilize large scale modeling: circuit simulation, electrical transmission systems, atmospheric pollution, and others.
There is a large body of published work on the topic, including work on convergence analysis and proofs. A good starting point that describes the approach without getting too bogged down in the mathematics is the thesis by Savcenco (2008).
Mark Beyleveld, B.Sc.(Eng), B.Com.
Please contact your local VMG office for more information.
Savcenco, Valeriu. Multirate Numerical Integration for Ordinary Differential Equations. Thesis. University of Amsterdam, 2008.