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