Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

This is the documentation for an old version of boost. Click here for the latest Boost documentation.
Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Class template symplectic_rkn_sb3a_m4_mclachlan

boost::numeric::odeint::symplectic_rkn_sb3a_m4_mclachlan — Implementation of the symmetric B3A Runge-Kutta Nystroem method of fifth order.

Synopsis

// In header: <boost/numeric/odeint/stepper/symplectic_rkn_sb3a_m4_mclachlan.hpp>

template<typename Coor, typename Momentum = Coor, typename Value = double, 
         typename CoorDeriv = Coor, typename MomentumDeriv = Coor, 
         typename Time = Value, 
         typename Algebra = typename algebra_dispatcher< Coor >::algebra_type, 
         typename Operations = typename operations_dispatcher< Coor >::operations_type, 
         typename Resizer = initially_resizer> 
class symplectic_rkn_sb3a_m4_mclachlan :
  public symplectic_nystroem_stepper_base
{
public:
  // types
  typedef stepper_base_type::algebra_type algebra_type;
  typedef stepper_base_type::value_type   value_type;  

  // construct/copy/destruct
  symplectic_rkn_sb3a_m4_mclachlan(const algebra_type & = algebra_type());
};

Description

The method is of fourth order and has five stages. It is described HERE. This method can be used with multiprecision types since the coefficients are defined analytically.

ToDo: add reference to paper.

Template Parameters

  1. typename Coor

    The type representing the coordinates q.

  2. typename Momentum = Coor

    The type representing the coordinates p.

  3. typename Value = double

    The basic value type. Should be something like float, double or a high-precision type.

  4. typename CoorDeriv = Coor

    The type representing the time derivative of the coordinate dq/dt.

  5. typename MomentumDeriv = Coor
  6. typename Time = Value

    The type representing the time t.

  7. typename Algebra = typename algebra_dispatcher< Coor >::algebra_type

    The algebra.

  8. typename Operations = typename operations_dispatcher< Coor >::operations_type

    The operations.

  9. typename Resizer = initially_resizer

    The resizer policy.

symplectic_rkn_sb3a_m4_mclachlan public construct/copy/destruct

  1. symplectic_rkn_sb3a_m4_mclachlan(const algebra_type & algebra = algebra_type());
    Constructs the symplectic_rkn_sb3a_m4_mclachlan. This constructor can be used as a default constructor if the algebra has a default constructor.

    Parameters:

    algebra

    A copy of algebra is made and stored inside explicit_stepper_base.


PrevUpHomeNext