Public Member Functions | |
TypeName ("SIBS") | |
Runtime type information. More... | |
SIBS (const ODESystem &ode, const dictionary &dict) | |
Construct from ODE. More... | |
void | solve (scalar &x, scalarField &y, scalar &dxTry) const |
Solve the ODE system as far as possible upto dxTry. More... | |
![]() | |
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... | |
Private Member Functions | |
void | SIMPR (const scalar xStart, const scalarField &y, const scalarField &dydx, const scalarField &dfdx, const scalarSquareMatrix &dfdy, const scalar deltaX, const label nSteps, scalarField &yEnd) const |
void | polyExtrapolate (const label iest, const scalar xest, const scalarField &yest, scalarField &yz, scalarField &dy, scalarField &x_p, scalarRectangularMatrix &d_p) const |
Private Attributes | |
scalarField | a_ |
scalarSquareMatrix | alpha_ |
scalarRectangularMatrix | d_p_ |
scalarField | x_p_ |
scalarField | err_ |
scalarField | yTemp_ |
scalarField | ySeq_ |
scalarField | yErr_ |
scalarField | dydx0_ |
scalarField | dfdx_ |
scalarSquareMatrix | dfdy_ |
label | first_ |
label | kMax_ |
label | kOpt_ |
scalar | epsOld_ |
scalar | xNew_ |
Static Private Attributes | |
static const label | kMaxX_ = 7 |
static const label | iMaxX_ = kMaxX_ + 1 |
static const label | nSeq_ [iMaxX_] = {2, 6, 10, 14, 22, 34, 50, 70} |
static const scalar | safe1 = 0.25 |
static const scalar | safe2 = 0.7 |
static const scalar | redMax = 1.0e-5 |
static const scalar | redMin = 0.7 |
static const scalar | scaleMX = 0.1 |
Additional Inherited Members | |
![]() | |
static autoPtr< ODESolver > | New (const ODESystem &ode, const dictionary &dict) |
Select null constructed. More... | |
![]() | |
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... | |
![]() | |
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... | |
Bader, G. and Deuflhard, P. "A Semi-Implicit Mid-Point Rule for Stiff Systems of Ordinary Differential Equations." Numer. Math. 41, 373-398, 1983.
SIBS | ( | const ODESystem & | ode, |
const dictionary & | dict | ||
) |
|
private |
Definition at line 31 of file SIMPR.C.
References Foam::constant::universal::h, Foam::LUBacksubstitute(), Foam::LUDecompose(), x, and y.
|
private |
Definition at line 31 of file polyExtrapolate.C.
References Foam::constant::universal::c, delta, f1, n, and x.
TypeName | ( | "SIBS" | ) |
Runtime type information.
|
virtual |
Solve the ODE system as far as possible upto dxTry.
adjusting the step as necessary to provide a solution within the specified tolerance. Update the state and return an estimate for the next step in dxTry
Reimplemented from ODESolver.
Definition at line 72 of file SIBS.C.
References Foam::exit(), Foam::FatalError, FatalErrorInFunction, Foam::constant::universal::h, k, Foam::mag(), Foam::max(), Foam::min(), Foam::pow(), Foam::sqr(), x, and y.
|
staticprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
|
mutableprivate |
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.