• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

step/stepcore

  • StepCore
  • GenericEulerSolver
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
StepCore::GenericEulerSolver Class Reference
ODE Solvers

#include <eulersolver.h>

Inheritance diagram for StepCore::GenericEulerSolver:
Inheritance graph
[legend]

Public Member Functions

 GenericEulerSolver (double stepSize, bool adaptive)
 
 GenericEulerSolver (int dimension, Function function, void *params, double stepSize, bool adaptive)
 
 GenericEulerSolver (const GenericEulerSolver &eulerSolver)
 
 ~GenericEulerSolver ()
 
int doCalcFn (double *t, const VectorXd *y, const VectorXd *yvar=0, VectorXd *f=0, VectorXd *fvar=0)
 
int doEvolve (double *t, double t1, VectorXd *y, VectorXd *yvar)
 
void setDimension (int dimension)
 
- Public Member Functions inherited from StepCore::Solver
 Solver (int dimension=0, Function function=NULL, void *params=NULL, double stepSize=0.001)
 
 Solver (double stepSize)
 
virtual ~Solver ()
 
int dimension () const
 
Function function () const
 
double localError () const
 
double localErrorRatio () const
 
void * params () const
 
virtual void setFunction (Function function)
 
virtual void setParams (void *params)
 
virtual void setStepSize (double stepSize)
 
virtual void setToleranceAbs (double toleranceAbs)
 
virtual void setToleranceRel (double toleranceRel)
 
QString solverType () const
 
double stepSize () const
 
double toleranceAbs () const
 
double toleranceRel () const
 
- Public Member Functions inherited from StepCore::Object
 Object (const QString &name=QString())
 
virtual ~Object ()
 
const QString & name () const
 
void setName (const QString &name)
 

Protected Member Functions

int doStep (double t, double stepSize, VectorXd *y, VectorXd *yvar)
 
void fini ()
 
void init ()
 

Protected Attributes

bool _adaptive
 
VectorXd _ydiff
 
VectorXd _ydiffvar
 
VectorXd _yerr
 
VectorXd _ytemp
 
VectorXd _ytempvar
 
- Protected Attributes inherited from StepCore::Solver
int _dimension
 
Function _function
 
double _localError
 
double _localErrorRatio
 
void * _params
 
double _stepSize
 
double _toleranceAbs
 
double _toleranceRel
 
- Protected Attributes inherited from StepCore::Object
QString _name
 

Additional Inherited Members

- Public Types inherited from StepCore::Solver
enum  {
  OK = 0, ToleranceError = 2048, InternalError = 2049, CollisionDetected = 4096,
  IntersectionDetected = 4097, Aborted = 8192, CollisionError = 16384, ConstraintError = 32768
}
 
typedef int(* Function )(double t, const double *y, const double *yvar, double *f, double *fvar, void *params)
 

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

Definition at line 39 of file eulersolver.h.

Constructor & Destructor Documentation

StepCore::GenericEulerSolver::GenericEulerSolver ( double  stepSize,
bool  adaptive 
)
inline

Constructs GenericEulerSolver.

Definition at line 45 of file eulersolver.h.

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

Constructs GenericEulerSolver.

Definition at line 48 of file eulersolver.h.

StepCore::GenericEulerSolver::GenericEulerSolver ( const GenericEulerSolver &  eulerSolver)
inline

Copy constructor.

Definition at line 53 of file eulersolver.h.

StepCore::GenericEulerSolver::~GenericEulerSolver ( )
inline

Definition at line 56 of file eulersolver.h.

Member Function Documentation

int StepCore::GenericEulerSolver::doCalcFn ( double *  t,
const VectorXd *  y,
const VectorXd *  yvar = 0,
VectorXd *  f = 0,
VectorXd *  fvar = 0 
)
virtual

Calculate function value.

Implements StepCore::Solver.

Definition at line 45 of file eulersolver.cc.

int StepCore::GenericEulerSolver::doEvolve ( double *  t,
double  t1,
VectorXd *  y,
VectorXd *  yvar 
)
virtual

Integrate.

Parameters
tCurrent time (will be updated by the new value)
t1Target time
yFunction value
yvarFunction variance
Returns
Solver::OK on success, error status on failure
Todo:
Provide error message

Implements StepCore::Solver.

Definition at line 115 of file eulersolver.cc.

int StepCore::GenericEulerSolver::doStep ( double  t,
double  stepSize,
VectorXd *  y,
VectorXd *  yvar 
)
protected

Definition at line 55 of file eulersolver.cc.

void StepCore::GenericEulerSolver::fini ( )
protected

Definition at line 41 of file eulersolver.cc.

void StepCore::GenericEulerSolver::init ( )
protected
void StepCore::GenericEulerSolver::setDimension ( int  dimension)
inlinevirtual

Set ODE dimension.

Reimplemented from StepCore::Solver.

Definition at line 58 of file eulersolver.h.

Member Data Documentation

bool StepCore::GenericEulerSolver::_adaptive
protected

Definition at line 69 of file eulersolver.h.

VectorXd StepCore::GenericEulerSolver::_ydiff
protected

Definition at line 72 of file eulersolver.h.

VectorXd StepCore::GenericEulerSolver::_ydiffvar
protected

Definition at line 74 of file eulersolver.h.

VectorXd StepCore::GenericEulerSolver::_yerr
protected

Definition at line 70 of file eulersolver.h.

VectorXd StepCore::GenericEulerSolver::_ytemp
protected

Definition at line 71 of file eulersolver.h.

VectorXd StepCore::GenericEulerSolver::_ytempvar
protected

Definition at line 73 of file eulersolver.h.


The documentation for this class was generated from the following files:
  • eulersolver.h
  • eulersolver.cc
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:43:06 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

step/stepcore

Skip menu "step/stepcore"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal