Flow123d
DF_variant_benchmark_asm-8560e52
|
Class represents boundary part of mesh. More...
#include <bc_mesh.hh>
Public Member Functions | |
BCMesh (Mesh *parent_mesh) | |
~BCMesh () override | |
Destructor. More... | |
Partitioning * | get_part () override |
Overwrite Mesh::get_part() More... | |
const LongIdx * | get_local_part () override |
Overwrite Mesh::get_local_part() More... | |
std::shared_ptr< EquivalentMeshMap > | check_compatible_mesh (Mesh &input_mesh) override |
Overwrite Mesh::check_compatible_mesh() More... | |
BCMesh * | bc_mesh () const override |
Implement MeshBase::bc_mesh() More... | |
Public Member Functions inherited from MeshBase | |
TYPEDEF_ERR_INFO (EI_ElemId, int) | |
TYPEDEF_ERR_INFO (EI_ElemIdOther, int) | |
DECLARE_EXCEPTION (ExcTooMatchingIds,<< "Mesh: Duplicate dim-join lower dim elements: "<< EI_ElemId::val<< ", "<< EI_ElemIdOther::val<< ".\n") | |
MeshBase () | |
virtual | ~MeshBase () |
unsigned int | n_elements () const |
unsigned int | n_edges () const |
unsigned int | n_vb_neighbours () const |
Distribution * | get_el_ds () const |
LongIdx * | get_el_4_loc () const |
LongIdx * | get_row_4_el () const |
const Element & | element (unsigned idx) const |
Edge | edge (uint edge_idx) const |
Return edge with given index. More... | |
const Neighbour & | vb_neighbour (unsigned int nb) const |
Return neighbour with given index. More... | |
int | find_elem_id (unsigned int pos) const |
Return element id (in GMSH file) of element of given position in element vector. More... | |
unsigned int | max_edge_sides (unsigned int dim) const |
const DuplicateNodes * | duplicate_nodes () const |
vector< vector< unsigned int > > const & | node_elements () |
int | find_node_id (unsigned int pos) const |
Return node id (in GMSH file) of node of given position in node vector. More... | |
void | check_element_size (unsigned int elem_idx) const |
Check if given index is in element_vec_. More... | |
const std::vector< unsigned int > & | get_side_nodes (unsigned int dim, unsigned int side) const |
unsigned int | n_nodes () const |
const RegionDB & | region_db () const |
NodeAccessor< 3 > | node (unsigned int idx) const |
Create and return NodeAccessor to node of given idx. More... | |
ElementAccessor< 3 > | element_accessor (unsigned int idx) const |
Create and return ElementAccessor to element of given idx. More... | |
Range< ElementAccessor< 3 > > | elements_range () const |
Returns range of mesh elements. More... | |
Range< NodeAccessor< 3 > > | node_range () const |
Returns range of nodes. More... | |
Range< Edge > | edge_range () const |
Return range of edges. More... | |
void | intersect_element_lists (vector< unsigned int > const &nodes_list, vector< unsigned int > &intersection_element_list) |
int | elem_index (int elem_id) const |
For element of given elem_id returns index in element_vec_ or (-1) if element doesn't exist. More... | |
void | init_element_vector (unsigned int size) |
Initialize element_vec_, set size and reset counters of boundary and bulk elements. More... | |
void | init_node_vector (unsigned int size) |
Initialize node_vec_, set size. More... | |
const std::vector< unsigned int > & | node_permutations () const |
Return permutation vector of nodes. More... | |
const std::vector< unsigned int > & | element_permutations () const |
Return permutation vector of elements. More... | |
Private Member Functions | |
void | init_distribution () |
setup distribution of elements and related vectors More... | |
void | make_neighbours_and_edges () |
Boundary | boundary (unsigned int) const override |
Private Attributes | |
Mesh * | parent_mesh_ |
Pointer to parent (bulk) mesh. More... | |
LongIdx * | local_part_ |
Distribution of boundary elements to processors. More... | |
Friends | |
class | Mesh |
Additional Inherited Members | |
Public Attributes inherited from MeshBase | |
vector< vector< unsigned int > > | node_elements_ |
For each node the vector contains a list of elements that use this node. More... | |
vector< vector< vector< unsigned int > > > | side_nodes |
Static Public Attributes inherited from MeshBase | |
static const unsigned int | undef_idx =-1 |
Protected Member Functions inherited from MeshBase | |
void | canonical_faces () |
void | create_node_element_lists () |
Element * | add_element_to_vector (int id, bool is_boundary=false) |
Adds element to mesh data structures (element_vec_, element_ids_), returns pointer to this element. More... | |
bool | find_lower_dim_element (vector< unsigned int > &element_list, unsigned int dim, unsigned int &element_idx) |
bool | same_sides (const SideIter &si, vector< unsigned int > &side_nodes) |
Protected Attributes inherited from MeshBase | |
vector< Element > | element_vec_ |
BidirectionalMap< int > | element_ids_ |
Maps element ids to indexes into vector element_vec_. More... | |
std::vector< EdgeData > | edges |
Vector of MH edges, this should not be part of the geometrical mesh. More... | |
vector< Neighbour > | vb_neighbours_ |
Vector of compatible neighbourings. More... | |
unsigned int | max_edge_sides_ [3] |
Maximal number of sides per one edge in the actual mesh (set in make_neighbours_and_edges()). More... | |
shared_ptr< Armor::Array< double > > | nodes_ |
shared_ptr< BidirectionalMap< int > > | node_ids_ |
Maps node ids to indexes into vector node_vec_. More... | |
std::vector< unsigned int > | node_permutation_ |
Vector of node permutations of optimized mesh (see class MeshOptimizer) More... | |
std::vector< unsigned int > | elem_permutation_ |
Vector of element permutations of optimized mesh (see class MeshOptimizer) More... | |
std::array< std::array< uint, 4 >, 64 > | element_nodes_original_ |
LongIdx * | row_4_el |
LongIdx * | el_4_loc |
Index set assigning to local element index its global index. More... | |
Distribution * | el_ds |
Parallel distribution of elements. More... | |
DuplicateNodes * | duplicate_nodes_ |
std::shared_ptr< RegionDB > | region_db_ |
Class represents boundary part of mesh.
Holds pointer to parent Mesh and overwrites methods, that allow access to boundary elements and other functionality and structures necessary to work above boundary part of mesh.
Definition at line 37 of file bc_mesh.hh.
BCMesh::BCMesh | ( | Mesh * | parent_mesh | ) |
Constructor from parent (bulk) Mesh.
Definition at line 30 of file bc_mesh.cc.
|
override |
Destructor.
Definition at line 42 of file bc_mesh.cc.
|
inlineoverridevirtual |
Implement MeshBase::bc_mesh()
Implements MeshBase.
Definition at line 57 of file bc_mesh.hh.
|
overrideprivatevirtual |
Implements MeshBase.
Definition at line 103 of file bc_mesh.cc.
|
overridevirtual |
Overwrite Mesh::check_compatible_mesh()
Implements MeshBase.
Definition at line 98 of file bc_mesh.cc.
|
overridevirtual |
|
overridevirtual |
|
private |
setup distribution of elements and related vectors
Definition at line 47 of file bc_mesh.cc.
|
private |
|
friend |
Definition at line 80 of file bc_mesh.hh.
|
private |
Distribution of boundary elements to processors.
Definition at line 77 of file bc_mesh.hh.
|
private |
Pointer to parent (bulk) mesh.
Definition at line 74 of file bc_mesh.hh.