2.0.0b10
catchment modelling framework
|
The MultiIntegrator is a wrapper for a bunch integrators. The states of the integrators should not have direct connections over integrator boundaries. More...
The MultiIntegrator is a wrapper for a bunch integrators. The states of the integrators should not have direct connections over integrator boundaries.
Public Member Functions | |
MultiIntegrator (const cmf::math::Integrator &template_integrator, int count) | |
Creates a new MultiIntegrator. | |
virtual cmf::math::MultiIntegrator * | copy () const |
Polymorphic copy constructor. | |
int | integrate (cmf::math::Time t_max, cmf::math::Time dt) |
Integrates the vector of state variables. | |
virtual void | reset () |
Resets the integrator. | |
std::string | to_string () const override |
Desrcibes the iterator. | |
Integrate | |
void | integrate_until (cmf::math::Time t_max, cmf::math::Time dt=Time(), bool reset=false) |
Integrates the vector of state variables until t_max. | |
Protected Attributes | |
Accuracy parameters | |
const real | Epsilon =1e-9 |
Tolerable error. | |
model time | |
cmf::math::Time | get_t () const |
Returns the current model time. | |
void | set_t (cmf::math::Time val) |
Sets the current model time. | |
cmf::math::Time | get_dt () const |
Returns the last time step. | |
cmf::math::Time | m_t |
Actual time of the solver. | |
cmf::math::Time | m_dt |
last time step of the solver | |
MultiIntegrator | ( | const cmf::math::Integrator & | template_integrator, |
int | count ) |
Creates a new MultiIntegrator.
template_integrator | Template for the integrators |
count | Number of integrators |
|
virtual |
Integrates the vector of state variables.
t_max | To stop the model (if running in a model framework) at time steps of value exchange e.g. full hours, the next value exchange time can be given |
dt | Takes the proposed time step, and changes it into the effectively used time step according to the local stiffness of the problem and MaxTime |
Implements Integrator.
|
inherited |