Template Class AbstractIntegrator

Inheritance Relationships

Derived Types

Class Documentation

template<system_state S>
class AbstractIntegrator

Subclassed by diffeq::core::composable::IntegratorDecorator< S, double >, diffeq::EulerIntegrator< S >, diffeq::ImprovedEulerIntegrator< S >, diffeq::RK4Integrator< S >, diffeq::core::AdaptiveIntegrator< S >, diffeq::core::composable::IntegratorDecorator< S >, diffeq::realtime::RealtimeIntegrator< S, T >

Public Types

using state_type = S
using time_type = typename S::value_type
using value_type = typename S::value_type
using system_function = std::function<void(time_type, const state_type&, state_type&)>

Public Functions

inline explicit AbstractIntegrator(system_function sys)
virtual ~AbstractIntegrator() = default
virtual void step(state_type &state, time_type dt) = 0
inline virtual void integrate(state_type &state, time_type dt, time_type end_time)
inline time_type current_time() const
inline void set_time(time_type t)
inline void set_system(system_function sys)

Protected Functions

inline void advance_time(time_type dt)

Protected Attributes

system_function sys_
time_type current_time_