21 #include "libmesh/quadrature_nodal.h" 22 #include "libmesh/quadrature_trap.h" 23 #include "libmesh/quadrature_simpson.h" 24 #include "libmesh/enum_to_string.h" 25 #include "libmesh/cell_c0polyhedron.h" 88 Point(-1,-1,-1),
Point(+1,-1,-1),
Point(+1,+1,-1),
Point(-1,+1,-1),
89 Point(-1,-1,+1),
Point(+1,-1,+1),
Point(+1,+1,+1),
Point(-1,+1,+1),
90 Point(0.,-1,-1),
Point(+1,0.,-1),
Point(0.,+1,-1),
Point(-1,0.,-1),
91 Point(-1,-1,0.),
Point(+1,-1,0.),
Point(+1,+1,0.),
Point(-1,+1,0.),
92 Point(0.,-1,+1),
Point(+1,0.,+1),
Point(0.,+1,+1),
Point(-1,0.,+1)
101 _weights = {wv, wv, wv, wv, wv, wv, wv, wv,
102 we, we, we, we, we, we, we, we, we, we, we, we};
161 constexpr
Real wv = 8.546754839782711e-03;
162 constexpr
Real wte = 8.548403936750599e-03;
163 constexpr
Real wse = wv;
164 constexpr
Real wtf = 1.153811903370667e-01;
165 constexpr
Real wsf = 2.136754673824396e-01;
168 wte, wte, wte, wse, wse, wse, wte, wte, wte,
169 wsf, wsf, wsf, wtf, wtf};
200 wte, wte, wte, wse, wse, wse, wte, wte, wte,
201 wsf, wsf, wsf, wtf, wtf,
Real(3)/10};
209 "Nodal quadrature on Pyramid elements is not allowed by default since\n" 210 "the Jacobian of the inverse element map is not well-defined at the Pyramid apex.\n" 211 "Set the QBase::allow_nodal_pyramid_quadrature flag to true to ignore skip this check.");
228 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
302 _weights = {wv, wv, wv, wv, we, we, we, we, we, we, wf, wf, wf, wf};
325 const unsigned int nn = poly.n_nodes();
329 _points.resize(poly.n_nodes());
331 _points[n] = poly.master_point(n);
This class implements Simpson quadrature.
ElemType _type
The type of element for which the current values have been computed.
const std::vector< Real > & get_weights() const
const Elem * _elem
The element for which the current values were computed, or nullptr if values were computed without a ...
The libMesh namespace provides an interface to certain functionality in the library.
std::vector< Point > _points
The locations of the quadrature points in reference element space.
std::vector< Real > _weights
The quadrature weights.
virtual void init_3D() override
Initializes the 3D quadrature rule by filling the points and weights vectors with the appropriate val...
std::string enum_to_string(const T e)
Order _order
The polynomial order which the quadrature rule is capable of integrating exactly. ...
bool allow_nodal_pyramid_quadrature
The flag's value defaults to false so that one does not accidentally use a nodal quadrature rule on P...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::vector< Point > & get_points() const
virtual Real volume() const
IntRange< T > make_range(T beg, T end)
The 2-parameter make_range() helper function returns an IntRange<T> when both input parameters are of...
virtual void init(const Elem &e, unsigned int p_level=invalid_uint)
Initializes the data structures for a quadrature rule for the element e.
The C0Polyhedron is an element in 3D with an arbitrary (but fixed) number of polygonal first-order (C...
virtual ElemType type() const =0
A Point defines a location in LIBMESH_DIM dimensional Real space.
This class implements trapezoidal quadrature.