19 #include "libmesh/face_tri.h" 
   20 #include "libmesh/edge_edge2.h" 
   21 #include "libmesh/face_tri3.h" 
   22 #include "libmesh/enum_elem_quality.h" 
   53   libmesh_assert_less (s, this->
n_sides());
 
   62                                   unsigned int side_node)
 const 
   64   libmesh_assert_less (side, this->
n_sides());
 
   65   libmesh_assert_less (side_node, 2);
 
   83   libmesh_assert_less (i, this->
n_sides());
 
   85   std::unique_ptr<Elem> edge = libmesh_make_unique<Edge2>();
 
   87   for (
auto n : edge->node_index_range())
 
   98   this->simple_side_ptr<Tri,Tri3>(side, i, 
EDGE2);
 
  104                            const unsigned int s)
 const 
  107   libmesh_assert_less (s, this->
n_sides());
 
  109   return (c == s || c == (s+1)%3);
 
  137         if ((l1 <=0.) || (l2 <= 0.) || (l3 <= 0.))
 
  140         const Real s1 = std::sin(std::acos(v1*v2/l1/l2)/2.);
 
  142         const Real s2 = std::sin(std::acos(v1*v3/l1/l3)/2.);
 
  143         const Real s3 = std::sin(std::acos(v2*v3/l2/l3)/2.);
 
  145         return 8. * s1 * s2 * s3;
 
  168   std::pair<Real, Real> bounds;
 
  190       bounds.second = 1.155;
 
  205       libMesh::out << 
"Warning: Invalid quality measure chosen." << std::endl;