mapNearestMethod Class Reference

Map nearest mesh-to-mesh interpolation class. More...

Inheritance diagram for mapNearestMethod:
[legend]
Collaboration diagram for mapNearestMethod:
[legend]

Public Member Functions

 TypeName ("mapNearest")
 Run-time type information. More...
 
 mapNearestMethod (const polyMesh &src, const polyMesh &tgt)
 Construct from source and target meshes. More...
 
virtual ~mapNearestMethod ()
 Destructor. More...
 
virtual void calculate (labelListList &srcToTgtAddr, scalarListList &srcToTgtWght, pointListList &srcToTgtVec, labelListList &tgtToSrcAddr, scalarListList &tgtToSrcWght, pointListList &tgtToSrcVec)
 Calculate addressing and weights and optionally offset vectors. More...
 
- Public Member Functions inherited from meshToMeshMethod
 TypeName ("meshToMeshMethod")
 Run-time type information. More...
 
 declareRunTimeSelectionTable (autoPtr, meshToMeshMethod, components,(const polyMesh &src, const polyMesh &tgt),(src, tgt))
 Declare runtime constructor selection table. More...
 
 meshToMeshMethod (const polyMesh &src, const polyMesh &tgt)
 Construct from source and target meshes. More...
 
virtual ~meshToMeshMethod ()
 Destructor. More...
 
const polyMeshsrc () const
 Return const access to the source mesh. More...
 
const polyMeshtgt () const
 Return const access to the target mesh. More...
 
scalar V () const
 Return const access to the overlap volume. More...
 
void writeConnectivity (const polyMesh &mesh1, const polyMesh &mesh2, const labelListList &mesh1ToMesh2Addr) const
 Write the connectivity (debugging) More...
 

Protected Member Functions

virtual bool findInitialSeeds (const labelList &srcCellIDs, const boolList &mapFlag, const label startSeedI, label &srcSeedI, label &tgtSeedI) const
 Find indices of overlapping cells in src and tgt meshes - returns. More...
 
virtual void calculateAddressing (labelListList &srcToTgtCellAddr, scalarListList &srcToTgtCellWght, labelListList &tgtToSrcCellAddr, scalarListList &tgtToSrcCellWght, const label srcSeedI, const label tgtSeedI, const labelList &srcCellIDs, boolList &mapFlag, label &startSeedI)
 Calculate the mesh-to-mesh addressing and weights. More...
 
virtual void findNearestCell (const polyMesh &mesh1, const polyMesh &mesh2, const label cell1, label &cell2) const
 Find the nearest cell on mesh2 for cell1 on mesh1. More...
 
virtual void setNextNearestCells (label &startSeedI, label &srcCelli, label &tgtCelli, boolList &mapFlag, const labelList &srcCellIDs) const
 Set the next cells for the marching front algorithm. More...
 
virtual label findMappedSrcCell (const label tgtCelli, const List< DynamicList< label >> &tgtToSrc) const
 Find a source cell mapped to target cell tgtCelli. More...
 
 mapNearestMethod (const mapNearestMethod &)=delete
 No copy construct. More...
 
void operator= (const mapNearestMethod &)=delete
 No copy assignment. More...
 
- Protected Member Functions inherited from meshToMeshMethod
labelList maskCells () const
 Return src cell IDs for the overlap region. More...
 
virtual bool intersect (const label srcCelli, const label tgtCelli) const
 Return the true if cells intersect. More...
 
virtual scalar interVol (const label srcCelli, const label tgtCelli) const
 Return the intersection volume between two cells. More...
 
virtual Tuple2< scalar, pointinterVolAndCentroid (const label srcCellI, const label tgtCellI)
 Return the intersection volume and centroid between two cells. More...
 
virtual void appendNbrCells (const label tgtCelli, const polyMesh &mesh, const DynamicList< label > &visitedTgtCells, DynamicList< label > &nbrTgtCellIDs) const
 Append target cell neighbour cells to cellIDs list. More...
 
virtual bool initialise (labelListList &srcToTgtAddr, scalarListList &srcToTgtWght, labelListList &tgtToTgtAddr, scalarListList &tgtToTgtWght) const
 

Additional Inherited Members

- Static Public Member Functions inherited from meshToMeshMethod
static autoPtr< meshToMeshMethodNew (const word &methodName, const polyMesh &src, const polyMesh &tgt)
 Selector. More...
 
- Protected Attributes inherited from meshToMeshMethod
const polyMeshsrc_
 Reference to the source mesh. More...
 
