Class to generate patchToPatch coupling geometry. Couples a face to the single nearby opposite face only. More...
Public Member Functions | |
TypeName ("nearby") | |
Runtime type information. More... | |
nearby (const bool reverse) | |
Construct from components. More... | |
~nearby () | |
Destructor. More... | |
![]() | |
TypeName ("patchToPatch") | |
Runtime type information. More... | |
declareRunTimeSelectionTable (autoPtr, patchToPatch, bool,(const bool reverse),(reverse)) | |
Declare runtime constructor selection table. More... | |
patchToPatch (const bool reverse) | |
Construct from components. More... | |
patchToPatch (const patchToPatch &)=delete | |
Disallow default bitwise copy construction. More... | |
virtual | ~patchToPatch () |
Destructor. More... | |
bool | reverse () const |
Flag to indicate that the two patches are co-directional and. More... | |
label | singleProcess () const |
Index of the processor holding all faces of the patchToPatch,. More... | |
bool | isSingleProcess () const |
Is this intersection on a single process? More... | |
PackedBoolList | srcCoupled () const |
Return a list indicating which source faces are coupled. More... | |
PackedBoolList | tgtCoupled () const |
Return a list indicating which target faces are coupled. More... | |
List< List< remote > > | srcTgtProcFaces () const |
For each source face, the coupled target procs and faces. More... | |
List< List< remote > > | tgtSrcProcFaces () const |
For each target face, the coupled source procs and faces. More... | |
template<class Type > | |
tmp< Field< Type > > | srcToTgt (const Field< Type > &srcFld) const |
Interpolate a source patch field to the target with no left. More... | |
template<class Type > | |
tmp< Field< Type > > | srcToTgt (const Field< Type > &srcFld, const Field< Type > &leftOverTgtFld) const |
Interpolate a source patch field to the target with left over. More... | |
template<class Type > | |
tmp< Field< Type > > | tgtToSrc (const Field< Type > &tgtFld) const |
Interpolate a target patch field to the source with no left. More... | |
template<class Type > | |
tmp< Field< Type > > | tgtToSrc (const Field< Type > &tgtFld, const Field< Type > &leftOverSrcFld) const |
Interpolate a target patch field to the source with left. More... | |
void | update (const primitiveOldTimePatch &srcPatch, const vectorField &srcPointNormals, const vectorField &srcPointNormals0, const primitiveOldTimePatch &tgtPatch, const transformer &tgtToSrc=NullObjectRef< transformer >()) |
Update addressing and weights for the given patches. More... | |
void | update (const primitivePatch &srcPatch, const vectorField &srcPointNormals, const primitivePatch &tgtPatch, const transformer &tgtToSrc=NullObjectRef< transformer >()) |
Update addressing and weights for the given patches. More... | |
void | operator= (const patchToPatch &)=delete |
Disallow default bitwise assignment. More... | |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | srcToTgt (const Field< Type > &srcFld) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | srcToTgt (const Field< Type > &srcFld, const Field< Type > &leftOverTgtFld) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | tgtToSrc (const Field< Type > &tgtFld) const |
template<class Type > | |
Foam::tmp< Foam::Field< Type > > | tgtToSrc (const Field< Type > &tgtFld, const Field< Type > &leftOverSrcFld) const |
Protected Member Functions | |
virtual treeBoundBox | srcBox (const face &srcFace, const pointField &srcPoints, const vectorField &srcPointNormals) const |
Get the bound box for a source face. More... | |
virtual bool | intersectFaces (const primitiveOldTimePatch &srcPatch, const vectorField &srcPointNormals, const vectorField &srcPointNormals0, const primitiveOldTimePatch &tgtPatch, const label srcFacei, const label tgtFacei) |
Intersect two faces. More... | |
virtual void | initialise (const primitiveOldTimePatch &srcPatch, const vectorField &srcPointNormals, const vectorField &srcPointNormals0, const primitiveOldTimePatch &tgtPatch) |
Initialisation. More... | |
![]() | |
treeBoundBox | srcBox (const primitiveOldTimePatch &srcPatch, const vectorField &srcPointNormals, const vectorField &srcPointNormals0, const label srcFacei) const |
Get the bound box for a source face. More... | |
treeBoundBox | srcBox (const primitiveOldTimePatch &srcPatch, const vectorField &srcPointNormals, const vectorField &srcPointNormals0) const |
Get the bound box for the source patch. More... | |
treeBoundBox | tgtBox (const primitiveOldTimePatch &tgtPatch, const label tgtFacei) const |
Get the bound box for a target face. More... | |
treeBoundBox | tgtBox (const primitiveOldTimePatch &tgtPatch) const |
Get the bound box for the target patch. More... | |
bool | findOrIntersectFaces (const primitiveOldTimePatch &srcPatch, const vectorField &srcPointNormals, const vectorField &srcPointNormals0, const primitiveOldTimePatch &tgtPatch, const label srcFacei, const label tgtFacei) |
Intersect two faces. More... | |
label | intersectPatchQueue (const primitiveOldTimePatch &srcPatch, const vectorField &srcPointNormals, const vectorField &srcPointNormals0, const primitiveOldTimePatch &tgtPatch, const bool isSrc, const DynamicList< labelPair > &queue, labelList &faceComplete, DynamicList< labelPair > &otherQueue, const labelList &otherFaceComplete, boolList &otherFaceQueued, boolList &otherFaceVisited) |
Intersect a queue of source-target face pairs. Update completion. More... | |
void | intersectPatches (const primitiveOldTimePatch &srcPatch, const vectorField &srcPointNormals, const vectorField &srcPointNormals0, const primitiveOldTimePatch &tgtPatch) |
Intersect the patches. More... | |
labelListList | tgtPatchSendFaces (const primitiveOldTimePatch &srcPatch, const vectorField &srcPointNormals, const vectorField &srcPointNormals0, const primitiveOldTimePatch &tgtPatch) const |
Determine which target faces need to be sent to the source. More... | |
virtual labelList | finaliseLocal (const primitiveOldTimePatch &srcPatch, const vectorField &srcPointNormals, const vectorField &srcPointNormals0, const primitiveOldTimePatch &tgtPatch) |
Finalise the intersection locally. Trims the local target patch. More... | |
virtual void | distributeSrc (const primitiveOldTimePatch &srcPatch) |
Distribute the source patch so that any information needed by. More... | |
virtual void | rDistributeTgt (const primitiveOldTimePatch &tgtPatch) |
Send data that resulted from an intersection between the source. More... | |
virtual label | finalise (const primitiveOldTimePatch &srcPatch, const vectorField &srcPointNormals, const vectorField &srcPointNormals0, const primitiveOldTimePatch &tgtPatch, const transformer &tgtToSrc) |
Finalising. More... | |
virtual tmpNrc< List< DynamicList< scalar > > > | srcWeights () const =0 |
For each source face, the coupled target weights. More... | |
virtual tmpNrc< List< DynamicList< scalar > > > | tgtWeights () const =0 |
For each target face, the coupled source weights. More... | |
Protected Attributes | |
List< Tuple2< point, scalar > > | srcSpheres_ |
For each source face, the bounding sphere. More... | |
List< Tuple2< point, scalar > > | tgtSpheres_ |
For each target face, the bounding sphere. More... | |
![]() | |
const bool | reverse_ |
Flag to indicate that the two patches are co-directional and. More... | |
label | singleProcess_ |
Index of the processor holding all faces of the patchToPatch, or -1. More... | |
List< DynamicList< label > > | srcLocalTgtFaces_ |
For each source face, the coupled local target faces. More... | |
List< DynamicList< label > > | tgtLocalSrcFaces_ |
For each target face, the coupled local source faces. More... | |
autoPtr< distributionMap > | srcMapPtr_ |
Map from source patch faces to target-local source patch faces. More... | |
autoPtr< distributionMap > | tgtMapPtr_ |
Map from target patch faces to source-local target patch faces. More... | |
autoPtr< List< remote > > | localSrcProcFacesPtr_ |
When running in parallel, a map from local source face index to. More... | |
autoPtr< List< remote > > | localTgtProcFacesPtr_ |
When running in parallel, a map from local target face index to. More... | |
Additional Inherited Members | |
![]() | |
static autoPtr< patchToPatch > | New (const word &patchToPatchType, const bool reverse) |
Select from name. More... | |
![]() | |
static List< remote > | distributePatch (const distributionMap &map, const primitiveOldTimePatch &patch, autoPtr< PrimitiveOldTimePatch< faceList, pointField >> &localPatchPtr) |
Distribute a patch given its distribution map. More... | |
Class to generate patchToPatch coupling geometry. Couples a face to the single nearby opposite face only.
Definition at line 51 of file nearbyPatchToPatch.H.
nearby | ( | const bool | reverse | ) |
Construct from components.
Definition at line 131 of file nearbyPatchToPatch.C.
~nearby | ( | ) |
Destructor.
Definition at line 141 of file nearbyPatchToPatch.C.
|
protectedvirtual |
Get the bound box for a source face.
Implements patchToPatch.
Definition at line 46 of file nearbyPatchToPatch.C.
References Foam::constant::universal::c, boundBox::maxDim(), boundBox::midpoint(), and VectorSpace< Form, Cmpt, Ncmpts >::one.
|
protectedvirtual |
Intersect two faces.
Implements patchToPatch.
Reimplemented in nearest.
Definition at line 62 of file nearbyPatchToPatch.C.
References Foam::magSqr(), and Foam::sqr().
Referenced by nearest::intersectFaces().
|
protectedvirtual |
Initialisation.
Reimplemented from patchToPatch.
Reimplemented in nearest.
Definition at line 91 of file nearbyPatchToPatch.C.
References Foam::boundSphere(), forAll, patchToPatch::initialise(), and PrimitivePatch< FaceList, PointField >::points().
Referenced by nearest::initialise().
TypeName | ( | "nearby" | ) |
Runtime type information.
For each source face, the bounding sphere.
Definition at line 60 of file nearbyPatchToPatch.H.
For each target face, the bounding sphere.
Definition at line 63 of file nearbyPatchToPatch.H.