Documentation


animal::integration::Solver_Traits< StateT, DerivativeT, CopyStateT, RealT, NumTraitsT, SizeTypeT > Struct Template Reference

#include <solver.h>

List of all members.


Detailed Description

template<class StateT, class DerivativeT, class CopyStateT = StateT, class RealT = double, class NumTraitsT = animal::Numerics<RealT>, class SizeTypeT = unsigned int>
struct animal::integration::Solver_Traits< StateT, DerivativeT, CopyStateT, RealT, NumTraitsT, SizeTypeT >

Traits class for integration algorithms.

The purpose of this class is to provide the integration algorithm with the necessary auxiliary types and methods. This class is adequate for a single state variable. For a container of state variables, see Solver_Traits_M. The types are the following:

You typically define the two first types, and use the default values for the others.
See also:
Solver_Traits_M

Definition at line 260 of file solver.h.

Public Types

typedef RealT Real
 Time representation.

typedef StateT State
 State variable.

typedef CopyStateT CopyState
 Internal container of state variables Some integration schemes need to store copies of state variables.

typedef DerivativeT Derivative
 Derivative of state.

typedef NumTraitsT Numerics
 Numerical traits.

typedef SizeTypeT SizeType
 Size of containers.


Public Member Functions

void average (const State &s1, const State &s2, State &result) const
 Average of two states (for Modified_Midpoint only).

void rk4Step (const Derivative &d1, const Derivative &d2, const Derivative &d3, const Derivative &d4, Derivative &sum) const
 Linear combination of derivatives (for Runge_Kutta_4 only).

void copy (const State &s, CopyState &cs) const
 Copy a state to a temporary state.

template<class Container> void resize (Container &, const unsigned int) const
 For compatibility with solvers in dimension N.


Member Typedef Documentation

template<class StateT, class DerivativeT, class CopyStateT = StateT, class RealT = double, class NumTraitsT = animal::Numerics<RealT>, class SizeTypeT = unsigned int>
typedef CopyStateT animal::integration::Solver_Traits< StateT, DerivativeT, CopyStateT, RealT, NumTraitsT, SizeTypeT >::CopyState
 

Internal container of state variables Some integration schemes need to store copies of state variables.

A copy may be of a different type as long as operator = copies the relevant data.

Definition at line 273 of file solver.h.

template<class StateT, class DerivativeT, class CopyStateT = StateT, class RealT = double, class NumTraitsT = animal::Numerics<RealT>, class SizeTypeT = unsigned int>
typedef DerivativeT animal::integration::Solver_Traits< StateT, DerivativeT, CopyStateT, RealT, NumTraitsT, SizeTypeT >::Derivative
 

Derivative of state.

Definition at line 277 of file solver.h.

template<class StateT, class DerivativeT, class CopyStateT = StateT, class RealT = double, class NumTraitsT = animal::Numerics<RealT>, class SizeTypeT = unsigned int>
typedef NumTraitsT animal::integration::Solver_Traits< StateT, DerivativeT, CopyStateT, RealT, NumTraitsT, SizeTypeT >::Numerics
 

Numerical traits.

Definition at line 280 of file solver.h.

template<class StateT, class DerivativeT, class CopyStateT = StateT, class RealT = double, class NumTraitsT = animal::Numerics<RealT>, class SizeTypeT = unsigned int>
typedef RealT animal::integration::Solver_Traits< StateT, DerivativeT, CopyStateT, RealT, NumTraitsT, SizeTypeT >::Real
 

Time representation.

Definition at line 263 of file solver.h.

template<class StateT, class DerivativeT, class CopyStateT = StateT, class RealT = double, class NumTraitsT = animal::Numerics<RealT>, class SizeTypeT = unsigned int>
typedef SizeTypeT animal::integration::Solver_Traits< StateT, DerivativeT, CopyStateT, RealT, NumTraitsT, SizeTypeT >::SizeType
 

Size of containers.

Definition at line 283 of file solver.h.

template<class StateT, class DerivativeT, class CopyStateT = StateT, class RealT = double, class NumTraitsT = animal::Numerics<RealT>, class SizeTypeT = unsigned int>
typedef StateT animal::integration::Solver_Traits< StateT, DerivativeT, CopyStateT, RealT, NumTraitsT, SizeTypeT >::State
 

State variable.

Definition at line 267 of file solver.h.


Member Function Documentation

template<class StateT, class DerivativeT, class CopyStateT = StateT, class RealT = double, class NumTraitsT = animal::Numerics<RealT>, class SizeTypeT = unsigned int>
void animal::integration::Solver_Traits< StateT, DerivativeT, CopyStateT, RealT, NumTraitsT, SizeTypeT >::average (  const State &  s1,
const State &  s2,
State &  result
)  const [inline]
 

Average of two states (for Modified_Midpoint only).

Definition at line 286 of file solver.h.

template<class StateT, class DerivativeT, class CopyStateT = StateT, class RealT = double, class NumTraitsT = animal::Numerics<RealT>, class SizeTypeT = unsigned int>
void animal::integration::Solver_Traits< StateT, DerivativeT, CopyStateT, RealT, NumTraitsT, SizeTypeT >::copy (  const State &  s,
CopyState &  cs
)  const [inline]
 

Copy a state to a temporary state.

Definition at line 305 of file solver.h.

template<class StateT, class DerivativeT, class CopyStateT = StateT, class RealT = double, class NumTraitsT = animal::Numerics<RealT>, class SizeTypeT = unsigned int>
template<class Container>
void animal::integration::Solver_Traits< StateT, DerivativeT, CopyStateT, RealT, NumTraitsT, SizeTypeT >::resize (  Container &  ,
const unsigned  int
)  const [inline]
 

For compatibility with solvers in dimension N.

Definition at line 316 of file solver.h.

template<class StateT, class DerivativeT, class CopyStateT = StateT, class RealT = double, class NumTraitsT = animal::Numerics<RealT>, class SizeTypeT = unsigned int>
void animal::integration::Solver_Traits< StateT, DerivativeT, CopyStateT, RealT, NumTraitsT, SizeTypeT >::rk4Step (  const Derivative &  d1,
const Derivative &  d2,
const Derivative &  d3,
const Derivative &  d4,
Derivative &  sum
)  const [inline]
 

Linear combination of derivatives (for Runge_Kutta_4 only).

Definition at line 292 of file solver.h.


The documentation for this struct was generated from the following file:
Generated on Thu Dec 23 13:52:32 2004 by doxygen 1.3.6