42#ifndef SurfaceReactionModel_H
43#define SurfaceReactionModel_H
60template<
class CloudType>
169#define makeSurfaceReactionModel(CloudType) \
171 typedef Foam::CloudType::reactingMultiphaseCloudType \
172 reactingMultiphaseCloudType; \
173 defineNamedTemplateTypeNameAndDebug \
175 Foam::SurfaceReactionModel<reactingMultiphaseCloudType>, \
180 defineTemplateRunTimeSelectionTable \
182 SurfaceReactionModel<reactingMultiphaseCloudType>, \
188#define makeSurfaceReactionModelType(SS, CloudType) \
190 typedef Foam::CloudType::reactingMultiphaseCloudType \
191 reactingMultiphaseCloudType; \
192 defineNamedTemplateTypeNameAndDebug \
193 (Foam::SS<reactingMultiphaseCloudType>, 0); \
195 Foam::SurfaceReactionModel<reactingMultiphaseCloudType>:: \
196 adddictionaryConstructorToTable \
197 <Foam::SS<reactingMultiphaseCloudType>> \
198 add##SS##CloudType##reactingMultiphaseCloudType##ConstructorToTable_;
const CloudType & owner() const
Return const access to the owner cloud.
CloudSubModelBase(CloudType &owner)
Construct null from owner cloud.
declareRunTimeSelectionTable(autoPtr, SurfaceReactionModel, dictionary,(const dictionary &dict, CloudType &cloud),(dict, cloud))
Declare runtime constructor selection table.
void addToSurfaceReactionMass(const scalar dMass)
Add to devolatilisation mass.
scalar dMass_
Mass of lagrangian phase converted.
virtual autoPtr< SurfaceReactionModel< CloudType > > clone() const =0
Construct and return a clone.
SurfaceReactionModel(CloudType &owner)
Construct null from owner.
virtual ~SurfaceReactionModel()=default
Destructor.
static autoPtr< SurfaceReactionModel< CloudType > > New(const dictionary &dict, CloudType &cloud)
Selector.
virtual void info()
Write injection info.
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 &YGas, const scalarField &YLiquid, const scalarField &YSolid, const scalarField &YMixture, const scalar N, scalarField &dMassGas, scalarField &dMassLiquid, scalarField &dMassSolid, scalarField &dMassSRCarrier) const =0
Update surface reactions.
TypeName("surfaceReactionModel")
Runtime type information.
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.
DSMCCloud< dsmcParcel > CloudType
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
scalarField Re(const UList< complex > &cmplx)
Extract real component.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
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"))