The OpenFOAM Foundation
Euler Class Reference

Euler ODE solver of order (0)1. More...

Inheritance diagram for Euler:
Collaboration diagram for Euler:

## Public Member Functions

TypeName ("Euler")
Runtime type information. More...

Euler (const ODESystem &ode, const dictionary &dict)
Construct from ODESystem. More...

virtual ~Euler ()
Destructor. More...

virtual bool resize ()
Resize the ODE solver. More...

virtual scalar solve (const scalar x0, const scalarField &y0, const scalarField &dydx0, const scalar dx, scalarField &y) const
Solve a single step dx and return the error. More...

virtual void solve (scalar &x, scalarField &y, scalar &dxTry) const
Solve the ODE system and the update the state. More...

Public Member Functions inherited from ODESolver
TypeName ("ODESolver")
Runtime type information. More...

declareRunTimeSelectionTable (autoPtr, ODESolver, dictionary,(const ODESystem &ode, const dictionary &dict),(ode, dict))

ODESolver (const ODESystem &ode, const dictionary &dict)
Construct for given ODESystem. More...

ODESolver (const ODESystem &ode, const scalarField &absTol, const scalarField &relTol)
Construct for given ODESystem specifying tolerances. More...

ODESolver (const ODESolver &)=delete
Disallow default bitwise copy construction. More...

virtual ~ODESolver ()
Destructor. More...

label nEqns () const
Return the number of equations to solve. More...

scalarFieldabsTol ()

scalarFieldrelTol ()

template<class Type >
void resizeField (UList< Type > &f) const

void resizeMatrix (scalarSquareMatrix &m) const

virtual void solve (scalar &x, scalarField &y, stepState &step) const
Solve the ODE system as far as possible up to dxTry. More...

virtual void solve (const scalar xStart, const scalar xEnd, scalarField &y, scalar &dxEst) const
Solve the ODE system from xStart to xEnd, update the state. More...

void operator= (const ODESolver &)=delete
Disallow default bitwise assignment. More...

Public Member Functions inherited from adaptiveSolver
adaptiveSolver (const ODESystem &ode, const dictionary &dict)
Construct from ODESystem. More...

Destructor. More...

bool resize (const label n)
Resize the ODE solver. More...

void solve (const ODESystem &ode, scalar &x, scalarField &y, scalar &dxTry) const
Solve the ODE system and the update the state. More...

Static Public Member Functions inherited from ODESolver
static autoPtr< ODESolverNew (const ODESystem &ode, const dictionary &dict)
Select null constructed. More...

template<class Type >
static void resizeField (UList< Type > &f, const label n)

Protected Member Functions inherited from ODESolver
scalar normalizeError (const scalarField &y0, const scalarField &y, const scalarField &err) const
Return the nomalized scalar error. More...

Protected Attributes inherited from ODESolver
const ODESystemodes_
Reference to ODESystem. More...

const label maxN_
Maximum size of the ODESystem. More...

label n_
Size of the ODESystem (adjustable) More...

scalarField absTol_
Absolute convergence tolerance per step. More...

scalarField relTol_
Relative convergence tolerance per step. More...

label maxSteps_
The maximum number of sub-steps allowed for the integration step. More...

## Detailed Description

Euler ODE solver of order (0)1.

The method calculates the new state from:

The error is estimated directly from the change in the solution, i.e. the difference between the 0th and 1st order solutions:

Source files

Definition at line 59 of file Euler.H.

## ◆ Euler()

 Euler ( const ODESystem & ode, const dictionary & dict )

Construct from ODESystem.

Definition at line 40 of file Euler.C.

## ◆ ~Euler()

 virtual ~Euler ( )
inlinevirtual

Destructor.

Definition at line 82 of file Euler.H.

References Euler::resize(), Euler::solve(), ODESolver::solve(), x, y, and Foam::y0().

Here is the call graph for this function:

## ◆ TypeName()

 TypeName ( "Euler" )

Runtime type information.

## ◆ resize()

 bool resize ( )
virtual

Resize the ODE solver.

Implements ODESolver.

Definition at line 50 of file Euler.C.

Referenced by Euler::~Euler().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ solve() [1/2]

 Foam::scalar solve ( const scalar x0, const scalarField & y0, const scalarField & dydx0, const scalar dx, scalarField & y ) const
virtual

Solve a single step dx and return the error.

Definition at line 68 of file Euler.C.

References forAll, and ODESolver::normalizeError().

Referenced by Euler::resize(), and Euler::~Euler().

Here is the call graph for this function:
Here is the caller graph for this function:

## ◆ solve() [2/2]

 void solve ( scalar & x, scalarField & y, scalar & dxTry ) const
virtual

Solve the ODE system and the update the state.

Reimplemented from ODESolver.

Definition at line 93 of file Euler.C.