97 template <
int spacedim>
127 arma::vec::fixed<spacedim>
centre()
const;
140 const SideIter side(
const unsigned int loc_index)
const;
153 return mesh_ != NULL;
180 unsigned int idx()
const {
270 Edge(
const Mesh *mesh,
unsigned int edge_idx);
278 {
return mesh_ !=
nullptr; }
281 unsigned int idx()
const {
299 {
return edge_data()->n_sides;}
330 return boundary_data_ !=
nullptr;
335 return boundary_data_->mesh_;
340 return boundary_data_->edge_idx_;
345 return boundary_data_->bc_ele_idx_;
365 Side(
const Mesh * mesh,
unsigned int elem_idx,
unsigned int set_lnum);
370 double diameter()
const;
373 unsigned int dim()
const;
376 bool is_external()
const;
388 unsigned int edge_idx()
const;
400 unsigned int cond_idx()
const;
410 {
return this->
mesh_; }
414 {
return side_idx_; }
418 {
return elem_idx_; }
422 {
return mesh_!=
nullptr; }
466 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
NodeAccessor< 3 > node_accessor(unsigned int ni) const
unsigned int dim_
Dimension of reference element.
unsigned int side_idx() const
Returns local index of the side on the element.
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...
unsigned int mesh_idx() const
Return global idx of element in full element vector.
NodeAccessor< 3 > node_accessor(unsigned int idx) const
Create and return NodeAccessor to node of given idx.
const Mesh * mesh_
Pointer to the mesh owning the node.
const Mesh * mesh_
Pointer to the mesh owning the element.
arma::Mat< Type >::template fixed< resRows, resCols > operator*(const Mat< Type, resRows, commonDimension > &a, const Mat< Type, commonDimension, resCols > &b)
SideIter side(const unsigned int loc_index)
BoundaryData * boundary_data_
const RegionDB & region_db() const
unsigned int element_idx_
Index into Mesh::element_vec_ array.
unsigned int proc() const
bool operator==(const ElementAccessor< spacedim > &other)
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_
double quality_measure_smooth(SideIter side) const
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 node_idx(unsigned int ni) const
Return index (in Mesh::node_vec) of ni-th node.
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.
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
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)
const Node * node(unsigned int ni) const