98 template <
int spacedim>
128 arma::vec::fixed<spacedim>
centre()
const;
141 const SideIter side(
const unsigned int loc_index)
const;
154 return mesh_ != NULL;
181 unsigned int idx()
const {
272 Edge(
const Mesh *mesh,
unsigned int edge_idx);
280 {
return mesh_ !=
nullptr; }
283 unsigned int idx()
const {
301 {
return edge_data()->n_sides;}
332 return boundary_data_ !=
nullptr;
337 return boundary_data_->mesh_;
342 return boundary_data_->edge_idx_;
347 return boundary_data_->bc_ele_idx_;
367 Side(
const Mesh * mesh,
unsigned int elem_idx,
unsigned int set_lnum);
372 double diameter()
const;
375 unsigned int dim()
const;
378 bool is_external()
const;
390 unsigned int edge_idx()
const;
402 unsigned int cond_idx()
const;
412 {
return this->
mesh_; }
416 {
return side_idx_; }
420 {
return elem_idx_; }
424 {
return mesh_!=
nullptr; }
438 return !( *
this == other);
477 return !( *
this == other);
unsigned int get_proc(unsigned int idx) const
get processor of the given index
unsigned int n_sides() const
Returns number of sides aligned with the edge.
const Element * element() const
Bounding box in 3d ambient space.
vector< Element > element_vec_
void inc()
Incremental function of the Edge iterator.
LongIdx * get_row_4_el() const
unsigned int dim_
Dimension of reference element.
unsigned int side_idx() const
Returns local index of the side on the element.
bool operator!=(const ElementAccessor< spacedim > &other) const
unsigned int idx() const
Returns edge global index.
bool is_boundary() const
We need this method after replacing Region by RegionIdx, and movinf RegionDB instance into particular...
bool operator==(const ElementAccessor< spacedim > &other) const
unsigned int mesh_idx() const
Return global idx of element in full element vector.
const Mesh * mesh_
Pointer to the mesh owning the node.
bool operator!=(const Side &other) const
const Mesh * mesh_
Pointer to the mesh owning the element.
SideIter side(const unsigned int loc_index)
double quality_measure_smooth() const
BoundaryData * boundary_data_
const RegionDB & region_db() const
unsigned int element_idx_
Index into Mesh::element_vec_ array.
bool operator==(const Side &other) const
unsigned int proc() const
NodeAccessor< 3 > node(unsigned int ni) const
UnitSI operator*(const UnitSI &a, const UnitSI &b)
Product of two units.
arma::vec::fixed< spacedim > centre() const
Computes the barycenter.
unsigned int elem_idx_
Index of element in Mesh::element_vec_.
bool operator==(const Edge &other) const
Comparison operator of the iterator.
static const unsigned int undefined_dim_
bool is_elemental() const
const Mesh * mesh() const
Returns pointer to the mesh.
int find_elem_id(unsigned int pos) const
Return element id (in GMSH file) of element of given position in element vector.
unsigned int index() const
bool is_valid() const
Returns true if the side has assigned element.
bool operator!=(const SideIter &other)
void inc()
Incremental function of the Element iterator.
BoundingBox bounding_box() const
double measure() const
Computes the measure of the element.
NodeAccessor< 3 > node(unsigned int idx) const
Create and return NodeAccessor to node of given idx.
bool boundary_
True if the element is boundary.
Distribution * get_el_ds() const
ElementAccessor()
Default invalid accessor.
const Element * operator->() const
unsigned int side_idx_
Local # of side in element (to remove it, we heve to remove calc_side_rhs)
RegionIdx r_idx_
Region index.
Support classes for parallel programing.
unsigned int edge_idx_
Index into Mesh::edges vector.
vector< arma::vec3 > vertex_list() const
Return list of element vertices.
const Mesh * mesh_
Pointer to Mesh to which belonged.
RegionIdx region_idx() const
double tetrahedron_jacobian() const
Class RefElement defines numbering of vertices, sides, calculation of normal vectors etc...
unsigned int elem_idx() const
Returns index of element in Mesh::element_vec_.
void inc()
Iterate over local sides of the element.
bool operator==(const SideIter &other)
unsigned int idx() const
Return local idx of element in boundary / bulk part of element vector.
unsigned int bulk_size_
Count of bulk elements.
unsigned int n_nodes() const
Returns number of nodes of the side.
SideIter(const Side &side)