66#ifndef TDACChemistryModel_H
67#define TDACChemistryModel_H
83template<
class ReactionThermo,
class ThermoType>
90 bool variableTimeStep_;
145 template<
class DeltaTType>
146 scalar
solve(
const DeltaTType& deltaT);
209 virtual scalar
solve(
const scalar deltaT);
254 inline void setNsDAC(
const label newNsDAC);
264 inline bool active(
const label i)
const;
282 return tabulationResults_;
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Simple extension of ReactionThermo to handle reaction kinetics in addition to the equilibrium thermod...
Extends base chemistry model by adding a thermo package, and ODE functions. Introduces chemistry equa...
Extends StandardChemistryModel by adding the TDAC method.
bool active(const label i) const
virtual ~TDACChemistryModel()
Destructor.
void setNsDAC(const label newNsDAC)
tmp< volScalarField > tabulationResults() const
TypeName("TDAC")
Runtime type information.
autoPtr< chemistryReductionMethod< ReactionThermo, ThermoType > > & mechRed()
autoPtr< OFstream > logFile(const word &name) const
Create and return a TDAC log file of the given name.
void setNSpecie(const label newNs)
virtual void omega(const scalarField &c, const scalar T, const scalar p, scalarField &dcdt) const
dc/dt = omega, rate of change in concentration, for each species
virtual void derivatives(const scalar t, const scalarField &c, scalarField &dcdt) const
Calculate the derivatives in dydx.
DynamicList< label > & simplifiedToCompleteIndex()
List< List< specieElement > > & specieComp()
scalarField & simplifiedC()
void resetTabulationResults()
virtual void solve(scalarField &c, scalar &T, scalar &p, scalar &deltaT, scalar &subDeltaT) const =0
void setTabulationResultsAdd(const label celli)
PtrList< volScalarField > & Y()
label timeSteps() const
Return the number of chemistry evaluations (used by ISAT)
Field< label > & completeToSimplifiedIndex()
bool variableTimeStep() const
Return true if the time-step is variable and/or non-uniform.
scalarField & completeC()
Field< bool > & reactionsDisabled()
void setActive(const label i)
void setTabulationResultsRetrieve(const label celli)
void jacobian(const scalar t, const scalarField &c, scalarSquareMatrix &dfdc) const
Pure jacobian function for tabulation.
void setTabulationResultsGrow(const label celli)
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
const word & name() const
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.