33 const label regionPatchi,
34 const label nbrPatchi,
58 const word& fieldName,
59 const label regionPatchi,
67 if (nbrRegionMesh.
foundObject<fieldType>(fieldName))
69 const label nbrPatchi = nbrCoupledPatchID(nbrRegion, regionPatchi);
75 interRegionAMI(nbrRegion, regionPatchi, nbrPatchi, flip);
77 const fieldType& nbrField =
80 const Field<Type>& nbrFieldp = nbrField.boundaryField()[nbrPatchi];
90 const polyPatch&
p = regionMesh().boundaryMesh()[regionPatchi];
101 const regionModel& nbrRegion,
102 const word& fieldName,
103 const label regionPatchi,
109 const fvMesh& nbrRegionMesh = nbrRegion.regionMesh();
111 if (nbrRegionMesh.
foundObject<fieldType>(fieldName))
113 const label nbrPatchi = nbrCoupledPatchID(nbrRegion, regionPatchi);
119 interRegionAMI(nbrRegion, regionPatchi, nbrPatchi, flip);
121 const fieldType& nbrField =
125 nbrField.boundaryField()[nbrPatchi];
138 const polyPatch&
p = regionMesh().boundaryMesh()[regionPatchi];
148 const label regionPatchi,
152 forAll(intCoupledPatchIDs_, i)
154 if (intCoupledPatchIDs_[i] == regionPatchi)
157 refCast<const mappedPatchBase>
159 regionMesh().boundaryMesh()[regionPatchi]
167 <<
"Region patch ID " << regionPatchi <<
" not found in region mesh" 175 const label regionPatchi,
179 forAll(intCoupledPatchIDs_, i)
181 if (intCoupledPatchIDs_[i] == regionPatchi)
184 refCast<const mappedPatchBase>
186 regionMesh().boundaryMesh()[regionPatchi]
194 <<
"Region patch ID " << regionPatchi <<
" not found in region mesh" 199 template<
class Type,
class CombineOp>
202 const label regionPatchi,
207 forAll(intCoupledPatchIDs_, i)
209 if (intCoupledPatchIDs_[i] == regionPatchi)
212 refCast<const mappedPatchBase>
214 regionMesh().boundaryMesh()[regionPatchi]
222 <<
"Region patch ID " << regionPatchi <<
" not found in region mesh" 227 template<
class Type,
class CombineOp>
230 const label regionPatchi,
235 forAll(intCoupledPatchIDs_, i)
237 if (intCoupledPatchIDs_[i] == regionPatchi)
240 refCast<const mappedPatchBase>
242 regionMesh().boundaryMesh()[regionPatchi]
250 <<
"Region patch ID " << regionPatchi <<
" not found in region mesh" const Type & lookupObject(const word &name, const bool recursive=false) const
Lookup and return const reference to the object of the given Type. Fatal if not found or the wrong ty...
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
static int & msgType() noexcept
Message tag of standard messages.
Generic GeometricField class.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
#define forAll(list, i)
Loop across all elements in list.
void toPrimary(const label regionPatchi, List< Type > ®ionField) const
Convert a local region field to the primary region.
Generic templated field type.
A class for handling words, derived from Foam::string.
tmp< Field< Type > > mapRegionPatchInternalField(const regionModel &nbrRegion, const word &fieldName, const label regionPatchi, const bool flip=false) const
Map patch internal field from another region model to local.
const fvMesh & regionMesh() const
Return the region mesh database.
Determines a mapping between patch face centres and mesh cell or face centres and processors they're ...
virtual const AMIPatchToPatchInterpolation & interRegionAMI(const regionModel &nbrRegion, const label regionPatchi, const label nbrPatchi, const bool flip) const
Create or return a new inter-region AMI object.
errorManip< error > abort(error &err)
void interpolateToSource(const UList< Type > &fld, const CombineOp &cop, List< Type > &result, const UList< Type > &defaultValues=UList< Type >::null()) const
Interpolate from target to source with supplied op to combine existing value with remote value and we...
void distribute(List< Type > &lst) const
Wrapper around map/interpolate data distribution.
Mesh data needed to do the Finite Volume discretisation.
tmp< Foam::Field< Type > > mapRegionPatchField(const regionModel &nbrRegion, const label regionPatchi, const label nbrPatchi, const Field< Type > &nbrField, const bool flip=false) const
Map patch field from another region model to local patch.
Interpolation class dealing with transfer of data between two primitive patches with an arbitrary mes...
void toRegion(const label regionPatchi, List< Type > &primaryFieldField) const
Convert a primary region field to the local region.
Base class for region models.
void reverseDistribute(List< Type > &lst) const
Wrapper around map/interpolate data distribution.
bool foundObject(const word &name, const bool recursive=false) const
Is the named Type found?
A class for managing temporary objects.
A patch is a list of labels that address the faces in the global face list.
static constexpr const zero Zero
Global zero (0)