36 #ifndef PhaseChangeModel_H
37 #define PhaseChangeModel_H
53 template<
class CloudType>
159 const typename CloudType::parcelType::trackingData& td,
205 #define makePhaseChangeModel(CloudType) \
207 typedef Foam::CloudType::reactingCloudType reactingCloudType; \
208 defineNamedTemplateTypeNameAndDebug \
210 Foam::PhaseChangeModel<reactingCloudType>, \
215 defineTemplateRunTimeSelectionTable \
217 PhaseChangeModel<reactingCloudType>, \
223 #define makePhaseChangeModelType(SS, CloudType) \
225 typedef Foam::CloudType::reactingCloudType reactingCloudType; \
226 defineNamedTemplateTypeNameAndDebug(Foam::SS<reactingCloudType>, 0); \
228 Foam::PhaseChangeModel<reactingCloudType>:: \
229 adddictionaryConstructorToTable<Foam::SS<reactingCloudType>> \
230 add##SS##CloudType##reactingCloudType##ConstructorToTable_;
Base class for cloud sub-models.
const CloudType & owner() const
Return const access to the owner cloud.
Templated base class for dsmc cloud.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Templated phase change model class.
scalar dMass_
Mass of lagrangian phase converted.
static autoPtr< PhaseChangeModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
virtual ~PhaseChangeModel()
Destructor.
virtual autoPtr< PhaseChangeModel< CloudType > > clone() const =0
Construct and return a clone.
TypeName("phaseChangeModel")
Runtime type information.
virtual scalar dh(const label idc, const label idl, const scalar p, const scalar T) const
Return the enthalpy per unit mass.
const enthalpyTransferType & enthalpyTransfer() const
Return the enthalpy transfer type enumeration.
virtual void info(Ostream &os)
Write injection info to stream.
virtual void calculate(const typename CloudType::parcelType &p, const typename CloudType::parcelType::trackingData &td, const scalar dt, const scalar Re, const scalar Pr, const scalar d, const scalar nu, const scalar T, const scalar Ts, const scalar pc, const scalar Tc, const scalarField &X, scalarField &dMassPC) const =0
Update model.
enthalpyTransferType enthalpyTransfer_
Enthalpy transfer type enumeration.
void addToPhaseChangeMass(const scalar dMass)
Add to phase change mass.
enthalpyTransferType
Enthalpy transfer type.
virtual scalar Tvap(const scalarField &X) const
Return vapourisation temperature.
scalar Sh() const
Sherwood number.
enthalpyTransferType wordToEnthalpyTransfer(const word &etName) const
Convert word to enthalpy transfer type.
PhaseChangeModel(CloudType &owner)
Construct null from owner.
virtual scalar TMax(const scalar p, const scalarField &X) const
Return maximum/limiting temperature.
static const Foam::wordList enthalpyTransferTypeNames
Name representations of enthalpy transfer types.
declareRunTimeSelectionTable(autoPtr, PhaseChangeModel, dictionary,(const dictionary &dict, CloudType &owner),(dict, owner))
Declare runtime constructor selection table.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
A list of keyword definitions, which are a keyword followed by any number of values (e....
const dictionary & dict() const
Return const access to the cloud dictionary.
A class for handling words, derived from string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
fileType type(const fileName &, const bool checkVariants=true, const bool followLink=true)
Return the file type: directory or file.
scalarField Re(const UList< complex > &cf)
Macros to ease declaration of run-time selection tables.