Go to the documentation of this file.
46 mixedFvPatchScalarField(
p, iF)
48 valueFraction() = 0.0;
64 mixedFvPatchScalarField(ptf,
p, iF, mapper)
76 mixedFvPatchScalarField(
p, iF,
dict)
86 mixedFvPatchScalarField(tppsf)
97 mixedFvPatchScalarField(tppsf, iF)
110 const label patchi =
patch().index();
113 mixedFvPatchScalarField& Tw = refCast<mixedFvPatchScalarField>
120 valueFraction() = Tw.valueFraction();
121 refValue() =
thermo.he(pw, Tw.refValue(), patchi);
123 thermo.Cpv(pw, Tw, patchi)*Tw.refGrad()
124 +
patch().deltaCoeffs()*
130 mixedFvPatchScalarField::updateCoeffs();
143 label index = this->
patch().index();
145 const label nbrPatchId = this->
patch().patch().neighbPolyPatchID();
147 const label globalPatchID =
157 refCast<const mixedFvPatchField>(
thermo.T().boundaryField()[index]);
177 label globalFaceI =
faceMap[j];
179 label myCellI = myCells[j];
180 label nbrCellI = nbrCells[j];
182 const scalar intCorr = -intCoeffsCmpt[j];
183 const scalar srcCorr = -sourceCorr[j];
187 if (myCellI > nbrCellI)
189 if (matrix.asymmetric())
191 matrix.lower()[globalFaceI] += intCorr;
196 matrix.upper()[globalFaceI] += intCorr;
199 matrix.diag()[myCellI] -= intCorr;
200 matrix.
source()[myCellI] += srcCorr;
204 if (myCellI < nbrCellI)
206 matrix.upper()[globalFaceI] += intCorr;
210 if (matrix.asymmetric())
212 matrix.lower()[globalFaceI] += intCorr;
216 matrix.diag()[myCellI] -= intCorr;
217 matrix.
source()[myCellI] += srcCorr;
const lduPrimitiveMeshAssembly & lduMeshAssembly()
Return optional lduAdressing.
Pair< int > faceMap(const label facePi, const face &faceP, const label faceNi, const face &faceN)
const labelListList & patchLocalToGlobalMap() const
Return patchLocalToGlobalMap.
mixedEnergyFvPatchScalarField(const fvPatch &, const DimensionedField< scalar, volMesh > &)
Construct from patch and internal field.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
Abstract base-class for fluid and solid thermodynamic properties.
static const basicThermo & lookupThermo(const fvPatchScalarField &pf)
#define forAll(list, i)
Loop across all elements in list.
virtual void manipulateMatrix(fvMatrix< scalar > &m, const label iMatrix, const direction cmpt)
Manipulate matrix.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
This boundary condition provides a mixed condition for internal energy.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Macros for easy insertion into run-time selection tables.
const std::string patch
OpenFOAM patch number as a std::string.
const labelListListList & faceBoundMap() const
Return boundary face map.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
const labelListListList & cellBoundMap() const
Return patch local sub-face to nbrCellId map.
Foam::fvPatchFieldMapper.
virtual Field< Type > & source()
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)
const FieldField< Field, Type > & internalCoeffs() const
label findNbrMeshId(const polyPatch &pp, const label iMesh) const
Find nrb mesh Id for mapped patches.
Smooth ATC in cells next to a set of patches supplied by type.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...