Go to the documentation of this file.
31 namespace combustionModels
36 template<
class CombThermoType,
class ThermoType>
39 const word& modelType,
44 CombThermoType(modelType,
mesh, phaseName),
45 singleMixturePtr_(NULL),
59 semiImplicit_(
readBool(this->coeffs_.lookup(
"semiImplicit")))
72 <<
"Inconsistent thermo package for " << this->
type() <<
" model:\n"
74 <<
"Please select a thermo package based on "
80 Info<<
"Combustion mode: semi-implicit" <<
endl;
84 Info<<
"Combustion mode: explicit" <<
endl;
91 template<
class CombThermoType,
class ThermoType>
98 template<
class CombThermoType,
class ThermoType>
104 const label specieI =
105 this->thermoPtr_->composition().species()[
Y.member()];
109 wFuel_*singleMixturePtr_->specieStoichCoeffs()[specieI]
114 const label fNorm = singleMixturePtr_->specieProd()[specieI];
116 wSpecie /=
max(fNorm*(
Y - fres), scalar(1
e-2));
118 return -fNorm*wSpecie*fres + fNorm*
fvm::Sp(wSpecie,
Y);
122 return wSpecie +
fvm::Sp(0.0*wSpecie,
Y);
127 template<
class CombThermoType,
class ThermoType>
131 const label fuelI = singleMixturePtr_->fuelIndex();
133 const_cast<volScalarField&
>(this->thermoPtr_->composition().Y(fuelI));
135 return -singleMixturePtr_->qFuel()*(
R(YFuel) & YFuel);
139 template<
class CombThermoType,
class ThermoType>
150 this->mesh_.time().timeName(),
158 zeroGradientFvPatchScalarField::typeName
165 dQ.dimensionedInternalField() = this->
mesh().V()*
Sh()();
171 template<
class CombThermoType,
class ThermoType>
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
static word groupName(Name name, const word &group)
A class for handling words, derived from string.
A class for managing temporary objects.
const dimensionSet dimEnergy
bool read(const char *, int32_t &)
Ostream & endl(Ostream &os)
Add newline and flush stream.
tmp< fvMatrix< Type > > Sp(const DimensionedField< scalar, volMesh > &, const GeometricField< Type, fvPatchField, volMesh > &)
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
#define R(A, B, C, D, E, F, K, M)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
virtual tmp< volScalarField > Sh() const
Sensible enthalpy source term.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
Generic dimensioned Type class.
Mesh data needed to do the Finite Volume discretisation.
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
const double e
Elementary charge.
virtual tmp< volScalarField > dQ() const
Heat release rate calculated from fuel consumption rate matrix.
Calculate the matrix for implicit and explicit sources.
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.
bool isA(const Type &t)
Check if a dynamic_cast to typeid is possible.
Single step reacting mixture.
virtual ~singleStepCombustion()
Destructor.
singleStepCombustion(const singleStepCombustion &)
Disallow copy construct.
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
virtual bool read()
Update properties from given dictionary.
const dimensionSet dimVolume(pow3(dimLength))
Generic GeometricField class.
PtrList< volScalarField > & Y
virtual tmp< fvScalarMatrix > R(volScalarField &Y) const
Fuel consumption rate matrix.