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.
|
Public Member Functions | |
Block () | |
Default constructor. More... | |
Block (ot::TreeNode pNode, unsigned int rotID, unsigned int regLev, unsigned int regEleBegin, unsigned int regEleEnd, unsigned int eleOrder) | |
constructor to initialize and create a block. More... | |
ot::TreeNode | getBlockNode () const |
Return the block node. | |
unsigned int | getRegularGridLev () const |
returns the regular grid lev (m_uiRegGridLev) value. note: In octree2BlockDecomposition m_uiRegGridLev is used to store the rotation id of the block. | |
unsigned int | getRotationID () const |
returns the rotation id of the block | |
DendroIntL | getLocalElementBegin () const |
returns the local element begin for the block. | |
DendroIntL | getLocalElementEnd () const |
returns the local element end for the block. | |
unsigned int | get1DPadWidth () const |
returns 1D padding width | |
unsigned int | getElementOrder () const |
returns the element order | |
void | setOffset (DendroIntL offset) |
set the block offset | |
void | setBlk2DiagMap (unsigned int owner, unsigned int dir, unsigned int id) |
void | setBlk2VertexMap (unsigned int dir, unsigned int id) |
void | setIsInternal (bool isInternal) |
void | setBlkType (BlockType btype) |
BlockType | getBlockType () const |
bool | isInternal () |
void | setBlkNodeFlag (unsigned int flag) |
set the blkFlag with the correct bdy | |
unsigned int | getBlkNodeFlag () const |
set the blkFlag with the correct bdy | |
DendroIntL | getOffset () const |
get offset | |
unsigned int | get1DArraySize () const |
returns the 1D array size | |
unsigned int | getAllocationSzX () const |
allocation length on X direction | |
unsigned int | getAllocationSzY () const |
allocation length on Y direction | |
unsigned int | getAllocationSzZ () const |
allocation length on Z direction | |
unsigned int | getAlignedBlockSz () const |
align the total block size | |
const unsigned int * | getBlk2DiagMap () const |
const unsigned int * | getBlk2VertexMap () const |
void | setAllocationSzX (unsigned int sz) |
void | setAllocationSzY (unsigned int sz) |
void | setAllocationSzZ (unsigned int sz) |
void | setSiz1D (unsigned int sz) |
unsigned int | getElemSz1D () const |
const std::vector< unsigned int > & | getBlk2DiagMap_vec () const |
const std::vector< unsigned int > & | getBlk2VertexMap_vec () const |
double | computeGridDx () const |
computes and returns the space discretization (grid domain) | |
double | computeGridDy () const |
computes and returns the space discretization (grid domain) | |
double | computeGridDz () const |
computes and returns the space discretization (grid domain) | |
double | computeDx (const Point &d_min, const Point &d_max) const |
computes and returns the space discretization on x direction (problem domain) | |
double | computeDy (const Point &d_min, const Point &d_max) const |
computes and returns the space discretization on x direction (problem domain) | |
double | computeDz (const Point &d_min, const Point &d_max) const |
computes and returns the space discretization on x direction (problem domain) | |
void | initializeBlkDiagMap (const unsigned int value) |
void | initializeBlkVertexMap (const unsigned int value) |
ot::Block::Block | ( | ) |
Default constructor.
class definition of the class Block.
ot::Block::Block | ( | ot::TreeNode | pNode, |
unsigned int | rotID, | ||
unsigned int | regLev, | ||
unsigned int | regEleBegin, | ||
unsigned int | regEleEnd, | ||
unsigned int | eleOrder | ||
) |
constructor to initialize and create a block.
[in] | pNode | ot::TreeNode for the block. |
[in] | rotID | rotation ID for the block. |
[in] | regLev | level of the regular grid embedded by the block. |
[in] | regEleBegin | Local element begin location for the for the octree embedded by the block. |
[in] | regEleEnd | Local element end location for the octree embedded by the block . |
[in] | eleorder | element order of the mesh. |