Go to the documentation of this file.
20 #ifndef LIBMESH_EDGE_INF_EDGE2_H
21 #define LIBMESH_EDGE_INF_EDGE2_H
23 #include "libmesh/libmesh_common.h"
25 #ifdef LIBMESH_ENABLE_INFINITE_ELEMENTS
28 #include "libmesh/edge.h"
75 libmesh_assert_less(i, this->
n_nodes());
82 virtual unsigned int n_sub_elem()
const override {
return 1; }
87 virtual bool is_vertex(
const unsigned int i)
const override;
92 virtual bool is_edge(
const unsigned int i)
const override;
97 virtual bool is_face(
const unsigned int i)
const override;
104 const unsigned int s)
const override;
106 virtual std::vector<unsigned int>
nodes_on_side(
const unsigned int s)
const override;
113 const unsigned int e)
const override;
127 std::vector<dof_id_type> & conn)
const override;
129 #ifdef LIBMESH_ENABLE_INFINITE_ELEMENTS
134 virtual bool infinite ()
const override {
return true; }
146 override {
return (i > 0); }
160 #ifdef LIBMESH_ENABLE_AMR
167 const unsigned int)
const override
168 { libmesh_not_implemented();
return 0.; }
172 #endif // LIBMESH_ENABLE_AMR
192 #endif // LIBMESH_EDGE_INF_EDGE2_H
InfEdge2(Elem *p=nullptr)
Constructor.
virtual bool is_face(const unsigned int i) const override
virtual Point master_point(const unsigned int i) const override
IOPackage
libMesh interfaces with several different software packages for the purposes of creating,...
The libMesh namespace provides an interface to certain functionality in the library.
LIBMESH_ENABLE_TOPOLOGY_CACHES
Node * _nodelinks_data[2]
Data for links to nodes.
virtual bool is_mid_infinite_edge_node(const unsigned int i) const override
const Point & point(const unsigned int i) const
virtual ElemType type() const override
virtual bool is_vertex(const unsigned int i) const override
virtual void connectivity(const unsigned int se, const IOPackage iop, std::vector< dof_id_type > &conn) const override
The Edge is an element in 1D.
InfEdge2 & operator=(const InfEdge2 &)=delete
virtual bool infinite() const override
A Point defines a location in LIBMESH_DIM dimensional Real space.
virtual bool is_node_on_side(const unsigned int n, const unsigned int s) const override
virtual Point origin() const override
The InfEdge2 is an infinite element in 1D composed of 2 nodes.
A Node is like a Point, but with more information.
virtual std::vector< unsigned int > nodes_on_side(const unsigned int s) const override
virtual float embedding_matrix(const unsigned int, const unsigned int, const unsigned int) const override
Matrix used to create the elements children.
virtual bool is_node_on_edge(const unsigned int n, const unsigned int e) const override
virtual unsigned int n_nodes() const override
virtual unsigned int n_sub_elem() const override
This is the base class from which all geometric element types are derived.
virtual bool is_edge(const unsigned int i) const override
virtual Order default_order() const override
virtual ~InfEdge2()=default
ElemType
Defines an enum for geometric element types.