The three-point Gauss triangle rule on the Polyhedron refined L times and stretched onto the ellipsoid with semi-axes 1, BOverA, COverA, with outward unit normals.
More...
|
| static constexpr Kokkos::Array< Scalar, 3 *num_points > | points () |
| | The points as (x, y, z) triples: element by element in BEMLIB's order, three per element.
|
| static constexpr Kokkos::Array< Scalar, 3 *num_points > | normals () |
| | The outward unit normals of the patches at the points, as (x, y, z) triples in the order of points().
|
| static constexpr Kokkos::Array< Scalar, num_points > | weights () |
| | The num_points weights, in the order of points().
|
| template<class Function> |
| static constexpr auto | integrate (const Function &f) |
| | sum_i w_i f(x_i, y_i, z_i), approximating the integral of f over the ellipsoid.
|
template<class
Scalar,
SpherePolyhedron Polyhedron, unsigned L,
double BOverA = 1.0,
double COverA = 1.0>
class mundy::GaussTriangleEllipsoid< Scalar, Polyhedron, L, BOverA, COverA >
The points, normals, and weights are correctly rounded to Scalar and computed by the compiler, so every member is a constant expression. Like TrapezoidalTorus's rule, it integrates over a unit-scale surface; scale for other sizes.