41 #ifndef HeterogeneousReactingModel_H 42 #define HeterogeneousReactingModel_H 59 template<
class CloudType>
60 class HeterogeneousReactingModel
62 public CloudSubModelBase<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_; A list of keyword definitions, which are a keyword followed by a number of values (eg...
virtual void info()
Write injection info.
HeterogeneousReactingModel(CloudType &owner)
Construct null from owner.
const dictionary & dict() const
Return const access to the cloud dictionary.
declareRunTimeSelectionTable(autoPtr, HeterogeneousReactingModel, dictionary,(const dictionary &dict, CloudType &cloud),(dict, cloud))
Declare runtime constructor selection table.
const CloudType & owner() const
Return const access to the owner cloud.
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
A class for handling words, derived from Foam::string.
A cloud is a registry collection of lagrangian particles.
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.
volVectorField F(fluid.F())
scalar dMass_
Net mass of lagrangian phase consumed.
virtual autoPtr< HeterogeneousReactingModel< CloudType > > clone() const =0
Construct and return a clone.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
const Vector< label > N(dict.get< Vector< label >>("N"))
scalarField Re(const UList< complex > &cmplx)
Extract real component.
TypeName("heterogeneousReactionModel")
Runtime type information.
virtual label nF() const
Number of progress variable.
Base class for heterogeneous reacting models.
virtual label nReactions() const =0
Number of reactions in the model.
static autoPtr< HeterogeneousReactingModel< CloudType > > New(const dictionary &dict, CloudType &cloud)
Selector.
virtual ~HeterogeneousReactingModel()=default
Destructor.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Macros to ease declaration of run-time selection tables.
label nF_
Number of progress variables.
Templated base class for dsmc cloud.
void addToSurfaceReactionMass(const scalar dMass)
Add to devolatilisation mass.