51 void Foam::fv::homogeneousLiquidPhaseSeparation::readCoeffs()
53 solubilityCurve_.reset
67 Foam::fv::homogeneousLiquidPhaseSeparation::YSat
78 solubilityCurve_->value(
T)
88 const word& modelType,
108 fluid_.phases()[phaseNames().
first()],
109 fluid_.phases()[phaseNames().
second()]
137 solubilityCurve_(
nullptr)
166 ? vfToVif(specieThermos().
second().rhoi(specieis().
second(),
p,
T))
172 return alphaSolution*mDotByAlphaSolution_/(rhoPrecipitate*v);
182 return alphaSolution*mDotByAlphaSolution_;
188 #define DebugField(field) \
191 << #field << ' ' << field.dimensions() << " min/avg/max = " \
192 << gMin(field) << '/' << gAverage(field) << '/' << gMax(field) \
200 refCast<const fluidMulticomponentThermo>(specieThermos().
first());
219 : vfToVif(thermos().
second().
W())
224 ? vfToVif(specieThermos().
second().rhoi(specieis().
second(),
p,
T))
246 solubilityCurve_->value(
T)
289 mDotByAlphaSolution_ = J*iStar*mMolc;
303 const label i = index(alphaNames(), eqn.
psi().name());
309 eqn -=
fvm::Sp(mDotByAlphaSolution_, eqn.
psi());
333 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,.
static autoPtr< Function1< scalar > > New(const word &name, const Function1s::unitConversions &units, const dictionary &dict)
Select from dictionary.
Generic GeometricField class.
DimensionedField< Type, GeoMesh > Internal
Type of the internal field from which this GeometricField is derived.
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 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....
Base-class for multi-component fluid thermodynamic properties.
virtual const volScalarField & mu() const =0
Dynamic viscosity of mixture [kg/m/s].
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 a solid or liquid phase separating out of a liquid solution.
virtual void correct()
Correct the fvModel.
homogeneousLiquidPhaseSeparation(const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict)
Construct from explicit source name and mesh.
virtual tmp< DimensionedField< scalar, volMesh > > mDot() const
Return the mass transfer rate.
virtual bool read(const dictionary &dict)
Read source dictionary.
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.
Class to represent a system of phases and model interfacial transfers between them.
static const word propertiesName
Default name of the phase properties 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 dimless
const dimensionSet dimLength
labelList second(const UList< labelPair > &p)
const dimensionSet dimTemperature
dimensionedScalar log(const dimensionedScalar &ds)
labelList first(const UList< labelPair > &p)
const dimensionSet dimTime
scalarList W(const fluidMulticomponentThermo &thermo)
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)
const unitConversion unitFraction