21 #include "libmesh/edge.h" 22 #include "libmesh/node_elem.h" 41 libmesh_assert_less (side, this->
n_sides());
50 libmesh_error_msg(
"Calling Edge::local_edge_node() does not make sense.");
58 libmesh_assert_less (i, 2);
59 std::unique_ptr<Elem> nodeelem = std::make_unique<NodeElem>();
60 nodeelem->set_node(0, this->
node_ptr(i));
62 nodeelem->set_interior_parent(
this);
63 nodeelem->inherit_data_from(*
this);
72 libmesh_assert_less (i, this->
n_sides());
74 if (!side.get() || side->type() !=
NODEELEM)
78 side->inherit_data_from(*
this);
79 side->set_node(0, this->
node_ptr(i));
88 libmesh_assert_less (i, 2);
89 std::unique_ptr<Elem> nodeelem = std::make_unique<NodeElem>();
90 nodeelem->set_node(0, this->
node_ptr(i));
92 nodeelem->set_interior_parent(
this);
93 nodeelem->inherit_data_from(*
this);
100 const unsigned int i)
102 libmesh_assert_less (i, this->
n_sides());
104 if (!side.get() || side->type() !=
NODEELEM)
108 side->set_interior_parent(
this);
109 side->inherit_data_from(*
this);
110 side->set_node(0, this->
node_ptr(i));
118 const unsigned int s)
const 121 libmesh_assert_less (s, this->
n_sides());
130 libmesh_assert_less (side_in, 2);
137 const unsigned int libmesh_dbg_var(side_in))
const 139 libmesh_assert_less (node_in, 2);
140 libmesh_assert_less (side_in, this->
n_sides());
146 std::vector<unsigned>
149 libmesh_assert_less(s, 2);
153 std::vector<unsigned>
161 libmesh_assert_less (side, this->
n_sides());
167 libmesh_assert_less (s, 2);
189 const Real eps)
const 191 return ((p(0) >= -1-eps) && (p(0) <= 1+eps));
ElemType
Defines an enum for geometric element types.
virtual unsigned int local_edge_node(unsigned int edge, unsigned int edge_node) const override final
Throws an error.
virtual std::vector< unsigned int > nodes_on_side(const unsigned int s) const override
virtual unsigned int local_side_node(unsigned int side, unsigned int) const override final
static const int nodes_per_edge
virtual bool is_flipped() const override final
virtual bool is_node_on_side(const unsigned int n, const unsigned int s) const =0
The libMesh namespace provides an interface to certain functionality in the library.
static const int num_sides
Geometric constants for all Edges.
static const int num_children
virtual std::unique_ptr< Elem > build_side_ptr(const unsigned int i) override final
virtual unsigned int opposite_side(const unsigned int s) const override final
virtual std::unique_ptr< Elem > side_ptr(const unsigned int i) override final
virtual unsigned int n_children() const override final
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Node * node_ptr(const unsigned int i) const
unsigned int center_node_on_side(const unsigned short side) const override final
static const int num_edges
virtual bool on_reference_element(const Point &p, const Real eps=TOLERANCE) const override final
ElemType side_type(const unsigned int s) const override final
virtual unsigned int opposite_node(const unsigned int n, const unsigned int s) const override final
A Point defines a location in LIBMESH_DIM dimensional Real space.
const Point & point(const unsigned int i) const
virtual std::vector< unsigned int > nodes_on_edge(const unsigned int e) const override
virtual bool is_child_on_side(const unsigned int c, const unsigned int s) const override final
virtual unsigned int n_sides() const override final
static const int nodes_per_side