324 std::vector<Point> pts = {
Point(0, 0, 0),
Point(1, 0, 0),
Point(1, 1, 0),
Point(0, 1, 0)};
326 const Point n1 = square->side_vertex_average_normal(0);
330 const Point n2 = square->side_vertex_average_normal(1);
334 const Point n3 = square->side_vertex_average_normal(2);
338 const Point n4 = square->side_vertex_average_normal(3);
345 std::vector<Point> pts = {
Point(0, 0, 0),
Point(1, 0, 0),
Point(1.5, 1, 0),
Point(1, 2, 0),
Point(0, 2, 0) ,
Point(-0.5, 1, 0)};
347 const Point n1 = hexagon->side_vertex_average_normal(0);
351 const Point n2 = hexagon->side_vertex_average_normal(1);
355 const Point n3 = hexagon->side_vertex_average_normal(2);
359 const Point n4 = hexagon->side_vertex_average_normal(3);
363 const Point n5 = hexagon->side_vertex_average_normal(4);
367 const Point n6 = hexagon->side_vertex_average_normal(5);
375 std::vector<Point> pts = {
Point(0, 0, 0),
Point(1, 0, 3),
Point(1, 1, 0),
Point(0, 2, 1)};
379 const std::unique_ptr<const Elem> face = quad4->build_side_ptr(0);
382 fe->attach_quadrature_rule(&qface);
383 const std::vector<Point> & normals = fe->get_normals();
384 for (
const auto s :
make_range(quad4->n_sides()))
386 const std::unique_ptr<const Elem> face = quad4->build_side_ptr(s);
387 fe->attach_quadrature_rule(&qface);
389 const Point n1 = quad4->side_vertex_average_normal(s);
class FEType hides (possibly multiple) FEFamily and approximation orders, thereby enabling specialize...
static constexpr Real TOLERANCE
std::pair< std::unique_ptr< Elem >, std::vector< std::unique_ptr< Node > > > construct_elem(const std::vector< Point > &pts, ElemType elem_type)
static std::unique_ptr< FEGenericBase > build(const unsigned int dim, const FEType &type)
Builds a specific finite element type.
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...
This class implements specific orders of Gauss quadrature.
A Point defines a location in LIBMESH_DIM dimensional Real space.