Dendro
5.01
Dendro in Greek language means tree. The Dendro library is a large scale (262K cores on ORNL's Titan) distributed memory adaptive octree framework. The main goal of Dendro is to perform large scale multiphysics simulations efficeiently in mordern supercomputers. Dendro consists of efficient parallel data structures and algorithms to perform variational ( finite element) methods and finite difference mthods on 2:1 balanced arbitary adaptive octrees which enables the users to perform simulations raning from black holes (binary black hole mergers) to blood flow in human body, where applications ranging from relativity, astrophysics to biomedical engineering.
|
This is the complete list of members for ot::Mesh, including all inherited members.
applyStencil(const std::vector< T > &in, std::vector< T > &out, const Stencil< T, length, offsetCentered > ¢ered, const Stencil< T, length, offsetBackward > &backward, const Stencil< T, length, offsetForward > &forward) | ot::Mesh | |
buildF2EMap() | ot::Mesh | |
child2ParentInjection(double *in, double *out, bool *isHanging) const | ot::Mesh | inline |
child2ParentInterpolation(const double *in, double *out, unsigned int cnum, unsigned int dim=3) const | ot::Mesh | inline |
computeElementalContribution(const T *in, T *out, unsigned int elementID) const | ot::Mesh | |
cornerNodeIndex(unsigned int elementID, unsigned int mortonIndex, unsigned int &index) const | ot::Mesh | inline |
createUnZippedVector(std::vector< T > &uvec) const | ot::Mesh | |
createUnZippedVector() const | ot::Mesh | |
createUnZippedVector(std::vector< T > &uvec, const T initValue) const | ot::Mesh | |
createUnZippedVector(const T initValue) const | ot::Mesh | |
createVector() const | ot::Mesh | |
createVector(std::vector< T > &vec) const | ot::Mesh | |
createVector(const T initValue) const | ot::Mesh | |
createVector(std::function< T(T, T, T)> func) const | ot::Mesh | |
createVector(std::vector< T > &vec, const T initValue) const | ot::Mesh | |
createVector(std::vector< T > &vec, std::function< T(T, T, T)> func) const | ot::Mesh | |
currentElementNeighbourIndexList(unsigned int *neighList) | ot::Mesh | inline |
currentElementNodeList(unsigned int *nodeList) | ot::Mesh | inline |
currentElementNodeList_DG(unsigned int *nodeList) | ot::Mesh | inline |
currentIndex() | ot::Mesh | inline |
currentOctant() | ot::Mesh | inline |
dg2eijk(unsigned int dg_index, unsigned int &e, unsigned int &i, unsigned int &j, unsigned int &k) const | ot::Mesh | inline |
edgeNodeIndex(unsigned int elementID, unsigned int face1, unsigned int face2, std::vector< unsigned int > &index, bool isInternal) const | ot::Mesh | inline |
elementNodeIndex(unsigned int elementID, std::vector< unsigned int > &index, bool isInternal) const | ot::Mesh | inline |
faceNodesIndex(unsigned int elementID, unsigned int face, std::vector< unsigned int > &index, bool isInternal) const | ot::Mesh | inline |
flagBlocks() (defined in ot::Mesh) | ot::Mesh | |
getAllElements() const | ot::Mesh | inline |
getAllLocalNodes() const | ot::Mesh | inline |
getBlkBdyParentNodeIndices(unsigned int blkId, unsigned int eleId, unsigned int dir, unsigned int *nid, unsigned int *child, unsigned int *fid, unsigned int *cid) | ot::Mesh | |
getCG2DGMap() const | ot::Mesh | inline |
getDegOfFreedom() const | ot::Mesh | inline |
getDegOfFreedomUnZip() const | ot::Mesh | inline |
getDG2CGMap() const | ot::Mesh | inline |
getE2EMapping() const | ot::Mesh | inline |
getE2NMapping() const | ot::Mesh | inline |
getE2NMapping_DG() const | ot::Mesh | inline |
getElementalEdgeNeighbors(const unsigned int eID, const unsigned int dir, unsigned int *lookup) const | ot::Mesh | |
getElementalFaceNeighbors(const unsigned int eID, const unsigned int dir, unsigned int *lookup) const | ot::Mesh | |
getElementalVertexNeighbors(const unsigned int eID, const unsigned int dir, unsigned int *lookup) const | ot::Mesh | |
getElementCoordinates(unsigned int eleID, double *coords) const | ot::Mesh | |
getElementLocalBegin() const | ot::Mesh | inline |
getElementLocalEnd() const | ot::Mesh | inline |
getElementNodalValues(const T *vec, T *nodalValues, unsigned int elementID) const | ot::Mesh | |
getElementOrder() const | ot::Mesh | inline |
getElementPostGhostBegin() const | ot::Mesh | inline |
getElementPostGhostEnd() const | ot::Mesh | inline |
getElementPreGhostBegin() const | ot::Mesh | inline |
getElementPreGhostEnd() const | ot::Mesh | inline |
getElementQMat(unsigned int currentId, double *&qMat, bool isAllocated=true) const | ot::Mesh | |
getElementType(unsigned int eleID) | ot::Mesh | |
getFaceNeighborValues(unsigned int eleID, const T *in, T *out, T *coords, unsigned int *neighID, unsigned int face, NeighbourLevel &level) const | ot::Mesh | |
getGhostExcgTotalRecvNodeCount() const (defined in ot::Mesh) | ot::Mesh | inline |
getGhostExcgTotalSendNodeCount() const (defined in ot::Mesh) | ot::Mesh | inline |
getLevel1GhostElementIndices() const | ot::Mesh | inline |
getLocalBlockList() const | ot::Mesh | inline |
getMortonchildNum(unsigned int eleID) const | ot::Mesh | inline |
getMPICommSize() const | ot::Mesh | inline |
getMPICommSizeGlobal() const | ot::Mesh | inline |
getMPICommunicator() const | ot::Mesh | inline |
getMPIGlobalCommunicator() const | ot::Mesh | inline |
getMPIRank() const | ot::Mesh | inline |
getMPIRankGlobal() const | ot::Mesh | inline |
getNodalRecvCounts() const | ot::Mesh | inline |
getNodalRecvOffsets() const | ot::Mesh | inline |
getNodalSendCounts() const | ot::Mesh | inline |
getNodalSendOffsets() const | ot::Mesh | inline |
getNodalSplitterNodes() const | ot::Mesh | inline |
getNodeLocalBegin() const | ot::Mesh | inline |
getNodeLocalEnd() const | ot::Mesh | inline |
getNodePostGhostBegin() const | ot::Mesh | inline |
getNodePostGhostEnd() const | ot::Mesh | inline |
getNodePreGhostBegin() const | ot::Mesh | inline |
getNodePreGhostEnd() const | ot::Mesh | inline |
getNumDirections() const | ot::Mesh | inline |
getNumLocalMeshElements() const | ot::Mesh | inline |
getNumLocalMeshNodes() const | ot::Mesh | inline |
getNumNodesPerElement() const | ot::Mesh | inline |
getNumPostGhostElements() const | ot::Mesh | inline |
getNumPostMeshNodes() const | ot::Mesh | inline |
getNumPreGhostElements() const | ot::Mesh | inline |
getNumPreMeshNodes() const | ot::Mesh | inline |
getRecvNodeSM() const | ot::Mesh | inline |
getRecvProcList() const | ot::Mesh | inline |
getRecvProcListSize() const | ot::Mesh | inline |
getReferenceElement() const | ot::Mesh | inline |
getScatterMapType() | ot::Mesh | inline |
getSendNodeSM() const | ot::Mesh | inline |
getSendProcList() const | ot::Mesh | inline |
getSendProcListSize() const | ot::Mesh | inline |
getSplitterElements() const | ot::Mesh | inline |
getUnzipElementalNodalValues(const T *uzipVec, unsigned int blkID, unsigned int ele, T *out, bool isPadded=true) const | ot::Mesh | |
ghostExchangeRecvSync(T *vec, T *recvNodeBuffer, MPI_Request *recv_reqs, MPI_Status *recv_sts) | ot::Mesh | |
ghostExchangeSendSync(MPI_Request *send_reqs, MPI_Status *send_sts) | ot::Mesh | inline |
ghostExchangeStart(T *vec, T *sendNodeBuffer, T *recvNodeBuffer, MPI_Request *send_reqs, MPI_Request *recv_reqs) | ot::Mesh | |
init() | ot::Mesh | |
interGridTransfer(std::vector< T > &vec, const ot::Mesh *pMesh) | ot::Mesh | |
interGridTransfer(T *&vec, const ot::Mesh *pMesh) | ot::Mesh | |
interGridTransferUnzip(T *&unzip, T *&vec, const ot::Mesh *pMesh) | ot::Mesh | |
isActive() const | ot::Mesh | inline |
isBlockSetep() | ot::Mesh | inline |
isBoundaryOctant(unsigned int ele) const (defined in ot::Mesh) | ot::Mesh | inline |
isEdgeHanging(unsigned int elementId, unsigned int edgeId, unsigned int &cnum) const | ot::Mesh | |
isFaceHanging(unsigned int elementId, unsigned int faceId, unsigned int &cnum) const | ot::Mesh | |
isNodeHanging(unsigned int eleID, unsigned int ix, unsigned int jy, unsigned int kz) const | ot::Mesh | |
isNodeLocal(unsigned int eleID, unsigned int ix, unsigned int jy, unsigned int kz) const | ot::Mesh | inline |
isReMesh(const T **vec, const unsigned int *varIds, const unsigned int numVars, double tol, double amr_coarse_fac=DENDRO_AMR_COARSEN_FAC) | ot::Mesh | |
isReMeshUnzip(const T **unzippedVec, const unsigned int *varIds, const unsigned int numVars, std::function< double(double, double, double)> wavelet_tol, double amr_coarse_fac=DENDRO_AMR_COARSEN_FAC, double coarsen_hx=DENDRO_REMESH_UNZIP_SCALE_FAC) | ot::Mesh | |
Mesh(std::vector< ot::TreeNode > &in, unsigned int k_s, unsigned int pOrder, unsigned int activeNpes, MPI_Comm comm, bool pBlockSetup=true, SM_TYPE smType=SM_TYPE::FDM, unsigned int grainSz=DENDRO_DEFAULT_GRAIN_SZ, double ld_tol=DENDRO_DEFAULT_LB_TOL, unsigned int sf_k=DENDRO_DEFAULT_SF_K) | ot::Mesh | |
Mesh(std::vector< ot::TreeNode > &in, unsigned int k_s, unsigned int pOrder, MPI_Comm comm, bool pBlockSetup=true, SM_TYPE smType=SM_TYPE::FDM, unsigned int grainSz=DENDRO_DEFAULT_GRAIN_SZ, double ld_tol=DENDRO_DEFAULT_LB_TOL, unsigned int sf_k=DENDRO_DEFAULT_SF_K) | ot::Mesh | |
next() | ot::Mesh | |
nextAvailable() | ot::Mesh | |
parent2ChildInterpolation(const double *in, double *out, unsigned int cnum, unsigned int dim=3) const | ot::Mesh | inline |
performBlocksSetup() | ot::Mesh | |
performGhostExchange(std::vector< T > &vec) | ot::Mesh | |
performGhostExchange(T *vec) | ot::Mesh | |
ReMesh(unsigned int grainSz=DENDRO_DEFAULT_GRAIN_SZ, double ld_tol=DENDRO_DEFAULT_LB_TOL, unsigned int sfK=DENDRO_DEFAULT_SF_K, unsigned int(*getWeight)(const ot::TreeNode *)=NULL) | ot::Mesh | |
setOctreeRefineFlags(unsigned int *flags, unsigned int sz) | ot::Mesh | |
unzip(const T *zippedVec, T *unzippedVec) | ot::Mesh | |
unzip_async(T *zippedVec, T *unzippedVec, MPI_Request *send_reqs, MPI_Request *recv_reqs, MPI_Status *send_sts, MPI_Status *recv_sts) | ot::Mesh | |
vectorToVTK(const std::vector< T > &vec, char *fprefix, double pTime=0.0, unsigned int nCycle=0) const | ot::Mesh | |
waitAll() const | ot::Mesh | inline |
zip(const T *unzippedVec, T *zippedVec) | ot::Mesh | |
~Mesh() | ot::Mesh |