41#ifndef AtomizationModel_H
42#define AtomizationModel_H
58template<
class CloudType>
117 scalar
Taverage(
const scalar& Tliq,
const scalar& Tc)
const;
123 virtual bool calcChi()
const = 0;
134 const scalar volFlowRate,
138 const vector& injectionPos,
139 const scalar pAmbient,
152#define makeAtomizationModel(CloudType) \
154 typedef Foam::CloudType::sprayCloudType sprayCloudType; \
155 defineNamedTemplateTypeNameAndDebug \
157 Foam::AtomizationModel<sprayCloudType>, \
163 defineTemplateRunTimeSelectionTable \
165 AtomizationModel<sprayCloudType>, \
171#define makeAtomizationModelType(SS, CloudType) \
173 typedef Foam::CloudType::sprayCloudType sprayCloudType; \
174 defineNamedTemplateTypeNameAndDebug(Foam::SS<sprayCloudType>, 0); \
176 Foam::AtomizationModel<sprayCloudType>:: \
177 adddictionaryConstructorToTable<Foam::SS<sprayCloudType>> \
178 add##SS##CloudType##sprayCloudType##ConstructorToTable_;
Templated atomization model class.
virtual void update(const scalar dt, scalar &d, scalar &liquidCore, scalar &tc, const scalar rho, const scalar mu, const scalar sigma, const scalar volFlowRate, const scalar rhoAv, const scalar Urel, const vector &pos, const vector &injectionPos, const scalar pAmbient, const scalar chi, Random &rndGen) const =0
declareRunTimeSelectionTable(autoPtr, AtomizationModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
Declare runtime constructor selection table.
virtual ~AtomizationModel()
Destructor.
TypeName("atomizationModel")
Runtime type information.
virtual scalar initLiquidCore() const =0
Initial value of liquidCore.
virtual bool calcChi() const =0
Flag to indicate if chi needs to be calculated.
virtual autoPtr< AtomizationModel< CloudType > > clone() const =0
Construct and return a clone.
scalar Taverage(const scalar &Tliq, const scalar &Tc) const
Average temperature calculation.
static autoPtr< AtomizationModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
Base class for cloud sub-models.
const CloudType & owner() const
Return const access to the owner cloud.
Templated base class for dsmc cloud.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
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.
const volScalarField & mu
dimensionedScalar pos(const dimensionedScalar &ds)
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.