31 const label regionPatchI,
32 const label nbrPatchI,
37 int oldTag = UPstream::msgType();
38 UPstream::msgType() = oldTag + 1;
41 interRegionAMI(nbrRegion, regionPatchI, nbrPatchI, flip);
45 UPstream::msgType() = oldTag;
56 const word& fieldName,
57 const label regionPatchI,
65 if (nbrRegionMesh.
foundObject<fieldType>(fieldName))
67 const label nbrPatchI = nbrCoupledPatchID(nbrRegion, regionPatchI);
69 int oldTag = UPstream::msgType();
70 UPstream::msgType() = oldTag + 1;
73 interRegionAMI(nbrRegion, regionPatchI, nbrPatchI, flip);
75 const fieldType& nbrField =
78 const Field<Type>& nbrFieldp = nbrField.boundaryField()[nbrPatchI];
82 UPstream::msgType() = oldTag;
88 const polyPatch&
p = regionMesh().boundaryMesh()[regionPatchI];
108 const word& fieldName,
109 const label regionPatchI,
117 if (nbrRegionMesh.
foundObject<fieldType>(fieldName))
119 const label nbrPatchI = nbrCoupledPatchID(nbrRegion, regionPatchI);
121 int oldTag = UPstream::msgType();
122 UPstream::msgType() = oldTag + 1;
125 interRegionAMI(nbrRegion, regionPatchI, nbrPatchI, flip);
127 const fieldType& nbrField =
131 nbrField.boundaryField()[nbrPatchI];
138 UPstream::msgType() = oldTag;
144 const polyPatch&
p = regionMesh().boundaryMesh()[regionPatchI];
162 const label regionPatchI,
166 forAll(intCoupledPatchIDs_, i)
168 if (intCoupledPatchIDs_[i] == regionPatchI)
171 refCast<const mappedPatchBase>
173 regionMesh().boundaryMesh()[regionPatchI]
180 FatalErrorIn(
"const void toPrimary(const label, List<Type>&) const")
181 <<
"Region patch ID " << regionPatchI <<
" not found in region mesh" 189 const label regionPatchI,
193 forAll(intCoupledPatchIDs_, i)
195 if (intCoupledPatchIDs_[i] == regionPatchI)
198 refCast<const mappedPatchBase>
200 regionMesh().boundaryMesh()[regionPatchI]
207 FatalErrorIn(
"const void toRegion(const label, List<Type>&) const")
208 <<
"Region patch ID " << regionPatchI <<
" not found in region mesh" 213 template<
class Type,
class CombineOp>
216 const label regionPatchI,
221 forAll(intCoupledPatchIDs_, i)
223 if (intCoupledPatchIDs_[i] == regionPatchI)
226 refCast<const mappedPatchBase>
228 regionMesh().boundaryMesh()[regionPatchI]
237 "const void toPrimary" 243 ) <<
"Region patch ID " << regionPatchI <<
" not found in region mesh" 248 template<
class Type,
class CombineOp>
251 const label regionPatchI,
256 forAll(intCoupledPatchIDs_, i)
258 if (intCoupledPatchIDs_[i] == regionPatchI)
261 refCast<const mappedPatchBase>
263 regionMesh().boundaryMesh()[regionPatchI]
272 "const void toRegion(const label, List<Type>&, const CombineOp&) const" 273 ) <<
"Region patch ID " << regionPatchI <<
" not found in region mesh" 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.
Mesh data needed to do the Finite Volume discretisation.
bool foundObject(const word &name) const
Is the named Type found?
void distribute(List< Type > &lst) const
Wrapper around map/interpolate data distribution.
A class for handling words, derived from string.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const fvMesh & regionMesh() const
Return the region mesh database.
A patch is a list of labels that address the faces in the global face list.
void toRegion(const label regionPatchI, List< Type > &primaryFieldField) const
Convert a primary region field to the local region.
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.
Interpolation class dealing with transfer of data between two primitive patches with an arbitrary mes...
const Type & lookupObject(const word &name) const
Lookup and return the object of the given Type.
Abstract base class with a fat-interface to all derived classes covering all possible ways in which t...
Pre-declare SubField and related Field type.
errorManip< error > abort(error &err)
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
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.
Generic GeometricField class.
Traits class for primitives.
void reverseDistribute(List< Type > &lst) const
Wrapper around map/interpolate data distribution.
Determines a mapping between patch face centres and mesh cell or face centres and processors they're ...
A class for managing temporary objects.
void toPrimary(const label regionPatchI, List< Type > ®ionField) const
Convert a local region field to the primary region.