Go to the documentation of this file.
43 absTol_(n_,
dict.lookupOrDefault<scalar>(
"absTol", SMALL)),
44 relTol_(n_,
dict.lookupOrDefault<scalar>(
"relTol", 1
e-4)),
77 scalar tol = absTol_[i] + relTol_[i]*
max(
mag(
y0[i]),
mag(
y[i]));
78 maxErr =
max(maxErr,
mag(err[i])/tol);
109 for (
label nStep=0; nStep<maxSteps_; nStep++)
112 scalar dxTry0 = step.
dxTry;
117 if ((
x + step.
dxTry - xEnd)*(
x + step.
dxTry - xStart) > 0)
127 if ((
x - xEnd)*(xEnd - xStart) >= 0)
129 if (nStep > 0 && step.
last)
149 <<
"Integration steps greater than maximum " << maxSteps_
150 <<
"xStart = " << xStart <<
", xEnd = " << xEnd
151 <<
", x = " <<
x <<
", dxDid = " << step.
dxDid
scalar normalizeError(const scalarField &y0, const scalarField &y, const scalarField &err) const
Return the nomalized scalar error.
#define forAll(list, i)
Loop across all elements in list.
defineRunTimeSelectionTable(reactionRateFlameArea, dictionary)
dimensioned< scalar > mag(const dimensioned< Type > &)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
dimensionedScalar y0(const dimensionedScalar &ds)
An ODE solver for chemistry.
A list of keyword definitions, which are a keyword followed by any number of values (e....
errorManipArg< error, int > exit(error &err, const int errNo=1)
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
SolverPerformance< Type > solve(fvMatrix< Type > &, const dictionary &)
Solve returning the solution statistics given convergence tolerance.
Abstract base class for the systems of ordinary differential equations.
virtual void solve(scalar &x, scalarField &y, scalar &dxTry) const
Solve the ODE system as far as possible upto dxTry.
const dimensionedScalar e
Elementary charge.
ODESolver(const ODESolver &)
Disallow default bitwise copy construct.
defineTypeNameAndDebug(combustionModel, 0)