41#ifndef HeterogeneousReactingModel_H
42#define HeterogeneousReactingModel_H
59template<
class CloudType>
78 TypeName(
"heterogeneousReactionModel");
165 virtual label
nF()
const;
178#define makeHeterogeneousReactingModel(CloudType) \
180 typedef Foam::CloudType::reactingHeterogeneousCloudType \
181 reactingHeterogeneousCloudType; \
182 defineNamedTemplateTypeNameAndDebug \
184 Foam::HeterogeneousReactingModel<reactingHeterogeneousCloudType>, \
189 defineTemplateRunTimeSelectionTable \
191 HeterogeneousReactingModel<reactingHeterogeneousCloudType>, \
197#define makeHeterogeneousReactingModelType(SS, CloudType) \
199 typedef Foam::CloudType::reactingHeterogeneousCloudType \
200 reactingHeterogeneousCloudType; \
201 defineNamedTemplateTypeNameAndDebug \
202 (Foam::SS<reactingHeterogeneousCloudType>, 0); \
204 Foam::HeterogeneousReactingModel<reactingHeterogeneousCloudType>:: \
205 adddictionaryConstructorToTable \
206 <Foam::SS<reactingHeterogeneousCloudType>> \
207 add##SS##CloudType##reactingHeterogeneousCloudType##ConstructorToTable_;
Base class for cloud sub-models.
const CloudType & owner() const
Return const access to the owner cloud.
Templated base class for dsmc cloud.
Base class for heterogeneous reacting models.
virtual label nReactions() const =0
Number of reactions in the model.
void addToSurfaceReactionMass(const scalar dMass)
Add to devolatilisation mass.
scalar dMass_
Net mass of lagrangian phase consumed.
static autoPtr< HeterogeneousReactingModel< CloudType > > New(const dictionary &dict, CloudType &cloud)
Selector.
label nF_
Number of progress variables.
virtual autoPtr< HeterogeneousReactingModel< CloudType > > clone() const =0
Construct and return a clone.
virtual label nF() const
Number of progress variable.
virtual void info(Ostream &os)
Write injection info to stream.
virtual scalar calculate(const scalar dt, const scalar Re, const scalar nu, const label celli, const scalar d, const scalar T, const scalar Tc, const scalar pc, const scalar rhoc, const scalar mass, const scalarField &YSolid, scalarField &F, const scalar N, scalar &NCpW, scalarField &dMassSolid, scalarField &dMassSRCarrier) const =0
Update surface reactions.
virtual ~HeterogeneousReactingModel()=default
Destructor.
declareRunTimeSelectionTable(autoPtr, HeterogeneousReactingModel, dictionary,(const dictionary &dict, CloudType &cloud),(dict, cloud))
Declare runtime constructor selection table.
TypeName("heterogeneousReactionModel")
Runtime type information.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A cloud is a registry collection of lagrangian particles.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const dictionary & dict() const
Return const access to the cloud dictionary.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
volVectorField F(fluid.F())
scalarField Re(const UList< complex > &cf)
Extract real component.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
Macros to ease declaration of run-time selection tables.
#define declareRunTimeSelectionTable(ptrWrapper, baseType, argNames, argList, parList)
Declare a run-time selection (variables and adder classes)
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.
const Vector< label > N(dict.get< Vector< label > >("N"))