Documentation


animal::integration::Euler< DerivativeF, StepF, TraitsT > Struct Template Reference

#include <explicit_solver.h>

Inheritance diagram for animal::integration::Euler< DerivativeF, StepF, TraitsT >:

animal::integration::Solver< DerivativeF, StepF, TraitsT > List of all members.

Detailed Description

template<class DerivativeF, class StepF, class TraitsT>
struct animal::integration::Euler< DerivativeF, StepF, TraitsT >

Explicit Euler integration method.

Typically invoked through the operator () of the base class Solver.

Author:
David Bourguignon, iMAGIS-GRAVIR, March 2000, animal/integration/explicit_solver.h
See also:
Solver

Solver_Traits

Definition at line 32 of file explicit_solver.h.

Public Types

typedef TraitsT Traits
 Traits class: includes all type definitions.

typedef Traits::Real Real
 Floating-point value for time.

typedef Traits::State State
 Container of state variables.

typedef Traits::CopyState CopyState
 Container of copies of state variables.

typedef Traits::Derivative Derivative
 Container of derivative variables.

typedef Traits::SizeType SizeType
 Natural number to define container size, typically unsigned int.


Public Member Functions

Constructor
Default constructor is typically used, unless the lower-level objects include special data.

 Euler (const DerivativeF &df=DerivativeF(), const StepF &sf=StepF(), const TraitsT &tr=Traits())
 Just calls the base class constructor.

virtual ~Euler ()
 Destructor does nothing.

Integration scheme
Implementation of the numerical integration method.

void doStep (const State &initial_S, State &final_S, const Derivative &initial_D, const Real, const Real h)
 Given a state initial_S and a derivative initial_D at time t, integrate over a time step h and write the result in final_S.


Protected Member Functions

Protected
void setSize (const SizeType)
 Does nothing.


Member Typedef Documentation

template<class DerivativeF, class StepF, class TraitsT>
typedef Traits::CopyState animal::integration::Euler< DerivativeF, StepF, TraitsT >::CopyState
 

Container of copies of state variables.

Reimplemented from animal::integration::Solver< DerivativeF, StepF, TraitsT >.

Definition at line 49 of file explicit_solver.h.

template<class DerivativeF, class StepF, class TraitsT>
typedef Traits::Derivative animal::integration::Euler< DerivativeF, StepF, TraitsT >::Derivative
 

Container of derivative variables.

Reimplemented from animal::integration::Solver< DerivativeF, StepF, TraitsT >.

Definition at line 52 of file explicit_solver.h.

Referenced by animal::integration::Euler< DerivativeF, StepF, TraitsT >::doStep().

template<class DerivativeF, class StepF, class TraitsT>
typedef Traits::Real animal::integration::Euler< DerivativeF, StepF, TraitsT >::Real
 

Floating-point value for time.

Reimplemented from animal::integration::Solver< DerivativeF, StepF, TraitsT >.

Definition at line 43 of file explicit_solver.h.

template<class DerivativeF, class StepF, class TraitsT>
typedef Traits::SizeType animal::integration::Euler< DerivativeF, StepF, TraitsT >::SizeType
 

Natural number to define container size, typically unsigned int.

Reimplemented from animal::integration::Solver< DerivativeF, StepF, TraitsT >.

Definition at line 55 of file explicit_solver.h.

Referenced by animal::integration::Euler< DerivativeF, StepF, TraitsT >::setSize().

template<class DerivativeF, class StepF, class TraitsT>
typedef Traits::State animal::integration::Euler< DerivativeF, StepF, TraitsT >::State
 

Container of state variables.

Reimplemented from animal::integration::Solver< DerivativeF, StepF, TraitsT >.

Definition at line 46 of file explicit_solver.h.

Referenced by animal::integration::Euler< DerivativeF, StepF, TraitsT >::doStep().

template<class DerivativeF, class StepF, class TraitsT>
typedef TraitsT animal::integration::Euler< DerivativeF, StepF, TraitsT >::Traits
 

Traits class: includes all type definitions.

Reimplemented from animal::integration::Solver< DerivativeF, StepF, TraitsT >.

Definition at line 40 of file explicit_solver.h.


Constructor & Destructor Documentation

template<class DerivativeF, class StepF, class TraitsT>
animal::integration::Euler< DerivativeF, StepF, TraitsT >::Euler const DerivativeF &  df = DerivativeF(),
const StepF &  sf = StepF(),
const TraitsT &  tr = Traits()
[inline]
 

Just calls the base class constructor.

Definition at line 68 of file explicit_solver.h.

template<class DerivativeF, class StepF, class TraitsT>
virtual animal::integration::Euler< DerivativeF, StepF, TraitsT >::~Euler  )  [inline, virtual]
 

Destructor does nothing.

Definition at line 77 of file explicit_solver.h.


Member Function Documentation

template<class DerivativeF, class StepF, class TraitsT>
void animal::integration::Euler< DerivativeF, StepF, TraitsT >::doStep const State initial_S,
State final_S,
const Derivative initial_D,
const  Real,
const Real  h
[inline, virtual]
 

Given a state initial_S and a derivative initial_D at time t, integrate over a time step h and write the result in final_S.

This method is typically called indirectly by the operator () of the base class Solver, but it may be called directly if the derivative at the beginning of the time step is known.

Implements animal::integration::Solver< DerivativeF, StepF, TraitsT >.

Definition at line 96 of file explicit_solver.h.

References animal::integration::Solver< DerivativeF, StepF, TraitsT >::applyStep, animal::integration::Euler< DerivativeF, StepF, TraitsT >::Derivative, and animal::integration::Euler< DerivativeF, StepF, TraitsT >::State.

template<class DerivativeF, class StepF, class TraitsT>
void animal::integration::Euler< DerivativeF, StepF, TraitsT >::setSize const  SizeType  )  [inline, protected, virtual]
 

Does nothing.

Implements animal::integration::Solver< DerivativeF, StepF, TraitsT >.

Definition at line 116 of file explicit_solver.h.

References animal::integration::Euler< DerivativeF, StepF, TraitsT >::SizeType.


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