Documentation


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

#include <explicit_solver.h>

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

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

Detailed Description

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

Modified midpoint_V method.

Same as Modified_Midpoint, except that a functor is used to decide how many sub-time steps must be performed within each time step.

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

Solver_Traits

Definition at line 567 of file explicit_solver.h.

Protected

void setSize (const SizeType size)
 Resize auxiliary containers.

State S1
 State (m-1)th, mth and (m+1)th evaluations.

State S2
 State (m-1)th, mth and (m+1)th evaluations.

State S3
 State (m-1)th, mth and (m+1)th evaluations.


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.

 Modified_Midpoint_V (const NStepF &nsf=NStepF(), const DerivativeF &df=DerivativeF(), const StepF &sf=StepF(), const Traits &tr=Traits())
 Just calls the base class constructor.

virtual ~Modified_Midpoint_V ()
 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 t, 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.


Public Attributes

NStepF nstep
 function returning the number of sub-time_steps


Member Typedef Documentation

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

Container of copies of state variables.

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

Definition at line 580 of file explicit_solver.h.

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

Container of derivative variables.

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

Definition at line 583 of file explicit_solver.h.

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

Floating-point value for time.

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

Definition at line 574 of file explicit_solver.h.

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

Natural number to define container size, typically unsigned int.

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

Definition at line 586 of file explicit_solver.h.

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

Container of state variables.

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

Definition at line 577 of file explicit_solver.h.

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

Traits class: includes all type definitions.

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

Definition at line 571 of file explicit_solver.h.


Constructor & Destructor Documentation

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

Just calls the base class constructor.

Definition at line 600 of file explicit_solver.h.

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

Destructor does nothing.

Definition at line 611 of file explicit_solver.h.


Member Function Documentation

template<class NStepF, class DerivativeF, class StepF, class TraitsT>
void animal::integration::Modified_Midpoint_V< NStepF, DerivativeF, StepF, TraitsT >::doStep const State initial_S,
State final_S,
const Derivative initial_D,
const Real  t,
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 629 of file explicit_solver.h.

References animal::integration::Solver< DerivativeF, StepF, TraitsT >::applyStep, animal::integration::Modified_Midpoint_V< NStepF, DerivativeF, StepF, TraitsT >::nstep, and animal::integration::Solver< DerivativeF, StepF, TraitsT >::writeDerivative.

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

Resize auxiliary containers.

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

Definition at line 680 of file explicit_solver.h.


Member Data Documentation

template<class NStepF, class DerivativeF, class StepF, class TraitsT>
NStepF animal::integration::Modified_Midpoint_V< NStepF, DerivativeF, StepF, TraitsT >::nstep
 

function returning the number of sub-time_steps

Definition at line 589 of file explicit_solver.h.

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

template<class NStepF, class DerivativeF, class StepF, class TraitsT>
State animal::integration::Modified_Midpoint_V< NStepF, DerivativeF, StepF, TraitsT >::S1 [protected]
 

State (m-1)th, mth and (m+1)th evaluations.

Definition at line 677 of file explicit_solver.h.

template<class NStepF, class DerivativeF, class StepF, class TraitsT>
State animal::integration::Modified_Midpoint_V< NStepF, DerivativeF, StepF, TraitsT >::S2 [protected]
 

State (m-1)th, mth and (m+1)th evaluations.

Definition at line 677 of file explicit_solver.h.

template<class NStepF, class DerivativeF, class StepF, class TraitsT>
State animal::integration::Modified_Midpoint_V< NStepF, DerivativeF, StepF, TraitsT >::S3 [protected]
 

State (m-1)th, mth and (m+1)th evaluations.

Definition at line 677 of file explicit_solver.h.


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