Go to the documentation of this file.
20 #ifndef LIBMESH_CELL_PYRAMID14_H
21 #define LIBMESH_CELL_PYRAMID14_H
24 #include "libmesh/cell_pyramid.h"
103 virtual unsigned int n_sub_elem()
const override {
return 1; }
108 virtual bool is_vertex(
const unsigned int i)
const override;
113 virtual bool is_edge(
const unsigned int i)
const override;
118 virtual bool is_face(
const unsigned int i)
const override;
125 const unsigned int s)
const override;
127 virtual std::vector<unsigned int>
nodes_on_side(
const unsigned int s)
const override;
134 const unsigned int e)
const override;
167 unsigned int side_node)
const override;
173 virtual std::unique_ptr<Elem>
build_side_ptr (
const unsigned int i,
174 bool proxy=
true)
override;
180 const unsigned int i)
override;
186 virtual std::unique_ptr<Elem>
build_edge_ptr (
const unsigned int i)
override;
190 std::vector<dof_id_type> & conn)
const override;
202 const unsigned int v)
const override;
240 #ifdef LIBMESH_ENABLE_AMR
247 const unsigned int)
const override
248 { libmesh_not_implemented();
return 0.; }
252 #endif // LIBMESH_ENABLE_AMR
259 #endif // LIBMESH_CELL_PYRAMID14_H
virtual bool is_node_on_side(const unsigned int n, const unsigned int s) const override
static const int num_edges
virtual unsigned int n_second_order_adjacent_vertices(const unsigned int n) const override
virtual unsigned int n_nodes() const override
static const int num_nodes
Geometric constants for Pyramid14.
virtual unsigned short int second_order_adjacent_vertex(const unsigned int n, const unsigned int v) const override
LIBMESH_ENABLE_TOPOLOGY_CACHES
The Pyramid is an element in 3D with 5 sides.
IOPackage
libMesh interfaces with several different software packages for the purposes of creating,...
virtual bool has_affine_map() const override
virtual void connectivity(const unsigned int sc, const IOPackage iop, std::vector< dof_id_type > &conn) const override
virtual float embedding_matrix(const unsigned int, const unsigned int, const unsigned int) const override
Matrix used to create the elements children.
The libMesh namespace provides an interface to certain functionality in the library.
virtual unsigned int which_node_am_i(unsigned int side, unsigned int side_node) const override
Pyramid14(Elem *p=nullptr)
Constructor.
virtual std::vector< unsigned int > nodes_on_side(const unsigned int s) const override
virtual bool is_face(const unsigned int i) const override
The Pyramid14 is an element in 3D composed of 14 nodes, designed to interface with a QUAD9 element on...
virtual Order default_order() const override
static const unsigned int edge_nodes_map[num_edges][nodes_per_edge]
This maps the node of the edge to element node numbers.
virtual bool is_edge(const unsigned int i) const override
virtual dof_id_type key() const
A Node is like a Point, but with more information.
static const int num_children
Node * _nodelinks_data[num_nodes]
Data for links to nodes.
virtual ElemType type() const override
virtual unsigned int n_sub_elem() const override
FIXME: we don't yet have a refinement pattern for pyramids...
static const unsigned int side_nodes_map[num_sides][nodes_per_side]
This maps the node of the side to element node numbers.
virtual std::unique_ptr< Elem > build_edge_ptr(const unsigned int i) override
Builds a EDGE3 coincident with edge i.
Pyramid14 & operator=(const Pyramid14 &)=delete
virtual Real volume() const override
Specialization for computing the volume of a Pyramid14.
This is the base class from which all geometric element types are derived.
virtual bool is_vertex(const unsigned int i) const override
static const int nodes_per_edge
virtual ~Pyramid14()=default
static const int num_sides
static const int nodes_per_side
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual bool is_node_on_edge(const unsigned int n, const unsigned int e) const override
virtual std::unique_ptr< Elem > build_side_ptr(const unsigned int i, bool proxy=true) override
Builds a QUAD9 or TRI6 coincident with face i.
ElemType
Defines an enum for geometric element types.