Loading...
Searching...
No Matches
adaptiveSolver Class Referenceabstract

#include <adaptiveSolver.H>

Inheritance diagram for adaptiveSolver:

Public Member Functions

 adaptiveSolver (const ODESystem &ode, const dictionary &dict)
 Construct from ODESystem.
virtual ~adaptiveSolver ()=default
 Destructor.
bool resize (const label n)
 Resize the ODE solver.
virtual scalar solve (const scalar x0, const scalarField &y0, const scalarField &dydx0, const scalar dx, scalarField &y) const =0
 Solve a single step dx and return the error.
void solve (const ODESystem &ode, scalar &x, scalarField &y, scalar &dxTry) const
 Solve the ODE system and the update the state.

Detailed Description

Source files

Definition at line 49 of file adaptiveSolver.H.

Constructor & Destructor Documentation

◆ adaptiveSolver()

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

◆ ~adaptiveSolver()

virtual ~adaptiveSolver ( )
virtualdefault

Destructor.

References n.

Member Function Documentation

◆ resize()

bool resize ( const label n)

Resize the ODE solver.

Definition at line 45 of file adaptiveSolver.C.

References n, and ODESolver::resizeField().

Referenced by Euler::resize(), EulerSI::resize(), RKCK45::resize(), RKDP45::resize(), RKF45::resize(), rodas23::resize(), rodas34::resize(), Rosenbrock12::resize(), Rosenbrock23::resize(), Rosenbrock34::resize(), and Trapezoid::resize().

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

◆ solve() [1/2]

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

Solve a single step dx and return the error.

Implemented in Euler, EulerSI, RKCK45, RKDP45, RKF45, rodas23, rodas34, Rosenbrock12, Rosenbrock23, Rosenbrock34, and Trapezoid.

References x, y, and Foam::y0().

Referenced by Euler::solve(), EulerSI::solve(), RKCK45::solve(), RKDP45::solve(), RKF45::solve(), rodas23::solve(), rodas34::solve(), Rosenbrock12::solve(), Rosenbrock23::solve(), Rosenbrock34::solve(), and Trapezoid::solve().

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

◆ solve() [2/2]

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

Solve the ODE system and the update the state.

Definition at line 54 of file adaptiveSolver.C.

References Foam::clamp(), ODESystem::derivatives(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::max(), Foam::pow(), solve(), x, and y.

Here is the call graph for this function:

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