32template<
class CloudType>
34enthalpyTransferTypeNames
36 "latentHeat",
"enthalpyDifference"
42template<
class CloudType>
47 forAll(enthalpyTransferTypeNames, i)
49 if (etName == enthalpyTransferTypeNames[i])
51 return enthalpyTransferType(i);
56 <<
"Unknown enthalpyType " << etName <<
". Valid selections are:" << nl
57 << enthalpyTransferTypeNames << exit(FatalError);
65template<
class CloudType>
77template<
class CloudType>
89template<
class CloudType>
100 wordToEnthalpyTransfer(this->coeffDict().getWord(
"enthalpyTransfer"))
108template<
class CloudType>
116template<
class CloudType>
129template<
class CloudType>
140template<
class CloudType>
147template<
class CloudType>
154template<
class CloudType>
159 const scalar mass0 = this->
template getBaseProperty<scalar>(
"mass");
162 Log_<<
" Mass transfer phase change = " << massTotal <<
nl;
164 if (this->writeTime())
166 this->setBaseProperty(
"mass", massTotal);
Base class for cloud sub-models.
const CloudType & owner() const
Return const access to the owner cloud.
virtual void info()
Write to info.
CloudSubModelBase(CloudType &owner)
Construct null from owner cloud.
virtual bool writeTime() const
Flag to indicate when to write a property.
Templated phase change model class.
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.
const enthalpyTransferType & enthalpyTransfer() const
Return the enthalpy transfer type enumeration.
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.
enthalpyTransferType wordToEnthalpyTransfer(const word &etName) const
Convert word to enthalpy transfer type.
PhaseChangeModel(CloudType &owner)
Construct null from owner.
virtual void info()
Write injection info.
virtual scalar TMax(const scalar p, const scalarField &X) const
Return maximum/limiting temperature.
static const wordList enthalpyTransferTypeNames
Name representations of enthalpy transfer types.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const dictionary & coeffDict() const
Return const access to the coefficients dictionary.
Type getBaseProperty(const word &entryName, const Type &defaultValue=Type(Zero)) const
Retrieve generic property from the base model.
const dictionary & dict() const
Return const access to the cloud dictionary.
void setBaseProperty(const word &entryName, const Type &value)
Add generic property to the base model.
A class for handling words, derived from Foam::string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
return returnReduce(nRefine-oldNRefine, sumOp< label >())
#define Log_
Report write to Foam::Info if the class log switch is true.
List< word > wordList
List of word.
DSMCCloud< dsmcParcel > CloudType
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
T returnReduce(const T &value, BinaryOp bop, const int tag=UPstream::msgType(), const int communicator=UPstream::worldComm)
Perform reduction on a copy, using specified binary operation.
const word GlobalIOList< Tuple2< scalar, vector > >::typeName("scalarVectorTable")
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
errorManipArg< error, int > exit(error &err, const int errNo=1)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
constexpr char nl
The newline '\n' character (0x0a).
#define forAll(list, i)
Loop across all elements in list.