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 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, 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 32 of file adaptiveSolver.C.
|
inlinevirtual |
Destructor.
Definition at line 70 of file adaptiveSolver.H.
References n, adaptiveSolver::resize(), adaptiveSolver::solve(), x, y, and Foam::y0().
bool resize | ( | const label | n | ) |
Resize the ODE solver.
Definition at line 49 of file adaptiveSolver.C.
References ODESolver::resizeField(), and adaptiveSolver::solve().
Referenced by Trapezoid::resize(), Euler::resize(), EulerSI::resize(), Rosenbrock12::resize(), Rosenbrock23::resize(), rodas23::resize(), rodas34::resize(), RKCK45::resize(), RKDP45::resize(), RKF45::resize(), Rosenbrock34::resize(), and adaptiveSolver::~adaptiveSolver().
|
pure virtual |
Solve a single step dx and return the error.
Implemented in Rosenbrock34, RKF45, RKDP45, RKCK45, rodas34, rodas23, Rosenbrock23, Rosenbrock12, EulerSI, Euler, and Trapezoid.
Referenced by adaptiveSolver::resize(), adaptiveSolver::solve(), Trapezoid::solve(), Euler::solve(), EulerSI::solve(), Rosenbrock12::solve(), rodas23::solve(), Rosenbrock23::solve(), rodas34::solve(), RKCK45::solve(), RKDP45::solve(), RKF45::solve(), Rosenbrock34::solve(), and adaptiveSolver::~adaptiveSolver().
void solve | ( | const ODESystem & | ode, |
scalar & | x, | ||
scalarField & | y, | ||
scalar & | dxTry | ||
) | const |
Solve the ODE system and the update the state.
Definition at line 59 of file adaptiveSolver.C.
References ODESystem::derivatives(), Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::max(), Foam::min(), Foam::pow(), and adaptiveSolver::solve().