Go to the documentation of this file.
20 #ifndef LIBMESH_NODE_ELEM_H
21 #define LIBMESH_NODE_ELEM_H
24 #include "libmesh/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
virtual void side_ptr(std::unique_ptr< Elem > &, const unsigned int) override
Resets the loose element side, which may currently point to a different side than i or even a differe...
virtual void connectivity(const unsigned int sc, const IOPackage iop, std::vector< dof_id_type > &conn) const override
virtual ~NodeElem()=default
void set_interior_parent(Elem *p)
Sets the pointer to the element's interior_parent.
virtual std::unique_ptr< Elem > side_ptr(const unsigned int) override
The Elem::side_ptr() member makes no sense for nodes.
virtual std::unique_ptr< Elem > build_edge_ptr(const unsigned int) override
The Elem::build_edge_ptr() member makes no sense for nodes.
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.
virtual dof_id_type key(const unsigned int) const override
virtual bool is_node_on_side(const unsigned int, const unsigned int) const override
unsigned int side_children_matrix(const unsigned int, const unsigned int) const
Matrix that allows children to inherit boundary conditions.
virtual std::vector< unsigned int > nodes_on_side(const unsigned int) const override
virtual unsigned int n_vertices() const override
virtual bool is_node_on_edge(const unsigned int, const unsigned int) const override
virtual bool is_face(const unsigned int) const override
virtual unsigned int n_children() const override
Node * _nodelinks_data[1]
Data for links to nodes.
virtual unsigned int n_edges() const override
virtual unsigned int which_node_am_i(unsigned int, unsigned int) const override
NodeElems don't have sides, so they can't have nodes on sides.
virtual bool is_linear() const override
virtual float embedding_matrix(const unsigned int i, const unsigned int j, const unsigned int k) const override
Matrix used to create the elements children.
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 Order default_order() const override
LIBMESH_ENABLE_TOPOLOGY_CACHES
A Point defines a location in LIBMESH_DIM dimensional Real space.
virtual dof_id_type key() const
virtual void build_side_ptr(std::unique_ptr< Elem > &, const unsigned int) override
Resets the loose element side, which may currently point to a different side than i or even a differe...
The NodeElem is a point element, generally used as a side of a 1D element.
Elem * _elemlinks_data[1+(LIBMESH_DIM >0)]
Data for links to parent/neighbor/interior_parent elements.
virtual bool is_edge(const unsigned int) const override
NodeElem objects don't have faces or sides.
A Node is like a Point, but with more information.
static const float _embedding_matrix[1][1][1]
Matrix that computes new nodal locations/solution values from current nodes/solution.
virtual bool is_vertex(const unsigned int) const override
virtual ElemType type() const override
virtual unsigned int n_sub_elem() const override
virtual std::unique_ptr< Elem > build_side_ptr(const unsigned int, bool) override
The Elem::build_side_ptr() member makes no sense for nodes.
virtual unsigned short dim() const override
This is the base class from which all geometric element types are derived.
virtual bool infinite() const override
virtual unsigned int n_nodes() const override
virtual unsigned int n_sides() const override
NodeElem & operator=(const NodeElem &)=delete
virtual Point master_point(const unsigned int libmesh_dbg_var(i)) const override
virtual bool has_affine_map() const override
ElemType
Defines an enum for geometric element types.
NodeElem(Elem *p=nullptr)
Constructor.