115 const mappedPatchBase& mpp =
119 Field<Type> nbrIntFld;
131 <<
" mapping mode for patch " << this->patch().name()
139 const label samplePatchi = mpp.samplePolyPatch().index();
141 this->sampleField().boundaryField()[samplePatchi];
143 mpp.distribute(nbrIntFld);
151 const FieldType& nbrField = this->sampleField();
153 forAll(nbrField.boundaryField(), patchi)
158 label faceStart = pf.patch().start();
162 allValues[faceStart++] = pif[facei];
166 mpp.distribute(allValues);
167 nbrIntFld.transfer(allValues);
174 <<
"Unknown sampling mode: " << mpp.mode()
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Generic templated field type that is much like a Foam::List except that it is expected to hold numeri...
Generic GeometricField class.
void transfer(List< T > &list)
Transfer the contents of the argument List into this list and annul the argument list.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A List with indirect addressing. Like IndirectList but does not store addressing.
static int & msgType() noexcept
Message tag of standard messages.
static int incrMsgType(int val=1) noexcept
Increment the message tag for standard messages.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Smooth ATC in cells next to a set of patches supplied by type.
Mesh data needed to do the Finite Volume discretisation.
const fvPatch & patch() const noexcept
Return the patch.
bool updated() const noexcept
True if the boundary condition has already been updated.
A FieldMapper for finite-volume patch fields.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
virtual tmp< Field< Type > > patchInternalField() const
Return internal field next to patch.
const Field< Type > & primitiveField() const noexcept
Return const-reference to the internal field values.
A finiteVolume patch using a polyPatch and a fvBoundaryMesh.
label start() const noexcept
The patch start within the polyMesh face list.
This boundary condition maps the boundary and internal values of a neighbour patch field to the bound...
virtual void write(Ostream &os) const
Write.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
mappedFixedInternalValueFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
virtual void write(Ostream &) const
Write.
virtual void updateCoeffs()
Update the coefficients associated with the patch field.
mappedFixedValueFvPatchField(const fvPatch &, const DimensionedField< Type, volMesh > &)
Construct from patch and internal field.
Determines a mapping between patch face centres and mesh cell or face centres and processors they're ...
@ NEARESTCELL
nearest cell containing sample
@ NEARESTPATCHFACE
nearest face on selected patch
@ NEARESTPATCHFACEAMI
nearest patch face + AMI interpolation
@ NEARESTFACE
nearest face
static const Enum< sampleMode > sampleModeNames_
const polyMesh & sampleMesh() const
Get the region mesh.
const polyPatch & samplePolyPatch() const
Get the patch on the region.
void distribute(List< Type > &lst) const
Wrapper around map/interpolate data distribution.
sampleMode mode() const noexcept
What to sample.
const GeometricField< T, fvPatchField, volMesh > & sampleField(const word &fieldName) const
Field to sample. Either on my or nbr mesh.
static const mappedPatchBase & mapper(const fvPatch &p, const DimensionedField< Type, volMesh > &iF)
Check that patch is of correct type.
label index() const noexcept
The index of this patch in the boundaryMesh.
label nFaces() const noexcept
Number of mesh faces.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
OBJstream os(runTime.globalPath()/outputName)
Type & refCast(U &obj)
A dynamic_cast (for references) to Type reference.
errorManip< error > abort(error &err)
static constexpr const zero Zero
Global zero (0).
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define forAll(list, i)
Loop across all elements in list.