PPL Logo

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

Go to the source code of this file.

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.


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.

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