Documentation


animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF > Struct Template Reference

#include <stepper.h>

Inheritance diagram for animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >:

animal::integration::Step_Doubling< SolverF, HSmallerF, HLargerF, IsDifferentF > animal::integration::Step_Back_And_Forth< SolverF, HSmallerF, HLargerF, IsDifferentF > List of all members.

Detailed Description

template<class SolverF, class HSmallerF, class HLargerF, class IsDifferentF>
struct animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >

Generic stepper class.

Declaration/Definition file: animal/integration/stepper.h (creation date: March 28, 2000).

Author:
David Bourguignon
iMAGIS/GRAVIR, 2000

Definition at line 31 of file stepper.h.

Public Types

typedef SolverF::Real Real
 time

typedef SolverF::Model Model
 additional date

typedef SolverF::State State
 function value

typedef SolverF::Derivative Derivative
 function derivative


Public Member Functions

 Stepper_Function ()
 Default constructor: does nothing.

 Stepper_Function (const SolverF &slf, const HSmallerF &hsf, const HLargerF &hlf, const IsDifferentF &isdf)
 Constructor.

Call operator
void operator() (const Model &M, State &S, const Real t, const Real htry, Real &hdid, Real &hnext)
 Compute one stepper iteration, where htry is the stepsize to be attempted (initial trial value), hdid is the stepsize that was actually accomplished and hnext is the estimated next stepsize.

void operator() (const Model &M, const State &initial_S, State &final_S, const Real t, const Real htry, Real &hdid, Real &hnext)

Public Attributes

SolverF solve
 the solver used for a given step

HSmallerF hsmaller
 decide wether time step must be decreased

HLargerF hlarger
 decide wether time step must be increased

IsDifferentF isDifferent
 decide wether two states differ too much


Member Typedef Documentation

template<class SolverF, class HSmallerF, class HLargerF, class IsDifferentF>
typedef SolverF::Derivative animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::Derivative
 

function derivative

Definition at line 36 of file stepper.h.

template<class SolverF, class HSmallerF, class HLargerF, class IsDifferentF>
typedef SolverF::Model animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::Model
 

additional date

Definition at line 34 of file stepper.h.

template<class SolverF, class HSmallerF, class HLargerF, class IsDifferentF>
typedef SolverF::Real animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::Real
 

time

Definition at line 33 of file stepper.h.

template<class SolverF, class HSmallerF, class HLargerF, class IsDifferentF>
typedef SolverF::State animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::State
 

function value

Definition at line 35 of file stepper.h.


Constructor & Destructor Documentation

template<class SolverF, class HSmallerF, class HLargerF, class IsDifferentF>
animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::Stepper_Function  )  [inline]
 

Default constructor: does nothing.

Definition at line 44 of file stepper.h.

template<class SolverF, class HSmallerF, class HLargerF, class IsDifferentF>
animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::Stepper_Function const SolverF &  slf,
const HSmallerF &  hsf,
const HLargerF &  hlf,
const IsDifferentF &  isdf
[inline]
 

Constructor.

Definition at line 48 of file stepper.h.

References animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::hlarger, animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::hsmaller, animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::isDifferent, and animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::solve.


Member Function Documentation

template<class SolverF, class HSmallerF, class HLargerF, class IsDifferentF>
void animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::operator() const Model M,
const State initial_S,
State final_S,
const Real  t,
const Real  htry,
Real hdid,
Real hnext
 

Reimplemented in animal::integration::Step_Doubling< SolverF, HSmallerF, HLargerF, IsDifferentF >, and animal::integration::Step_Back_And_Forth< SolverF, HSmallerF, HLargerF, IsDifferentF >.

template<class SolverF, class HSmallerF, class HLargerF, class IsDifferentF>
void animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::operator() const Model M,
State S,
const Real  t,
const Real  htry,
Real hdid,
Real hnext
 

Compute one stepper iteration, where htry is the stepsize to be attempted (initial trial value), hdid is the stepsize that was actually accomplished and hnext is the estimated next stepsize.

Reimplemented in animal::integration::Step_Doubling< SolverF, HSmallerF, HLargerF, IsDifferentF >, and animal::integration::Step_Back_And_Forth< SolverF, HSmallerF, HLargerF, IsDifferentF >.


Member Data Documentation

template<class SolverF, class HSmallerF, class HLargerF, class IsDifferentF>
HLargerF animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::hlarger
 

decide wether time step must be increased

Definition at line 40 of file stepper.h.

Referenced by animal::integration::Step_Back_And_Forth< SolverF, HSmallerF, HLargerF, IsDifferentF >::operator()(), animal::integration::Step_Doubling< SolverF, HSmallerF, HLargerF, IsDifferentF >::operator()(), and animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::Stepper_Function().

template<class SolverF, class HSmallerF, class HLargerF, class IsDifferentF>
HSmallerF animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::hsmaller
 

decide wether time step must be decreased

Definition at line 39 of file stepper.h.

Referenced by animal::integration::Step_Back_And_Forth< SolverF, HSmallerF, HLargerF, IsDifferentF >::operator()(), animal::integration::Step_Doubling< SolverF, HSmallerF, HLargerF, IsDifferentF >::operator()(), and animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::Stepper_Function().

template<class SolverF, class HSmallerF, class HLargerF, class IsDifferentF>
IsDifferentF animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::isDifferent
 

decide wether two states differ too much

Definition at line 41 of file stepper.h.

Referenced by animal::integration::Step_Back_And_Forth< SolverF, HSmallerF, HLargerF, IsDifferentF >::operator()(), animal::integration::Step_Doubling< SolverF, HSmallerF, HLargerF, IsDifferentF >::operator()(), and animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::Stepper_Function().

template<class SolverF, class HSmallerF, class HLargerF, class IsDifferentF>
SolverF animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::solve
 

the solver used for a given step

Definition at line 38 of file stepper.h.

Referenced by animal::integration::Step_Back_And_Forth< SolverF, HSmallerF, HLargerF, IsDifferentF >::operator()(), animal::integration::Step_Doubling< SolverF, HSmallerF, HLargerF, IsDifferentF >::operator()(), and animal::integration::Stepper_Function< SolverF, HSmallerF, HLargerF, IsDifferentF >::Stepper_Function().


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