36 #ifndef PhaseChangeModel_H 37 #define PhaseChangeModel_H 53 template<
class CloudType>
54 class PhaseChangeModel
56 public CloudSubModelBase<CloudType>
204 #define makePhaseChangeModel(CloudType) \ 206 typedef Foam::CloudType::reactingCloudType reactingCloudType; \ 207 defineNamedTemplateTypeNameAndDebug \ 209 Foam::PhaseChangeModel<reactingCloudType>, \ 214 defineTemplateRunTimeSelectionTable \ 216 PhaseChangeModel<reactingCloudType>, \ 222 #define makePhaseChangeModelType(SS, CloudType) \ 224 typedef Foam::CloudType::reactingCloudType reactingCloudType; \ 225 defineNamedTemplateTypeNameAndDebug(Foam::SS<reactingCloudType>, 0); \ 227 Foam::PhaseChangeModel<reactingCloudType>:: \ 228 adddictionaryConstructorToTable<Foam::SS<reactingCloudType> > \ 229 add##SS##CloudType##reactingCloudType##ConstructorToTable_; dimensionedScalar Pr("Pr", dimless, laminarTransport)
PhaseChangeModel(CloudType &owner)
Construct null from owner.
static autoPtr< PhaseChangeModel< CloudType > > New(const dictionary &dict, CloudType &owner)
Selector.
const CloudType & owner() const
Return const access to the owner cloud.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
TypeName("phaseChangeModel")
Runtime type information.
scalar dMass_
Mass of lagrangian phase converted.
virtual scalar dh(const label idc, const label idl, const scalar p, const scalar T) const
Return the enthalpy per unit mass.
Macros to ease declaration of run-time selection tables.
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.
virtual void calculate(const scalar dt, const label cellI, 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.
A list of keyword definitions, which are a keyword followed by any number of values (e...
Templated phase change model class.
virtual autoPtr< PhaseChangeModel< CloudType > > clone() const =0
Construct and return a clone.
enthalpyTransferType
Enthalpy transfer type.
virtual scalar TMax(const scalar p, const scalarField &X) const
Return maximum/limiting temperature.
virtual ~PhaseChangeModel()
Destructor.
virtual void info(Ostream &os)
Write injection info to stream.
enthalpyTransferType wordToEnthalpyTransfer(const word &etName) const
Convert word to enthalpy transfer type.
static const Foam::wordList enthalpyTransferTypeNames
Name representations of enthalpy transfer types.
const dictionary & dict() const
Return const access to the cloud dictionary.
void addToPhaseChangeMass(const scalar dMass)
Add to phase change mass.
fileName::Type type(const fileName &)
Return the file type: DIRECTORY or FILE.
declareRunTimeSelectionTable(autoPtr, PhaseChangeModel, dictionary,( const dictionary &dict, CloudType &owner ),(dict, owner))
Declare runtime constructor selection table.
virtual scalar Tvap(const scalarField &X) const
Return vapourisation temperature.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Templated base class for dsmc cloud.
enthalpyTransferType enthalpyTransfer_
Enthalpy transfer type enumeration.
scalar Sh() const
Sherwood number.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
scalarField Re(const UList< complex > &cf)
const enthalpyTransferType & enthalpyTransfer() const
Return the enthalpy transfer type enumeration.