Go to the documentation of this file.
66 #ifndef TDACChemistryModel_H
67 #define TDACChemistryModel_H
83 template<
class ReactionThermo,
class ThermoType>
84 class TDACChemistryModel
86 public StandardChemistryModel<ReactionThermo, ThermoType>
90 bool variableTimeStep_;
98 Field<bool> reactionsDisabled_;
99 List<List<specieElement>> specieComp_;
100 Field<label> completeToSimplifiedIndex_;
101 DynamicList<label> simplifiedToCompleteIndex_;
102 autoPtr<chemistryReductionMethod<ReactionThermo, ThermoType>>
106 autoPtr<chemistryTabulationMethod<ReactionThermo, ThermoType>>
110 autoPtr<OFstream> cpuReduceFile_;
113 autoPtr<OFstream> nActiveSpeciesFile_;
116 autoPtr<OFstream> cpuAddFile_;
119 autoPtr<OFstream> cpuGrowFile_;
122 autoPtr<OFstream> cpuRetrieveFile_;
125 autoPtr<OFstream> cpuSolveFile_;
137 TDACChemistryModel(
const TDACChemistryModel&) =
delete;
140 void operator=(
const TDACChemistryModel&) =
delete;
145 template<
class DeltaTType>
146 scalar solve(
const DeltaTType& deltaT);
158 TDACChemistryModel(ReactionThermo&
thermo);
174 inline autoPtr<OFstream>
logFile(
const word&
name)
const;
176 inline PtrList<volScalarField>&
Y();
191 const Reaction<ThermoType>& r,
209 virtual scalar solve(
const scalar deltaT);
254 inline void setNsDAC(
const label newNsDAC);
264 inline bool active(
const label i)
const;
274 inline List<List<specieElement>>&
specieComp();
282 return tabulationResults_;
scalarField & completeC()
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
virtual ~TDACChemistryModel()
tmp< volScalarField > tabulationResults() const
virtual void derivatives(const scalar t, const scalarField &c, scalarField &dcdt) const
PtrList< volScalarField > & Y()
A class for managing temporary objects.
void setNsDAC(const label newNsDAC)
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
bool active(const label i) const
Field< bool > & reactionsDisabled()
void setTabulationResultsGrow(const label celli)
Field< label > & completeToSimplifiedIndex()
void resetTabulationResults()
DynamicList< label > & simplifiedToCompleteIndex()
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
GeometricField< scalar, fvPatchField, volMesh > volScalarField
void setActive(const label i)
SquareMatrix< scalar > scalarSquareMatrix
void setNSpecie(const label newNs)
virtual void omega(const scalarField &c, const scalar T, const scalar p, scalarField &dcdt) const
autoPtr< OFstream > logFile(const word &name) const
bool variableTimeStep() const
scalarField & simplifiedC()
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
void setTabulationResultsAdd(const label celli)
void jacobian(const scalar t, const scalarField &c, scalarSquareMatrix &dfdc) const
autoPtr< chemistryReductionMethod< ReactionThermo, ThermoType > > & mechRed()
const dimensionedScalar c
word name(const expressions::valueTypeCode typeCode)
List< List< specieElement > > & specieComp()
void setTabulationResultsRetrieve(const label celli)