Face area weighted Arbitrary Mesh Interface (AMI) method. More...
Public Member Functions | |
TypeName ("faceAreaWeightAMI") | |
Runtime type information. More... | |
faceAreaWeightAMI (const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const scalarField &srcMagSf, const scalarField &tgtMagSf, const faceAreaIntersect::triangulationMode &triMode, const bool reverseTarget=false, const bool requireMatch=true, const bool restartUncoveredSourceFace=true) | |
Construct from components. More... | |
faceAreaWeightAMI (const faceAreaWeightAMI &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~faceAreaWeightAMI () |
Destructor. More... | |
virtual void | calculate (labelListList &srcAddress, scalarListList &srcWeights, labelListList &tgtAddress, scalarListList &tgtWeights, label srcFacei=-1, label tgtFacei=-1) |
Update addressing and weights. More... | |
void | operator= (const faceAreaWeightAMI &)=delete |
Disallow default bitwise assignment. More... | |
Public Member Functions inherited from AMIMethod | |
TypeName ("AMIMethod") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, AMIMethod, components,(const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const scalarField &srcMagSf, const scalarField &tgtMagSf, const faceAreaIntersect::triangulationMode &triMode, const bool reverseTarget, const bool requireMatch),(srcPatch, tgtPatch, srcMagSf, tgtMagSf, triMode, reverseTarget, requireMatch)) | |
Declare runtime constructor selection table. More... | |
AMIMethod (const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const scalarField &srcMagSf, const scalarField &tgtMagSf, const faceAreaIntersect::triangulationMode &triMode, const bool reverseTarget, const bool requireMatch) | |
Construct from components. More... | |
AMIMethod (const AMIMethod &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~AMIMethod () |
Destructor. More... | |
const labelList & | srcNonOverlap () const |
Labels of faces that are not overlapped by any target faces. More... | |
virtual bool | conformal () const |
Flag to indicate that interpolation patches are conformal. More... | |
void | operator= (const AMIMethod &)=delete |
Disallow default bitwise assignment. More... | |
Protected Member Functions | |
virtual void | calcAddressing (List< DynamicList< label >> &srcAddress, List< DynamicList< scalar >> &srcWeights, List< DynamicList< label >> &tgtAddress, List< DynamicList< scalar >> &tgtWeights, label srcFacei, label tgtFacei) |
Calculate addressing and weights using temporary storage. More... | |
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< label >> &tgtAddr, List< DynamicList< scalar >> &tgtWght) |
Determine overlap contributions for source face srcFacei. More... | |
virtual void | restartUncoveredSourceFace (List< DynamicList< label >> &srcAddr, List< DynamicList< scalar >> &srcWght, List< DynamicList< label >> &tgtAddr, List< DynamicList< scalar >> &tgtWght) |
Attempt to re-evaluate source faces that have not been included. More... | |
virtual void | setNextFaces (label &startSeedI, label &srcFacei, label &tgtFacei, const boolList &mapFlag, labelList &seedFaces, const DynamicList< label > &visitedFaces, bool errorOnNotFound=true) const |
Set the source and target seed faces. More... | |
virtual scalar | minWeight () const |
The minimum weight below which connections are discarded. More... | |
virtual scalar | interArea (const label srcFacei, const label tgtFacei) const |
Area of intersection between source and target faces. More... | |
Protected Member Functions inherited from AMIMethod | |
void | checkPatches () const |
Check AMI patch coupling. More... | |
bool | initialise (labelListList &srcAddress, scalarListList &srcWeights, labelListList &tgtAddress, scalarListList &tgtWeights, label &srcFacei, label &tgtFacei) |
Initialise and return true if all ok. More... | |
void | writeIntersectionOBJ (const scalar area, const face &f1, const face &f2, const pointField &f1Points, const pointField &f2Points) const |
Write triangle intersection to OBJ file. More... | |
void | resetTree () |
Reset the octree for the target patch face search. More... | |
label | findTargetFace (const label srcFacei) const |
Find face on target patch that overlaps source face. More... | |
void | appendNbrFaces (const label facei, const primitivePatch &patch, const DynamicList< label > &visitedFaces, DynamicList< label > &faceIDs) const |
Add faces neighbouring facei to the ID list. More... | |
virtual scalar | maxWalkAngle () const |
The maximum edge angle that the walk will cross. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from AMIMethod | |
static autoPtr< AMIMethod > | New (const word &methodName, const primitivePatch &srcPatch, const primitivePatch &tgtPatch, const scalarField &srcMagSf, const scalarField &tgtMagSf, const faceAreaIntersect::triangulationMode &triMode, const bool reverseTarget, const bool requireMatch) |
Selector. More... | |
Protected Types inherited from AMIMethod | |
typedef treeDataPrimitivePatch< primitivePatch > | treeType |
Local typedef to octree tree-type. More... | |
Protected Attributes inherited from AMIMethod | |
const primitivePatch & | srcPatch_ |
Reference to source patch. More... | |
const primitivePatch & | tgtPatch_ |
Reference to target patch. More... | |
const bool | reverseTarget_ |
Flag to indicate that the two patches are co-directional and. More... | |
const bool | requireMatch_ |
Flag to indicate that the two patches must be matched/an overlap. More... | |
const scalarField & | srcMagSf_ |
Source face areas. More... | |
const scalarField & | tgtMagSf_ |
Target face areas. More... | |
labelList | srcNonOverlap_ |
Labels of faces that are not overlapped by any target faces. More... | |
autoPtr< indexedOctree< treeType > > | treePtr_ |
Octree used to find face seeds. More... | |
const faceAreaIntersect::triangulationMode | triMode_ |
Face triangulation mode. More... | |
Face area weighted Arbitrary Mesh Interface (AMI) method.
Definition at line 48 of file faceAreaWeightAMI.H.
faceAreaWeightAMI | ( | const primitivePatch & | srcPatch, |
const primitivePatch & | tgtPatch, | ||
const scalarField & | srcMagSf, | ||
const scalarField & | tgtMagSf, | ||
const faceAreaIntersect::triangulationMode & | triMode, | ||
const bool | reverseTarget = false , |
||
const bool | requireMatch = true , |
||
const bool | restartUncoveredSourceFace = true |
||
) |
Construct from components.
Definition at line 473 of file faceAreaWeightAMI.C.
Referenced by faceAreaWeightAMI::minWeight().
|
delete |
Disallow default bitwise copy construction.
|
virtual |
Destructor.
Definition at line 500 of file faceAreaWeightAMI.C.
References faceAreaWeightAMI::calculate().
|
protectedvirtual |
Calculate addressing and weights using temporary storage.
Definition at line 41 of file faceAreaWeightAMI.C.
References DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), and faceAreaWeightAMI::processSourceFace().
Referenced by partialFaceAreaWeightAMI::calculate().
|
protectedvirtual |
Determine overlap contributions for source face srcFacei.
Definition at line 118 of file faceAreaWeightAMI.C.
References DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::clear(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::remove(), faceAreaWeightAMI::setNextFaces(), and List< T >::size().
Referenced by faceAreaWeightAMI::calcAddressing().
|
protectedvirtual |
Attempt to re-evaluate source faces that have not been included.
Definition at line 369 of file faceAreaWeightAMI.C.
References DynamicList< T, SizeInc, SizeMult, SizeDiv >::append(), DynamicList< T, SizeInc, SizeMult, SizeDiv >::clear(), Foam::endl(), forAll, forAllConstIter(), HashTable< T, Key, Hash >::found(), HashSet< Key, Hash >::insert(), Foam::Pout, s(), List< T >::size(), HashTable< T, Key, Hash >::size(), Foam::sum(), and DynamicList< T, SizeInc, SizeMult, SizeDiv >::transfer().
Referenced by faceAreaWeightAMI::interArea().
|
protectedvirtual |
Set the source and target seed faces.
Definition at line 193 of file faceAreaWeightAMI.C.
References Foam::abort(), Foam::endl(), Foam::FatalError, FatalErrorInFunction, forAll, faceAreaWeightAMI::interArea(), Foam::Pout, and List< T >::size().
Referenced by faceAreaWeightAMI::processSourceFace().
|
protectedvirtual |
The minimum weight below which connections are discarded.
Definition at line 464 of file faceAreaWeightAMI.C.
References faceAreaWeightAMI::faceAreaWeightAMI(), and faceAreaIntersect::tolerance().
Area of intersection between source and target faces.
Reimplemented in sweptFaceAreaWeightAMI.
Definition at line 307 of file faceAreaWeightAMI.C.
References faceAreaIntersect::calc(), Foam::endl(), face::mag(), Foam::mag(), n, faceAreaWeightAMI::restartUncoveredSourceFace(), and WarningInFunction.
Referenced by sweptFaceAreaWeightAMI::interArea(), and faceAreaWeightAMI::setNextFaces().
TypeName | ( | "faceAreaWeightAMI" | ) |
Runtime type information.
|
virtual |
Update addressing and weights.
Implements AMIMethod.
Reimplemented in partialFaceAreaWeightAMI.
Definition at line 507 of file faceAreaWeightAMI.C.
References Foam::endl(), forAll, Foam::Pout, and List< T >::transfer().
Referenced by faceAreaWeightAMI::~faceAreaWeightAMI().
|
delete |
Disallow default bitwise assignment.