IBAMR  IBAMR version 0.19.
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams Struct Reference

Parameters shared among all dendogram nodes in an dendogram and collectively managed by those nodes. More...

#include <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. More...
 

Static Public Member Functions

static int getRank (const tbox::SAMRAI_MPI::comm &mpi_communicator_)
 Utility function for getting rank from an arbitrary communicator. More...
 
static int getProcCount (const tbox::SAMRAI_MPI::comm &mpi_communicator_)
 Utility function for getting processor count from an arbitrary communicator. More...
 

Public Attributes

tbox::JobRelauncher job_relauncher
 
hier::LayerNodeSet< DIM > tag_node_set
 Layer of graph nodes coresponding to patch boxes on the tagged level. More...
 
hier::LayerNodeSet< DIM > new_node_set
 Layer of graph nodes (boxes) generated by BR. More...
 
Connectivity tag_cnect_new
 Connectivity from tag_node_set to new_node_set. More...
 
Connectivity new_cnect_tag
 Connectivity from new_node_set to tag_node_set. More...
 
IntSet edge_senders
 List of processes that will send neighbor data for locally owned boxes after the BR algorithm completes. More...
 
std::map< int, std::vector< int > > edge_messages
 Outgoing messages to be sent to graph node owners describing new edges found by local process. More...
 
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
 
int compute_edges
 Edge computation flag. More...
 
hier::IntVector< DIM > max_gcw
 Ammount to grow a box when checking for overlap. More...
 
OwnerMode owner_mode
 How to chose the group's owner. More...
 
bool use_level_boxes
 Whether to use globally duplicated level boxes and globally duplicate new graph nodes. More...
 
Communication parameters
tbox::SAMRAI_MPI::comm mpi_communicator
 MPI communicator used in all communications in the dendogram. More...
 
const int rank
 
const int nproc
 
int tag_upper_bound
 Upperbound of valid tags. More...
 
int available_mpi_tag
 Smallest unclaimed MPI tag in pool given to local process. More...
 
Performance monitors
tbox::Pointer< tbox::Timert_cluster
 
tbox::Pointer< tbox::Timert_continue_algorithm
 
tbox::Pointer< tbox::Timert_compute_new_graph_edges
 
tbox::Pointer< tbox::Timert_share_new_edges
 
tbox::Pointer< tbox::Timert_share_new_edges_send
 
tbox::Pointer< tbox::Timert_share_new_edges_recv
 
tbox::Pointer< tbox::Timert_share_new_edges_unpack
 
tbox::Pointer< tbox::Timert_reduce_histogram
 
tbox::Pointer< tbox::Timert_bcast_acceptability
 
tbox::Pointer< tbox::Timert_gather_grouping_criteria
 
tbox::Pointer< tbox::Timert_bcast_child_groups
 
tbox::Pointer< tbox::Timert_bcast_to_dropouts
 
Auxiliary data for analysis and debugging.
bool log_node_history
 Whether to log major actions of dendogram node. More...
 
int num_nodes_allocated
 Current number of dendogram nodes allocated. More...
 
int max_nodes_allocated
 Highest number of dendogram nodes. More...
 
int num_nodes_active
 Current number of dendogram nodes active. More...
 
int max_nodes_active
 Highest number of dendogram nodes active. More...
 
int num_nodes_owned
 Current number of dendogram nodes owned. More...
 
int max_nodes_owned
 Highest number of dendogram nodes owned. More...
 
int num_nodes_completed
 Current number of dendogram nodes completed. More...
 
int max_generation
 Highest number of generation. More...
 
int num_boxes_generated
 Current number of boxes generated. More...
 
int num_conts_to_complete
 Number of continueAlgorithm calls for to complete nodes. More...
 
int max_conts_to_complete
 Highest number of continueAlgorithm calls to complete nodes. More...
 

Detailed Description

template<int DIM>
struct SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams

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.

Constructor & Destructor Documentation

◆ CommonParams()

template<int DIM>
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_ 
)

Member Function Documentation

◆ getRank()

template<int DIM>
static int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::getRank ( const tbox::SAMRAI_MPI::comm mpi_communicator_)
static

◆ getProcCount()

template<int DIM>
static int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::getProcCount ( const tbox::SAMRAI_MPI::comm mpi_communicator_)
static

Member Data Documentation

◆ job_relauncher

template<int DIM>
tbox::JobRelauncher SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::job_relauncher

◆ tag_node_set

template<int DIM>
hier::LayerNodeSet<DIM> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::tag_node_set

If edges are computed (see setComputeEdges()), the edges go between the graph nodes on the tagged level and the generated graph nodes.

◆ new_node_set

template<int DIM>
hier::LayerNodeSet<DIM> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::new_node_set

This is where we store the boxes resulting from the BR algorithm.

◆ tag_cnect_new

template<int DIM>
Connectivity SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::tag_cnect_new

This is where we store the edges resulting from the BR algorithm. The edges are created locally for local nodes in tag_node_set.

◆ new_cnect_tag

template<int DIM>
Connectivity SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::new_cnect_tag

The edges are created when the owners of nodes in tag_node_set share edge data with owners of nodes in new_node_set.

◆ edge_senders

template<int DIM>
IntSet SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::edge_senders

◆ edge_messages

template<int DIM>
std::map<int,std::vector<int> > SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::edge_messages

◆ level

template<int DIM>
const tbox::Pointer<hier::PatchLevel<DIM> > SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::level

◆ tag_data_index

template<int DIM>
const int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::tag_data_index

◆ tag_val

template<int DIM>
const int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::tag_val

◆ min_box

template<int DIM>
const hier::IntVector<DIM> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::min_box

◆ efficiency_tol

template<int DIM>
const double SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::efficiency_tol

◆ combine_tol

template<int DIM>
const double SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::combine_tol

◆ compute_edges

template<int DIM>
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::compute_edges

◆ max_gcw

template<int DIM>
hier::IntVector<DIM> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::max_gcw

◆ owner_mode

template<int DIM>
OwnerMode SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::owner_mode

◆ use_level_boxes

template<int DIM>
bool SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::use_level_boxes

◆ mpi_communicator

template<int DIM>
tbox::SAMRAI_MPI::comm SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::mpi_communicator

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.

◆ rank

template<int DIM>
const int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::rank

◆ nproc

template<int DIM>
const int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::nproc

◆ tag_upper_bound

template<int DIM>
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::tag_upper_bound

◆ available_mpi_tag

template<int DIM>
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::available_mpi_tag

◆ t_cluster

template<int DIM>
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_cluster

◆ t_continue_algorithm

template<int DIM>
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_continue_algorithm

◆ t_compute_new_graph_edges

template<int DIM>
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_compute_new_graph_edges

◆ t_share_new_edges

template<int DIM>
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_share_new_edges

◆ t_share_new_edges_send

template<int DIM>
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_share_new_edges_send

◆ t_share_new_edges_recv

template<int DIM>
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_share_new_edges_recv

◆ t_share_new_edges_unpack

template<int DIM>
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_share_new_edges_unpack

◆ t_reduce_histogram

template<int DIM>
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_reduce_histogram

◆ t_bcast_acceptability

template<int DIM>
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_bcast_acceptability

◆ t_gather_grouping_criteria

template<int DIM>
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_gather_grouping_criteria

◆ t_bcast_child_groups

template<int DIM>
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_bcast_child_groups

◆ t_bcast_to_dropouts

template<int DIM>
tbox::Pointer<tbox::Timer> SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::t_bcast_to_dropouts

◆ log_node_history

template<int DIM>
bool SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::log_node_history

◆ num_nodes_allocated

template<int DIM>
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::num_nodes_allocated

◆ max_nodes_allocated

template<int DIM>
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::max_nodes_allocated

◆ num_nodes_active

template<int DIM>
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::num_nodes_active

◆ max_nodes_active

template<int DIM>
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::max_nodes_active

◆ num_nodes_owned

template<int DIM>
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::num_nodes_owned

◆ max_nodes_owned

template<int DIM>
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::max_nodes_owned

◆ num_nodes_completed

template<int DIM>
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::num_nodes_completed

◆ max_generation

template<int DIM>
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::max_generation

◆ num_boxes_generated

template<int DIM>
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::num_boxes_generated

◆ num_conts_to_complete

template<int DIM>
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::num_conts_to_complete

◆ max_conts_to_complete

template<int DIM>
int SAMRAI::mesh::AsyncBergerRigoutsosNode< DIM >::CommonParams::max_conts_to_complete

The documentation for this struct was generated from the following file: