#include <Pane_ghost_connectivity.h>
Public Member Functions | |
Pane_ghost_connectivity (COM::Window *window) | |
Constructors. More... | |
~Pane_ghost_connectivity () | |
void | build_pconn () |
void | init () |
void | get_node_total_order () |
void | get_ents_to_send (vector< vector< vector< int > > > &gelem_lists, vector< vector< map< pair< int, int >, int > > > &nodes_to_send, vector< vector< deque< int > > > &elems_to_send, vector< vector< int > > &comm_sizes) |
Determine elements/nodes to be ghosted on adjacent panes. More... | |
void | process_received_data (vector< vector< vector< int > > > &recv_info, vector< vector< int > > &elem_renumbering, vector< vector< map< pair< int, int >, int > > > &nodes_to_recv) |
void | finalize_pconn (vector< vector< map< pair< int, int >, int > > > &nodes_to_send, vector< vector< map< pair< int, int >, int > > > &nodes_to_recv, vector< vector< deque< int > > > &elems_to_send, vector< vector< int > > &elem_renumbering, vector< vector< vector< int > > > &recv_info) |
void | get_cpanes () |
void | send_gelem_lists (vector< vector< vector< int > > > &gelem_lists, vector< vector< vector< int > > > &recv_info, vector< vector< int > > &comm_sizes) |
void | send_pane_info (vector< vector< vector< int > > > &send_info, vector< vector< vector< int > > > &recv_info, vector< vector< int > > &comm_sizes) |
Private Member Functions | |
void | determine_shared_border () |
void | mark_elems_from_nodes (std::vector< std::vector< bool > > &marked_nodes, std::vector< std::vector< bool > > &marked_elems) |
Private Attributes | |
std::vector< std::vector< bool > > | _is_shared_node |
std::vector< std::vector< bool > > | _is_shared_elem |
std::vector< std::vector< int > > | _cpanes |
COM::Window * | _buf_window |
string | _etype_str [COM::Connectivity::TYPE_MAX_CONN] |
vector< vector< int > > | _p_gorder |
Attribute * | _w_n_gorder |
vector< map< pair< int, int > , int > > | _local_nodes |
vector< Pane * > | _panes |
int | _npanes |
Definition at line 73 of file Pane_ghost_connectivity.h.
|
inlineexplicit |
Constructors.
Definition at line 77 of file Pane_ghost_connectivity.h.
References _buf_window, and init().
|
inline |
Definition at line 82 of file Pane_ghost_connectivity.h.
void build_pconn | ( | ) |
Definition at line 103 of file Pane_ghost_connectivity.C.
References finalize_pconn(), get_ents_to_send(), get_node_total_order(), pane_i_vector, process_received_data(), and send_gelem_lists().
|
private |
Definition at line 811 of file Pane_ghost_connectivity.C.
References _buf_window, _is_shared_elem, _is_shared_node, _npanes, _panes, COM_assertion_msg, COM_PCONN, i, j, k, mark_elems_from_nodes(), and nj.
Referenced by init().
void finalize_pconn | ( | vector< vector< map< pair< int, int >, int > > > & | nodes_to_send, |
vector< vector< map< pair< int, int >, int > > > & | nodes_to_recv, | ||
vector< vector< deque< int > > > & | elems_to_send, | ||
vector< vector< int > > & | elem_renumbering, | ||
vector< vector< vector< int > > > & | recv_info | ||
) |
Definition at line 443 of file Pane_ghost_connectivity.C.
References _buf_window, _cpanes, _etype_str, _local_nodes, _npanes, _panes, COM_assertion, COM_assertion_msg, COM_NC, COM_PCONN, i, j, k, nj, nk, Connectivity::size_of_nodes_pe(), Attribute::size_of_real_items(), and Connectivity::TYPE_MAX_CONN.
Referenced by build_pconn().
void get_cpanes | ( | ) |
Definition at line 635 of file Pane_ghost_connectivity.C.
References _buf_window, _cpanes, _npanes, _panes, COM_PCONN, i, j, nj, Attribute::pointer(), and Attribute::size_of_real_items().
Referenced by init().
void get_ents_to_send | ( | vector< vector< vector< int > > > & | gelem_lists, |
vector< vector< map< pair< int, int >, int > > > & | nodes_to_send, | ||
vector< vector< deque< int > > > & | elems_to_send, | ||
vector< vector< int > > & | comm_sizes | ||
) |
Determine elements/nodes to be ghosted on adjacent panes.
Create a buffer of local cells to send to each adjacent pane. Each cell in the buffer will take the form:
[cell type][cell nodes in total-ordering format]
Element ids are not needed, just use the same order in the RCS and GCR sections of the pconn.
Definition at line 233 of file Pane_ghost_connectivity.C.
References _buf_window, _cpanes, _npanes, _p_gorder, _panes, _w_n_gorder, COM_assertion_msg, COM_PCONN, i, Attribute::id(), j, k, nj, nk, Attribute::pointer(), and Attribute::size_of_real_items().
Referenced by build_pconn().
void get_node_total_order | ( | ) |
Definition at line 140 of file Pane_ghost_connectivity.C.
References _buf_window, _cpanes, _local_nodes, _npanes, _p_gorder, _panes, _w_n_gorder, COM_PCONN, i, Attribute::id(), j, k, MPI_MAX, nj, and Attribute::pointer().
Referenced by build_pconn().
void init | ( | ) |
Definition at line 51 of file Pane_ghost_connectivity.C.
References _buf_window, _etype_str, _npanes, _panes, _w_n_gorder, Connectivity::BAR2, Connectivity::BAR3, COM_INT, COM_MESH, COM_PCONN, determine_shared_border(), get_cpanes(), Connectivity::HEX20, Connectivity::HEX27, Connectivity::HEX8, i, Connectivity::PRISM15, Connectivity::PRISM18, Connectivity::PRISM6, Connectivity::PYRIMID14, Connectivity::PYRIMID5, Connectivity::QUAD4, Connectivity::QUAD8, Connectivity::QUAD9, Connectivity::ST1, Connectivity::ST2, Connectivity::ST3, Connectivity::TET10, Connectivity::TET4, Connectivity::TRI3, and Connectivity::TRI6.
Referenced by Pane_ghost_connectivity().
|
private |
Definition at line 851 of file Pane_ghost_connectivity.C.
References _npanes, _panes, i, j, k, and nk.
Referenced by determine_shared_border().
void process_received_data | ( | vector< vector< vector< int > > > & | recv_info, |
vector< vector< int > > & | elem_renumbering, | ||
vector< vector< map< pair< int, int >, int > > > & | nodes_to_recv | ||
) |
Definition at line 364 of file Pane_ghost_connectivity.C.
References _local_nodes, _npanes, _panes, i, j, k, Connectivity::size_of_nodes_pe(), and Connectivity::TYPE_MAX_CONN.
Referenced by build_pconn().
void send_gelem_lists | ( | vector< vector< vector< int > > > & | gelem_lists, |
vector< vector< vector< int > > > & | recv_info, | ||
vector< vector< int > > & | comm_sizes | ||
) |
Definition at line 668 of file Pane_ghost_connectivity.C.
References _cpanes, _npanes, i, j, nj, pane_i_vector, and send_pane_info().
Referenced by build_pconn().
void send_pane_info | ( | vector< vector< vector< int > > > & | send_info, |
vector< vector< vector< int > > > & | recv_info, | ||
vector< vector< int > > & | comm_sizes | ||
) |
Definition at line 715 of file Pane_ghost_connectivity.C.
References _buf_window, _cpanes, _npanes, _panes, COM_assertion, COMMPI_Comm_rank(), COMMPI_Initialized(), COMMPI_Irecv(), COMMPI_Isend(), i, j, MPI_BYTE, MPI_COMM_SELF, nj, and total_npanes.
Referenced by send_gelem_lists().
|
private |
Definition at line 182 of file Pane_ghost_connectivity.h.
Referenced by determine_shared_border(), finalize_pconn(), get_cpanes(), get_ents_to_send(), get_node_total_order(), init(), Pane_ghost_connectivity(), and send_pane_info().
|
private |
Definition at line 180 of file Pane_ghost_connectivity.h.
Referenced by finalize_pconn(), get_cpanes(), get_ents_to_send(), get_node_total_order(), send_gelem_lists(), and send_pane_info().
|
private |
Definition at line 185 of file Pane_ghost_connectivity.h.
Referenced by finalize_pconn(), and init().
|
private |
Definition at line 177 of file Pane_ghost_connectivity.h.
Referenced by determine_shared_border().
|
private |
Definition at line 174 of file Pane_ghost_connectivity.h.
Referenced by determine_shared_border().
|
private |
Definition at line 192 of file Pane_ghost_connectivity.h.
Referenced by finalize_pconn(), get_node_total_order(), and process_received_data().
|
private |
Definition at line 198 of file Pane_ghost_connectivity.h.
Referenced by determine_shared_border(), finalize_pconn(), get_cpanes(), get_ents_to_send(), get_node_total_order(), init(), mark_elems_from_nodes(), process_received_data(), send_gelem_lists(), and send_pane_info().
|
private |
Definition at line 188 of file Pane_ghost_connectivity.h.
Referenced by get_ents_to_send(), and get_node_total_order().
|
private |
Definition at line 195 of file Pane_ghost_connectivity.h.
Referenced by determine_shared_border(), finalize_pconn(), get_cpanes(), get_ents_to_send(), get_node_total_order(), init(), mark_elems_from_nodes(), process_received_data(), and send_pane_info().
|
private |
Definition at line 189 of file Pane_ghost_connectivity.h.
Referenced by get_ents_to_send(), get_node_total_order(), and init().