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.
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.
sampleMode mode() const noexcept
What to sample.
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.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
OBJstream os(runTime.globalPath()/outputName)
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)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
mappedVelocityFluxFixedValueFvPatchField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
static int & msgType() noexcept
Message tag of standard messages.
const std::string patch
OpenFOAM patch number as a std::string.
nearest face on selected patch
label nFaces() const noexcept
Number of mesh faces.
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)