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