GenericEulerSolver Class Reference
[ODE Solvers]

Adaptive and non-adaptive Euler solver with error estimation. More...

#include <eulersolver.h>

Inheritance diagram for GenericEulerSolver:

Solver Object AdaptiveEulerSolver EulerSolver List of all members.

Public Types

typedef int(*) Function (double t, const double y[], double f[], void *params)

Public Member Functions

 GenericEulerSolver (double stepSize, bool adaptive)
 GenericEulerSolver (int dimension, Function function, void *params, double stepSize, bool adaptive)
 GenericEulerSolver (const GenericEulerSolver &eulerSolver)
void setDimension (int dimension)
double stepSize () const
void setStepSize (double stepSize)
void doCalcFn (double *t, double y[], double f[]=0)
bool doEvolve (double *t, double t1, double y[], double yerr[])
QString solverType () const
int dimension () const
Function function () const
virtual void setFunction (Function function)
void * params () const
virtual void setParams (void *params)
double toleranceAbs () const
virtual void setToleranceAbs (double toleranceAbs)
double toleranceRel () const
virtual void setToleranceRel (double toleranceRel)
double localError () const
double localErrorRatio () const
const QString & name () const
void setName (const QString &name)

Detailed Description

Adaptive and non-adaptive Euler solver with error estimation.

See http://en.wikipedia.org/wiki/Numerical_ordinary_differential_equations#The_Euler_method and http://en.wikipedia.org/wiki/Adaptive_step_size

Todo:
tests


Member Typedef Documentation

typedef int(*) Function(double t, const double y[], double f[], void *params) [inherited]

Callback function type


Constructor & Destructor Documentation

GenericEulerSolver ( double  stepSize,
bool  adaptive 
)

Constructs GenericEulerSolver

GenericEulerSolver ( int  dimension,
Function  function,
void *  params,
double  stepSize,
bool  adaptive 
)

Constructs GenericEulerSolver

GenericEulerSolver ( const GenericEulerSolver eulerSolver  ) 

Copy constructor


Member Function Documentation

void setDimension ( int  dimension  )  [virtual]

Set ODE dimension

Reimplemented from Solver.

double stepSize (  )  const [inline]

Set step size

Reimplemented in EulerSolver, and AdaptiveEulerSolver.

void setStepSize ( double  stepSize  )  [inline]

Get step size

Reimplemented in EulerSolver.

void doCalcFn ( double *  t,
double  y[],
double  f[] = 0 
) [virtual]

Calculate function value

Implements Solver.

bool doEvolve ( double *  t,
double  t1,
double  y[],
double  yerr[] 
) [virtual]

Integrate.

Parameters:
t Current time (will be updated by the new value)
t1 Target time
y[] Current function value
yerr[] Array to store local errors
Returns:
true on success, false on failure (too big local error)
Todo:
Provide error message

Implements Solver.

QString solverType (  )  const [inline, inherited]

Get solver type

int dimension (  )  const [inline, inherited]

Get ODE dimension

Function function (  )  const [inline, inherited]

Get callback function

virtual void setFunction ( Function  function  )  [inline, virtual, inherited]

Set callback function

void* params (  )  const [inline, inherited]

Get callback function params

virtual void setParams ( void *  params  )  [inline, virtual, inherited]

Set callback function params

Reimplemented in GslGenericSolver.

double toleranceAbs (  )  const [inline, inherited]

Get absolute allowed local tolerance

virtual void setToleranceAbs ( double  toleranceAbs  )  [inline, virtual, inherited]

Set absolute allowed local tolerance

Reimplemented in GslGenericSolver.

double toleranceRel (  )  const [inline, inherited]

Get relative allowed local tolerance

virtual void setToleranceRel ( double  toleranceRel  )  [inline, virtual, inherited]

Set relative allowed local tolerance

Reimplemented in GslGenericSolver.

double localError (  )  const [inline, inherited]

Get error estimation from last step

double localErrorRatio (  )  const [inline, inherited]

Get local tolerance calculated at last step

const QString& name (  )  const [inline, inherited]

Returns name of the object

void setName ( const QString &  name  )  [inline, inherited]

Set name of the object


The documentation for this class was generated from the following files:
Generated on Thu Mar 15 14:23:37 2007 for StepCore by  doxygen 1.5.1