Medusa  1.1
Coordinate Free Mehless Method implementation
mm::RKExplicit< Scalar, num_stages >::Integrator< func_t > Class Template Reference

#include <RKExplicit_fwd.hpp>

Detailed Description

template<typename Scalar, int num_stages>
template<typename func_t>
class mm::RKExplicit< Scalar, num_stages >::Integrator< func_t >

Integrator class for RK methods.

Definition at line 65 of file RKExplicit_fwd.hpp.

+ Collaboration diagram for mm::RKExplicit< Scalar, num_stages >::Integrator< func_t >:

Public Member Functions

 Integrator (const RKExplicit< scalar_t, num_stages > &method, const func_t &func, scalar_t t0, scalar_t t_max, scalar_t dt, Eigen::VectorXd y0)
 Constructs stepper. More...
 
iterator begin ()
 Creates stepper at positioned at initial value. More...
 
const_iterator cbegin ()
 Same as Integrator::begin() More...
 
iterator end ()
 Creates an invalid stepper at positioned past the last step, meant to be used for comparison it == end() only. More...
 
const_iterator cend ()
 Same as Integrator::end() More...
 

Public Types

typedef IterationStep iterator
 iterator type More...
 
typedef IterationStep const_iterator
 const iterator type More...
 

Classes

class  IterationStep
 Class representing a step in the integration process. More...
 

Friends

std::ostream & operator<< (std::ostream &os, const Integrator &integrator)
 Output information about this integrator. More...
 

Private Attributes

const RKExplicit< scalar_t, num_stages > method_
 Method used in this integrator. More...
 
scalar_t t0_
 Start time. More...
 
scalar_t dt_
 Time step. More...
 
int max_steps
 Number of steps. More...
 
Eigen::VectorXd y0_
 Initial value. More...
 
const func_t & func_
 Function to integrate. More...
 

Constructor & Destructor Documentation

◆ Integrator()

template<typename Scalar , int num_stages>
template<typename func_t >
mm::RKExplicit< Scalar, num_stages >::Integrator< func_t >::Integrator ( const RKExplicit< scalar_t, num_stages > &  method,
const func_t &  func,
scalar_t  t0,
scalar_t  t_max,
scalar_t  dt,
Eigen::VectorXd  y0 
)
inline

Constructs stepper.

It is recommended to use the RKExplicit::solve() factory method to construct this object.

Definition at line 78 of file RKExplicit_fwd.hpp.

Member Function Documentation

◆ begin()

template<typename Scalar , int num_stages>
template<typename func_t >
iterator mm::RKExplicit< Scalar, num_stages >::Integrator< func_t >::begin ( )
inline

Creates stepper at positioned at initial value.

Definition at line 171 of file RKExplicit_fwd.hpp.

◆ cbegin()

template<typename Scalar , int num_stages>
template<typename func_t >
const_iterator mm::RKExplicit< Scalar, num_stages >::Integrator< func_t >::cbegin ( )
inline

Same as Integrator::begin()

Definition at line 174 of file RKExplicit_fwd.hpp.

◆ cend()

template<typename Scalar , int num_stages>
template<typename func_t >
const_iterator mm::RKExplicit< Scalar, num_stages >::Integrator< func_t >::cend ( )
inline

Same as Integrator::end()

Definition at line 181 of file RKExplicit_fwd.hpp.

◆ end()

template<typename Scalar , int num_stages>
template<typename func_t >
iterator mm::RKExplicit< Scalar, num_stages >::Integrator< func_t >::end ( )
inline

Creates an invalid stepper at positioned past the last step, meant to be used for comparison it == end() only.

Definition at line 178 of file RKExplicit_fwd.hpp.

Friends And Related Function Documentation

◆ operator<<

template<typename Scalar , int num_stages>
template<typename func_t >
std::ostream& operator<< ( std::ostream &  os,
const Integrator< func_t > &  integrator 
)
friend

Output information about this integrator.

Definition at line 184 of file RKExplicit_fwd.hpp.

Member Data Documentation

◆ dt_

template<typename Scalar , int num_stages>
template<typename func_t >
scalar_t mm::RKExplicit< Scalar, num_stages >::Integrator< func_t >::dt_
private

Time step.

Definition at line 68 of file RKExplicit_fwd.hpp.

◆ func_

template<typename Scalar , int num_stages>
template<typename func_t >
const func_t& mm::RKExplicit< Scalar, num_stages >::Integrator< func_t >::func_
private

Function to integrate.

Definition at line 71 of file RKExplicit_fwd.hpp.

◆ max_steps

template<typename Scalar , int num_stages>
template<typename func_t >
int mm::RKExplicit< Scalar, num_stages >::Integrator< func_t >::max_steps
private

Number of steps.

Definition at line 69 of file RKExplicit_fwd.hpp.

◆ method_

template<typename Scalar , int num_stages>
template<typename func_t >
const RKExplicit<scalar_t, num_stages> mm::RKExplicit< Scalar, num_stages >::Integrator< func_t >::method_
private

Method used in this integrator.

Definition at line 66 of file RKExplicit_fwd.hpp.

◆ t0_

template<typename Scalar , int num_stages>
template<typename func_t >
scalar_t mm::RKExplicit< Scalar, num_stages >::Integrator< func_t >::t0_
private

Start time.

Definition at line 67 of file RKExplicit_fwd.hpp.

◆ y0_

template<typename Scalar , int num_stages>
template<typename func_t >
Eigen::VectorXd mm::RKExplicit< Scalar, num_stages >::Integrator< func_t >::y0_
private

Initial value.

Definition at line 70 of file RKExplicit_fwd.hpp.


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