9#include <kernel/cubature/scalar/driver_base.hpp> 
   10#include <kernel/util/math.hpp> 
   40          return "gauss-lobatto";
 
   61            rule.get_coord(0) = -Coord_(1);
 
   62            rule.get_coord(1) =  Coord_(0);
 
   63            rule.get_coord(2) =  Coord_(1);
 
   65            rule.get_weight(0) = Weight_(1) / Weight_(3);
 
   66            rule.get_weight(1) = Weight_(4) / Weight_(3);
 
   67            rule.get_weight(2) = Weight_(1) / Weight_(3);
 
   71            rule.get_coord(0) = -Coord_(1);
 
   72            rule.get_coord(1) = -
Math::sqrt(Coord_(5)) / Coord_(5);
 
   73            rule.get_coord(2) = +
Math::sqrt(Coord_(5)) / Coord_(5);
 
   74            rule.get_coord(3) = +Coord_(1);
 
   76            rule.get_weight(0) = Weight_(1) / Weight_(6);
 
   77            rule.get_weight(1) = Weight_(5) / Weight_(6);
 
   78            rule.get_weight(2) = Weight_(5) / Weight_(6);
 
   79            rule.get_weight(3) = Weight_(1) / Weight_(6);
 
   83            rule.get_coord(0) = -Coord_(1);
 
   84            rule.get_coord(1) = -
Math::sqrt(Coord_(21)) / Coord_(7);
 
   85            rule.get_coord(2) =  Coord_(0);
 
   86            rule.get_coord(3) = +
Math::sqrt(Coord_(21)) / Coord_(7);
 
   87            rule.get_coord(4) = +Coord_(1);
 
   89            rule.get_weight(0) = Weight_(1) / Weight_(10);
 
   90            rule.get_weight(1) = Weight_(49) / Weight_(90);
 
   91            rule.get_weight(2) = Weight_(32) / Weight_(45);
 
   92            rule.get_weight(3) = Weight_(49) / Weight_(90);
 
   93            rule.get_weight(4) = Weight_(1) / Weight_(10);
 
   97            rule.get_coord(0) = -Coord_(1);
 
  102            rule.get_coord(5) =  Coord_(1);
 
  105            rule.get_weight(0) = Weight_(1) / Weight_(15);
 
  106            rule.get_weight(1) = (Weight_(14) - 
Math::sqrt(Weight_(7))) / Weight_(30);
 
  107            rule.get_weight(2) = (Weight_(14) + 
Math::sqrt(Weight_(7))) / Weight_(30);
 
  108            rule.get_weight(3) = (Weight_(14) + 
Math::sqrt(Weight_(7))) / Weight_(30);
 
  109            rule.get_weight(4) = (Weight_(14) - 
Math::sqrt(Weight_(7))) / Weight_(30);
 
  110            rule.get_weight(5) = Weight_(1) / Weight_(15);
 
Scalar cubature driver base class.
Gauss-Lobatto Rule driver class template.
static String name()
Returns the name of the cubature rule.
static constexpr int max_points
this rule has at most 6 points
static constexpr bool variadic
this rule is variadic
static constexpr int min_points
this rule has at least 3 points
static void fill(Rule< Weight_, Coord_ > &rule, int num_points)
Fills the cubature rule structure.
Scalar Cubature Rule class template.
String class implementation.
T_ sqrt(T_ x)
Returns the square-root of a value.