ODESystem Class Referenceabstract

Abstract base class for the systems of ordinary differential equations. More...

Inheritance diagram for ODESystem:

Public Member Functions

 ODESystem ()
 Construct null. More...
 
virtual ~ODESystem ()
 Destructor. More...
 
virtual label nEqns () const =0
 Return the number of equations in the system. More...
 
virtual void derivatives (const scalar x, const scalarField &y, const label li, scalarField &dydx) const =0
 Calculate the derivatives in dydx. More...
 
virtual void jacobian (const scalar x, const scalarField &y, const label li, scalarField &dfdx, scalarSquareMatrix &dfdy) const =0
 Calculate the Jacobian of the system. More...
 

Protected Member Functions

void check (const scalar x, const scalarField &y, const scalarField &dy, const label li) const
 Print correspondence between derivatives and Jacobian methods. More...
 

Detailed Description

Abstract base class for the systems of ordinary differential equations.

Definition at line 46 of file ODESystem.H.

Constructor & Destructor Documentation

◆ ODESystem()

ODESystem ( )

Construct null.

Definition at line 30 of file ODESystem.C.

◆ ~ODESystem()

~ODESystem ( )
virtual

Destructor.

Definition at line 36 of file ODESystem.C.

References ODESystem::check().

Here is the call graph for this function:

Member Function Documentation

◆ check()

void check ( const scalar  x,
const scalarField y,
const scalarField dy,
const label  li 
) const
protected

Print correspondence between derivatives and Jacobian methods.

Definition at line 43 of file ODESystem.C.

References ODESystem::derivatives(), forAll, Foam::Info, ODESystem::jacobian(), ODESystem::nEqns(), Foam::nl, Foam::stabilise(), Foam::y0(), and Foam::y1().

Referenced by ODESystem::~ODESystem().

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

◆ nEqns()

virtual label nEqns ( ) const
pure virtual

Return the number of equations in the system.

Implemented in odeChemistryModel.

Referenced by ODESystem::check(), and ODESolver::resize().

Here is the caller graph for this function:

◆ derivatives()

virtual void derivatives ( const scalar  x,
const scalarField y,
const label  li,
scalarField dydx 
) const
pure virtual

Calculate the derivatives in dydx.

for the current state x and y and optional index into the list of systems to solve li

Implemented in chemistryModel< ThermoType >.

Referenced by ODESystem::check(), seulex::seulex(), Trapezoid::solve(), adaptiveSolver::solve(), Rosenbrock12::solve(), Rosenbrock23::solve(), rodas23::solve(), rodas34::solve(), RKCK45::solve(), RKDP45::solve(), RKF45::solve(), Rosenbrock34::solve(), and SIBS::solve().

Here is the caller graph for this function:

◆ jacobian()

virtual void jacobian ( const scalar  x,
const scalarField y,
const label  li,
scalarField dfdx,
scalarSquareMatrix dfdy 
) const
pure virtual

Calculate the Jacobian of the system.

for the current state x and y and optional index into the list of systems to solve li. Need by stiff-system solvers

Implemented in chemistryModel< ThermoType >.

Referenced by ODESystem::check(), EulerSI::solve(), Rosenbrock12::solve(), rodas23::solve(), Rosenbrock23::solve(), rodas34::solve(), Rosenbrock34::solve(), SIBS::solve(), and seulex::solve().

Here is the caller graph for this function:

The documentation for this class was generated from the following files: