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_;
Base class for cloud sub-models.
const CloudType & owner() const
Return const access to the owner cloud.
Templated base class for dsmc cloud.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Templated surface reaction model class.
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.
virtual void info(Ostream &os)
Write injection info to stream.
virtual ~SurfaceReactionModel()=default
Destructor.
static autoPtr< SurfaceReactionModel< CloudType > > New(const dictionary &dict, CloudType &cloud)
Selector.
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.
OBJstream os(runTime.globalPath()/outputName)
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"))