DiffEq - Modern C++ ODE Integration Library 1.0.0
High-performance C++ library for solving ODEs with async signal processing
Loading...
Searching...
No Matches
diffeq::core::AbstractIntegrator< S > Class Template Referenceabstract
Inheritance diagram for diffeq::core::AbstractIntegrator< S >:

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 Member Functions

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

Protected Member Functions

void advance_time (time_type dt)
 

Protected Attributes

system_function sys_
 
time_type current_time_
 

Detailed Description

template<system_state S>
class diffeq::core::AbstractIntegrator< S >

Definition at line 11 of file abstract_integrator.hpp.

Member Typedef Documentation

◆ state_type

template<system_state S>
using diffeq::core::AbstractIntegrator< S >::state_type = S

Definition at line 13 of file abstract_integrator.hpp.

◆ system_function

template<system_state S>
using diffeq::core::AbstractIntegrator< S >::system_function = std::function<void(time_type, const state_type&, state_type&)>

Definition at line 16 of file abstract_integrator.hpp.

◆ time_type

template<system_state S>
using diffeq::core::AbstractIntegrator< S >::time_type = typename S::value_type

Definition at line 14 of file abstract_integrator.hpp.

◆ value_type

template<system_state S>
using diffeq::core::AbstractIntegrator< S >::value_type = typename S::value_type

Definition at line 15 of file abstract_integrator.hpp.

Constructor & Destructor Documentation

◆ AbstractIntegrator()

template<system_state S>
diffeq::core::AbstractIntegrator< S >::AbstractIntegrator ( system_function  sys)
inlineexplicit

Definition at line 18 of file abstract_integrator.hpp.

Member Function Documentation

◆ advance_time()

template<system_state S>
void diffeq::core::AbstractIntegrator< S >::advance_time ( time_type  dt)
inlineprotected

Definition at line 46 of file abstract_integrator.hpp.

◆ current_time()

template<system_state S>
time_type diffeq::core::AbstractIntegrator< S >::current_time ( ) const
inline

Definition at line 35 of file abstract_integrator.hpp.

◆ integrate()

template<system_state S>
virtual void diffeq::core::AbstractIntegrator< S >::integrate ( state_type &  state,
time_type  dt,
time_type  end_time 
)
inlinevirtual

Reimplemented in diffeq::realtime::RealtimeIntegrator< S, T >.

Definition at line 27 of file abstract_integrator.hpp.

◆ set_system()

template<system_state S>
void diffeq::core::AbstractIntegrator< S >::set_system ( system_function  sys)
inline

Definition at line 39 of file abstract_integrator.hpp.

◆ set_time()

template<system_state S>
void diffeq::core::AbstractIntegrator< S >::set_time ( time_type  t)
inline

Definition at line 38 of file abstract_integrator.hpp.

◆ step()

template<system_state S>
virtual void diffeq::core::AbstractIntegrator< S >::step ( state_type &  state,
time_type  dt 
)
pure virtual

Member Data Documentation

◆ current_time_

template<system_state S>
time_type diffeq::core::AbstractIntegrator< S >::current_time_
protected

Definition at line 43 of file abstract_integrator.hpp.

◆ sys_

template<system_state S>
system_function diffeq::core::AbstractIntegrator< S >::sys_
protected

Definition at line 42 of file abstract_integrator.hpp.


The documentation for this class was generated from the following file: