#include <source/mesh/clustering/AsyncBergerRigoutsosNode.h>
Public Member Functions | |
CommonParams (const tbox::Pointer< hier::PatchLevel< DIM > > level_, const int tag_data_index_, const int tag_val_, const hier::IntVector< DIM > min_box_, const double efficiency_tol_, const double combine_tol_, const tbox::SAMRAI_MPI::comm mpi_communicator_) | |
Constructor sets all const members, which must be given in argument. | |
Static Public Member Functions | |
static int | getRank (const tbox::SAMRAI_MPI::comm &mpi_communicator_) |
Utility function for getting rank from an arbitrary communicator. | |
static int | getProcCount (const tbox::SAMRAI_MPI::comm &mpi_communicator_) |
Utility function for getting processor count from an arbitrary communicator. | |
Public Attributes | |
tbox::JobRelauncher | job_relauncher |
hier::LayerNodeSet< DIM > | tag_node_set |
Layer of graph nodes coresponding to patch boxes on the tagged level. | |
hier::LayerNodeSet< DIM > | new_node_set |
Layer of graph nodes (boxes) generated by BR. | |
Connectivity | tag_cnect_new |
Connectivity from tag_node_set to new_node_set. | |
Connectivity | new_cnect_tag |
Connectivity from new_node_set to tag_node_set. | |
IntSet | edge_senders |
List of processes that will send neighbor data for locally owned boxes after the BR algorithm completes. | |
std::map< int, std::vector< int > > | edge_messages |
Outgoing messages to be sent to graph node owners describing new edges found by local process. | |
int | compute_edges |
Edge computation flag. | |
hier::IntVector< DIM > | max_gcw |
Ammount to grow a box when checking for overlap. | |
OwnerMode | owner_mode |
How to chose the group's owner. | |
bool | use_level_boxes |
Whether to use globally duplicated level boxes and globally duplicate new graph nodes. | |
const tbox::Pointer< hier::PatchLevel< DIM > > | level |
const int | tag_data_index |
const int | tag_val |
const hier::IntVector< DIM > | min_box |
const double | efficiency_tol |
const double | combine_tol |
Communication parameters | |
tbox::SAMRAI_MPI::comm | mpi_communicator |
MPI communicator used in all communications in the dendogram. | |
const int | rank |
const int | nproc |
int | tag_upper_bound |
Upperbound of valid tags. | |
int | available_mpi_tag |
Smallest unclaimed MPI tag in pool given to local process. | |
Performance monitors | |
tbox::Pointer< tbox::Timer > | t_cluster |
tbox::Pointer< tbox::Timer > | t_continue_algorithm |
tbox::Pointer< tbox::Timer > | t_compute_new_graph_edges |
tbox::Pointer< tbox::Timer > | t_share_new_edges |
tbox::Pointer< tbox::Timer > | t_share_new_edges_send |
tbox::Pointer< tbox::Timer > | t_share_new_edges_recv |
tbox::Pointer< tbox::Timer > | t_share_new_edges_unpack |
tbox::Pointer< tbox::Timer > | t_reduce_histogram |
tbox::Pointer< tbox::Timer > | t_bcast_acceptability |
tbox::Pointer< tbox::Timer > | t_gather_grouping_criteria |
tbox::Pointer< tbox::Timer > | t_bcast_child_groups |
tbox::Pointer< tbox::Timer > | t_bcast_to_dropouts |
Auxiliary data for analysis and debugging. | |
bool | log_node_history |
Whether to log major actions of dendogram node. | |
int | num_nodes_allocated |
Current number of dendogram nodes allocated. | |
int | max_nodes_allocated |
Highest number of dendogram nodes. | |
int | num_nodes_active |
Current number of dendogram nodes active. | |
int | max_nodes_active |
Highest number of dendogram nodes active. | |
int | num_nodes_owned |
Current number of dendogram nodes owned. | |
int | max_nodes_owned |
Highest number of dendogram nodes owned. | |
int | num_nodes_completed |
Current number of dendogram nodes completed. | |
int | max_generation |
Highest number of generation. | |
int | num_boxes_generated |
Current number of boxes generated. | |
int | num_conts_to_complete |
Number of continueAlgorithm calls for to complete nodes. | |
int | max_conts_to_complete |
Highest number of continueAlgorithm calls to complete nodes. |
In the implementation of the BR algorithm, some parameters are to be shared among all nodes in the dendogram, either for efficiency or coordinating the dendogram nodes. All such parameters are contained in a single CommonParams object.
SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::CommonParams | ( | const tbox::Pointer< hier::PatchLevel< DIM > > | level_, | |
const int | tag_data_index_, | |||
const int | tag_val_, | |||
const hier::IntVector< DIM > | min_box_, | |||
const double | efficiency_tol_, | |||
const double | combine_tol_, | |||
const tbox::SAMRAI_MPI::comm | mpi_communicator_ | |||
) |
Constructor sets all const members, which must be given in argument.
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::getRank | ( | const tbox::SAMRAI_MPI::comm & | mpi_communicator_ | ) | [static] |
Utility function for getting rank from an arbitrary communicator.
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::getProcCount | ( | const tbox::SAMRAI_MPI::comm & | mpi_communicator_ | ) | [static] |
Utility function for getting processor count from an arbitrary communicator.
tbox::JobRelauncher SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::job_relauncher |
hier::LayerNodeSet<DIM> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::tag_node_set |
Layer of graph nodes coresponding to patch boxes on the tagged level.
If edges are computed (see setComputeEdges()), the edges go between the graph nodes on the tagged level and the generated graph nodes.
hier::LayerNodeSet<DIM> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::new_node_set |
Layer of graph nodes (boxes) generated by BR.
This is where we store the boxes resulting from the BR algorithm.
Connectivity SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::tag_cnect_new |
Connectivity from tag_node_set to new_node_set.
This is where we store the edges resulting from the BR algorithm. The edges are created locally for local nodes in tag_node_set.
Connectivity SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::new_cnect_tag |
Connectivity from new_node_set to tag_node_set.
The edges are created when the owners of nodes in tag_node_set share edge data with owners of nodes in new_node_set.
IntSet SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::edge_senders |
List of processes that will send neighbor data for locally owned boxes after the BR algorithm completes.
std::map<int,std::vector<int> > SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::edge_messages |
Outgoing messages to be sent to graph node owners describing new edges found by local process.
const tbox::Pointer<hier::PatchLevel<DIM> > SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::level |
const int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::tag_data_index |
const int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::tag_val |
const hier::IntVector<DIM> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::min_box |
const double SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::efficiency_tol |
const double SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::combine_tol |
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::compute_edges |
Edge computation flag.
See setComputeEdges().
hier::IntVector<DIM> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::max_gcw |
Ammount to grow a box when checking for overlap.
OwnerMode SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::owner_mode |
How to chose the group's owner.
bool SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::use_level_boxes |
Whether to use globally duplicated level boxes and globally duplicate new graph nodes.
tbox::SAMRAI_MPI::comm SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::mpi_communicator |
MPI communicator used in all communications in the dendogram.
Currently set to MPI_COMM_WORLD. Could eventually be set to a duplicate of MPI_COMM_WORLD if there is interference with other communications using MPI_COMM_WORLD.
const int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::rank |
const int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::nproc |
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::tag_upper_bound |
Upperbound of valid tags.
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::available_mpi_tag |
Smallest unclaimed MPI tag in pool given to local process.
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_cluster |
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_continue_algorithm |
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_compute_new_graph_edges |
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_share_new_edges |
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_share_new_edges_send |
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_share_new_edges_recv |
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_share_new_edges_unpack |
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_reduce_histogram |
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_bcast_acceptability |
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_gather_grouping_criteria |
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_bcast_child_groups |
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_bcast_to_dropouts |
bool SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::log_node_history |
Whether to log major actions of dendogram node.
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::num_nodes_allocated |
Current number of dendogram nodes allocated.
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::max_nodes_allocated |
Highest number of dendogram nodes.
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::num_nodes_active |
Current number of dendogram nodes active.
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::max_nodes_active |
Highest number of dendogram nodes active.
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::num_nodes_owned |
Current number of dendogram nodes owned.
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::max_nodes_owned |
Highest number of dendogram nodes owned.
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::num_nodes_completed |
Current number of dendogram nodes completed.
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::max_generation |
Highest number of generation.
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::num_boxes_generated |
Current number of boxes generated.
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::num_conts_to_complete |
Number of continueAlgorithm calls for to complete nodes.
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::max_conts_to_complete |
Highest number of continueAlgorithm calls to complete nodes.