Go to the documentation of this file.
34 namespace combustionModels
39 template<
class ReactionThermo,
class ThermoType>
40 singleStepCombustion<ReactionThermo, ThermoType>::singleStepCombustion
42 const word& modelType,
45 const word& combustionProperties
49 singleMixturePtr_(
nullptr),
54 this->
thermo().phasePropertyName(
"wFuel"),
63 semiImplicit_(this->coeffs_.getBool(
"semiImplicit"))
76 <<
"Inconsistent thermo package for " << this->
type() <<
" model:\n"
78 <<
"Please select a thermo package based on "
84 Info<<
"Combustion mode: semi-implicit" <<
endl;
88 Info<<
"Combustion mode: explicit" <<
endl;
95 template<
class ReactionThermo,
class ThermoType>
102 template<
class ReactionThermo,
class ThermoType>
108 const label specieI =
109 this->
thermo().composition().species()[Y.member()];
113 wFuel_*singleMixturePtr_->specieStoichCoeffs()[specieI]
118 const label fNorm = singleMixturePtr_->specieProd()[specieI];
120 wSpecie /=
max(fNorm*(
Y - fres), scalar(1
e-2));
122 return -fNorm*wSpecie*fres + scalar(fNorm)*
fvm::Sp(wSpecie,
Y);
125 return wSpecie +
fvm::Sp(0.0*wSpecie,
Y);
129 template<
class ReactionThermo,
class ThermoType>
133 const label fuelI = singleMixturePtr_->fuelIndex();
137 return -singleMixturePtr_->qFuel()*(
R(YFuel) & YFuel);
141 template<
class ReactionThermo,
class ThermoType>
Defines the attributes of an object for which implicit objectRegistry management is supported,...
A class for handling words, derived from Foam::string.
A class for managing temporary objects.
static constexpr const zero Zero
Global zero (0)
psiReactionThermo & thermo
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
Thermo model wrapper for combustion models.
Ostream & endl(Ostream &os)
Add newline and flush stream.
virtual tmp< volScalarField > Qdot() const
Heat release rate [kg/m/s3].
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
#define R(A, B, C, D, E, F, K, M)
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const GeometricField< Type, fvPatchField, volMesh > &)
messageStream Info
Information stream (stdout output on master, null elsewhere)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
PtrList< volScalarField > & Y
Calculate the matrix for implicit and explicit sources.
errorManipArg< error, int > exit(error &err, const int errNo=1)
const TargetType * isA(const Type &t)
Check if dynamic_cast to TargetType is possible.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
const dimensionedScalar e
Elementary charge.
Single step reacting mixture.
virtual ~singleStepCombustion()
Destructor.
virtual bool read()
Update properties from given dictionary.
const dimensionSet dimVolume(pow3(dimLength))
compressible::turbulenceModel & turb
Abstract base class for turbulence models (RAS, LES and laminar).
virtual tmp< fvScalarMatrix > R(volScalarField &Y) const
Fuel consumption rate matrix.