82 #ifndef mappedPatchBase_H 83 #define mappedPatchBase_H 151 if (!x.
first().hit())
172 if (!x.
first().hit())
390 const bool forceUpdate =
false 429 template<
class Type,
class CombineOp>
437 template<
class Type,
class CombineOp>
virtual void write(Ostream &) const
Write as a dictionary.
word samplePatch_
Patch (if in sampleMode NEARESTPATCH*)
vector offset_
Offset vector (uniform)
bool sameRegion() const
Cached sampleRegion != mesh.name()
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
autoPtr< AMIPatchToPatchInterpolation > AMIPtr_
Pointer to AMI interpolator.
const Type1 & first() const
Return first.
word sampleRegion_
Region to sample.
autoPtr< mapDistribute > mapPtr_
Communication schedule:
A list of keyword definitions, which are a keyword followed by any number of values (e...
const polyPatch & patch_
Patch to sample.
A 2-tuple for storing two objects of different types.
bool sameRegion_
Same region.
const vectorField & offsets() const
Offset vector (from patch faces to destination mesh objects)
autoPtr< searchableSurface > surfPtr_
Pointer to projection surface employed by AMI interpolator.
const coupleGroupIdentifier coupleGroup_
PatchGroup (if in sampleMode NEARESTPATCH*)
virtual ~mappedPatchBase()
Destructor.
void operator()(nearInfo &x, const nearInfo &y) const
const polyMesh & sampleMesh() const
Get the region mesh.
scalar distance(const vector &p1, const vector &p2)
This class describes the interaction of (usually) a face and a point. It carries the info of a succes...
void reverseDistribute(List< Type > &lst) const
Wrapper around map/interpolate data distribution.
const autoPtr< Foam::searchableSurface > & surfPtr() const
Return a pointer to the AMI projection surface.
cellDecomposition
Enumeration defining the decomposition of the cell for.
void calcAMI() const
Calculate AMI interpolator.
vectorField offsets_
Offset vector (nonuniform)
scalar distance_
Offset distance (normal)
const mapDistribute & map() const
Return reference to the parallel distribution map.
tmp< pointField > facePoints(const polyPatch &) const
Get the points from face-centre-decomposition face centres.
void findSamples(const sampleMode mode, const pointField &, labelList &sampleProcs, labelList &sampleIndices, pointField &sampleLocations) const
Find cells/faces containing samples.
void calcMapping() const
Calculate mapping.
tmp< pointField > samplePoints() const
Get the sample points.
A class for handling words, derived from string.
TypeName("mappedPatchBase")
Runtime type information.
void distribute(List< Type > &lst) const
Wrapper around map/interpolate data distribution.
static tmp< pointField > readListOrField(const word &keyword, const dictionary &dict, const label size)
Helper to read field or non-uniform list from dictionary.
Determines a mapping between patch face centres and mesh cell or face centres and processors they're ...
offsetMode offsetMode_
How to obtain samples.
Encapsulates using patchGroups to specify coupled patch.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
const vector & offset() const
Offset vector (from patch faces to destination mesh objects)
An Ostream is an abstract base class for all output systems (streams, files, token lists...
static pointIndexHit facePoint(const polyMesh &, const label facei, const polyMesh::cellDecomposition)
Get a point on the face given a face decomposition method:
const Type2 & second() const
Return second.
offsetMode
How to project face centres.
static const NamedEnum< sampleMode, 6 > sampleModeNames_
const word & samplePatch() const
Patch (only if NEARESTPATCHFACE)
dictionary surfDict_
Dictionary storing projection surface description.
Class containing processor-to-processor mapping information.
const polyPatch & samplePolyPatch() const
Get the patch on the region.
Tuple2< pointIndexHit, Tuple2< scalar, label > > nearInfo
Helper class for finding nearest.
const word & sampleRegion() const
Region to sample.
sampleMode
Mesh items to sample.
Interpolation class dealing with transfer of data between two primitive patches with an arbitrary mes...
const bool AMIReverse_
Flag to indicate that slave patch should be reversed for AMI.
const word & coupleGroup() const
PatchGroup (only if NEARESTPATCHFACE)
const AMIPatchToPatchInterpolation & AMI(const bool forceUpdate=false) const
Return reference to the AMI interpolator.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
Mesh consisting of general polyhedral cells.
label sampleSize() const
Return size of mapped mesh/patch/boundary.
static const NamedEnum< offsetMode, 3 > offsetModeNames_
A class for managing temporary objects.
A patch is a list of labels that address the faces in the global face list.
const sampleMode & mode() const
What to sample.
mappedPatchBase(const polyPatch &)
Construct from patch.
void collectSamples(const pointField &facePoints, pointField &, labelList &patchFaceProcs, labelList &patchFaces, pointField &patchFc) const
Collect single list of samples and originating processor+face.
const sampleMode mode_
What to sample.