23template <
int dim>
class Element;
24template <
int dim>
class Node;
25template <
int dim,
int topodim>
class FaceElement;
35template <
int spacedim>
49 const std::any &data = std::any());
55 const std::any &data = std::any());
61 const std::any &data);
97 uint_t boundary_indicator_;
115 static const int dim_ = 2;
116 static const int topodim_ = 1;
131 virtual void resize_nodes();
137 virtual void set_node(
uint_t i, node_ptr_t node);
140 virtual node_ptr_t node_ptr(
uint_t n);
180 virtual std::vector<uint_t> get_vertices_ids()
const;
195 real_t owner_neighbor_distance()
const;
198 virtual std::ostream &print_mesh_entity_info(std::ostream &
out)
const;
205 bool is_owner(
uint_t id)
const;
220 cnode_ref_t get_vertex(
uint_t v)
const;
223 node_ref_t get_vertex(
uint_t v);
250 uint_t boundary_indicator_;
253 std::ostream &print_(std::ostream &
o)
const;
309 real_t volume()const{return 0.0;}
312 GeomPoint<3> centroid()const{return GeomPoint<3>(0.0);}
316 bool is_owner(uint_t id)const{return true;}
319 Element<3>& get_neighbor(){}
322 const Element<3>& get_neighbor()const{}
325 Element<3>& get_owner(){}
328 const Element<3>& get_owner()const{}
330 bool is_active()const{return true;}
332 uint_t get_id()const{return id_;}
333 void set_id(uint_t id){id_ = id;}
334 bool has_valid_id()const{return true;}
340 uint_t boundary_indicator_;
342 std::ostream& print_(std::ostream& o)const;
351FaceElement<3,1>::print_mesh_entity_info(std::ostream &out)const
Wraps the notion of an element.
Definition element.h:30
void set_owner_element(Element< 2 > *o)
Definition face_element.h:153
Node< 2 > & node_ref_t
Definition face_element.h:120
void set_shared_element(Element< 2 > *n)
Definition face_element.h:158
bool on_boundary() const
Returns true iff a boundary indicator has been set.
Definition face_element.h:183
void set_id(uint_t id)
Definition face_element.h:230
uint_t boundary_indicator() const
Get the boundary indicator of the face.
Definition face_element.h:186
EdgeSelector< 2 >::ptr_t edge_ptr_t
Definition face_element.h:122
const Node< 2 > * cnode_ptr_t
Definition face_element.h:119
Node< 2 > * node_ptr_t
Definition face_element.h:118
uint_t get_id() const
Definition face_element.h:229
Element< 2 > * owner()
Definition face_element.h:172
EdgeSelector< 2 >::cptr_t cface_ptr_t
Definition face_element.h:125
void set_owner_shared_elements(Element< 2 > *o, Element< 2 > *n)
set the pointers for the shared and owner of this side
Definition face_element.h:161
bool has_valid_id() const
Definition face_element.h:231
Element< 2 > * neighbor()
Definition face_element.h:177
bool is_active() const
Definition face_element.h:228
std::vector< node_ptr_t > nodes_
The nodes of the element.
Definition face_element.h:239
virtual uint_t n_faces() const
How many faces the element has.
Definition face_element.h:149
virtual uint_t n_nodes() const
How many nodes the element has.
Definition face_element.h:134
virtual uint_t n_edges() const
How many edges the element has.
Definition face_element.h:146
const Node< 2 > & cnode_ref_t
Definition face_element.h:121
virtual uint_t n_vertices() const
How many vertices the element has.
Definition face_element.h:143
EdgeSelector< 2 >::ptr_t face_ptr_t
Definition face_element.h:124
void set_boundary_indicator(uint_t bind)
set the boundary indicator for the FaceElement
Definition face_element.h:168
virtual ~FaceElement()
dtor
Definition face_element.h:128
EdgeSelector< 2 >::cptr_t cedge_ptr_t
Definition face_element.h:123
GeomPoint< spacedim > centroid() const
The centroid is the point itself.
Definition face_element.h:90
FaceElement(const FaceElement &t)
real_t volume() const
Definition face_element.h:87
uint_t boundary_indicator() const
Definition face_element.h:93
bool on_boundary() const
Definition face_element.h:92
void make_vertex()
detailed make this node a vertex
Definition face_element.h:79
bool is_vertex() const
returns true iff make_vertex has been called on this object
Definition face_element.h:82
virtual ~FaceElement()
Definition face_element.h:76
Definition edge_face_selector.h:12
A class that describes a point with spacedim spatial dimension space.
Definition geom_point.h:22
Helper class that wraps non template dependent parameters and common to every mesh entity.
Definition mesh_entity.h:23
Wraps the notion of a node. A node is simply a point in dim-space that can hold dofs.
Definition node.h:24
const uint_t INVALID_ID
Invalid id.
Definition bitrl_consts.h:21
OutT resolve(const std::string &name, const std::map< std::string, std::any > &input)
Definition std_map_utils.h:25
Definition bitrl_consts.h:14
double real_t
real_t
Definition bitrl_types.h:23
Eigen::RowVectorX< T > DynVec
Dynamically sized row vector.
Definition bitrl_types.h:74
std::size_t uint_t
uint_t
Definition bitrl_types.h:43
EdgeType< dim, 1 >::cptr_t cptr_t
Definition edge_face_selector.h:39
EdgeType< dim, 1 >::ptr_t ptr_t
Definition edge_face_selector.h:37