Integration of conditional models: Difference between revisions

From ASCEND
Jump to navigation Jump to search
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 term of DAE's after discontinuities'', Computers and Chemical Engineering '''19''', 507-512, {{doi|10.1016/0098-1354(95)87087-3}}.</ref>.
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

This article is about planned development or proposed functionality. Comments welcome.

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

  1. 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.
  2. https://computation.llnl.gov/casc/sundials/documentation/ida_guide/node5.html

See also