Go to the documentation of this file.
46 fixedValueFvPatchVectorField(
p, iF),
60 fixedValueFvPatchVectorField(ptf,
p, iF, mapper),
61 phiName_(ptf.phiName_)
63 if (!isA<mappedPatchBase>(this->
patch().
patch()))
66 <<
"Patch type '" << p.type()
67 <<
"' not type '" << mappedPatchBase::typeName <<
"'"
68 <<
" for patch " <<
p.name()
69 <<
" of field " << internalField().name()
70 <<
" in file " << internalField().objectPath()
84 fixedValueFvPatchVectorField(
p, iF,
dict),
85 phiName_(
dict.getOrDefault<
word>(
"phi",
"phi"))
87 if (!isA<mappedPatchBase>(this->
patch().
patch()))
90 <<
"Patch type '" << p.type()
91 <<
"' not type '" << mappedPatchBase::typeName <<
"'"
92 <<
" for patch " <<
p.name()
93 <<
" of field " << internalField().name()
94 <<
" in file " << internalField().objectPath()
103 if (mpp.
mode() == mappedPolyPatch::NEARESTCELL)
106 <<
"Patch " <<
p.name()
107 <<
" of type '" <<
p.type()
108 <<
"' can not be used in 'nearestCell' mode"
109 <<
" of field " << internalField().name()
110 <<
" in file " << internalField().objectPath()
122 fixedValueFvPatchVectorField(ptf),
123 phiName_(ptf.phiName_)
134 fixedValueFvPatchVectorField(ptf, iF),
135 phiName_(ptf.phiName_)
159 const word& fieldName = internalField().name();
179 const scalarField& phipf = phiField.boundaryField()[patchi];
185 allUValues[faceStart + facei] = Upf[facei];
186 allPhiValues[faceStart + facei] = phipf[facei];
191 newUValues.transfer(allUValues);
194 newPhiValues.transfer(allPhiValues);
201 const label nbrPatchID =
207 newPhiValues = phiField.boundaryField()[nbrPatchID];
215 <<
"patch can only be used in NEARESTPATCHFACE, "
216 <<
"NEARESTPATCHFACEAMI or NEARESTFACE mode" <<
nl
225 ).boundaryFieldRef()[
patch().index()] == newPhiValues;
230 fixedValueFvPatchVectorField::updateCoeffs();
241 this->writeEntry(
"value", os);
virtual void write(Ostream &) const
Write.
Ostream & writeEntryIfDifferent(const word &key, const T &value1, const T &value2)
Write a keyword/value entry only when the two values differ.
A class for handling words, derived from Foam::string.
nearest patch face + AMI interpolation
static constexpr const zero Zero
Global zero (0)
virtual label start() const
Return start label of this patch in the polyMesh face list.
label nFaces() const
Number of mesh faces.
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
Determines a mapping between patch face centres and mesh cell or face centres and processors they're ...
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
#define forAll(list, i)
Loop across all elements in list.
const polyMesh & sampleMesh() const
Get the region mesh.
tmp< faMatrix< Type > > operator==(const faMatrix< Type > &, const faMatrix< Type > &)
This boundary condition maps the velocity and flux from a neighbour patch to this patch.
void distribute(List< Type > &lst) const
Wrapper around map/interpolate data distribution.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
virtual void write(Ostream &) const
Write.
const Type & lookupObject(const word &name, const bool recursive=false) const
label findPatchID(const word &patchName, const bool allowNotFound=true) const
Find patch index given a name, return -1 if not found.
const sampleMode & mode() const
What to sample.
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.
Mesh data needed to do the Finite Volume discretisation.
errorManip< error > abort(error &err)
errorManipArg< error, int > exit(error &err, const int errNo=1)
static int & msgType()
Message tag of standard messages.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
mappedVelocityFluxFixedValueFvPatchField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
const std::string patch
OpenFOAM patch number as a std::string.
nearest face on selected patch
Foam::fvPatchFieldMapper.
const fvPatch & patch() const
Return patch.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
makePatchTypeField(fvPatchScalarField, atmBoundaryLayerInletEpsilonFvPatchScalarField)
const Boundary & boundaryField() const
Return const-reference to the boundary field.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const word & samplePatch() const
Patch (only if NEARESTPATCHFACE)