PPL Logo

libs/ck-libs/datatransfer/transfer.h File Reference

Go to the source code of this file.

Data Structures

class  TetMeshElement
 Provides ConcreteElement interface for one element of the TetMesh class. More...
class  Triangle3DElement
 Provides ConcreteElement interface for one element of the TriangularSurfaceMesh class. More...

Functions

double getSharedVolumeTets (const ConcreteElement &A, const ConcreteElement &B)
 Compute the volume shared by elements A and B, which must be tets.
double getSharedArea (const ConcreteElement &A, const ConcreteElement &B)
 get the overlap area between A, a prism, and B, a 3D triangle.
double getSharedVolume (int s, const TetMesh &srcMesh, int d, const TetMesh &destMesh)
 Compute the volume shared by cell s of srcMesh and cell d of destMesh.
void transferCells (int valsPerTet, double *srcVals, const TetMesh &srcMesh, double *destVals, const TetMesh &destMesh)
 Conservatively, accurately transfer srcVals, tet-centered values on srcMesh to destVals, tet-centered values on destMesh WARNING: uses O(srcMesh * destMesh) time!


Function Documentation

double getSharedVolumeTets ( const ConcreteElement A,
const ConcreteElement B 
)

Compute the volume shared by elements A and B, which must be tets.

Definition at line 16 of file transfer.C.

References abort(), Mgc::FindIntersection(), ConcreteElement::getNodeLocation(), CkVector3dT< real >::x, CkVector3dT< real >::y, and CkVector3dT< real >::z.

Referenced by getSharedVolume(), and parallelTransfer_c::transfer().

Here is the call graph for this function:

Here is the caller graph for this function:

double getSharedArea ( const ConcreteElement A,
const ConcreteElement B 
)

get the overlap area between A, a prism, and B, a 3D triangle.

Definition at line 36 of file transfer.C.

Referenced by parallelSurfaceTransfer_c::transfer().

Here is the caller graph for this function:

double getSharedVolume ( int  s,
const TetMesh srcMesh,
int  d,
const TetMesh destMesh 
)

Compute the volume shared by cell s of srcMesh and cell d of destMesh.

Definition at line 64 of file transfer.C.

References getSharedVolumeTets().

Referenced by transferCells().

Here is the call graph for this function:

Here is the caller graph for this function:

void transferCells ( int  valsPerTet,
double *  srcVals,
const TetMesh srcMesh,
double *  destVals,
const TetMesh destMesh 
)

Conservatively, accurately transfer srcVals, tet-centered values on srcMesh to destVals, tet-centered values on destMesh WARNING: uses O(srcMesh * destMesh) time!

Definition at line 79 of file transfer.C.

References PUP::d, getSharedVolume(), TetMesh::getTets(), TetMesh::getTetVolume(), and PUP::s.

Referenced by main().

Here is the call graph for this function:

Here is the caller graph for this function:


Generated on Mon Sep 21 08:07:05 2020 for Charm++ by  doxygen 1.5.5