20 #ifndef LIBMESH_NODE_ELEM_H 21 #define LIBMESH_NODE_ELEM_H 66 libmesh_assert_equal_to (i, 0);
73 virtual unsigned short dim ()
const override {
return 0; }
78 virtual unsigned int n_nodes()
const override {
return 1; }
83 virtual unsigned int n_sides()
const override {
return 0; }
88 virtual unsigned int n_vertices()
const override {
return 1; }
93 virtual unsigned int n_edges()
const override {
return 0; }
98 virtual unsigned int n_faces()
const override {
return 0; }
103 virtual unsigned int n_children()
const override {
return 1; }
115 { libmesh_error_msg(
"Calling NodeElem::key(side) does not make sense.");
return 0; }
121 unsigned int )
const override 122 { libmesh_error_msg(
"Calling NodeElem::which_node_am_i() does not make sense.");
return 0; }
127 virtual std::unique_ptr<Elem>
side_ptr (
const unsigned int)
override 128 { libmesh_not_implemented();
return std::unique_ptr<Elem>(); }
130 virtual void side_ptr (std::unique_ptr<Elem> &,
const unsigned int)
override 131 { libmesh_not_implemented(); }
137 { libmesh_not_implemented();
return std::unique_ptr<Elem>(); }
139 virtual void build_side_ptr (std::unique_ptr<Elem> &,
const unsigned int)
override 140 { libmesh_not_implemented(); }
146 { libmesh_not_implemented();
return std::unique_ptr<Elem>(); }
151 virtual unsigned int n_sub_elem()
const override {
return 1; }
156 virtual bool is_vertex(
const unsigned int)
const override {
return true; }
161 virtual bool is_edge(
const unsigned int)
const override {
return false; }
162 virtual bool is_face(
const unsigned int)
const override {
return false; }
165 const unsigned int)
const override 166 { libmesh_not_implemented();
return false; }
169 const unsigned int)
const override 170 { libmesh_not_implemented();
return false; }
172 virtual std::vector<unsigned int>
nodes_on_side(
const unsigned int)
const override 174 libmesh_not_implemented();
179 const unsigned int)
const override 180 { libmesh_not_implemented();
return false; }
183 const unsigned int)
const override 184 { libmesh_not_implemented();
return false; }
196 virtual bool is_linear ()
const override {
return true; }
210 std::vector<dof_id_type> & conn)
const override;
213 #ifdef LIBMESH_ENABLE_INFINITE_ELEMENTS 218 virtual bool infinite ()
const override {
return false; }
236 #ifdef LIBMESH_ENABLE_AMR 242 const unsigned int j,
243 const unsigned int k)
const override 256 const unsigned int)
const 257 { libmesh_not_implemented();
return 0; }
261 #endif // LIBMESH_ENABLE_AMR 267 #endif // LIBMESH_NODE_ELEM_H virtual unsigned int n_faces() const override
unsigned int side_children_matrix(const unsigned int, const unsigned int) const
virtual unsigned int n_vertices() const override
A geometric point in (x,y,z) space associated with a DOF.
virtual void side_ptr(std::unique_ptr< Elem > &, const unsigned int) override
virtual Point master_point(const unsigned int libmesh_dbg_var(i)) const override
NodeElem & operator=(const NodeElem &)=delete
LIBMESH_ENABLE_TOPOLOGY_CACHES
virtual dof_id_type key() const
virtual bool is_node_on_edge(const unsigned int, const unsigned int) const override
The base class for all geometric element types.
virtual void build_side_ptr(std::unique_ptr< Elem > &, const unsigned int) override
virtual bool is_child_on_side(const unsigned int, const unsigned int) const override
virtual bool is_edge_on_side(const unsigned int, const unsigned int) const override
virtual unsigned int n_children() const override
virtual unsigned int n_sides() const override
void set_interior_parent(Elem *p)
virtual bool is_face(const unsigned int) const override
NodeElem(Elem *p=nullptr)
virtual bool infinite() const override
virtual Order default_order() const override
virtual std::unique_ptr< Elem > side_ptr(const unsigned int) override
virtual bool has_affine_map() const override
virtual bool is_node_on_side(const unsigned int, const unsigned int) const override
Node * _nodelinks_data[1]
virtual void connectivity(const unsigned int sc, const IOPackage iop, std::vector< dof_id_type > &conn) const override
virtual unsigned int n_nodes() const override
A zero-dimensional geometric entity implementing the Elem interface.
virtual float embedding_matrix(const unsigned int i, const unsigned int j, const unsigned int k) const override
static const float _embedding_matrix[1][1][1]
virtual std::unique_ptr< Elem > build_side_ptr(const unsigned int, bool) override
virtual bool is_edge(const unsigned int) const override
virtual unsigned int n_edges() const override
virtual unsigned short dim() const override
virtual unsigned int which_node_am_i(unsigned int, unsigned int) const override
virtual dof_id_type key(const unsigned int) const override
virtual ElemType type() const override
virtual bool is_linear() const override
virtual ~NodeElem()=default
Elem * _elemlinks_data[1+(LIBMESH_DIM >0)]
A geometric point in (x,y,z) space.
virtual std::vector< unsigned int > nodes_on_side(const unsigned int) const override
virtual std::unique_ptr< Elem > build_edge_ptr(const unsigned int) override
virtual unsigned int n_sub_elem() const override
virtual bool is_vertex(const unsigned int) const override