
Public Member Functions | |
| adaptiveSolver (const ODESystem &ode, const dictionary &dict) | |
| Construct from ODESystem. More... | |
| virtual | ~adaptiveSolver () |
| Destructor. More... | |
| bool | resize (const label n) |
| Resize the ODE solver. More... | |
| virtual scalar | solve (const scalar x0, const scalarField &y0, const label li, const scalarField &dydx0, const scalar dx, scalarField &y) const =0 |
| Solve a single step dx and return the error. More... | |
| void | solve (const ODESystem &ode, scalar &x, scalarField &y, const label li, scalar &dxTry) const |
| Solve the ODE system and the update the state. More... | |
| adaptiveSolver | ( | const ODESystem & | ode, |
| const dictionary & | dict | ||
| ) |
Construct from ODESystem.
Definition at line 31 of file adaptiveSolver.C.
|
inlinevirtual |
Destructor.
Definition at line 70 of file adaptiveSolver.H.
| bool resize | ( | const label | n | ) |
Resize the ODE solver.
Definition at line 49 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().


|
pure virtual |
Solve a single step dx and return the error.
Implemented in Trapezoid, Rosenbrock34, Rosenbrock23, Rosenbrock12, rodas34, rodas23, RKF45, RKDP45, RKCK45, EulerSI, and Euler.
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().

| void solve | ( | const ODESystem & | ode, |
| scalar & | x, | ||
| scalarField & | y, | ||
| const label | li, | ||
| scalar & | dxTry | ||
| ) | const |
Solve the ODE system and the update the state.
Definition at line 58 of file adaptiveSolver.C.
References ODESystem::derivatives(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::max(), Foam::min(), Foam::pow(), Foam::solve(), x, and y.
