46 void Foam::fv::homogeneousCondensation::readCoeffs()
48 saturationModel_.reset
60 const word& modelType,
80 fluid_.phases()[phaseNames().
first()],
81 fluid_.phases()[phaseNames().
second()]
109 saturationModel_(
nullptr)
138 ? vfToVif(specieThermos().
second().rhoi(specieis().
second(),
p,
T))
144 return alphaGas*mDotByAlphaGas_/(rhoLiquid*v);
154 return alphaGas*mDotByAlphaGas_;
160 #define DebugField(field) \
163 << #field << ' ' << field.dimensions() << " min/avg/max = " \
164 << gMin(field) << '/' << gAverage(field) << '/' << gMax(field) \
190 : vfToVif(thermos().
second().
W())
195 ? vfToVif(specieThermos().
second().rhoi(specieis().
second(),
p,
T))
210 thermoGas.
Y()[specieis().
first()]*WGas/thermoGas.
Wi(specieis().
first())
246 sqrt(6*
k*
T()/mMolc)*
sqrt((iStar + 1)/iStar)*
sqr(d_/2 + dMolc/2)
254 betaIStar1*
sqr(cSat*
NA)*
exp(-deltaPhiStar/(
k*
T()))
256 *2*mMolc/(
pi*
sqr(d_)*rhoLiquid)
261 mDotByAlphaGas_ = J*iStar*mMolc;
275 const label i = index(alphaNames(), eqn.
psi().name());
303 const label i = index(alphaNames(), eqn.
psi().name());
Macros for easy insertion into run-time selection tables.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
static tmp< DimensionedField< Type, GeoMesh > > New(const word &name, const Mesh &mesh, const dimensionSet &, const Field< Type > &)
Return a temporary field constructed from name, mesh,.
Generic GeometricField class.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
static word member(const word &name)
Return member (name without the extension)
static word groupName(Name name, const word &group)
virtual tmp< volScalarField > W() const =0
Molecular weight [kg/kmol].
virtual const volScalarField & T() const =0
Temperature [K].
virtual tmp< volScalarField > rho() const =0
Density [kg/m^3].
A list of keyword definitions, which are a keyword followed by any number of values (e....
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Mesh data needed to do the Finite Volume discretisation.
Finite volume model abstract base class.
const dictionary & coeffs() const
Return dictionary.
Model for the homogeneous nucleation of liquid droplets out of a gaseous mixture.
virtual void correct()
Correct the fvModel.
virtual tmp< DimensionedField< scalar, volMesh > > mDot() const
Return the mass transfer rate.
virtual bool read(const dictionary &dict)
Read source dictionary.
homogeneousCondensation(const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict)
Construct from explicit source name and mesh.
virtual tmp< DimensionedField< scalar, volMesh > > d() const
Return the diameter of nuclei.
void addSup(const volScalarField &alpha, const volScalarField &rho, fvMatrix< scalar > &eqn) const
Override the compressible continuity equation to add.
virtual tmp< DimensionedField< scalar, volMesh > > nDot() const
Return the number rate at which nuclei are generated.
virtual void addSup(fvMatrix< scalar > &eqn) const
Add a source term to a field-less proxy equation.
Base class for phase change models in which only a single component changes phase....
virtual bool read(const dictionary &dict)
Read source dictionary.
void addSup(const volScalarField &alpha, const volScalarField &rho, const volScalarField &heOrYi, fvMatrix< scalar > &eqn) const
Override the energy equation to add the phase change heat, or.
Base-class for multi-component thermodynamic properties.
virtual PtrList< volScalarField > & Y()=0
Access the mass-fraction fields.
virtual dimensionedScalar Wi(const label speciei) const =0
Molecular weight [kg/kmol].
Class to represent a system of phases and model interfacial transfers between them.
static const word propertiesName
Default name of the phase properties dictionary.
static autoPtr< saturationPressureModel > New(const dictionary &dict)
Select with dictionary.
Base class of the thermophysical property types.
A class for managing temporary objects.
A class for handling words, derived from string.
Fundamental dimensioned constants.
#define DebugField(field)
volScalarField alpha(IOobject("alpha", runTime.name(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
bool valid(const PtrList< ModelType > &l)
const dimensionedScalar k
Boltzmann constant.
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
const dimensionedScalar NA
Avagadro number.
addToRunTimeSelectionTable(fvConstraint, bound, dictionary)
defineTypeNameAndDebug(bound, 0)
tmp< fvMatrix< Type > > S(const Pair< tmp< volScalarField::Internal >> &, const VolField< Type > &)
tmp< fvMatrix< Type > > Sp(const volScalarField::Internal &, const VolField< Type > &)
dimensionedScalar exp(const dimensionedScalar &ds)
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
dimensionedScalar pow3(const dimensionedScalar &ds)
word name(const bool)
Return a word representation of a bool.
const dimensionSet dimLength
labelList second(const UList< labelPair > &p)
dimensionedScalar log(const dimensionedScalar &ds)
labelList first(const UList< labelPair > &p)
const dimensionSet dimTime
scalarList W(const fluidMulticomponentThermo &thermo)
dimensionedScalar sqrt(const dimensionedScalar &ds)
const dimensionSet dimDensity
word typedName(Name name)
Return the name of the object within the given type.
layerAndWeight max(const layerAndWeight &a, const layerAndWeight &b)
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
Return the correction form of the given matrix.
dimensionedScalar cbrt(const dimensionedScalar &ds)
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)