Go to the documentation of this file.
38 #ifndef faceAreaWeightAMI_H
39 #define faceAreaWeightAMI_H
61 const bool restartUncoveredSourceFace_;
100 const label srcFacei,
101 const label tgtStartFacei,
130 const bool errorOnNotFound =
true
139 const label srcFacei,
140 const label tgtFacei,
148 const label srcFacei,
149 const label tgtFacei,
150 const scalar threshold
virtual void write(Ostream &os) const
Write.
virtual void restartUncoveredSourceFace(List< DynamicList< label >> &srcAddr, List< DynamicList< scalar >> &srcWght, List< DynamicList< point >> &srcCtr, List< DynamicList< label >> &tgtAddr, List< DynamicList< scalar >> &tgtWght)
Attempt to re-evaluate source faces that have not been included.
virtual bool processSourceFace(const label srcFacei, const label tgtStartFacei, DynamicList< label > &nbrFaces, DynamicList< label > &visitedFaces, List< DynamicList< label >> &srcAddr, List< DynamicList< scalar >> &srcWght, List< DynamicList< point >> &srcCtr, List< DynamicList< label >> &tgtAddr, List< DynamicList< scalar >> &tgtWght)
Determine overlap contributions for source face srcFacei.
A bitSet stores bits (elements with only two states) in packed internal format and supports a variety...
const pointListList & srcCentroids() const
Return const access to source patch face centroids.
const labelListList & tgtAddress() const
Return const access to target patch addressing.
const scalarListList & tgtWeights() const
Return const access to target patch weights.
virtual bool setNextFaces(label &startSeedi, label &srcFacei, label &tgtFacei, const bitSet &mapFlag, labelList &seedFaces, const DynamicList< label > &visitedFaces, const bool errorOnNotFound=true) const
Set the source and target seed faces.
virtual void calcInterArea(const label srcFacei, const label tgtFacei, scalar &area, vector ¢roid) const
Area of intersection between source and target faces.
virtual ~faceAreaWeightAMI()=default
Destructor.
Face area weighted Arbitrary Mesh Interface (AMI) method.
faceAreaWeightAMI(const dictionary &dict, const bool reverseTarget=false)
Construct from dictionary.
TypeName("faceAreaWeightAMI")
Runtime type information.
virtual bool calculate(const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const autoPtr< searchableSurface > &surfPtr=nullptr)
Update addressing, weights and (optional) centroids.
bool requireMatch() const
Access to the requireMatch flag.
virtual autoPtr< AMIInterpolation > clone() const
Construct and return a clone.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
void initGeom(const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const globalIndex &globalTgtFaces, labelList &extendedTgtFaceIDs)
Initialise the geometry.
Calculates a unique integer (label so might not have enough room - 2G max) for processor + local inde...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
scalar lowWeightCorrection() const
Threshold weight below which interpolation is deactivated.
void operator=(const faceAreaWeightAMI &)=delete
No copy assignment.
Base class for Arbitrary Mesh Interface (AMI) methods.
bool reverseTarget() const
Access to the reverseTarget flag.
const wordList area
Standard area field types (scalar, vector, tensor, etc)
const primitivePatch & srcPatch() const
Return const access to the source patch.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
virtual void calcAddressing(List< DynamicList< label >> &srcAddress, List< DynamicList< scalar >> &srcWeights, List< DynamicList< point >> &srcCentroids, List< DynamicList< label >> &tgtAddress, List< DynamicList< scalar >> &tgtWeights, label srcFacei, label tgtFacei)
const primitivePatch & tgtPatch() const
Return const access to the target patch.
virtual bool overlaps(const label srcFacei, const label tgtFacei, const scalar threshold) const
Return true if faces overlap.
const labelListList & srcAddress() const
Return const access to source patch addressing.
const scalarListList & srcWeights() const
Return const access to source patch weights.
A list of faces which address into the list of points.