Integration of conditional models: Difference between revisions
No edit summary |
No edit summary |
||
| Line 5: | Line 5: | ||
This work is proposed as part of the complete integration of the [[IDA]] solver in ASCEND. | This work is proposed as part of the complete integration of the [[IDA]] solver in ASCEND. | ||
A good paper containing a discussion of issues relating to the implementation of this is given by Majer et al<ref>C. Majer, W. Marquardt and E. D. Gilles, 1995, ''Reinitialization | A good paper containing a discussion of issues relating to the implementation of this is given by Majer et al<ref>C. Majer, W. Marquardt and E. D. Gilles, 1995, ''Reinitialization of DAEs after discontinuities'', Computers and Chemical Engineering '''19''', 507-512, {{doi|10.1016/0098-1354(95)87087-3}}.</ref>. | ||
The implementation of boundary detection for IDA is detailed in the IDA manual<ref>[https://computation.llnl.gov/casc/sundials/documentation/ida_guide/node5.html#SECTION00555000000000000000 https://computation.llnl.gov/casc/sundials/documentation/ida_guide/node5.html]</ref> | The implementation of boundary detection for IDA is detailed in the IDA manual<ref>[https://computation.llnl.gov/casc/sundials/documentation/ida_guide/node5.html#SECTION00555000000000000000 https://computation.llnl.gov/casc/sundials/documentation/ida_guide/node5.html]</ref> | ||
Revision as of 23:20, 16 February 2011
Integration of conditional models means solving dynamic systems of equations (ODEs or DAEs) that contain 'branching' or conditional logic. For example, if a flow velocity increases over time, we would like the solver to at some point switch from a laminar flow model to a turbulent flow model. This requires a solver that can perform boundary detection and then turn on and off equations within the model, according to which are applicable at that point in the simulation.
This work is proposed as part of the complete integration of the IDA solver in ASCEND.
A good paper containing a discussion of issues relating to the implementation of this is given by Majer et al[1].
The implementation of boundary detection for IDA is detailed in the IDA manual[2]
Data structures for conditional modelling in ASCEND already exist that can represent boundaries arising from real-valued inequality relations, see for example models/test/ida/boundaries.a4c. A good starting point is doxy:system/conditional.h for the data structures, and doxy:system/analyse.h for some functions and routines that manipulate those data structures (used by CMSlv).
References
- ↑ C. Majer, W. Marquardt and E. D. Gilles, 1995, Reinitialization of DAEs after discontinuities, Computers and Chemical Engineering 19, 507-512, doi:10.1016/0098-1354(95)87087-3.
- ↑ https://computation.llnl.gov/casc/sundials/documentation/ida_guide/node5.html