intersection Class Reference

Intersection-based cells-to-cells interpolation class. Volume conservative. More...

Inheritance diagram for intersection:
Collaboration diagram for intersection:

Public Member Functions

 TypeName ("intersection")
 Run-time type information. More...
 
 intersection ()
 Construct null. More...
 
virtual ~intersection ()
 Destructor. More...
 
- Public Member Functions inherited from cellsToCells
 TypeName ("cellsToCells")
 Run-time type information. More...
 
 declareRunTimeSelectionTable (autoPtr, cellsToCells, word,(),())
 Declare runtime constructor selection table. More...
 
 cellsToCells ()
 Construct null. More...
 
 cellsToCells (const cellsToCells &)=delete
 Disallow default bitwise copy construction. More...
 
virtual ~cellsToCells ()
 Destructor. More...
 
label singleProcess () const
 Index of the processor holding all cells of the cellsToCells,. More...
 
bool isSingleProcess () const
 Is this intersection on a single process? More...
 
PackedBoolList srcCoupled () const
 Return a list indicating which source cells are coupled. More...
 
PackedBoolList tgtCoupled () const
 Return a list indicating which target cells are coupled. More...
 
template<class Type >
tmp< Field< Type > > srcToTgt (const Field< Type > &srcFld) const
 Interpolate a source cell 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 cell field to the target with left over. More...
 
template<class Type >
tmp< Field< Type > > tgtToSrc (const Field< Type > &tgtFld) const
 Interpolate a target cell 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 cell field to the source with left. More...
 
remote srcToTgtPoint (const polyMesh &tgtMesh, const label srcCelli, const point &p) const
 Find the target processor and cell associated with a point in a. More...
 
scalar update (const polyMesh &srcMesh, const polyMesh &tgtMesh)
 Update addressing and weights for the given meshes. Returns the. More...
 
void operator= (const cellsToCells &)=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 scalar calculate (const polyMesh &srcMesh, const polyMesh &tgtMesh)
 Calculate the addressing and weights. More...
 
virtual void normalise (const polyMesh &mesh, labelListList &localOtherCells, scalarListList &weights) const
 Normalise the weights for a given mesh. More...
 
- Protected Member Functions inherited from cellsToCells
void initialise (const polyMesh &srcMesh, const polyMesh &tgtMesh)
 Initialise the addressing and weights. More...
 
labelList maskCells (const polyMesh &srcMesh, const polyMesh &tgtMesh) const
 Return src cell IDs for the overlap region. More...
 
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...
 
labelListList tgtMeshSendCells (const polyMesh &srcMesh, const polyMesh &tgtMesh) const
 Determine which target cells need to be sent to the source. More...
 
void trimLocalTgt ()
 Trim the local target addressing and mesh so that communication. More...
 

Additional Inherited Members

- Static Public Member Functions inherited from cellsToCells
static autoPtr< cellsToCellsNew (const word &cellsToCellsType)
 Select from name. More...
 
- Static Protected Member Functions inherited from cellsToCells
static List< remotedistributeMesh (const distributionMap &map, const polyMesh &mesh, autoPtr< polyMesh > &localMeshPtr)
 Distribute a mesh given its distribution map. More...
 
- Protected Attributes inherited from cellsToCells
label singleProcess_
 Index of processor that holds all of both sides, or -1. More...
 
labelListList srcLocalTgtCells_
 For each source cell, the coupled local target cells. More...
 
labelListList tgtLocalSrcCells_
 For each target cell, the coupled local source cells. More...
 
scalarListList srcWeights_
 For each source cell, the coupled target weights. More...
 
scalarListList tgtWeights_
 For each target cell, the coupled source weights. More...
 
autoPtr< distributionMapsrcMapPtr_
 Map from source patch cells to target-local source patch cells. More...
 
autoPtr< distributionMaptgtMapPtr_
 Map from target patch cells to source-local target patch cells. More...
 
autoPtr< List< remote > > localSrcProcCellsPtr_
 When running in parallel, a map from local source cell index to. More...
 
autoPtr< List< remote > > localTgtProcCellsPtr_
 When running in parallel, a map from local target cell index to. More...
 
autoPtr< polyMeshlocalTgtMeshPtr_
 The target mesh, distributed locally to the source. More...
 

Detailed Description

Intersection-based cells-to-cells interpolation class. Volume conservative.

Source files

Definition at line 50 of file intersectionCellsToCells.H.

Constructor & Destructor Documentation

◆ intersection()

Construct null.

Definition at line 437 of file intersectionCellsToCells.C.

◆ ~intersection()

~intersection ( )
virtual

Destructor.

Definition at line 445 of file intersectionCellsToCells.C.

Member Function Documentation

◆ calculate()

Foam::scalar calculate ( const polyMesh srcMesh,
const polyMesh tgtMesh 
)
protectedvirtual

Calculate the addressing and weights.

Implements cellsToCells.

Definition at line 358 of file intersectionCellsToCells.C.

References primitiveMesh::nCells().

Here is the call graph for this function:

◆ normalise()

void normalise ( const polyMesh mesh,
labelListList localOtherCells,
scalarListList weights 
) const
protectedvirtual

Normalise the weights for a given mesh.

Implements cellsToCells.

Definition at line 414 of file intersectionCellsToCells.C.

References tetOverlapVolume::cellVolumeMinDecomp(), and forAll.

Here is the call graph for this function:

◆ TypeName()

TypeName ( "intersection"  )

Run-time type information.


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