51 void Foam::fv::homogeneousLiquidPhaseSeparation::readCoeffs
53 const dictionary&
dict
56 solubilityCurve_.reset
70 Foam::fv::homogeneousLiquidPhaseSeparation::dAndMDotByAlphaSolution()
const
72 #define infoFieldVariable(field, print) infoField(#field, field, print)
78 const ThermoRefPair<multicomponentThermo> multicomponentThermos =
79 this->multicomponentThermos(
true,
false);
81 const fluidMulticomponentThermo& thermoSolution =
82 this->fluidMulticomponentThermos(
true,
false).first();
93 multicomponentThermos.valid().second()
98 multicomponentThermos.second().Wi(specieis().
second())
100 : vfToVif(thermos().
second().
W())
104 multicomponentThermos.valid().second()
105 ? vfToVif(multicomponentThermos.second().rhoi(specieis().
second(),
p,
T))
130 solubilityCurve_->value(
T)
149 tmp<volScalarField::Internal> td =
154 infoField(
"m/mMolc", m/mMolc, debug);
168 return Pair<tmp<volScalarField::Internal>>(td, J*m);
170 #undef infoFieldVariable
179 const word& modelType,
185 solubilityCurve_(nullptr)
197 readCoeffs(coeffs(
dict));
Macros for easy insertion into run-time selection tables.
static tmp< DimensionedField< Type, GeoMesh, PrimitiveField > > New(const word &name, const GeoMesh &mesh, const dimensionSet &, const PrimitiveField< Type > &)
Return a temporary field constructed from name, mesh,.
static autoPtr< Function1< scalar > > New(const word &name, const Function1s::unitSets &units, const dictionary &dict)
Select from dictionary.
DimensionedField< Type, GeoMesh, PrimitiveField > Internal
Type of the internal field from which this GeometricField is derived.
An ordered pair of two objects of type <Type> with first() and second() elements.
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Mesh data needed to do the Finite Volume discretisation.
Finite volume model abstract base class.
static const dictionary & coeffs(const word &modelType, const dictionary &)
Return the coefficients sub-dictionary for a given model type.
Model for the homogeneous nucleation of a solid or liquid phase separating out of a liquid solution.
homogeneousLiquidPhaseSeparation(const word &name, const word &modelType, const fvMesh &mesh, const dictionary &dict)
Construct from explicit source name and mesh.
virtual bool read(const dictionary &dict)
Read source dictionary.
Base class for homogeneous nucleation models based on classical nucleation theory.
virtual bool read(const dictionary &dict)
Read source dictionary.
A class for handling words, derived from string.
Foam::fvMesh mesh(Foam::IOobject(regionName, runTime.name(), runTime, Foam::IOobject::MUST_READ), false)
Fundamental dimensioned constants.
#define infoFieldVariable(field, print)
const dimensionedScalar k
Boltzmann constant.
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
const dimensionedScalar NNA
Avagadro number: default SI units: [1/kmol].
addToRunTimeSelectionTable(fvConstraint, bound, dictionary)
defineTypeNameAndDebug(bound, 0)
tmp< fvMatrix< Type > > S(const Pair< tmp< volScalarField::Internal >> &, const VolField< Type > &)
dimensionedScalar exp(const dimensionedScalar &ds)
const dimensionSet & dimless
labelList second(const UList< labelPair > &p)
dimensionedScalar log(const dimensionedScalar &ds)
tmp< DimensionedField< typename outerProduct< Type, Type >::type, GeoMesh, Field >> sqr(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)
scalarList W(const fluidMulticomponentThermo &thermo)
VolField< scalar > volScalarField
void pow3(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
void cbrt(LagrangianPatchField< scalar > &f, const LagrangianPatchField< scalar > &f1)
word name(const LagrangianState state)
Return a string representation of a Lagrangian state enumeration.
void T(GeometricField< Type, GeoMesh, PrimitiveField1 > &gf, const GeometricField< Type, GeoMesh, PrimitiveField2 > &gf1)
const dimensionSet & dimTemperature
dimensioned< Type > max(const DimensionedField< Type, GeoMesh, PrimitiveField > &df)