32 : parent_mesh_(parent_mesh),
66 unsigned int bc_ele_idx;
68 if (ele->boundary_idx_ != NULL)
69 for (
unsigned int i=0; i<ele->n_sides(); ++i)
70 if ((
int)ele->boundary_idx_[i] != -1) {
int LongIdx
Define type that represents indices of large arrays (elements, nodes, dofs etc.)
Class for the mesh partitioning. This should provide:
vector< Element > element_vec_
unsigned int size() const
Return size of map.
BCMesh(Mesh *parent_mesh)
void init_element_vector(unsigned int size)
Initialize element_vec_, set size and reset counters of boundary and bulk elements.
virtual const LongIdx * get_local_part()
BidirectionalMap< int > element_ids_
Maps element ids to indexes into vector element_vec_.
Range< ElementAccessor< 3 > > elements_range() const override
Returns range of boundary elements of parent mesh.
ElementAccessor< 3 > element_accessor(unsigned int idx) const override
Overwrite Mesh::element_accessor()
unsigned int n_nodes() const override
Overwrite Mesh::n_nodes()
bool check_compatible_mesh(Mesh &mesh, vector< LongIdx > &bulk_elements_id, vector< LongIdx > &boundary_elements_id) override
Overwrite Mesh::check_compatible_mesh()
vector< BoundaryData > boundary_
Boundary boundary(uint edge_idx) const
Partitioning * get_part() override
Overwrite Mesh::get_part()
virtual Partitioning * get_part()
virtual bool check_compatible_mesh(Mesh &mesh, vector< LongIdx > &bulk_elements_id, vector< LongIdx > &boundary_elements_id)
LongIdx * local_part_
Distribution of boundary elements to processors.
virtual Range< ElementAccessor< 3 > > elements_range() const
Returns range of bulk elements.
Support classes for parallel programing.
const LongIdx * get_local_part() override
Overwrite Mesh::get_local_part()
Mesh * parent_mesh_
Pointer to parent (bulk) mesh.
Implementation of range helper class.
unsigned int bulk_size_
Count of bulk elements.
unsigned int n_elements(bool boundary=false) const override
Returns count of boundary elements of parent mesh.
void init_node_vector(unsigned int size)
Initialize node_vec_, set size.