Go to the documentation of this file.
20 #ifndef LIBMESH_EDGE_H
21 #define LIBMESH_EDGE_H
24 #include "libmesh/elem.h"
45 Edge (
const unsigned int nn,
47 Node ** nodelinkdata) :
59 virtual ~Edge() =
default;
64 virtual unsigned short dim () const override final {
return 1; }
69 virtual unsigned int n_nodes()
const override {
return 2; }
74 virtual unsigned int n_sides() const override final {
return 2; }
79 virtual unsigned int n_vertices() const override final {
return 2; }
84 virtual unsigned int n_edges() const override final {
return 0; }
89 virtual unsigned int n_faces() const override final {
return 0; }
94 virtual unsigned int n_children() const override final {
return 2; }
100 const unsigned int s)
const override final;
106 const unsigned int)
const override final
113 virtual unsigned int opposite_side(
const unsigned int s)
const override final;
121 const unsigned int s)
const override final;
140 unsigned int )
const override final;
145 virtual std::unique_ptr<Elem>
side_ptr (
const unsigned int i)
override final;
150 virtual void side_ptr (std::unique_ptr<Elem> & side,
const unsigned int i)
override final;
155 virtual std::unique_ptr<Elem>
build_side_ptr (
const unsigned int i,
156 bool proxy=
true) override final;
162 const
unsigned int i) override final;
168 { libmesh_not_implemented();
return std::unique_ptr<Elem>(); }
170 virtual std::vector<unsigned int>
nodes_on_side(
const unsigned int s)
const override;
179 #ifdef LIBMESH_ENABLE_AMR
185 const unsigned int)
const
186 { libmesh_not_implemented();
return 0; }
194 #endif // LIBMESH_EDGE_H
static dof_id_type compute_key(dof_id_type n0)
virtual unsigned int opposite_node(const unsigned int n, const unsigned int s) const override final
void set_interior_parent(Elem *p)
Sets the pointer to the element's interior_parent.
virtual unsigned int opposite_side(const unsigned int s) const override final
virtual std::unique_ptr< Elem > build_side_ptr(const unsigned int i, bool proxy=true) override final
The libMesh namespace provides an interface to certain functionality in the library.
Edge & operator=(const Edge &)=delete
virtual std::unique_ptr< Elem > build_edge_ptr(const unsigned int) override final
The Elem::build_edge_ptr() member makes no sense for edges.
virtual unsigned int n_faces() const override final
The Edge is an element in 1D.
virtual unsigned int n_vertices() const override final
Edge(const unsigned int nn, Elem *p, Node **nodelinkdata)
Default line element, takes number of nodes and parent.
virtual std::unique_ptr< Elem > side_ptr(const unsigned int i) override final
virtual unsigned int n_children() const override final
virtual dof_id_type key() const
A Node is like a Point, but with more information.
virtual bool is_edge_on_side(const unsigned int, const unsigned int) const override final
virtual unsigned int which_node_am_i(unsigned int side, unsigned int) const override final
virtual unsigned int n_sides() const override final
virtual unsigned short dim() const override final
virtual std::vector< unsigned int > nodes_on_side(const unsigned int s) const override
virtual unsigned int n_nodes() const override
virtual dof_id_type key(const unsigned int s) const override final
unsigned int side_children_matrix(const unsigned int, const unsigned int) const
Matrix that allows children to inherit boundary conditions.
This is the base class from which all geometric element types are derived.
virtual unsigned int n_edges() const override final
virtual bool is_child_on_side(const unsigned int c, const unsigned int s) const override final
dof_id_type node_id(const unsigned int i) const
Elem * _elemlinks_data[3+(LIBMESH_DIM >1)]
Data for links to parent/neighbor/interior_parent elements.