boost::numeric::odeint::symplectic_rkn_sb3a_mclachlan — Implement of the symmetric B3A method of Runge-Kutta-Nystroem method of sixth order.
// In header: <boost/numeric/odeint/stepper/symplectic_rkn_sb3a_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_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_mclachlan(const algebra_type & = algebra_type()); };
The method is of fourth order and has six stages. It is described HERE. This method cannot be used with multiprecision types since the coefficients are not defined analytically.
ToDo Add reference to the paper.
typename Coor
The type representing the coordinates q.
typename Momentum = Coor
The type representing the coordinates p.
typename Value = double
The basic value type. Should be something like float, double or a high-precision type.
typename CoorDeriv = Coor
The type representing the time derivative of the coordinate dq/dt.
typename MomentumDeriv = Coor
typename Time = Value
The type representing the time t.
typename Algebra = typename algebra_dispatcher< Coor >::algebra_type
The algebra.
typename Operations = typename operations_dispatcher< Coor >::operations_type
The operations.
typename Resizer = initially_resizer
The resizer policy.
symplectic_rkn_sb3a_mclachlan
public
construct/copy/destructsymplectic_rkn_sb3a_mclachlan(const algebra_type & algebra = algebra_type());Constructs the
symplectic_rkn_sb3a_mclachlan
. This constructor can be used as a default constructor if the algebra has a default constructor.
Parameters: |
|