74 mixedFvPatchScalarField(
p, iF,
dict, false),
75 phiName_(
dict.lookupOrDefault<
word>(
"phi",
"phi")),
76 UName_(
dict.lookupOrDefault<
word>(
"U",
"U")),
79 c_(
dict.lookupOrDefault<scalar>(
"c", units::
any, scalar(0))),
94 valueFraction() =
Zero;
107 mixedFvPatchScalarField(ptf,
p, iF, mapper),
108 phiName_(ptf.phiName_),
113 property_(ptf.property_)
124 mixedFvPatchScalarField(ptf, iF),
125 phiName_(ptf.phiName_),
127 phiYp_(ptf.size(), 0),
130 property_(ptf.property_)
142 mixedFvPatchScalarField::map(ptf, mapper);
145 refCast<const specieTransferMassFractionFvPatchScalarField>(ptf);
147 mapper(phiYp_, tiptf.phiYp_);
156 mixedFvPatchScalarField::reset(ptf);
159 refCast<const specieTransferMassFractionFvPatchScalarField>(ptf);
161 phiYp_.reset(tiptf.phiYp_);
170 timeIndex_ = this->
time().timeIndex();
172 phiYp_ = calcPhiYp();
192 refCast<const specieTransferVelocityFvPatchVectorField>(Up).phip();
197 const volScalarField& Yi = refCast<const volScalarField>(internalField());
202 patch().magSf()*ttm.
DEff(Yi, patch().index())
210 - patch().magSf()*ttm.
j(Yi, patch().index())
215 valueFraction() = phip/(phip - patch().deltaCoeffs()*ADEffp);
217 refGrad() = phip*(*
this - phiYp/uPhip)/ADEffp;
219 mixedFvPatchScalarField::updateCoeffs();
229 writeEntryIfDifferent<scalar>(os,
"c", scalar(0), c_);
230 writeEntry(os,
"property", propertyNames_[property_]);
231 writeEntryIfDifferent<word>(os,
"phi",
"phi", phiName_);
232 writeEntryIfDifferent<word>(os,
"U",
"U", UName_);
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const dimensionSet & dimensions() const
Return dimensions.
Generic GeometricField class.
Initialise the NamedEnum HashTable from the static list of names.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of keywords followed by any number of values (e.g. words and numbers) or sub-dictionaries.
Abstract base class for field mapping.
Base-class for multi-component fluid thermodynamic properties.
Abstract base class for fluid thermophysical transport models RAS, LES and laminar.
virtual tmp< volScalarField > DEff(const volScalarField &Yi) const =0
Effective mass diffusion coefficient.
virtual tmp< surfaceScalarField > j(const volScalarField &Yi) const =0
Return the specie flux for the given specie mass-fraction [kg/m^2/s].
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual void write(Ostream &) const
Write.
friend Ostream & operator(Ostream &, const fvPatchField< Type > &)
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Registry of regIOobjects.
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type and name.
Abstract base class for specie-transferring mass fraction boundary conditions.
virtual const scalarField & phiYp() const
Return the flux of this species.
specieTransferMassFractionFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, fvMesh > &, const dictionary &)
Construct from patch, internal field and dictionary.
virtual void write(Ostream &) const
Write.
virtual void reset(const fvPatchScalarField &)
Reset the fvPatchField to the given fvPatchField.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
virtual void map(const fvPatchScalarField &, const fieldMapper &)
Map the given fvPatchField onto this fvPatchField.
static const fluidMulticomponentThermo & thermo(const objectRegistry &db)
Get the thermo from the given database.
static const NamedEnum< property, 4 > propertyNames_
Property type names.
property
Enumeration for the property driving the transfer.
A class for managing temporary objects.
A class for handling words, derived from string.
tmp< SurfaceField< Type > > snGrad(const VolField< Type > &vf, const word &name)
const unitSet & lookup(const word &unitName)
Lookup and return the named unit from the table.
bool read(const char *, int32_t &)
VolField< vector > volVectorField
String typeName(const std::type_info &info)
Return the un-mangled name given the standard type info.
SurfaceField< scalar > surfaceScalarField
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
bool any(const boolList &l)
void writeEntry(Ostream &os, const word &key, const DimensionedFieldFunction< DimensionedFieldType > &f)