1#ifndef DUNE_FEM_PARDGSIMPLEXQUADRATURE_HPP
2#define DUNE_FEM_PARDGSIMPLEXQUADRATURE_HPP
11namespace ParDGSimplexQuadrature
19 enum { numCorners = dim+1 };
23 Quadrature(
int nop,
int degree,
const double x[][dim+1])
24 : nop(nop), degree(degree), x_w( nop )
26 for(
int i=0; i<nop; i++)
28 for(
int l=0; l<=dim; l++) x_w[i][l] = x[i][l];
35 nop = quad.number_of_points();
36 degree = quad.max_order();
38 assert( order <= degree );
41 for(
int i=0; i<nop; i++)
43 for(
int l=0; l<=dim; l++) x_w[i][l] = quad.x_w[i][l];
47 CoordinateType point(
const int i )
const
49 assert(i >= 0 && i < numPoints());
50 CoordinateType result;
51 for (
size_t j = 0; j < dim; ++j)
59 double weight(
const int i)
const
61 assert(i >= 0 && i < numPoints());
66 int order()
const {
return degree; }
68 int numPoints()
const {
return number_of_points(); }
69 int max_order()
const {
return degree; }
71 int number_of_points()
const{
return nop; }
73 const Point& x(
int i)
const {
74 assert(i>=0 && i<nop);
80 assert(i>=0 && i<nop);
86 static const Quadrature& quadrature(
int minimum_degree);
92 std::vector< Point > x_w;
107extern const Quadrature0d quad0d;
118extern const Quadrature1d quad1d_0, quad1d_1, quad1d_3, quad1d_5, quad1d_7,
119 quad1d_9, quad1d_11, quad1d_13, quad1d_15, quad1d_17, quad1d_19, quad1d_21,
120 quad1d_23, quad1d_25, quad1d_27, quad1d_29, quad1d_31, quad1d_33, quad1d_35,
121 quad1d_37, quad1d_39;
132extern const Quadrature2d quad2d_0, quad2d_1, quad2d_2, quad2d_3, quad2d_4,
133 quad2d_5, quad2d_6, quad2d_7, quad2d_8, quad2d_9, quad2d_10, quad2d_11,
147extern const Quadrature3d quad3d_0, quad3d_1, quad3d_2, quad3d_3, quad3d_4,
148 quad3d_5, quad3d_5b, quad3d_6, quad3d_7, quad3d_7b, quad3d_8, quad3d_9,
vector space out of a tensor product of fields.
Definition: fvector.hh:91
actual interface class for quadratures
Implements a vector constructed from a given type representing a field and a compile-time given size.
Dune namespace.
Definition: alignedallocator.hh:13