32 #ifndef _PANE_CONNECTIVITY_H_
33 #define _PANE_CONNECTIVITY_H_
47 typedef std::vector<const COM::Pane*>
Pane_set;
60 COM::Attribute *pconn_f=NULL) throw(
int);
64 int *npanes_total,
int *npanes_ghost=NULL);
88 bool for_facet)
throw(
int);
94 bool for_facet)
throw(
int);
99 std::vector<Point_3> &pnts,
100 bool for_facet)
throw(
int);
106 std::vector<Point_3> &pnts,
107 bool for_facet)
throw(
int);
112 std::vector<Point_3> &pnts,
114 std::vector<bool> &is_co,
117 void collect_nodes( const std::vector<std::vector<
int> > &ns,
118 std::vector<
int> &nodes,
#define MAP_END_NAMESPACE
here we put it at the!beginning of the common block The point to point and collective!routines know about but MPI_TYPE_STRUCT as yet does not!MPI_STATUS_IGNORE and MPI_STATUSES_IGNORE are similar objects!Until the underlying MPI library implements the C version of these are declared as arrays of MPI_STATUS_SIZE!The types and are OPTIONAL!Their values are zero if they are not available Note that!using these reduces the portability of MPI_IO INTEGER MPI_BOTTOM INTEGER MPI_DOUBLE_PRECISION INTEGER MPI_LOGICAL INTEGER MPI_2REAL INTEGER MPI_2DOUBLE_COMPLEX INTEGER MPI_LB INTEGER MPI_WTIME_IS_GLOBAL INTEGER MPI_COMM_WORLD
void create_b2map(COM::Attribute *pconn, bool for_facet)
Create b2v mapping (pane connectivity) for nodes or edges and store the solution into the given Rocco...
void determine_coisolated_nodes(const COM::Pane &pn, std::vector< Point_3 > &pnts, const double tol, std::vector< bool > &is_co, KD_tree_3 *tree=NULL)
void collect_nodes(const std::vector< std::vector< int > > &ns, std::vector< int > &nodes, std::vector< Point_3 > &pnts, bool for_facet)
An Attribute object is a data member of a window.
A Window object contains multiple panes and multiple data attributes.
void compute_pconn(COM::Attribute *pconn_n, COM::Attribute *pconn_f=NULL)
Create b2v mapping for nodes and facets (edges or faces) correspondence.
void collect_points(const std::vector< std::vector< int > > &ns, std::vector< Point_3 > &pnts)
static const int _pconn_offset
static int pconn_offset()
Retrieve an offset to avoid the number of communicating panes when reading a pconn attribute...
MAP::Point_3< double > Point_3
double collect_boundary_nodes(std::vector< int > &nodes, std::vector< Point_3 > &pnts, bool for_facet)
Collect the boundary nodes of all panes that are coincident with the boundary nodes of local panes...
Contains declarations of MPI subroutines used in Roccom.
Provides a data structure accessing nodes, elements, and edges in a pane, in a manner similar to the ...
std::vector< const COM::Pane * > Pane_set
const COM::Window *const _win
Pane_connectivity(const COM::Attribute *mesh, MPI_Comm c=MPI_COMM_WORLD)
Constructors.
double get_local_boundary_nodes(std::vector< int > &nodes, std::vector< Point_3 > &pnts, bool for_facet)
Obtains the IDs and coordinates of boundary nodes of all local panes.
#define MAP_BEGIN_NAMESPACE
const Simple_manifold_2 ** _mani2
static void size_of_cpanes(const COM::Attribute *pconn, const int *pane_id, int *npanes_total, int *npanes_ghost=NULL)
Get the number of communicating panes.
static int pconn_nblocks(const COM::Attribute *pconn)
Determine the number of pconn blocks for all panes.