43 fixedValueFvPatchVectorField(p, iF),
57 fixedValueFvPatchVectorField(ptf, p, iF, mapper),
58 phiName_(ptf.phiName_)
60 if (!isA<mappedPatchBase>(this->patch().patch()))
63 <<
"Patch type '" << p.type()
64 <<
"' not type '" << mappedPatchBase::typeName <<
"'" 65 <<
" for patch " << p.
name()
66 <<
" of field " << internalField().name()
67 <<
" in file " << internalField().objectPath()
81 fixedValueFvPatchVectorField(p, iF, dict),
84 if (!isA<mappedPatchBase>(this->patch().patch()))
87 <<
"Patch type '" << p.type()
88 <<
"' not type '" << mappedPatchBase::typeName <<
"'" 89 <<
" for patch " << p.
name()
90 <<
" of field " << internalField().name()
91 <<
" in file " << internalField().objectPath()
99 if (mpp.
mode() == mappedPolyPatch::NEARESTCELL)
102 <<
"Patch " << p.
name()
103 <<
" of type '" << p.type()
104 <<
"' can not be used in 'nearestCell' mode" 105 <<
" of field " << internalField().
name()
106 <<
" in file " << internalField().objectPath()
118 fixedValueFvPatchVectorField(ptf),
119 phiName_(ptf.phiName_)
130 fixedValueFvPatchVectorField(ptf, iF),
131 phiName_(ptf.phiName_)
152 mappedVelocityFluxFixedValueFvPatchField::patch().patch()
155 const word& fieldName = internalField().name();
181 allUValues[faceStart + facei] = Upf[facei];
182 allPhiValues[faceStart + facei] = phipf[facei];
187 newUValues.transfer(allUValues);
190 newPhiValues.
transfer(allPhiValues);
197 const label nbrPatchID =
198 nbrMesh.boundaryMesh().findPatchID(mpp.
samplePatch());
203 newPhiValues = phiField.boundaryField()[nbrPatchID];
211 <<
"patch can only be used in NEARESTPATCHFACE, " 212 <<
"NEARESTPATCHFACEAMI or NEARESTFACE mode" <<
nl 218 phiField.boundaryFieldRef()[patch().index()] == newPhiValues;
223 fixedValueFvPatchVectorField::updateCoeffs();
233 writeEntryIfDifferent<word>(os,
"phi",
"phi", phiName_);
234 this->writeEntry(
"value", os);
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
errorManipArg< error, int > exit(error &err, const int errNo=1)
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
const polyMesh & sampleMesh() const
Get the region mesh.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
mappedVelocityFluxFixedValueFvPatchField(const fvPatch &, const DimensionedField< vector, volMesh > &)
Construct from patch and internal field.
This boundary condition maps the velocity and flux from a neighbour patch to this patch...
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
static int & msgType()
Message tag of standard messages.
virtual void write(Ostream &) const
Write.
const word & name() const
Return name.
Macros for easy insertion into run-time selection tables.
makePatchTypeField(fvPatchVectorField, SRFFreestreamVelocityFvPatchVectorField)
const sampleMode & mode() const
What to sample.
virtual void write(Ostream &) const
Write.
tmp< fvMatrix< Type > > operator==(const fvMatrix< Type > &, const fvMatrix< Type > &)
A class for handling words, derived from string.
Foam::fvPatchFieldMapper.
Determines a mapping between patch face centres and mesh cell or face centres and processors they're ...
errorManip< error > abort(error &err)
const fvPatch & patch() const
Return patch.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
void distribute(List< Type > &lst) const
Wrapper around map/interpolate data distribution.
T lookupOrDefault(const word &, const T &, bool recursive=false, bool patternMatch=true) const
Find and return a T,.
label start() const
Return start label of this patch in the polyMesh face list.
Mesh data needed to do the Finite Volume discretisation.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
const word & samplePatch() const
Patch (only if NEARESTPATCHFACE)
void transfer(List< T > &)
Transfer the contents of the argument List into this list.