#include "TreeNode.h"
#include "parUtils.h"
#include "seqUtils.h"
#include <cstring>
Go to the source code of this file.
Namespaces | |
namespace | ot |
Functions | |
void | addBoundaryNodesType1 (std::vector< ot::TreeNode > &in, std::vector< ot::TreeNode > &bdy, unsigned int dim, unsigned int maxDepth) |
generates psuedonodes for the positive boundary and inserts them into bdy | |
void | addBoundaryNodesType2 (std::vector< ot::TreeNode > &in, std::vector< ot::TreeNode > &bdy, unsigned int dim, unsigned int maxDepth) |
bool | areComparable (TreeNode first, TreeNode second) |
checks if the dim and maxdepths are the same. | |
bool | bPartComparator (TreeNode a, TreeNode b) |
criteria for picking blocks inside blockPart | |
int | createRegularOctree (std::vector< ot::TreeNode > &out, unsigned int lev, unsigned int dim, unsigned int maxDepth, MPI_Comm comm) |
Creates a regular grid octree. | |
void | discardExtraBoundaryOctants (std::vector< ot::TreeNode > &in, unsigned int dim, unsigned int maxDepth) |
void | flagNodesType1 (std::vector< ot::TreeNode > &in, MPI_Comm comm) |
Identifies hanging nodes. Uses two all2allv communications. No overlap of comm and comp. | |
void | flagNodesType2 (std::vector< ot::TreeNode > &in, MPI_Comm comm) |
Identifies hanging nodes. It just uses 1 communication by sending apriori results. Overlaps comm and comp. | |
void | flagNodesType3 (std::vector< ot::TreeNode > &in, MPI_Comm comm) |
Identifies hanging nodes. 2 step communication, overlapping comm and comp. | |
TreeNode | getNCA (TreeNode first, TreeNode second) |
unsigned int | getNodeWeight (const TreeNode *t) |
char | int2char (int d) |
int | int2str (int n, char *s) |
bool | lessThanUsingWts (TreeNode const &a, TreeNode const &b) |
A comparator that uses the weights of the octants instead of the Morton ordering. | |
int | lineariseList (std::vector< ot::TreeNode > &list, MPI_Comm comm) |
Makes the input linear. Removes duplicates and ancestors. | |
int | lineariseList (std::vector< ot::TreeNode > &list, bool skipLast) |
Makes the input linear. Removes duplicates and ancestors. | |
void | markBoundaryNodesAtAllLevels (std::vector< ot::TreeNode > &finestOctree, unsigned int nlevels, std::vector< ot::TreeNode > *coarserOctrees, unsigned int maxDepth) |
void | markHangingNodesAtAllLevels (std::vector< ot::TreeNode > &finestOctree, unsigned int nlevels, std::vector< ot::TreeNode > *coarserOctrees, MPI_Comm *activeComms, unsigned int dim, unsigned int maxDepth) |
int | mergeOctrees (std::vector< TreeNode > &inOct1, std::vector< TreeNode > &inOct2, std::vector< TreeNode > &outOct, MPI_Comm comm) |
Merges the 2 input octrees and linearizes the result. | |
int | readDataPtsFromFile (char *filename, std::vector< double > &pts, std::vector< double > &ptVals) |
Reads a list of points and corresponding values from a file. | |
int | readNodesFromFile (char *filename, std::vector< TreeNode > &nodes) |
Reads a list of octants from a file. | |
int | readPtsFromFile (char *filename, std::vector< double > &pts) |
Reads a list of points from a file. | |
int | refineAndPartitionOctree (const std::vector< ot::TreeNode > &inp, std::vector< ot::TreeNode > &out, MPI_Comm comm) |
Replaces every octant with its eight children and partitions the result uniformly across the processors. | |
int | refineOctree (const std::vector< ot::TreeNode > &inp, std::vector< ot::TreeNode > &out) |
Replaces every octant with its eight children. | |
int | writeDataPtsToFile (char *filename, std::vector< double > &pts, std::vector< double > &data) |
Writes a list of points and corresponding values from a file. | |
int | writeNodesToFile (char *filename, const std::vector< TreeNode > &nodes) |
Writes a list of octants to a file. | |
int | writePtsToFile (char *filename, std::vector< double > &pts) |
Writes a list of points to a file. |
Hari Sundar, hsundar@gmail.com
Definition in file OctFunctions.C.
|
generates psuedonodes for the positive boundary and inserts them into bdy
Definition at line 626 of file OctFunctions.C. References ot::TreeNode::getLevel(), ot::TreeNode::getX(), ot::TreeNode::getY(), ot::TreeNode::getZ(), PROF_ADD_BDY_BEGIN, and PROF_ADD_BDY_END. Referenced by ot::DA::DA_FactoryPart1(), and ot::DAMGCreateAndSetDA(). |
|
Definition at line 473 of file OctFunctions.C. References ot::TreeNode::getLevel(), ot::TreeNode::getX(), ot::TreeNode::getY(), ot::TreeNode::getZ(), PROF_ADD_BDY_BEGIN, and PROF_ADD_BDY_END. |
|
checks if the dim and maxdepths are the same.
Definition at line 431 of file OctFunctions.C. References ot::TreeNode::getDim(), and ot::TreeNode::getMaxDepth(). Referenced by ot::TreeNode::addBalancingDescendants(), ot::appendCompleteRegion(), ot::balanceBlocks(), ot::balanceOctree(), ot::TreeNode::balanceSubtree(), ot::blockPartStage1(), ot::blockPartStage2(), ot::blockPartStage2_p2o(), ot::comboRipple(), ot::completeOctree(), ot::TreeNode::completeSubtree(), ot::completeSubtree(), ot::finalMergeInBal(), ot::getNCA(), ot::lineariseList(), ot::mergeComboBalAndPickBoundary(), ot::p2oLocal(), ot::parallelRippleType1(), ot::parallelRippleType2(), ot::parallelRippleType3(), ot::TreeNode::pickInternalBoundaryCells(), ot::prepareBalComm2Messages(), ot::prepareWlistInBal(), ot::ripple(), and ot::TreeNode::splitInternalAndBoundaryCells(). |
|
criteria for picking blocks inside blockPart
Definition at line 267 of file OctFunctions.C. References ot::TreeNode::getLevel(), and ot::TreeNode::getWeight(). |
|
Creates a regular grid octree.
Definition at line 153 of file OctFunctions.C. References ot::refineAndPartitionOctree(). Referenced by main(). |
|
Definition at line 584 of file OctFunctions.C. References ot::TreeNode::getX(), ot::TreeNode::getY(), and ot::TreeNode::getZ(). |
|
Identifies hanging nodes. Uses two all2allv communications. No overlap of comm and comp.
Definition at line 708 of file OctFunctions.C. References ot::TreeNode::getChildNumber(), ot::TreeNode::getDim(), ot::TreeNode::getLevel(), ot::TreeNode::getMaxDepth(), ot::TreeNode::getParent(), ot::TreeNode::getX(), ot::TreeNode::getY(), ot::TreeNode::getZ(), ot::TreeNode::orFlag(), PROF_FLN_STAGE1_BEGIN, PROF_FLN_STAGE1_END, PROF_FLN_STAGE2_BEGIN, PROF_FLN_STAGE2_END, PROF_FLN_STAGE3_BEGIN, PROF_FLN_STAGE3_END, PROF_FLN_STAGE4_BEGIN, PROF_FLN_STAGE4_END, PROF_FLN_STAGE5_BEGIN, PROF_FLN_STAGE5_END, PROF_MARK_HANGING_BEGIN, and PROF_MARK_HANGING_END. |
|
Identifies hanging nodes. It just uses 1 communication by sending apriori results. Overlaps comm and comp.
Definition at line 1062 of file OctFunctions.C. References seq::BinarySearch(), ot::TreeNode::getChildNumber(), ot::TreeNode::getDim(), ot::TreeNode::getLevel(), ot::TreeNode::getMaxDepth(), ot::TreeNode::getX(), ot::TreeNode::getY(), ot::TreeNode::getZ(), par::Mpi_Alltoall(), ot::TreeNode::orFlag(), PROF_FLN_STAGE1_BEGIN, PROF_FLN_STAGE1_END, PROF_FLN_STAGE2_BEGIN, PROF_FLN_STAGE2_END, PROF_FLN_STAGE3_BEGIN, PROF_FLN_STAGE3_END, PROF_FLN_STAGE4_BEGIN, PROF_FLN_STAGE4_END, PROF_FLN_STAGE5_BEGIN, PROF_FLN_STAGE5_END, PROF_FLN_STAGE6_BEGIN, PROF_FLN_STAGE6_END, PROF_FLN_STAGE7_BEGIN, PROF_FLN_STAGE7_END, PROF_MARK_HANGING_BEGIN, and PROF_MARK_HANGING_END. |
|
|
Definition at line 281 of file OctFunctions.C. References ot::areComparable(), binOp::binLength(), ot::TreeNode::getDim(), ot::TreeNode::getMaxDepth(), ot::TreeNode::getX(), ot::TreeNode::getY(), and ot::TreeNode::getZ(). Referenced by ot::appendCompleteRegion(), ot::comboRipple(), ot::completeOctree(), and ot::completeSubtree(). |
|
Definition at line 263 of file OctFunctions.C. References ot::TreeNode::getWeight(). |
|
Definition at line 455 of file OctFunctions.C. Referenced by ot::int2str(). |
|
Definition at line 435 of file OctFunctions.C. References ot::int2char(). Referenced by main(). |
|
A comparator that uses the weights of the octants instead of the Morton ordering.
Definition at line 255 of file OctFunctions.C. References ot::TreeNode::getWeight(). |
|
Makes the input linear. Removes duplicates and ancestors.
Definition at line 194 of file OctFunctions.C. References par::splitComm2way(). Referenced by ot::mergeOctrees(). |
|
Makes the input linear. Removes duplicates and ancestors.
Definition at line 172 of file OctFunctions.C. References ot::areComparable(). |
|
Definition at line 554 of file OctFunctions.C. References ot::TreeNode::getX(), ot::TreeNode::getY(), ot::TreeNode::getZ(), and ot::TreeNode::orFlag(). |
|
Definition at line 607 of file OctFunctions.C. References ot::flagNodesType3(). Referenced by ot::DAMGCreateAndSetDA(). |
|
Merges the 2 input octrees and linearizes the result.
Definition at line 31 of file OctFunctions.C. References ot::lineariseList(), PROF_MERGE_OCTREES_BEGIN, and PROF_MERGE_OCTREES_END. |
|
Reads a list of points and corresponding values from a file.
Definition at line 333 of file OctFunctions.C. |
|
Reads a list of octants from a file.
Definition at line 393 of file OctFunctions.C. Referenced by main(). |
|
Reads a list of points from a file.
Definition at line 305 of file OctFunctions.C. Referenced by ComputeFBM_RHS_Part2(), and main(). |
|
Replaces every octant with its eight children and partitions the result uniformly across the processors.
Definition at line 146 of file OctFunctions.C. References ot::refineOctree(). Referenced by ot::createRegularOctree(). |
|
Replaces every octant with its eight children.
Definition at line 133 of file OctFunctions.C. References ot::TreeNode::addChildren(). Referenced by main(), and ot::refineAndPartitionOctree(). |
|
Writes a list of points and corresponding values from a file.
Definition at line 377 of file OctFunctions.C. |
|
Writes a list of octants to a file.
Definition at line 414 of file OctFunctions.C. References ot::TreeNode::getDim(), and ot::TreeNode::getMaxDepth(). Referenced by ot::DAMGCreateAndSetDA(), ot::test::isBalancedInternal(), and main(). |
|
Writes a list of points to a file.
Definition at line 360 of file OctFunctions.C. Referenced by main(). |