L-stable, stiffly-accurate embedded Rosenbrock ODE solver of order (2)3. More...
Public Member Functions | |
TypeName ("rodas23") | |
Runtime type information. More... | |
rodas23 (const ODESystem &ode, const dictionary &dict) | |
Construct from ODE. More... | |
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... | |
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... | |
virtual | ~ODESolver () |
Destructor. More... | |
scalarField & | absTol () |
scalarField & | relTol () |
virtual void | solve (scalar &x, scalarField &y, stepState &step) const |
Solve the ODE system as far as possible upto 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... | |
Public Member Functions inherited from adaptiveSolver | |
adaptiveSolver (const ODESystem &ode, const dictionary &dict) | |
Construct from ODESystem. More... | |
virtual | ~adaptiveSolver () |
Destructor. More... | |
void | solve (const ODESystem &ode, scalar &x, scalarField &y, scalar &dxTry) const |
Solve the ODE system and the update the state. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from ODESolver | |
static autoPtr< ODESolver > | New (const ODESystem &ode, const dictionary &dict) |
Select null constructed. More... | |
Protected Member Functions inherited from ODESolver | |
scalar | normalizeError (const scalarField &y0, const scalarField &y, const scalarField &err) const |
Return the nomalized scalar error. More... | |
ODESolver (const ODESolver &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const ODESolver &) |
Disallow default bitwise assignment. More... | |
Protected Attributes inherited from ODESolver | |
const ODESystem & | odes_ |
Reference to ODESystem. More... | |
label | n_ |
Size of the ODESystem. 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... | |
L-stable, stiffly-accurate embedded Rosenbrock ODE solver of order (2)3.
Sandu et al, "Benchmarking stiff ODE solvers for atmospheric chemistry problems II Rosenbrock solvers", A. Sandu, J.G. Verwer, J.G. Blom, E.J. Spee, G.R. Carmichael, F.A. Potra, Atmospheric Environment, Volume 31, 1997, Issue 20, Pages 3459-3472
rodas23 | ( | const ODESystem & | ode, |
const dictionary & | dict | ||
) |
Construct from ODE.
Definition at line 54 of file rodas23.C.
References rodas23::solve().
TypeName | ( | "rodas23" | ) |
Runtime type information.
|
virtual |
Solve a single step dx and return the error.
Implements adaptiveSolver.
Definition at line 74 of file rodas23.C.
References ODESystem::derivatives(), forAll, ODESystem::jacobian(), Foam::LUBacksubstitute(), Foam::LUDecompose(), ODESolver::n_, ODESolver::normalizeError(), and ODESolver::odes_.
Referenced by rodas23::rodas23().
|
virtual |
Solve the ODE system and the update the state.
Reimplemented from ODESolver.
Definition at line 154 of file rodas23.C.
References ODESolver::odes_, and adaptiveSolver::solve().