Add flexible termination of time integration in the governor
As of now, one can specify steady state, final time, number of time steps, or a custom criterion (for example, ignition delay). This should be improved in several ways.
-
more documentation and examples of custom termination -
arbitrary combination of termination criteria with expressive code. As an example of this, a custom termination rule is currently required to stop integration at either steady state or after a specific simulation time is exceeded. There should be a simpler way to specify this combination. An and condition is also useful here - say, stop at steady state only after exceeding a specific time.
It looks like we can't overload Python and
or or
, which is a bummer.
This shouldn't be too difficult. A class for pairing and
conditions and a class for pairing or
conditions, and then we can simply nest classes for more complex cases.