30 template<
class ChemistryModel>
34 odeSolver_(
ODESolver::
New(*this, this->subDict(
"odeCoeffs"))),
41 template<
class ChemistryModel>
48 template<
class ChemistryModel>
61 if (odeSolver_->resize())
63 odeSolver_->resizeField(cTp_);
81 this->check(0, cTp_, dcTp, li);
84 odeSolver_->solve(0, deltaT, cTp_, li, subDeltaT);
88 c[i] =
max(0.0, cTp_[i]);
Abstract base-class for ODE system solvers.
An abstract base class for solving chemistry.
Base-class for multi-component fluid thermodynamic properties.
virtual void solve(scalar &p, scalar &T, scalarField &c, const label li, scalar &deltaT, scalar &subDeltaT) const
Update the concentrations and return the chemical time.
ode(const fluidMulticomponentThermo &thermo)
Construct from thermo.
virtual ~ode()
Destructor.
autoPtr< CompressibleMomentumTransportModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const viscosity &viscosity)
const dimensionedScalar c
Speed of light in a vacuum.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void T(LagrangianPatchField< Type > &f, const LagrangianPatchField< Type > &f1)
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
fluidMulticomponentThermo & thermo