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::sde::AbstractSDEIntegrator< StateType > Class Template Referenceabstract

Abstract base class for SDE integrators. More...

#include <sde_base.hpp>

Inheritance diagram for diffeq::sde::AbstractSDEIntegrator< StateType >:
Collaboration diagram for diffeq::sde::AbstractSDEIntegrator< StateType >:

Public Types

using state_type = StateType
 
using time_type = typename StateType::value_type
 
using value_type = typename StateType::value_type
 
using sde_problem_type = SDEProblem< StateType >
 
using wiener_process_type = WienerProcess< StateType >
 

Public Member Functions

 AbstractSDEIntegrator (std::shared_ptr< sde_problem_type > problem, std::shared_ptr< wiener_process_type > wiener=nullptr)
 
virtual void step (state_type &state, time_type dt)=0
 
virtual std::string name () const =0
 
void integrate (state_type &state, time_type dt, time_type end_time)
 
time_type current_time () const
 
void set_time (time_type t)
 
std::shared_ptr< sde_problem_typeget_problem () const
 
std::shared_ptr< wiener_process_typeget_wiener_process () const
 
void set_wiener_process (std::shared_ptr< wiener_process_type > wiener)
 

Protected Member Functions

void advance_time (time_type dt)
 
virtual size_t get_default_dimension ()
 

Protected Attributes

std::shared_ptr< sde_problem_typeproblem_
 
std::shared_ptr< wiener_process_typewiener_
 
time_type current_time_
 

Detailed Description

template<system_state StateType>
class diffeq::sde::AbstractSDEIntegrator< StateType >

Abstract base class for SDE integrators.

Definition at line 147 of file sde_base.hpp.

Member Typedef Documentation

◆ sde_problem_type

template<system_state StateType>
using diffeq::sde::AbstractSDEIntegrator< StateType >::sde_problem_type = SDEProblem<StateType>

Definition at line 152 of file sde_base.hpp.

◆ state_type

template<system_state StateType>
using diffeq::sde::AbstractSDEIntegrator< StateType >::state_type = StateType

Definition at line 149 of file sde_base.hpp.

◆ time_type

template<system_state StateType>
using diffeq::sde::AbstractSDEIntegrator< StateType >::time_type = typename StateType::value_type

Definition at line 150 of file sde_base.hpp.

◆ value_type

template<system_state StateType>
using diffeq::sde::AbstractSDEIntegrator< StateType >::value_type = typename StateType::value_type

Definition at line 151 of file sde_base.hpp.

◆ wiener_process_type

template<system_state StateType>
using diffeq::sde::AbstractSDEIntegrator< StateType >::wiener_process_type = WienerProcess<StateType>

Definition at line 153 of file sde_base.hpp.

Constructor & Destructor Documentation

◆ AbstractSDEIntegrator()

template<system_state StateType>
diffeq::sde::AbstractSDEIntegrator< StateType >::AbstractSDEIntegrator ( std::shared_ptr< sde_problem_type problem,
std::shared_ptr< wiener_process_type wiener = nullptr 
)
inlineexplicit

Definition at line 155 of file sde_base.hpp.

Member Function Documentation

◆ advance_time()

template<system_state StateType>
void diffeq::sde::AbstractSDEIntegrator< StateType >::advance_time ( time_type  dt)
inlineprotected

Definition at line 187 of file sde_base.hpp.

◆ current_time()

template<system_state StateType>
time_type diffeq::sde::AbstractSDEIntegrator< StateType >::current_time ( ) const
inline

Definition at line 176 of file sde_base.hpp.

◆ get_default_dimension()

template<system_state StateType>
virtual size_t diffeq::sde::AbstractSDEIntegrator< StateType >::get_default_dimension ( )
inlineprotectedvirtual

Definition at line 189 of file sde_base.hpp.

◆ get_problem()

template<system_state StateType>
std::shared_ptr< sde_problem_type > diffeq::sde::AbstractSDEIntegrator< StateType >::get_problem ( ) const
inline

Definition at line 179 of file sde_base.hpp.

◆ get_wiener_process()

template<system_state StateType>
std::shared_ptr< wiener_process_type > diffeq::sde::AbstractSDEIntegrator< StateType >::get_wiener_process ( ) const
inline

Definition at line 180 of file sde_base.hpp.

◆ integrate()

template<system_state StateType>
void diffeq::sde::AbstractSDEIntegrator< StateType >::integrate ( state_type &  state,
time_type  dt,
time_type  end_time 
)
inline

Definition at line 168 of file sde_base.hpp.

◆ set_time()

template<system_state StateType>
void diffeq::sde::AbstractSDEIntegrator< StateType >::set_time ( time_type  t)
inline

Definition at line 177 of file sde_base.hpp.

◆ set_wiener_process()

template<system_state StateType>
void diffeq::sde::AbstractSDEIntegrator< StateType >::set_wiener_process ( std::shared_ptr< wiener_process_type wiener)
inline

Definition at line 182 of file sde_base.hpp.

Member Data Documentation

◆ current_time_

template<system_state StateType>
time_type diffeq::sde::AbstractSDEIntegrator< StateType >::current_time_
protected

Definition at line 196 of file sde_base.hpp.

◆ problem_

template<system_state StateType>
std::shared_ptr<sde_problem_type> diffeq::sde::AbstractSDEIntegrator< StateType >::problem_
protected

Definition at line 194 of file sde_base.hpp.

◆ wiener_

template<system_state StateType>
std::shared_ptr<wiener_process_type> diffeq::sde::AbstractSDEIntegrator< StateType >::wiener_
protected

Definition at line 195 of file sde_base.hpp.


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