2.0.0b10
catchment modelling framework
Loading...
Searching...
No Matches
ExplicitEuler_fixed Class Reference

An explicit Euler integrator, with a fixed time step. More...

+ Inheritance diagram for ExplicitEuler_fixed:
+ Collaboration diagram for ExplicitEuler_fixed:

Detailed Description

An explicit Euler integrator, with a fixed time step.

Public Member Functions

 ExplicitEuler_fixed ()
 Constructs a new ExplicitEuler_fixed.
 
 ExplicitEuler_fixed (const cmf::math::state_list &states)
 Constructs a new ExplicitEuler_fixed from a pointer to a vector of state variables.
 
 ExplicitEuler_fixed (const Integrator &copy)
 copy constructor
 
virtual Integratorcopy () const
 Polymorphic copy constructor.
 
int integrate (cmf::math::Time MaxTime, cmf::math::Time TimeStep)
 Integrates the vector of state variables.
 
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.
 
virtual void reset ()
 Resets any saved history (for multistep methods)
 
cmf::math::Time m_t
 Actual time of the solver.
 
cmf::math::Time m_dt
 last time step of the solver
 

Constructor & Destructor Documentation

◆ ExplicitEuler_fixed()

ExplicitEuler_fixed ( const cmf::math::state_list & states)
explicit

Constructs a new ExplicitEuler_fixed from a pointer to a vector of state variables.

Note
The Integrator becomes the owner of states
Parameters
statesStatevariables of the system

Member Function Documentation

◆ integrate()

int integrate ( cmf::math::Time MaxTime,
cmf::math::Time TimeStep )
virtual

Integrates the vector of state variables.

Parameters
MaxTime(ignored) 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
TimeStepTakes the proposed time step

Implements Integrator.

◆ integrate_until()

void integrate_until ( cmf::math::Time t_max,
cmf::math::Time dt = Time(),
bool reset = false )
inherited

Integrates the vector of state variables until t_max.

Parameters
t_maxTime, the solver should run to
dtTime step (may be omitted)
resetIf true, solver is reseted before integration starts