Direct mapped Arbitrary Mesh Interface (AMI) method. More...
Public Member Functions | |
TypeName ("directAMI") | |
Runtime type information. More... | |
directAMI (const SourcePatch &srcPatch, const TargetPatch &tgtPatch, const scalarField &srcMagSf, const scalarField &tgtMagSf, const faceAreaIntersect::triangulationMode &triMode, const bool reverseTarget=false, const bool requireMatch=true) | |
Construct from components. More... | |
virtual | ~directAMI () |
Destructor. More... | |
virtual void | calculate (labelListList &srcAddress, scalarListList &srcWeights, labelListList &tgtAddress, scalarListList &tgtWeights, label srcFaceI=-1, label tgtFaceI=-1) |
Update addressing and weights. More... | |
![]() | |
TypeName ("AMIMethod") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, AMIMethod, components,(const SourcePatch &srcPatch, const TargetPatch &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 SourcePatch &srcPatch, const TargetPatch &tgtPatch, const scalarField &srcMagSf, const scalarField &tgtMagSf, const faceAreaIntersect::triangulationMode &triMode, const bool reverseTarget, const bool requireMatch) | |
Construct from components. 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... | |
Private Member Functions | |
directAMI (const directAMI &) | |
Disallow default bitwise copy construct. More... | |
void | operator= (const directAMI &) |
Disallow default bitwise assignment. More... | |
void | appendToDirectSeeds (labelList &mapFlag, labelList &srcTgtSeed, DynamicList< label > &srcSeeds, DynamicList< label > &nonOverlapFaces, label &srcFaceI, label &tgtFaceI) const |
Append to list of src face seed indices. More... | |
void | restartAdvancingFront (labelList &mapFlag, DynamicList< label > &nonOverlapFaces, label &srcFaceI, label &tgtFaceI) const |
Restart the advancing front - typically happens for. More... | |
scalar | interArea (const label srcFaceI, const label tgtFaceI) const |
Area of intersection between source and target faces. More... | |
Additional Inherited Members | |
![]() | |
static autoPtr< AMIMethod > | New (const word &methodName, const SourcePatch &srcPatch, const TargetPatch &tgtPatch, const scalarField &srcMagSf, const scalarField &tgtMagSf, const faceAreaIntersect::triangulationMode &triMode, const bool reverseTarget, const bool requireMatch) |
Selector. More... | |
![]() | |
typedef treeDataPrimitivePatch< TargetPatch > | treeType |
Local typedef to octree tree-type. More... | |
![]() | |
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 TargetPatch &patch, const DynamicList< label > &visitedFaces, DynamicList< label > &faceIDs) const |
Add faces neighbouring faceI to the ID list. More... | |
![]() | |
const SourcePatch & | srcPatch_ |
Reference to source patch. More... | |
const TargetPatch & | 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... | |
Direct mapped Arbitrary Mesh Interface (AMI) method.
Definition at line 49 of file directAMI.H.
Disallow default bitwise copy construct.
directAMI | ( | const SourcePatch & | srcPatch, |
const TargetPatch & | tgtPatch, | ||
const scalarField & | srcMagSf, | ||
const scalarField & | tgtMagSf, | ||
const faceAreaIntersect::triangulationMode & | triMode, | ||
const bool | reverseTarget = false , |
||
const bool | requireMatch = true |
||
) |
Construct from components.
Definition at line 192 of file directAMI.C.
|
virtual |
Destructor.
Definition at line 218 of file directAMI.C.
|
private |
Disallow default bitwise assignment.
|
private |
Append to list of src face seed indices.
Definition at line 32 of file directAMI.C.
References DynamicList::append(), face::centre(), Foam::endl(), forAll, found, PointHit::hit(), Foam::mag(), Foam::magSqr(), Foam::max(), Foam::nl, face::normal(), p, face::points(), Foam::Pout, face::ray(), DynamicList::remove(), and Foam::sqrt().
|
private |
Restart the advancing front - typically happens for.
disconnected regions
Definition at line 160 of file directAMI.C.
References DynamicList::append(), and forAll.
Area of intersection between source and target faces.
TypeName | ( | "directAMI< SourcePatch, TargetPatch >" | ) |
Runtime type information.
|
virtual |
Update addressing and weights.
Implements AMIMethod< SourcePatch, TargetPatch >.
Definition at line 226 of file directAMI.C.
References List::append(), Foam::endl(), forAll, Foam::Pout, List::size(), and List::transfer().
Copyright © 2011-2018 OpenFOAM | OPENFOAM® is a registered trademark of OpenCFD Ltd.