const polyMeshtgt_
 Reference to the target mesh. More...
 
scalar V_
 Cell total volume in overlap region [m3]. More...
 
- Static Protected Attributes inherited from meshToMeshMethod
static scalar tolerance_ = 1e-6
 Tolerance used in volume overlap calculations. More...
 

Detailed Description

Map nearest mesh-to-mesh interpolation class.

Not volume conservative.

  • cells outside other meshes bounding box do not get mapped (initial filtering)
  • all remaining cells will be mapped (with weight 1!)
  • so take care when mapping meshes with different bounding boxes!
Source files

Definition at line 56 of file mapNearestMethod.H.

Constructor & Destructor Documentation

◆ mapNearestMethod() [1/2]

mapNearestMethod ( const mapNearestMethod )
protecteddelete

No copy construct.

◆ mapNearestMethod() [2/2]

mapNearestMethod ( const polyMesh src,
const polyMesh tgt 
)

Construct from source and target meshes.

Definition at line 334 of file mapNearestMethod.C.

◆ ~mapNearestMethod()

~mapNearestMethod ( )
virtual

Destructor.

Definition at line 345 of file mapNearestMethod.C.

Member Function Documentation

◆ findInitialSeeds()

bool findInitialSeeds ( const labelList srcCellIDs,
const boolList mapFlag,
const label  startSeedI,
label &  srcSeedI,
label &  tgtSeedI 
) const
protectedvirtual

Find indices of overlapping cells in src and tgt meshes - returns.

true if found a matching pair

Definition at line 46 of file mapNearestMethod.C.

References Foam::abort(), Foam::expressions::patchExpr::debug, Foam::endl(), Foam::FatalError, FatalErrorInFunction, PointIndexHit< PointType >::hit(), PointIndexHit< PointType >::index(), and Foam::Pout.

Here is the call graph for this function:

◆ calculateAddressing()

void calculateAddressing ( labelListList srcToTgtCellAddr,
scalarListList srcToTgtCellWght,
labelListList tgtToSrcCellAddr,
scalarListList tgtToSrcCellWght,
const label  srcSeedI,
const label  tgtSeedI,
const labelList srcCellIDs,
boolList mapFlag,
label &  startSeedI 
)
protectedvirtual

Calculate the mesh-to-mesh addressing and weights.

Definition at line 96 of file mapNearestMethod.C.

References DynamicList< T, SizeMin >::append(), DynamicList< T, SizeMin >::clear(), forAll, Foam::magSqr(), and List< T >::transfer().

Here is the call graph for this function:

◆ findNearestCell()

void findNearestCell ( const polyMesh mesh1,
const polyMesh mesh2,
const label  cell1,
label &  cell2 
) const
protectedvirtual

Find the nearest cell on mesh2 for cell1 on mesh1.

Definition at line 208 of file mapNearestMethod.C.

References DynamicList< T, SizeMin >::append(), Foam::constant::physicoChemical::c2, primitiveMesh::cellCentres(), Foam::magSqr(), and DynamicList< T, SizeMin >::remove().

Here is the call graph for this function:

◆ setNextNearestCells()

void setNextNearestCells ( label &  startSeedI,
label &  srcCelli,
label &  tgtCelli,
boolList mapFlag,
const labelList srcCellIDs 
) const
protectedvirtual

Set the next cells for the marching front algorithm.

Definition at line 245 of file mapNearestMethod.C.

References forAll.

◆ findMappedSrcCell()

Foam::label findMappedSrcCell ( const label  tgtCelli,
const List< DynamicList< label >> &  tgtToSrc 
) const
protectedvirtual

Find a source cell mapped to target cell tgtCelli.

Definition at line 288 of file mapNearestMethod.C.

References DynamicList< T, SizeMin >::append(), and DynamicList< T, SizeMin >::remove().

Here is the call graph for this function:

◆ operator=()

void operator= ( const mapNearestMethod )
protecteddelete

No copy assignment.

◆ TypeName()

TypeName ( "mapNearest"  )

Run-time type information.

◆ calculate()

void calculate ( labelListList srcToTgtAddr,
scalarListList srcToTgtWght,
pointListList srcToTgtVec,
labelListList tgtToSrcAddr,
scalarListList tgtToSrcWght,
pointListList tgtToSrcVec 
)
virtual

Calculate addressing and weights and optionally offset vectors.

Implements meshToMeshMethod.

Definition at line 352 of file mapNearestMethod.C.


The documentation for this class was generated from the following files: