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(), printf(), CkVector3dT< real >::x, CkVector3dT< real >::y, and CkVector3dT< real >::z.

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

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().

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().

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 getSharedVolume(), TetMesh::getTets(), TetMesh::getTetVolume(), printf(), and s.

Referenced by main().


Generated on Sat May 26 08:08:09 2012 for Charm++ by  doxygen 1.5.5