libMesh::QJacobi Class Referencefinal

Implements 1D Gauss-Jacobi quadrature rules of various orders. More...

#include <quadrature_jacobi.h>

Inheritance diagram for libMesh::QJacobi:

Public Member Functions

 QJacobi (unsigned int dim, Order order=INVALID_ORDER, unsigned int a=1, unsigned int b=0)
 
 QJacobi (const QJacobi &)=default
 
 QJacobi (QJacobi &&)=default
 
QJacobioperator= (const QJacobi &)=default
 
QJacobioperator= (QJacobi &&)=default
 
virtual ~QJacobi ()=default
 
virtual QuadratureType type () const override
 
ElemType get_elem_type () const
 
unsigned int get_p_level () const
 
unsigned int n_points () const
 
unsigned int get_dim () const
 
const std::vector< Point > & get_points () const
 
std::vector< Point > & get_points ()
 
const std::vector< Real > & get_weights () const
 
std::vector< Real > & get_weights ()
 
Point qp (const unsigned int i) const
 
Real w (const unsigned int i) const
 
virtual void init (const ElemType type=INVALID_ELEM, unsigned int p_level=0)
 
virtual void init (const Elem &elem, const std::vector< Real > &vertex_distance_func, unsigned int p_level=0)
 
Order get_order () const
 
void print_info (std::ostream &os=libMesh::out) const
 
void scale (std::pair< Real, Real > old_range, std::pair< Real, Real > new_range)
 
virtual bool shapes_need_reinit ()
 

Static Public Member Functions

static std::unique_ptr< QBasebuild (const std::string &name, const unsigned int dim, const Order order=INVALID_ORDER)
 
static std::unique_ptr< QBasebuild (const QuadratureType qt, const unsigned int dim, const Order order=INVALID_ORDER)
 
static void print_info (std::ostream &out=libMesh::out)
 
static std::string get_info ()
 
static unsigned int n_objects ()
 
static void enable_print_counter_info ()
 
static void disable_print_counter_info ()
 

Public Attributes

bool allow_rules_with_negative_weights
 

Protected Types

typedef std::map< std::string, std::pair< unsigned int, unsigned int > > Counts
 

Protected Member Functions

virtual void init_0D (const ElemType type=INVALID_ELEM, unsigned int p_level=0)
 
virtual void init_2D (const ElemType, unsigned int=0)
 
virtual void init_3D (const ElemType, unsigned int=0)
 
void tensor_product_quad (const QBase &q1D)
 
void tensor_product_hex (const QBase &q1D)
 
void tensor_product_prism (const QBase &q1D, const QBase &q2D)
 
void increment_constructor_count (const std::string &name)
 
void increment_destructor_count (const std::string &name)
 

Protected Attributes

unsigned int _dim
 
Order _order
 
ElemType _type
 
unsigned int _p_level
 
std::vector< Point_points
 
std::vector< Real_weights
 

Static Protected Attributes

static Counts _counts
 
static Threads::atomic< unsigned int > _n_objects
 
static Threads::spin_mutex _mutex
 
static bool _enable_print_counter = true
 

Private Member Functions

virtual void init_1D (const ElemType _type=INVALID_ELEM, unsigned int p_level=0) override
 

Private Attributes

const unsigned int _alpha
 
const unsigned int _beta
 

Detailed Description

Implements 1D Gauss-Jacobi quadrature rules of various orders.

This class implements two (for now) Jacobi-Gauss quadrature rules. These rules have the same order of accuracy as the normal Gauss quadrature rules, but instead of integrating a weight function w(x)=1, they integrate w(x)=(1-x)^alpha * (1+x)^beta. The reason that they are useful is that they allow you to implement conical product rules for triangles and tetrahedra. Although these product rules are non-optimal (use more points than necessary) they are automatically constructable for high orders of accuracy where other formulae may not exist.

There is not much sense in using this class directly, since it only provides 1D rules, weighted, as described before. Still, this class is particularly helpful: check QGauss for triangles and tetrahedra, with orders beyond THIRTIETH.

Author
John W. Peterson
Date
2003

Definition at line 49 of file quadrature_jacobi.h.

Member Typedef Documentation

◆ Counts

typedef std::map<std::string, std::pair<unsigned int, unsigned int> > libMesh::ReferenceCounter::Counts
protectedinherited

Data structure to log the information. The log is identified by the class name.

Definition at line 117 of file reference_counter.h.

Constructor & Destructor Documentation

◆ QJacobi() [1/3]

libMesh::QJacobi::QJacobi ( unsigned int  dim,
Order  order = INVALID_ORDER,
unsigned int  a = 1,
unsigned int  b = 0 
)
inline

Constructor. Currently, only one-dimensional rules provided.

Definition at line 56 of file quadrature_jacobi.h.

References libMesh::QBase::_dim, libMesh::EDGE2, and libMesh::QBase::init().

59  :
60  QBase(dim, order),
61  _alpha(a),
62  _beta(b)
63  {
64  if (_dim == 1)
65  init(EDGE2);
66  }
virtual void init(const ElemType type=INVALID_ELEM, unsigned int p_level=0)
Definition: quadrature.C:28
const unsigned int _alpha
QBase(unsigned int dim, Order order=INVALID_ORDER)
Definition: quadrature.h:364
unsigned int _dim
Definition: quadrature.h:325
const unsigned int _beta

◆ QJacobi() [2/3]

libMesh::QJacobi::QJacobi ( const QJacobi )
default

Copy/move ctor, copy/move assignment operator, and destructor are all explicitly defaulted for this simple class.

◆ QJacobi() [3/3]

libMesh::QJacobi::QJacobi ( QJacobi &&  )
default

◆ ~QJacobi()

virtual libMesh::QJacobi::~QJacobi ( )
virtualdefault

Member Function Documentation

◆ build() [1/2]

std::unique_ptr< QBase > libMesh::QBase::build ( const std::string &  name,
const unsigned int  dim,
const Order  order = INVALID_ORDER 
)
staticinherited

Builds a specific quadrature rule based on the name string. This enables selection of the quadrature rule at run-time. The input parameter name must be mappable through the Utility::string_to_enum<>() function.

This function allocates memory, therefore a std::unique_ptr<QBase> is returned so that the user does not accidentally leak it.

Definition at line 40 of file quadrature_build.C.

References libMesh::QBase::_dim, libMesh::QBase::_order, and libMesh::QBase::type().

Referenced by libMesh::InfFE< Dim, T_radial, T_map >::attach_quadrature_rule().

43 {
44  return QBase::build (Utility::string_to_enum<QuadratureType> (type),
45  _dim,
46  _order);
47 }
unsigned int _dim
Definition: quadrature.h:325
virtual QuadratureType type() const =0
static std::unique_ptr< QBase > build(const std::string &name, const unsigned int dim, const Order order=INVALID_ORDER)

◆ build() [2/2]

std::unique_ptr< QBase > libMesh::QBase::build ( const QuadratureType  qt,
const unsigned int  dim,
const Order  order = INVALID_ORDER 
)
staticinherited

Builds a specific quadrature rule based on the QuadratureType. This enables selection of the quadrature rule at run-time.

This function allocates memory, therefore a std::unique_ptr<QBase> is returned so that the user does not accidentally leak it.

Definition at line 51 of file quadrature_build.C.

References libMesh::QBase::_dim, libMesh::QBase::_order, libMesh::FIRST, libMesh::FORTYTHIRD, libMesh::out, libMesh::QCLOUGH, libMesh::QCONICAL, libMesh::QGAUSS, libMesh::QGAUSS_LOBATTO, libMesh::QGRID, libMesh::QGRUNDMANN_MOLLER, libMesh::QJACOBI_1_0, libMesh::QJACOBI_2_0, libMesh::QMONOMIAL, libMesh::QSIMPSON, libMesh::QTRAP, libMesh::THIRD, and libMesh::TWENTYTHIRD.

54 {
55  switch (_qt)
56  {
57 
58  case QCLOUGH:
59  {
60 #ifdef DEBUG
61  if (_order > TWENTYTHIRD)
62  {
63  libMesh::out << "WARNING: Clough quadrature implemented" << std::endl
64  << " up to TWENTYTHIRD order." << std::endl;
65  }
66 #endif
67 
68  return libmesh_make_unique<QClough>(_dim, _order);
69  }
70 
71  case QGAUSS:
72  {
73 
74 #ifdef DEBUG
75  if (_order > FORTYTHIRD)
76  {
77  libMesh::out << "WARNING: Gauss quadrature implemented" << std::endl
78  << " up to FORTYTHIRD order." << std::endl;
79  }
80 #endif
81 
82  return libmesh_make_unique<QGauss>(_dim, _order);
83  }
84 
85  case QJACOBI_1_0:
86  {
87 
88 #ifdef DEBUG
89  if (_order > FORTYTHIRD)
90  {
91  libMesh::out << "WARNING: Jacobi(1,0) quadrature implemented" << std::endl
92  << " up to FORTYTHIRD order." << std::endl;
93  }
94 
95  if (_dim > 1)
96  {
97  libMesh::out << "WARNING: Jacobi(1,0) quadrature implemented" << std::endl
98  << " in 1D only." << std::endl;
99  }
100 #endif
101 
102  return libmesh_make_unique<QJacobi>(_dim, _order, 1, 0);
103  }
104 
105  case QJACOBI_2_0:
106  {
107 
108 #ifdef DEBUG
109  if (_order > FORTYTHIRD)
110  {
111  libMesh::out << "WARNING: Jacobi(2,0) quadrature implemented" << std::endl
112  << " up to FORTYTHIRD order." << std::endl;
113  }
114 
115  if (_dim > 1)
116  {
117  libMesh::out << "WARNING: Jacobi(2,0) quadrature implemented" << std::endl
118  << " in 1D only." << std::endl;
119  }
120 #endif
121 
122  return libmesh_make_unique<QJacobi>(_dim, _order, 2, 0);
123  }
124 
125  case QSIMPSON:
126  {
127 
128 #ifdef DEBUG
129  if (_order > THIRD)
130  {
131  libMesh::out << "WARNING: Simpson rule provides only" << std::endl
132  << " THIRD order!" << std::endl;
133  }
134 #endif
135 
136  return libmesh_make_unique<QSimpson>(_dim);
137  }
138 
139  case QTRAP:
140  {
141 
142 #ifdef DEBUG
143  if (_order > FIRST)
144  {
145  libMesh::out << "WARNING: Trapezoidal rule provides only" << std::endl
146  << " FIRST order!" << std::endl;
147  }
148 #endif
149 
150  return libmesh_make_unique<QTrap>(_dim);
151  }
152 
153  case QGRID:
154  return libmesh_make_unique<QGrid>(_dim, _order);
155 
156  case QGRUNDMANN_MOLLER:
157  return libmesh_make_unique<QGrundmann_Moller>(_dim, _order);
158 
159  case QMONOMIAL:
160  return libmesh_make_unique<QMonomial>(_dim, _order);
161 
162  case QGAUSS_LOBATTO:
163  return libmesh_make_unique<QGaussLobatto>(_dim, _order);
164 
165  case QCONICAL:
166  return libmesh_make_unique<QConical>(_dim, _order);
167 
168  default:
169  libmesh_error_msg("ERROR: Bad qt=" << _qt);
170  }
171 }
unsigned int _dim
Definition: quadrature.h:325
OStreamProxy out(std::cout)

◆ disable_print_counter_info()

void libMesh::ReferenceCounter::disable_print_counter_info ( )
staticinherited

Definition at line 106 of file reference_counter.C.

References libMesh::ReferenceCounter::_enable_print_counter.

Referenced by libMesh::LibMeshInit::LibMeshInit().

107 {
108  _enable_print_counter = false;
109  return;
110 }

◆ enable_print_counter_info()

void libMesh::ReferenceCounter::enable_print_counter_info ( )
staticinherited

Methods to enable/disable the reference counter output from print_info()

Definition at line 100 of file reference_counter.C.

References libMesh::ReferenceCounter::_enable_print_counter.

101 {
102  _enable_print_counter = true;
103  return;
104 }

◆ get_dim()

unsigned int libMesh::QBase::get_dim ( ) const
inlineinherited

◆ get_elem_type()

ElemType libMesh::QBase::get_elem_type ( ) const
inlineinherited
Returns
The element type we're currently using.

Definition at line 117 of file quadrature.h.

References libMesh::QBase::_type.

117 { return _type; }
ElemType _type
Definition: quadrature.h:337

◆ get_info()

std::string libMesh::ReferenceCounter::get_info ( )
staticinherited

Gets a string containing the reference information.

Definition at line 47 of file reference_counter.C.

References libMesh::ReferenceCounter::_counts, and libMesh::Quality::name().

Referenced by libMesh::ReferenceCounter::print_info().

48 {
49 #if defined(LIBMESH_ENABLE_REFERENCE_COUNTING) && defined(DEBUG)
50 
51  std::ostringstream oss;
52 
53  oss << '\n'
54  << " ---------------------------------------------------------------------------- \n"
55  << "| Reference count information |\n"
56  << " ---------------------------------------------------------------------------- \n";
57 
58  for (const auto & pr : _counts)
59  {
60  const std::string name(pr.first);
61  const unsigned int creations = pr.second.first;
62  const unsigned int destructions = pr.second.second;
63 
64  oss << "| " << name << " reference count information:\n"
65  << "| Creations: " << creations << '\n'
66  << "| Destructions: " << destructions << '\n';
67  }
68 
69  oss << " ---------------------------------------------------------------------------- \n";
70 
71  return oss.str();
72 
73 #else
74 
75  return "";
76 
77 #endif
78 }
std::string name(const ElemQuality q)
Definition: elem_quality.C:42

◆ get_order()

Order libMesh::QBase::get_order ( ) const
inlineinherited
Returns
The order of the quadrature rule.

Definition at line 203 of file quadrature.h.

References libMesh::QBase::_order, and libMesh::QBase::_p_level.

Referenced by libMesh::InfFE< Dim, T_radial, T_map >::attach_quadrature_rule().

203 { return static_cast<Order>(_order + _p_level); }
unsigned int _p_level
Definition: quadrature.h:343

◆ get_p_level()

unsigned int libMesh::QBase::get_p_level ( ) const
inlineinherited
Returns
The p-refinement level we're currently using.

Definition at line 122 of file quadrature.h.

References libMesh::QBase::_p_level.

122 { return _p_level; }
unsigned int _p_level
Definition: quadrature.h:343

◆ get_points() [1/2]

const std::vector<Point>& libMesh::QBase::get_points ( ) const
inlineinherited
Returns
A std::vector containing the quadrature point locations in reference element space.

Definition at line 142 of file quadrature.h.

References libMesh::QBase::_points.

Referenced by libMesh::QClough::init_1D(), libMesh::QConical::init_1D(), libMesh::QMonomial::init_1D(), libMesh::QGrundmann_Moller::init_1D(), libMesh::QClough::init_2D(), libMesh::QGauss::init_2D(), libMesh::QMonomial::init_2D(), libMesh::QGauss::init_3D(), and libMesh::QMonomial::init_3D().

142 { return _points; }
std::vector< Point > _points
Definition: quadrature.h:349

◆ get_points() [2/2]

std::vector<Point>& libMesh::QBase::get_points ( )
inlineinherited
Returns
A std::vector containing the quadrature point locations in reference element space as a writable reference.

Definition at line 148 of file quadrature.h.

References libMesh::QBase::_points.

148 { return _points; }
std::vector< Point > _points
Definition: quadrature.h:349

◆ get_weights() [1/2]

const std::vector<Real>& libMesh::QBase::get_weights ( ) const
inlineinherited

◆ get_weights() [2/2]

std::vector<Real>& libMesh::QBase::get_weights ( )
inlineinherited
Returns
A writable references to a std::vector containing the quadrature weights.

Definition at line 160 of file quadrature.h.

References libMesh::QBase::_weights.

160 { return _weights; }
std::vector< Real > _weights
Definition: quadrature.h:355

◆ increment_constructor_count()

void libMesh::ReferenceCounter::increment_constructor_count ( const std::string &  name)
inlineprotectedinherited

Increments the construction counter. Should be called in the constructor of any derived class that will be reference counted.

Definition at line 181 of file reference_counter.h.

References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.

Referenced by libMesh::ReferenceCountedObject< RBParametrized >::ReferenceCountedObject().

182 {
183  Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
184  std::pair<unsigned int, unsigned int> & p = _counts[name];
185 
186  p.first++;
187 }
std::string name(const ElemQuality q)
Definition: elem_quality.C:42
spin_mutex spin_mtx
Definition: threads.C:29

◆ increment_destructor_count()

void libMesh::ReferenceCounter::increment_destructor_count ( const std::string &  name)
inlineprotectedinherited

Increments the destruction counter. Should be called in the destructor of any derived class that will be reference counted.

Definition at line 194 of file reference_counter.h.

References libMesh::ReferenceCounter::_counts, libMesh::Quality::name(), and libMesh::Threads::spin_mtx.

Referenced by libMesh::ReferenceCountedObject< RBParametrized >::~ReferenceCountedObject().

195 {
196  Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
197  std::pair<unsigned int, unsigned int> & p = _counts[name];
198 
199  p.second++;
200 }
std::string name(const ElemQuality q)
Definition: elem_quality.C:42
spin_mutex spin_mtx
Definition: threads.C:29

◆ init() [1/2]

void libMesh::QBase::init ( const ElemType  type = INVALID_ELEM,
unsigned int  p_level = 0 
)
virtualinherited

Initializes the data structures for a quadrature rule for an element of type type.

Definition at line 28 of file quadrature.C.

References libMesh::QBase::_dim, libMesh::QBase::_p_level, libMesh::QBase::_type, libMesh::QBase::init_0D(), libMesh::QBase::init_1D(), libMesh::QBase::init_2D(), and libMesh::QBase::init_3D().

Referenced by libMesh::QBase::init(), libMesh::QClough::init_1D(), libMesh::QMonomial::init_1D(), libMesh::QClough::init_2D(), libMesh::QGaussLobatto::init_2D(), libMesh::QGrid::init_2D(), libMesh::QTrap::init_2D(), libMesh::QSimpson::init_2D(), libMesh::QGauss::init_2D(), libMesh::QMonomial::init_2D(), libMesh::QGaussLobatto::init_3D(), libMesh::QTrap::init_3D(), libMesh::QGrid::init_3D(), libMesh::QGauss::init_3D(), libMesh::QSimpson::init_3D(), libMesh::QMonomial::init_3D(), libMesh::QGauss::QGauss(), libMesh::QGaussLobatto::QGaussLobatto(), QJacobi(), libMesh::QSimpson::QSimpson(), and libMesh::QTrap::QTrap().

30 {
31  // check to see if we have already
32  // done the work for this quadrature rule
33  if (t == _type && p == _p_level)
34  return;
35  else
36  {
37  _type = t;
38  _p_level = p;
39  }
40 
41 
42 
43  switch(_dim)
44  {
45  case 0:
46  this->init_0D(_type,_p_level);
47 
48  return;
49 
50  case 1:
51  this->init_1D(_type,_p_level);
52 
53  return;
54 
55  case 2:
56  this->init_2D(_type,_p_level);
57 
58  return;
59 
60  case 3:
61  this->init_3D(_type,_p_level);
62 
63  return;
64 
65  default:
66  libmesh_error_msg("Invalid dimension _dim = " << _dim);
67  }
68 }
ElemType _type
Definition: quadrature.h:337
unsigned int _dim
Definition: quadrature.h:325
unsigned int _p_level
Definition: quadrature.h:343
virtual void init_2D(const ElemType, unsigned int=0)
Definition: quadrature.h:277
virtual void init_1D(const ElemType type=INVALID_ELEM, unsigned int p_level=0)=0
virtual void init_0D(const ElemType type=INVALID_ELEM, unsigned int p_level=0)
Definition: quadrature.C:82
virtual void init_3D(const ElemType, unsigned int=0)
Definition: quadrature.h:293

◆ init() [2/2]

void libMesh::QBase::init ( const Elem elem,
const std::vector< Real > &  vertex_distance_func,
unsigned int  p_level = 0 
)
virtualinherited

Initializes the data structures for an element potentially "cut" by a signed distance function. The array vertex_distance_func contains vertex values of the signed distance function. If the signed distance function changes sign on the vertices, then the element is considered to be cut.) This interface can be extended by derived classes in order to subdivide the element and construct a composite quadrature rule.

Definition at line 72 of file quadrature.C.

References libMesh::QBase::init(), and libMesh::Elem::type().

75 {
76  // dispatch generic implementation
77  this->init(elem.type(), p_level);
78 }
virtual void init(const ElemType type=INVALID_ELEM, unsigned int p_level=0)
Definition: quadrature.C:28

◆ init_0D()

void libMesh::QBase::init_0D ( const ElemType  type = INVALID_ELEM,
unsigned int  p_level = 0 
)
protectedvirtualinherited

Initializes the 0D quadrature rule by filling the points and weights vectors with the appropriate values. Generally this is just one point with weight 1.

Definition at line 82 of file quadrature.C.

References libMesh::QBase::_points, and libMesh::QBase::_weights.

Referenced by libMesh::QBase::init().

84 {
85  _points.resize(1);
86  _weights.resize(1);
87  _points[0] = Point(0.);
88  _weights[0] = 1.0;
89 }
std::vector< Point > _points
Definition: quadrature.h:349
std::vector< Real > _weights
Definition: quadrature.h:355

◆ init_1D()

void libMesh::QJacobi::init_1D ( const ElemType  type = INVALID_ELEM,
unsigned int  p_level = 0 
)
overrideprivatevirtual

Initializes the 1D quadrature rule by filling the points and weights vectors with the appropriate values. The order of the rule will be defined by the implementing class. It is assumed that derived quadrature rules will at least define the init_1D function, therefore it is pure virtual.

Implements libMesh::QBase.

Definition at line 28 of file quadrature_jacobi_1D.C.

References _alpha, _beta, libMesh::QBase::_order, libMesh::QBase::_points, libMesh::QBase::_weights, libMesh::CONSTANT, libMesh::EIGHTH, libMesh::EIGHTTEENTH, libMesh::ELEVENTH, libMesh::err, libMesh::FIFTEENTH, libMesh::FIFTH, libMesh::FIRST, libMesh::FORTIETH, libMesh::FORTYFIRST, libMesh::FORTYSECOND, libMesh::FORTYTHIRD, libMesh::FOURTEENTH, libMesh::FOURTH, libMesh::NINETEENTH, libMesh::NINTH, libMesh::Real, libMesh::SECOND, libMesh::SEVENTEENTH, libMesh::SEVENTH, libMesh::SIXTEENTH, libMesh::SIXTH, libMesh::TENTH, libMesh::THIRD, libMesh::THIRTEENTH, libMesh::THIRTIETH, libMesh::THIRTYEIGHTH, libMesh::THIRTYFIFTH, libMesh::THIRTYFIRST, libMesh::THIRTYFOURTH, libMesh::THIRTYNINTH, libMesh::THIRTYSECOND, libMesh::THIRTYSEVENTH, libMesh::THIRTYSIXTH, libMesh::THIRTYTHIRD, libMesh::TWELFTH, libMesh::TWENTIETH, libMesh::TWENTYEIGHTH, libMesh::TWENTYFIFTH, libMesh::TWENTYFIRST, libMesh::TWENTYFOURTH, libMesh::TWENTYNINTH, libMesh::TWENTYSECOND, libMesh::TWENTYSEVENTH, libMesh::TWENTYSIXTH, and libMesh::TWENTYTHIRD.

30 {
31  //----------------------------------------------------------------------
32  // 1D quadrature rules
33  // Note that we need to check _alpha and _beta
34  // to determine which quadrature rule to implement.
35  // These rules have been pre-scaled based on their
36  // intended use. The weights of the (alpha=1,beta=0)
37  // rule sum to 0.5. The weights of the (alpha=2,beta=0)
38  // rule sum to 0.333333333333.
39 
40  if ((_alpha == 1) && (_beta == 0))
41  {
42  switch(_order + 2*p)
43  {
44  case CONSTANT:
45  case FIRST:
46  {
47  _points.resize (1);
48  _weights.resize(1);
49 
50  _points[0](0) = 1./3.;
51 
52  _weights[0] = 0.5;
53 
54  return;
55  }
56  case SECOND:
57  case THIRD:
58  {
59  _points.resize (2);
60  _weights.resize(2);
61 
62  _points[ 0](0)=Real(1.5505102572168219018027159252941e-01L);
63  _points[ 1](0)=Real(6.4494897427831780981972840747059e-01L);
64 
65  _weights[ 0]=Real(3.1804138174397716939436900207516e-01L);
66  _weights[ 1]=Real(1.8195861825602283060563099792484e-01L);
67 
68  return;
69  }
70  case FOURTH:
71  case FIFTH:
72  {
73  _points.resize (3);
74  _weights.resize(3);
75 
76  _points[ 0](0)=Real(8.8587959512703947395546143769456e-02L);
77  _points[ 1](0)=Real(4.0946686444073471086492625206883e-01L);
78  _points[ 2](0)=Real(7.8765946176084705602524188987600e-01L);
79 
80  _weights[ 0]=Real(2.0093191373895963077219813326460e-01L);
81  _weights[ 1]=Real(2.2924110635958624669392059455632e-01L);
82  _weights[ 2]=Real(6.9826979901454122533881272179077e-02L);
83 
84  return;
85  }
86  case SIXTH:
87  case SEVENTH:
88  {
89  _points.resize (4);
90  _weights.resize(4);
91 
92  _points[ 0](0)=Real(5.7104196114517682193121192554116e-02L);
93  _points[ 1](0)=Real(2.7684301363812382768004599768563e-01L);
94  _points[ 2](0)=Real(5.8359043236891682005669766866292e-01L);
95  _points[ 3](0)=Real(8.6024013565621944784791291887512e-01L);
96 
97  _weights[ 0]=Real(1.3550691343148811620826417407794e-01L);
98  _weights[ 1]=Real(2.0346456801027136079140447593585e-01L);
99  _weights[ 2]=Real(1.2984754760823244082645620288963e-01L);
100  _weights[ 3]=Real(3.1180970950008082173875147096575e-02L);
101 
102  return;
103  }
104  case EIGHTH:
105  case NINTH:
106  {
107  _points.resize (5);
108  _weights.resize(5);
109 
110  _points[ 0](0)=Real(3.9809857051468742340806690093333e-02L);
111  _points[ 1](0)=Real(1.9801341787360817253579213679530e-01L);
112  _points[ 2](0)=Real(4.3797481024738614400501252000523e-01L);
113  _points[ 3](0)=Real(6.9546427335363609451461482372117e-01L);
114  _points[ 4](0)=Real(9.0146491420117357387650110211225e-01L);
115 
116  _weights[ 0]=Real(9.6781590226651679274360971636151e-02L);
117  _weights[ 1]=Real(1.6717463809436956549167562309770e-01L);
118  _weights[ 2]=Real(1.4638698708466980869803786935596e-01L);
119  _weights[ 3]=Real(7.3908870072616670350633219341704e-02L);
120  _weights[ 4]=Real(1.5747914521692276185292316568488e-02L);
121 
122  return;
123  }
124  case TENTH:
125  case ELEVENTH:
126  {
127 
128  _points.resize (6);
129  _weights.resize(6);
130 
131  _points[ 0](0)=Real(2.9316427159784891972050276913165e-02L);
132  _points[ 1](0)=Real(1.4807859966848429184997685249598e-01L);
133  _points[ 2](0)=Real(3.3698469028115429909705297208078e-01L);
134  _points[ 3](0)=Real(5.5867151877155013208139334180552e-01L);
135  _points[ 4](0)=Real(7.6923386203005450091688336011565e-01L);
136  _points[ 5](0)=Real(9.2694567131974111485187396581968e-01L);
137 
138  _weights[ 0]=Real(7.2310330725508683655454326124832e-02L);
139  _weights[ 1]=Real(1.3554249723151861684069039663805e-01L);
140  _weights[ 2]=Real(1.4079255378819892811907683907093e-01L);
141  _weights[ 3]=Real(9.8661150890655264120584510548360e-02L);
142  _weights[ 4]=Real(4.3955165550508975508176624305430e-02L);
143  _weights[ 5]=Real(8.7383018136095317560173033123989e-03L);
144 
145  return;
146  }
147  case TWELFTH:
148  case THIRTEENTH:
149  {
150  _points.resize (7);
151  _weights.resize(7);
152 
153  _points[ 0](0)=Real(2.2479386438712498108825499570845e-02L);
154  _points[ 1](0)=Real(1.1467905316090423190964023706751e-01L);
155  _points[ 2](0)=Real(2.6578982278458946847678939169339e-01L);
156  _points[ 3](0)=Real(4.5284637366944461699855144234765e-01L);
157  _points[ 4](0)=Real(6.4737528288683036262609222982876e-01L);
158  _points[ 5](0)=Real(8.1975930826310763501242005719082e-01L);
159  _points[ 6](0)=Real(9.4373743946307785353434780896769e-01L);
160 
161  _weights[ 0]=Real(5.5967363423491051151562113429926e-02L);
162  _weights[ 1]=Real(1.1050925819087460242112073636961e-01L);
163  _weights[ 2]=Real(1.2739089729958832691873448577496e-01L);
164  _weights[ 3]=Real(1.0712506569587366999091225299986e-01L);
165  _weights[ 4]=Real(6.6384696465491469983647988763640e-02L);
166  _weights[ 5]=Real(2.7408356721873475444331048358226e-02L);
167  _weights[ 6]=Real(5.2143622028074040896913743037830e-03L);
168 
169  return;
170  }
171  case FOURTEENTH:
172  case FIFTEENTH:
173  {
174  _points.resize (8);
175  _weights.resize(8);
176 
177  _points[ 0](0)=Real(1.7779915147363451813205101037679e-02L);
178  _points[ 1](0)=Real(9.1323607899793956003741458074541e-02L);
179  _points[ 2](0)=Real(2.1430847939563075835754126758167e-01L);
180  _points[ 3](0)=Real(3.7193216458327230243085396048263e-01L);
181  _points[ 4](0)=Real(5.4518668480342664903227222995321e-01L);
182  _points[ 5](0)=Real(7.1317524285556948105131376025091e-01L);
183  _points[ 6](0)=Real(8.5563374295785442851478147977179e-01L);
184  _points[ 7](0)=Real(9.5536604471003014926687897814169e-01L);
185 
186  _weights[ 0]=Real(4.4550804361555931326215619533963e-02L);
187  _weights[ 1]=Real(9.1119023636373626345722461782880e-02L);
188  _weights[ 2]=Real(1.1250579947088736617177209860428e-01L);
189  _weights[ 3]=Real(1.0604735943593001070453109641116e-01L);
190  _weights[ 4]=Real(7.9199599492319160120408189359892e-02L);
191  _weights[ 5]=Real(4.5439319504698898083055421095694e-02L);
192  _weights[ 6]=Real(1.7842902655986208393552797201042e-02L);
193  _weights[ 7]=Real(3.2951914422487988547423160110891e-03L);
194 
195  return;
196  }
197  case SIXTEENTH:
198  case SEVENTEENTH:
199  {
200  _points.resize (9);
201  _weights.resize(9);
202 
203  _points[ 0](0)=Real(1.4412409648876548632826740810813e-02L);
204  _points[ 1](0)=Real(7.4387389709196044635918185955999e-02L);
205  _points[ 2](0)=Real(1.7611665616299528186317574607257e-01L);
206  _points[ 3](0)=Real(3.0966757992763781705962046722948e-01L);
207  _points[ 4](0)=Real(4.6197040108101093488314310868056e-01L);
208  _points[ 5](0)=Real(6.1811723469529402463922975160350e-01L);
209  _points[ 6](0)=Real(7.6282301518503961468269330714673e-01L);
210  _points[ 7](0)=Real(8.8192102121000129980771488800526e-01L);
211  _points[ 8](0)=Real(9.6374218711679053905883569923192e-01L);
212 
213  _weights[ 0]=Real(3.6278003523279871459649597941160e-02L);
214  _weights[ 1]=Real(7.6074255109308162580079303753964e-02L);
215  _weights[ 2]=Real(9.8533742172345705160173020369274e-02L);
216  _weights[ 3]=Real(1.0030880919336828965415022473259e-01L);
217  _weights[ 4]=Real(8.4358321844920349394250019958587e-02L);
218  _weights[ 5]=Real(5.8401195295165110565731522901640e-02L);
219  _weights[ 6]=Real(3.1804821491054001261690106935870e-02L);
220  _weights[ 7]=Real(1.2060004284785379051727152286900e-02L);
221  _weights[ 8]=Real(2.1808470857731308725490511200170e-03L);
222 
223  return;
224  }
225  case EIGHTTEENTH:
226  case NINETEENTH:
227  {
228  _points.resize (10);
229  _weights.resize(10);
230 
231  _points[ 0](0)=Real(1.1917613432415596909745586958986e-02L);
232  _points[ 1](0)=Real(6.1732071877148125522629367194250e-02L);
233  _points[ 2](0)=Real(1.4711144964307024042759943557982e-01L);
234  _points[ 3](0)=Real(2.6115967600845624026605165805485e-01L);
235  _points[ 4](0)=Real(3.9463984688578684296195210507761e-01L);
236  _points[ 5](0)=Real(5.3673876571566063287309517771189e-01L);
237  _points[ 6](0)=Real(6.7594446167666510735715050893476e-01L);
238  _points[ 7](0)=Real(8.0097892103689884513794630161724e-01L);
239  _points[ 8](0)=Real(9.0171098779014677034879897840977e-01L);
240  _points[ 9](0)=Real(9.6997096783851350295693564236559e-01L);
241 
242  _weights[ 0]=Real(3.0099508024037023300654755523879e-02L);
243  _weights[ 1]=Real(6.4287154509082572874826538628865e-02L);
244  _weights[ 2]=Real(8.6211300289176036428333360711914e-02L);
245  _weights[ 3]=Real(9.2696893677723415844756991929711e-02L);
246  _weights[ 4]=Real(8.4557109690827332430645582165501e-02L);
247  _weights[ 5]=Real(6.6053075563350379166074502504878e-02L);
248  _weights[ 6]=Real(4.3401906407150625922456117586384e-02L);
249  _weights[ 7]=Real(2.2774591453263032586487649426060e-02L);
250  _weights[ 8]=Real(8.4193197829831874175163655187011e-03L);
251  _weights[ 9]=Real(1.4991406024063940282481360041064e-03L);
252 
253  return;
254  }
255  case TWENTIETH:
256  case TWENTYFIRST:
257  {
258  _points.resize (11);
259  _weights.resize(11);
260 
261  _points[ 0](0)=Real(1.0018280461680405843024729867805e-02L);
262  _points[ 1](0)=Real(5.2035451127180552583542695772964e-02L);
263  _points[ 2](0)=Real(1.2461922514444307373529958726391e-01L);
264  _points[ 3](0)=Real(2.2284060704383785550783145345736e-01L);
265  _points[ 4](0)=Real(3.4000815791466518823360523389702e-01L);
266  _points[ 5](0)=Real(4.6813761308958404208311038075775e-01L);
267  _points[ 6](0)=Real(5.9849727976713918322772071367304e-01L);
268  _points[ 7](0)=Real(7.2220328489096792556332130780461e-01L);
269  _points[ 8](0)=Real(8.3082489962281857403056654390566e-01L);
270  _points[ 9](0)=Real(9.1695838655259485329313462701803e-01L);
271  _points[10](0)=Real(9.7472637960247965024666881353837e-01L);
272 
273  _weights[ 0]=Real(2.5367340688141426184944658517383e-02L);
274  _weights[ 1]=Real(5.4938091132871498258746681665651e-02L);
275  _weights[ 2]=Real(7.5620048057186998321377054841660e-02L);
276  _weights[ 3]=Real(8.4659422884017621219239388551910e-02L);
277  _weights[ 4]=Real(8.1879102988063470389586851943461e-02L);
278  _weights[ 5]=Real(6.9531875158183049799050889633934e-02L);
279  _weights[ 6]=Real(5.1591360672297580193086641744608e-02L);
280  _weights[ 7]=Real(3.2641546713833346017953865389764e-02L);
281  _weights[ 8]=Real(1.6663623451680692415747124573826e-02L);
282  _weights[ 9]=Real(6.0439209604797757927329621765769e-03L);
283  _weights[10]=Real(1.0636672932445414075338809612253e-03L);
284 
285  return;
286  }
287  case TWENTYSECOND:
288  case TWENTYTHIRD:
289  {
290  _points.resize (12);
291  _weights.resize(12);
292 
293  _points[ 0](0)=Real(8.5390549884274193686644608778398e-03L);
294  _points[ 1](0)=Real(4.4446463155407723025466798785553e-02L);
295  _points[ 2](0)=Real(1.0685449088347665763410677043250e-01L);
296  _points[ 3](0)=Real(1.9215105452985404099105725622861e-01L);
297  _points[ 4](0)=Real(2.9538088426258022162291683437601e-01L);
298  _points[ 5](0)=Real(4.1054508120145768248903435055933e-01L);
299  _points[ 6](0)=Real(5.3095084931281767062893024289682e-01L);
300  _points[ 7](0)=Real(6.4960065027725499276629172334298e-01L);
301  _points[ 8](0)=Real(7.5959888952522705374260257404342e-01L);
302  _points[ 9](0)=Real(8.5455254376493588079021191640562e-01L);
303  _points[10](0)=Real(9.2894210126441101784881015513432e-01L);
304  _points[11](0)=Real(9.7843793683414963909190691691700e-01L);
305 
306  _weights[ 0]=Real(2.1664860886871767324583472077976e-02L);
307  _weights[ 1]=Real(4.7427851980377470134309182197087e-02L);
308  _weights[ 2]=Real(6.6606750626673198130834485351975e-02L);
309  _weights[ 3]=Real(7.6896602680041006281204469112373e-02L);
310  _weights[ 4]=Real(7.7696316815531026628765631099760e-02L);
311  _weights[ 5]=Real(7.0109339997630094495921805029671e-02L);
312  _weights[ 6]=Real(5.6613843713667631943701105156121e-02L);
313  _weights[ 7]=Real(4.0451653706913616760646424250646e-02L);
314  _weights[ 8]=Real(2.4876780409265432012508172290016e-02L);
315  _weights[ 9]=Real(1.2436009166422265607483293056674e-02L);
316  _weights[10]=Real(4.4448077956684623227961458658283e-03L);
317  _weights[11]=Real(7.7518222093802835724581451187414e-04L);
318 
319  return;
320  }
321 
322  case TWENTYFOURTH:
323  case TWENTYFIFTH:
324  {
325  _points.resize (13);
326  _weights.resize(13);
327 
328  _points[ 0](0)=Real(7.3646510260893216506914984138223e-03L);
329  _points[ 1](0)=Real(3.8398138739678350376832524864142e-02L);
330  _points[ 2](0)=Real(9.2595224699002635282891375438616e-02L);
331  _points[ 3](0)=Real(1.6725101139155773149552247875936e-01L);
332  _points[ 4](0)=Real(2.5862354070576251658979073282269e-01L);
333  _points[ 5](0)=Real(3.6213139728223880040868129822732e-01L);
334  _points[ 6](0)=Real(4.7258438600411772517509464267860e-01L);
335  _points[ 7](0)=Real(5.8444396402134045550422084781091e-01L);
336  _points[ 8](0)=Real(6.9210100171960165689704195168767e-01L);
337  _points[ 9](0)=Real(7.9015702827343748555286333249938e-01L);
338  _points[10](0)=Real(8.7369482130668941936771456713174e-01L);
339  _points[11](0)=Real(9.3852445910073101239763338676530e-01L);
340  _points[12](0)=Real(9.8138963498901214856028062215971e-01L);
341 
342  _weights[ 0]=Real(1.8714731585615175193374408664994e-02L);
343  _weights[ 1]=Real(4.1320289419839298476611706952624e-02L);
344  _weights[ 2]=Real(5.8953937956647082536161503261961e-02L);
345  _weights[ 3]=Real(6.9713468282144398251416629950427e-02L);
346  _weights[ 4]=Real(7.2849696515818223079384033843973e-02L);
347  _weights[ 5]=Real(6.8815529487565417217837889436694e-02L);
348  _weights[ 6]=Real(5.9120481314092327419290155953032e-02L);
349  _weights[ 7]=Real(4.5995780676052393313259784530213e-02L);
350  _weights[ 8]=Real(3.1936787162203148842381371158461e-02L);
351  _weights[ 9]=Real(1.9213957164719820645895497863743e-02L);
352  _weights[10]=Real(9.4489244795927503661800865492413e-03L);
353  _weights[11]=Real(3.3383592507737718066104206420419e-03L);
354  _weights[12]=Real(5.7805670493619285159651119259460e-04L);
355 
356  return;
357  }
358 
359  case TWENTYSIXTH:
360  case TWENTYSEVENTH:
361  {
362  _points.resize (14);
363  _weights.resize(14);
364 
365  _points[ 0](0)=Real(6.4167607928184568108204640945072e-03L);
366  _points[ 1](0)=Real(3.3501404532013140035963928570572e-02L);
367  _points[ 2](0)=Real(8.0985499681955184392451307739982e-02L);
368  _points[ 3](0)=Real(1.4680486768121372992366016526080e-01L);
369  _points[ 4](0)=Real(2.2808427064925799153464409861994e-01L);
370  _points[ 5](0)=Real(3.2127174398893617440234039741304e-01L);
371  _points[ 6](0)=Real(4.2229465730757025784040898751810e-01L);
372  _points[ 7](0)=Real(5.2673786133987303205372694481288e-01L);
373  _points[ 8](0)=Real(6.3003668837040395788448059413143e-01L);
374  _points[ 9](0)=Real(7.2767645288926468543602672799033e-01L);
375  _points[10](0)=Real(8.1538973944347464197307421861206e-01L);
376  _points[11](0)=Real(8.8934280881951553969087166094649e-01L);
377  _points[12](0)=Real(9.4630270006027538353340594342472e-01L);
378  _points[13](0)=Real(9.8377523409860023828122800914100e-01L);
379 
380  _weights[ 0]=Real(1.6326754322596839819449429350767e-02L);
381  _weights[ 1]=Real(3.6296078055443693187652118821852e-02L);
382  _weights[ 2]=Real(5.2445953501916745591081806162678e-02L);
383  _weights[ 3]=Real(6.3213025574329203442529115357932e-02L);
384  _weights[ 4]=Real(6.7831659604182837102347339834146e-02L);
385  _weights[ 5]=Real(6.6392350626085425132821358651277e-02L);
386  _weights[ 6]=Real(5.9785559022531584222614059168587e-02L);
387  _weights[ 7]=Real(4.9519454523203004580936179335753e-02L);
388  _weights[ 8]=Real(3.7443096458985826655938301826886e-02L);
389  _weights[ 9]=Real(2.5423465407148762115069898757459e-02L);
390  _weights[10]=Real(1.5032303743928643503408714751315e-02L);
391  _weights[11]=Real(7.2964841332126214434099222674776e-03L);
392  _weights[12]=Real(2.5541013176876539479794996099427e-03L);
393  _weights[13]=Real(4.3971370874715925476225610392609e-04L);
394 
395  return;
396  }
397 
398  case TWENTYEIGHTH:
399  case TWENTYNINTH:
400  {
401  _points.resize (15);
402  _weights.resize(15);
403 
404  _points[ 0](0)=Real(5.6406889725117097575064665794442e-03L);
405  _points[ 1](0)=Real(2.9482298647942486631640984718004e-02L);
406  _points[ 2](0)=Real(7.1412953115158840054783901746735e-02L);
407  _points[ 3](0)=Real(1.2983102555359105597125453809429e-01L);
408  _points[ 4](0)=Real(2.0249275505010404756821998832023e-01L);
409  _points[ 5](0)=Real(2.8660608625752705998402604548440e-01L);
410  _points[ 6](0)=Real(3.7893868864697803810652900914277e-01L);
411  _points[ 7](0)=Real(4.7594230846323486057258899201585e-01L);
412  _points[ 8](0)=Real(5.7388916090668588067145385523753e-01L);
413  _points[ 9](0)=Real(6.6901519502995987653869563905314e-01L);
414  _points[10](0)=Real(7.5766473903134271199707427774029e-01L);
415  _points[11](0)=Real(8.3643096060561012397555908565418e-01L);
416  _points[12](0)=Real(9.0228670067937802663123850466201e-01L);
417  _points[13](0)=Real(9.5270040990583331433804420752426e-01L);
418  _points[14](0)=Real(9.8573054526317422526590063305913e-01L);
419 
420  _weights[ 0]=Real(1.4367069621712523019113300206269e-02L);
421  _weights[ 1]=Real(3.2119044874965915878547666076448e-02L);
422  _weights[ 2]=Real(4.6891639944059925679345570546797e-02L);
423  _weights[ 3]=Real(5.7398825506941289374618916116414e-02L);
424  _weights[ 4]=Real(6.2918106648596909592665349230551e-02L);
425  _weights[ 5]=Real(6.3343955161511392519350738069297e-02L);
426  _weights[ 6]=Real(5.9174192059712931565021168664588e-02L);
427  _weights[ 7]=Real(5.1412362311886468530400169371359e-02L);
428  _weights[ 8]=Real(4.1400735184422578228813150524935e-02L);
429  _weights[ 9]=Real(3.0609769586468540804291808789747e-02L);
430  _weights[10]=Real(2.0416309272619835691190995270654e-02L);
431  _weights[11]=Real(1.1904190355097578843030186960250e-02L);
432  _weights[12]=Real(5.7172223947211761716246502974268e-03L);
433  _weights[13]=Real(1.9862346931450380410338051145760e-03L);
434  _weights[14]=Real(3.4034238413789606095252476068833e-04L);
435 
436  return;
437  }
438 
439 
440  case THIRTIETH:
441  case THIRTYFIRST:
442  {
443  _points.resize (16);
444  _weights.resize(16);
445 
446  _points[ 0](0)=Real(4.9972996637719210426511496015207e-03L);
447  _points[ 1](0)=Real(2.6143513681394051978549323380543e-02L);
448  _points[ 2](0)=Real(6.3430945583836745492528222770701e-02L);
449  _points[ 3](0)=Real(1.1559843757981594017892362824740e-01L);
450  _points[ 4](0)=Real(1.8087055965788366624757339125570e-01L);
451  _points[ 5](0)=Real(2.5702480784517085992294423955927e-01L);
452  _points[ 6](0)=Real(3.4146792754782306862589929793869e-01L);
453  _points[ 7](0)=Real(4.3132434359562537508359226958274e-01L);
454  _points[ 8](0)=Real(5.2353411602516832051747016507566e-01L);
455  _points[ 9](0)=Real(6.1495715187648951748964083381908e-01L);
456  _points[10](0)=Real(7.0248013792504104445480697553762e-01L);
457  _points[11](0)=Real(7.8312255396486808385218178256205e-01L);
458  _points[12](0)=Real(8.5413814777521063366511368381932e-01L);
459  _points[13](0)=Real(9.1310837653714127462958554670327e-01L);
460  _points[14](0)=Real(9.5802441769047545454495934455429e-01L);
461  _points[15](0)=Real(9.8735302062604161803115590316790e-01L);
462 
463  _weights[ 0]=Real(1.2739310657334184747549845879578e-02L);
464  _weights[ 1]=Real(2.8612452590143149357558068987418e-02L);
465  _weights[ 2]=Real(4.2129431157428284757515740541878e-02L);
466  _weights[ 3]=Real(5.2228594403959147363509678893029e-02L);
467  _weights[ 4]=Real(5.8254240209855835379301779422393e-02L);
468  _weights[ 5]=Real(6.0000854888113507055385942002166e-02L);
469  _weights[ 6]=Real(5.7718879609267823617681995467969e-02L);
470  _weights[ 7]=Real(5.2064137843806583754973352189273e-02L);
471  _weights[ 8]=Real(4.3997382189243923173481417304490e-02L);
472  _weights[ 9]=Real(3.4647816579285799103084877873731e-02L);
473  _weights[10]=Real(2.5159233106470040585653957496918e-02L);
474  _weights[11]=Real(1.6539584355635793501225242083105e-02L);
475  _weights[12]=Real(9.5341678846659366549669638207733e-03L);
476  _weights[13]=Real(4.5392323861386350682211111786128e-03L);
477  _weights[14]=Real(1.5671884735958197030724006964051e-03L);
478  _weights[15]=Real(2.6749366505553617681762616226073e-04L);
479 
480  return;
481  }
482 
483 
484  case THIRTYSECOND:
485  case THIRTYTHIRD:
486  {
487  _points.resize (17);
488  _weights.resize(17);
489 
490  _points[ 0](0)=Real(4.4579935677873917545062291115464e-03L);
491  _points[ 1](0)=Real(2.3340094123774273967021528207683e-02L);
492  _points[ 2](0)=Real(5.6707968769078239532713331556521e-02L);
493  _points[ 3](0)=Real(1.0355543293519706341349122696131e-01L);
494  _points[ 4](0)=Real(1.6246000342813654998162954391410e-01L);
495  _points[ 5](0)=Real(2.3163212577717218294679722573836e-01L);
496  _points[ 6](0)=Real(3.0897011775219590331752426128626e-01L);
497  _points[ 7](0)=Real(3.9212413472209565803361946333190e-01L);
498  _points[ 8](0)=Real(4.7856759685307958878371046285937e-01L);
499  _points[ 9](0)=Real(5.6567396688663433190330697600965e-01L);
500  _points[10](0)=Real(6.5079655845338226473148740732315e-01L);
501  _points[11](0)=Real(7.3134895273405138213302149556298e-01L);
502  _points[12](0)=Real(8.0488357852496649199917770139703e-01L);
503  _points[13](0)=Real(8.6916605956741361920444649801116e-01L);
504  _points[14](0)=Real(9.2224303459229840848710732823038e-01L);
505  _points[15](0)=Real(9.6250119782335004125046077538851e-01L);
506  _points[16](0)=Real(9.8871404063224375141712140225296e-01L);
507 
508  _weights[ 0]=Real(1.1372703113196894148880104403419e-02L);
509  _weights[ 1]=Real(2.5642427920205179185750205247311e-02L);
510  _weights[ 2]=Real(3.8025728825742400201474917006665e-02L);
511  _weights[ 3]=Real(4.7641869374618441920575209265709e-02L);
512  _weights[ 4]=Real(5.3907931667527480191616020246527e-02L);
513  _weights[ 5]=Real(5.6573611382471512986991034182850e-02L);
514  _weights[ 6]=Real(5.5734917923560549577129019490753e-02L);
515  _weights[ 7]=Real(5.1809741929296333255214704762820e-02L);
516  _weights[ 8]=Real(4.5477790399142277497438924164211e-02L);
517  _weights[ 9]=Real(3.7592325487112238031431998524319e-02L);
518  _weights[10]=Real(2.9074524087705050563187355467924e-02L);
519  _weights[11]=Real(2.0803278010295362060012866375773e-02L);
520  _weights[12]=Real(1.3513697452300780909638958310491e-02L);
521  _weights[13]=Real(7.7164222148059386958884227660543e-03L);
522  _weights[14]=Real(3.6472304834214064450344565237838e-03L);
523  _weights[15]=Real(1.2526834393912207489106525201067e-03L);
524  _weights[16]=Real(2.1311628920693358082515074128342e-04L);
525 
526  return;
527  }
528 
529  case THIRTYFOURTH:
530  case THIRTYFIFTH:
531  {
532  _points.resize (18);
533  _weights.resize(18);
534 
535  _points[ 0](0)=Real(4.0014793838673867970427199102708e-03L);
536  _points[ 1](0)=Real(2.0963648393766477995135600986561e-02L);
537  _points[ 2](0)=Real(5.0994041587890553966774921299853e-02L);
538  _points[ 3](0)=Real(9.3280395928544950777609058826066e-02L);
539  _points[ 4](0)=Real(1.4667010367761795715160882973461e-01L);
540  _points[ 5](0)=Real(2.0970703958884296672188171145203e-01L);
541  _points[ 6](0)=Real(2.8067179006017169910681926203455e-01L);
542  _points[ 7](0)=Real(3.5762864997663462939832714298390e-01L);
543  _points[ 8](0)=Real(4.3847844922413811765185426038741e-01L);
544  _points[ 9](0)=Real(5.2101582087077614731981479158547e-01L);
545  _points[10](0)=Real(6.0298936055983207213748070418747e-01L);
546  _points[11](0)=Real(6.8216303911365156501882207998153e-01L);
547  _points[12](0)=Real(7.5637719340615062679816733590978e-01L);
548  _points[13](0)=Real(8.2360742977486956587394885462062e-01L);
549  _points[14](0)=Real(8.8201982536207914673124120886230e-01L);
550  _points[15](0)=Real(9.3002088969969321648195850472769e-01L);
551  _points[16](0)=Real(9.6630075194563254241150674649068e-01L);
552  _points[17](0)=Real(9.8986684820259713441676302277596e-01L);
553 
554  _weights[ 0]=Real(1.0214339435040633872267566728543e-02L);
555  _weights[ 1]=Real(2.3106350163377066931289331193145e-02L);
556  _weights[ 2]=Real(3.4471118921922024965038695158493e-02L);
557  _weights[ 3]=Real(4.3573907074643088262181650935306e-02L);
558  _weights[ 4]=Real(4.9902226917702713891102223856106e-02L);
559  _weights[ 5]=Real(5.3192334631835660026223777017865e-02L);
560  _weights[ 6]=Real(5.3445287802814027020361560753181e-02L);
561  _weights[ 7]=Real(5.0916928856374093181562996165432e-02L);
562  _weights[ 8]=Real(4.6082400990241280762086995392822e-02L);
563  _weights[ 9]=Real(3.9579162288607878726422969126448e-02L);
564  _weights[10]=Real(3.2134806127628549240737903166505e-02L);
565  _weights[11]=Real(2.4487590001291716597869859208141e-02L);
566  _weights[12]=Real(1.7308300480899289815470186505791e-02L);
567  _weights[13]=Real(1.1131870097409362452892993478578e-02L);
568  _weights[14]=Real(6.3060388823805337332782426625400e-03L);
569  _weights[15]=Real(2.9624430644328375036535062298419e-03L);
570  _weights[16]=Real(1.0130251793010471252471709101709e-03L);
571  _weights[17]=Real(1.7186908409819589231237151109171e-04L);
572 
573  return;
574  }
575 
576  case THIRTYSIXTH:
577  case THIRTYSEVENTH:
578  {
579  _points.resize (19);
580  _weights.resize(19);
581 
582  _points[ 0](0)=Real(3.6116428185568930344532101262520e-03L);
583  _points[ 1](0)=Real(1.8931837031588217250264524316949e-02L);
584  _points[ 2](0)=Real(4.6097933048431083573924770835459e-02L);
585  _points[ 3](0)=Real(8.4447222784209820599847900451170e-02L);
586  _points[ 4](0)=Real(1.3303618855809877542408742397522e-01L);
587  _points[ 5](0)=Real(1.9066859490476335108747466488719e-01L);
588  _points[ 6](0)=Real(2.5592540348210296025204739729528e-01L);
589  _points[ 7](0)=Real(3.2719980076381171572842996527566e-01L);
590  _points[ 8](0)=Real(4.0273678616507709512304701110488e-01L);
591  _points[ 9](0)=Real(4.8067639357855190263322135248271e-01L);
592  _points[10](0)=Real(5.5909949264903198784692797587908e-01L);
593  _points[11](0)=Real(6.3607504487927089469109105709816e-01L);
594  _points[12](0)=Real(7.0970765165390239884374678311164e-01L);
595  _points[13](0)=Real(7.7818422297676161420929964704208e-01L);
596  _points[14](0)=Real(8.3981861570871107783863629442929e-01L);
597  _points[15](0)=Real(8.9309313498184497075098115456491e-01L);
598  _points[16](0)=Real(9.3669584807436508054390550208195e-01L);
599  _points[17](0)=Real(9.6955263708022088547192878623227e-01L);
600  _points[18](0)=Real(9.9085180527095568535309483522012e-01L);
601 
602  _weights[ 0]=Real(9.2240377250330766917668248692203e-03L);
603  _weights[ 1]=Real(2.0924651751979890481445228332988e-02L);
604  _weights[ 2]=Real(3.1376275285732898854356814457609e-02L);
605  _weights[ 3]=Real(3.9962370048991741940293076442317e-02L);
606  _weights[ 4]=Real(4.6234928168578411765380785132191e-02L);
607  _weights[ 5]=Real(4.9934138240419379553284105838773e-02L);
608  _weights[ 6]=Real(5.1004186626719396295755229568486e-02L);
609  _weights[ 7]=Real(4.9591046468706580141316052533532e-02L);
610  _weights[ 8]=Real(4.6021985716138412908362881060678e-02L);
611  _weights[ 9]=Real(4.0768870871836685572301729841664e-02L);
612  _weights[10]=Real(3.4398957951907391429559705435925e-02L);
613  _weights[11]=Real(2.7518058144347978141481142479516e-02L);
614  _weights[12]=Real(2.0711672562757804879837159838775e-02L);
615  _weights[13]=Real(1.4489847112109724657001233005036e-02L);
616  _weights[14]=Real(9.2410919293165977626976877702861e-03L);
617  _weights[15]=Real(5.1997813282783796868055465441831e-03L);
618  _weights[16]=Real(2.4300917120432807075681660438661e-03L);
619  _weights[17]=Real(8.2788076092398219334600301771448e-04L);
620  _weights[18]=Real(1.4012759417838633744062778723898e-04L);
621 
622  return;
623  }
624 
625  case THIRTYEIGHTH:
626  case THIRTYNINTH:
627  {
628  _points.resize (20);
629  _weights.resize(20);
630 
631  _points[ 0](0)=Real(3.2761066690500989752646761128711e-03L);
632  _points[ 1](0)=Real(1.7181218145255713738247704631582e-02L);
633  _points[ 2](0)=Real(4.1871431117765195244234634143709e-02L);
634  _points[ 3](0)=Real(7.6800837089621970481870523019947e-02L);
635  _points[ 4](0)=Real(1.2118986732367606561768615229454e-01L);
636  _points[ 5](0)=Real(1.7404711263554216522415793419966e-01L);
637  _points[ 6](0)=Real(2.3419188631359219089445571283230e-01L);
638  _points[ 7](0)=Real(3.0028067683595016436625841871717e-01L);
639  _points[ 8](0)=Real(3.7083718058439689644532207953771e-01L);
640  _points[ 9](0)=Real(4.4428528696301116212882391783598e-01L);
641  _points[10](0)=Real(5.1898428870357372961841176083024e-01L);
642  _points[11](0)=Real(5.9326553348350648796739308654437e-01L);
643  _points[12](0)=Real(6.6546969890551364795372958813385e-01L);
644  _points[13](0)=Real(7.3398385823565944973202719329584e-01L);
645  _points[14](0)=Real(7.9727750833659468770218885137527e-01L);
646  _points[15](0)=Real(8.5393675303589045708900439161802e-01L);
647  _points[16](0)=Real(9.0269587179345369227634694169967e-01L);
648  _points[17](0)=Real(9.4246554236318633869089187742766e-01L);
649  _points[18](0)=Real(9.7235694664743691118470187166465e-01L);
650  _points[19](0)=Real(9.9169995579293273076654365969470e-01L);
651 
652  _weights[ 0]=Real(8.3708441762725569742347797346057e-03L);
653  _weights[ 1]=Real(1.9034969463701666952317752319364e-02L);
654  _weights[ 2]=Real(2.8668237379130596303519483134423e-02L);
655  _weights[ 3]=Real(3.6750239836647855880170014918540e-02L);
656  _weights[ 4]=Real(4.2890295837978204214146023790200e-02L);
657  _weights[ 5]=Real(4.6841691862557827847492882468251e-02L);
658  _weights[ 6]=Real(4.8516105059854090810181874268668e-02L);
659  _weights[ 7]=Real(4.7985461609943912515256158210751e-02L);
660  _weights[ 8]=Real(4.5470588941353475125260875269943e-02L);
661  _weights[ 9]=Real(4.1317706816665737825832945172262e-02L);
662  _weights[10]=Real(3.5964919153862747854063187859799e-02L);
663  _weights[11]=Real(2.9901741842629013049082489189589e-02L);
664  _weights[12]=Real(2.3625296173548892813066360441583e-02L);
665  _weights[13]=Real(1.7597066879206016267686128655074e-02L);
666  _weights[14]=Real(1.2204046126680104278798703245791e-02L);
667  _weights[15]=Real(7.7276679300514628735780671415898e-03L);
668  _weights[16]=Real(4.3232191126901531337390520742896e-03L);
669  _weights[17]=Real(2.0114576139640780069071394684122e-03L);
670  _weights[18]=Real(6.8306227608592198451771987553801e-04L);
671  _weights[19]=Real(1.1538190717568529014836276132844e-04L);
672 
673  return;
674  }
675 
676  case FORTIETH:
677  case FORTYFIRST:
678  {
679  _points.resize (21);
680  _weights.resize(21);
681 
682  _points[ 0](0)=Real(2.9852372832130627418887840757498e-03L);
683  _points[ 1](0)=Real(1.5662280557573547332895610655678e-02L);
684  _points[ 2](0)=Real(3.8198288245073553344832819395658e-02L);
685  _points[ 3](0)=Real(7.0139619062325798139842656763758e-02L);
686  _points[ 4](0)=Real(1.1083667332036350223762530758616e-01L);
687  _points[ 5](0)=Real(1.5946112944406525026381380836555e-01L);
688  _points[ 6](0)=Real(2.1502318535802028508091216764592e-01L);
689  _points[ 7](0)=Real(2.7639177909378317240968620976306e-01L);
690  _points[ 8](0)=Real(3.4231763295873079372348132371246e-01L);
691  _points[ 9](0)=Real(4.1145869156190519892697533612651e-01L);
692  _points[10](0)=Real(4.8240744461243888053531852185958e-01L);
693  _points[11](0)=Real(5.5371958072829359140036561243486e-01L);
694  _points[12](0)=Real(6.2394338972128194749630581474409e-01L);
695  _points[13](0)=Real(6.9164931501296225721944667896925e-01L);
696  _points[14](0)=Real(7.5545905444968698626584997281486e-01L);
697  _points[15](0)=Real(8.1407361651269741678894410957934e-01L);
698  _points[16](0)=Real(8.6629975897095659707636330435792e-01L);
699  _points[17](0)=Real(9.1107426580261577477966643276619e-01L);
700  _points[18](0)=Real(9.4748554440639734668609897166113e-01L);
701  _points[19](0)=Real(9.7479197566036565307915209128675e-01L);
702  _points[20](0)=Real(9.9243549072562147749379027938900e-01L);
703 
704  _weights[ 0]=Real(7.6306059065231890951709176867159e-03L);
705  _weights[ 1]=Real(1.7387926076195012545310092581185e-02L);
706  _weights[ 2]=Real(2.6287260083203306468723755830943e-02L);
707  _weights[ 3]=Real(3.3886790344403175515158905218748e-02L);
708  _weights[ 4]=Real(3.9845977571398966444570950002831e-02L);
709  _weights[ 5]=Real(4.3935570635150377464859835729052e-02L);
710  _weights[ 6]=Real(4.6050270723257502074077985626262e-02L);
711  _weights[ 7]=Real(4.6212552611022412660350368837561e-02L);
712  _weights[ 8]=Real(4.4566874686154606866984823191992e-02L);
713  _weights[ 9]=Real(4.1364760396997617354403702904192e-02L);
714  _weights[10]=Real(3.6942012648499385551903205764287e-02L);
715  _weights[11]=Real(3.1689953050127340376763333466278e-02L);
716  _weights[12]=Real(2.6023046795895555117823162899995e-02L);
717  _weights[13]=Real(2.0345549389821508292035088652126e-02L);
718  _weights[14]=Real(1.5019872613192784763520392446339e-02L);
719  _weights[15]=Real(1.0339209757970312663832726410241e-02L);
720  _weights[16]=Real(6.5065974236456053354067512991831e-03L);
721  _weights[17]=Real(3.6220528697449398652362737797211e-03L);
722  _weights[18]=Real(1.6787560215669155362763365937815e-03L);
723  _weights[19]=Real(5.6849852669976417861179123569953e-04L);
724  _weights[20]=Real(9.5861868529721828979599842865244e-05L);
725 
726  return;
727  }
728 
729  case FORTYSECOND:
730  case FORTYTHIRD:
731  {
732  _points.resize (22);
733  _weights.resize(22);
734 
735  _points[ 0](0)=Real(2.7314460088842296840089704503200e-03L);
736  _points[ 1](0)=Real(1.4335933483699706185308039285053e-02L);
737  _points[ 2](0)=Real(3.4986328351216449387218814071085e-02L);
738  _points[ 3](0)=Real(6.4302641132158882531275071395686e-02L);
739  _points[ 4](0)=Real(1.0173934345216392401258226593794e-01L);
740  _points[ 5](0)=Real(1.4659920015766541692656584266952e-01L);
741  _points[ 6](0)=Real(1.9804660411818261484660504028001e-01L);
742  _points[ 7](0)=Real(2.5512320697168696957682873507625e-01L);
743  _points[ 8](0)=Real(3.1676578871044727183421117602379e-01L);
744  _points[ 9](0)=Real(3.8182606925675020305095127628112e-01L);
745  _points[10](0)=Real(4.4909210098681733251387195042393e-01L);
746  _points[11](0)=Real(5.1731084595099112005136286684174e-01L);
747  _points[12](0)=Real(5.8521151795129912975524533467408e-01L);
748  _points[13](0)=Real(6.5152925489581447403580682231185e-01L);
749  _points[14](0)=Real(7.1502868047476240261215783933800e-01L);
750  _points[15](0)=Real(7.7452691606482263532020273841099e-01L);
751  _points[16](0)=Real(8.2891561362172651235400549854277e-01L);
752  _points[17](0)=Real(8.7718159746542002099358323827803e-01L);
753  _points[18](0)=Real(9.1842572498984926327926994425432e-01L);
754  _points[19](0)=Real(9.5187959322971991452332541323047e-01L);
755  _points[20](0)=Real(9.7691966323712886717816657113704e-01L);
756  _points[21](0)=Real(9.9307748504434821490300210664154e-01L);
757 
758  _weights[ 0]=Real(6.9842561136978136538216549700282e-03L);
759  _weights[ 1]=Real(1.5944053454778496864565929126309e-02L);
760  _weights[ 2]=Real(2.4184236671890499758870393233781e-02L);
761  _weights[ 3]=Real(3.1327596999375227892408958559682e-02L);
762  _weights[ 4]=Real(3.7077054093202864483217335909271e-02L);
763  _weights[ 5]=Real(4.1222404906411452577079119693783e-02L);
764  _weights[ 6]=Real(4.3651203786303462995293138094828e-02L);
765  _weights[ 7]=Real(4.4353370900419806188626977124445e-02L);
766  _weights[ 8]=Real(4.3418750145417827908334525766667e-02L);
767  _weights[ 9]=Real(4.1027795781940901638265438618895e-02L);
768  _weights[10]=Real(3.7436116466930019239662981188891e-02L);
769  _weights[11]=Real(3.2954058785385534039887856528676e-02L);
770  _weights[12]=Real(2.7922870823442631249079662456458e-02L);
771  _weights[13]=Real(2.2689228598160995380212860776143e-02L);
772  _weights[14]=Real(1.7580017560152292742735027157072e-02L);
773  _weights[15]=Real(1.2879230281365339696348205046681e-02L);
774  _weights[16]=Real(8.8086724401109070881737532508054e-03L);
775  _weights[17]=Real(5.5138751021276410109163746634529e-03L);
776  _weights[18]=Real(3.0562141131504037344643025112362e-03L);
777  _weights[19]=Real(1.4117668531394242829582650189559e-03L);
778  _weights[20]=Real(4.7692790565900675904839748933142e-04L);
779  _weights[21]=Real(8.0298216937450816028842814607537e-05L);
780 
781  return;
782  }
783 
784  default:
785  libmesh_error_msg("Quadrature rule " << _order << " not supported!");
786  } // end switch(_order + 2*p)
787  } // end if ((_alpha == 1) && (_beta == 0))
788 
789 
790 
791  else if ((_alpha == 2) && (_beta == 0))
792  {
793 
794  switch(_order + 2*p)
795  {
796  case CONSTANT:
797  case FIRST:
798  {
799  _points.resize (1);
800  _weights.resize(1);
801 
802  _points[0](0) = 0.25;
803 
804  _weights[0] = 1./3.;
805 
806  return;
807  }
808  case SECOND:
809  case THIRD:
810  {
811  _points.resize (2);
812  _weights.resize(2);
813 
814  _points[ 0](0)=Real(1.2251482265544137786674043037115e-01L);
815  _points[ 1](0)=Real(5.4415184401122528879992623629551e-01L);
816 
817  _weights[ 0]=Real(2.3254745125350790274997694884235e-01L);
818  _weights[ 1]=Real(1.0078588207982543058335638449099e-01L);
819 
820  return;
821  }
822  case FOURTH:
823  case FIFTH:
824  {
825  _points.resize (3);
826  _weights.resize(3);
827 
828  _points[ 0](0)=Real(7.2994024073149732155837979012003e-02L);
829  _points[ 1](0)=Real(3.4700376603835188472176354340395e-01L);
830  _points[ 2](0)=Real(7.0500220988849838312239847758405e-01L);
831 
832  _weights[ 0]=Real(1.5713636106488661331834482221327e-01L);
833  _weights[ 1]=Real(1.4624626925986602200351202036424e-01L);
834  _weights[ 2]=Real(2.9950703008580698011476490755827e-02L);
835 
836  return;
837  }
838  case SIXTH:
839  case SEVENTH:
840  {
841  _points.resize (4);
842  _weights.resize(4);
843 
844  _points[ 0](0)=Real(4.8500549446997329297067257098986e-02L);
845  _points[ 1](0)=Real(2.3860073755186230505898141272470e-01L);
846  _points[ 2](0)=Real(5.1704729510436750234057336938307e-01L);
847  _points[ 3](0)=Real(7.9585141789677286330337796079324e-01L);
848 
849  _weights[ 0]=Real(1.1088841561127798368323131746895e-01L);
850  _weights[ 1]=Real(1.4345878979921420904832801427594e-01L);
851  _weights[ 2]=Real(6.8633887172923075317376345041811e-02L);
852  _weights[ 3]=Real(1.0352240749918065284397656546639e-02L);
853 
854  return;
855  }
856  case EIGHTH:
857  case NINTH:
858  {
859  _points.resize (5);
860  _weights.resize(5);
861 
862  _points[ 0](0)=Real(3.4578939918215091524457428631527e-02L);
863  _points[ 1](0)=Real(1.7348032077169572310459241798618e-01L);
864  _points[ 2](0)=Real(3.8988638706551932824089541038499e-01L);
865  _points[ 3](0)=Real(6.3433347263088677234716388892062e-01L);
866  _points[ 4](0)=Real(8.5105421294701641811622418741001e-01L);
867 
868  _weights[ 0]=Real(8.1764784285770917904880732922352e-02L);
869  _weights[ 1]=Real(1.2619896189991148802883293516467e-01L);
870  _weights[ 2]=Real(8.9200161221590000186254493070384e-02L);
871  _weights[ 3]=Real(3.2055600722961919254748930556633e-02L);
872  _weights[ 4]=Real(4.1138252030990079586162416192983e-03L);
873 
874  return;
875  }
876  case TENTH:
877  case ELEVENTH:
878  {
879  _points.resize (6);
880  _weights.resize(6);
881 
882  _points[ 0](0)=Real(2.5904555093667192754643606997235e-02L);
883  _points[ 1](0)=Real(1.3156394165798513398691085074097e-01L);
884  _points[ 2](0)=Real(3.0243691802289123274990557791855e-01L);
885  _points[ 3](0)=Real(5.0903641316475208401103990516772e-01L);
886  _points[ 4](0)=Real(7.1568112731171391876766262459361e-01L);
887  _points[ 5](0)=Real(8.8680561617756186630126600601049e-01L);
888 
889  _weights[ 0]=Real(6.2538702726580937878526556468332e-02L);
890  _weights[ 1]=Real(1.0737649973678063260575568234795e-01L);
891  _weights[ 2]=Real(9.4577186748541203568292051720052e-02L);
892  _weights[ 3]=Real(5.1289571129616210220129325076919e-02L);
893  _weights[ 4]=Real(1.5720297184945051327851262130020e-02L);
894  _weights[ 5]=Real(1.8310758068692977327784555900562e-03L);
895 
896  return;
897  }
898  case TWELFTH:
899  case THIRTEENTH:
900  {
901  _points.resize (7);
902  _weights.resize(7);
903 
904  _points[ 0](0)=Real(2.0132773773400507230501687117472e-02L);
905  _points[ 1](0)=Real(1.0308902914804901475222678600595e-01L);
906  _points[ 2](0)=Real(2.4055412604805753665369914150100e-01L);
907  _points[ 3](0)=Real(4.1400214459705974641828724885057e-01L);
908  _points[ 4](0)=Real(6.0002151327899293019396877288994e-01L);
909  _points[ 5](0)=Real(7.7351724659143750111199899642603e-01L);
910  _points[ 6](0)=Real(9.1118316656300276363931736720905e-01L);
911 
912  _weights[ 0]=Real(4.9276501776438120823429129084905e-02L);
913  _weights[ 1]=Real(9.0698824612686144536967479972374e-02L);
914  _weights[ 2]=Real(9.1733803279795254111416595896867e-02L);
915  _weights[ 3]=Real(6.3146378708891297709533940481199e-02L);
916  _weights[ 4]=Real(2.9422211289528614840745351985011e-02L);
917  _weights[ 5]=Real(8.1629256323046945072318090687213e-03L);
918  _weights[ 6]=Real(8.9268803368920680400902684425561e-04L);
919 
920  return;
921  }
922  case FOURTEENTH:
923  case FIFTEENTH:
924  {
925  _points.resize (8);
926  _weights.resize(8);
927 
928  _points[ 0](0)=Real(1.6097759551921033532013550096618e-02L);
929  _points[ 1](0)=Real(8.2900617485651102700366353380388e-02L);
930  _points[ 2](0)=Real(1.9547516848873991732426660953061e-01L);
931  _points[ 3](0)=Real(3.4165199147720222027296226216240e-01L);
932  _points[ 4](0)=Real(5.0559707818448917194006186500608e-01L);
933  _points[ 5](0)=Real(6.6955227182436145183011451055437e-01L);
934  _points[ 6](0)=Real(8.1577170358328376075475178697587e-01L);
935  _points[ 7](0)=Real(9.2850896495990689720101861784923e-01L);
936 
937  _weights[ 0]=Real(3.9778957806690559830106455926398e-02L);
938  _weights[ 1]=Real(7.6818093267222624804506735068290e-02L);
939  _weights[ 2]=Real(8.5284769171938765209441226265186e-02L);
940  _weights[ 3]=Real(6.8447183421653272247027200610852e-02L);
941  _weights[ 4]=Real(4.0814426388544023186461596152148e-02L);
942  _weights[ 5]=Real(1.7246863780234982804243655774862e-02L);
943  _weights[ 6]=Real(4.4745217130144079957565210032836e-03L);
944  _weights[ 7]=Real(4.6851778403469725578994253231334e-04L);
945 
946  return;
947  }
948  case SIXTEENTH:
949  case SEVENTEENTH:
950  {
951  _points.resize (9);
952  _weights.resize(9);
953 
954  _points[ 0](0)=Real(1.3165885597114490545190537817972e-02L);
955  _points[ 1](0)=Real(6.8084529593767587476505856986822e-02L);
956  _points[ 2](0)=Real(1.6175951676407464206981091232919e-01L);
957  _points[ 3](0)=Real(2.8589108833922039772798956691264e-01L);
958  _points[ 4](0)=Real(4.2945364538781279250924800228659e-01L);
959  _points[ 5](0)=Real(5.7969405635116312626577241331199e-01L);
960  _points[ 6](0)=Real(7.2326857174033543181796015820021e-01L);
961  _points[ 7](0)=Real(8.4743684201323732017318042501962e-01L);
962  _points[ 8](0)=Real(9.4124586421327421141434212713498e-01L);
963 
964  _weights[ 0]=Real(3.2760145111039721461819540084274e-02L);
965  _weights[ 1]=Real(6.5489537033396631781939107203912e-02L);
966  _weights[ 2]=Real(7.7673569160555504078595170478444e-02L);
967  _weights[ 3]=Real(6.9284395689804709215727785348892e-02L);
968  _weights[ 4]=Real(4.8540627864506507959528062424865e-02L);
969  _weights[ 5]=Real(2.6343280902549835737974696002673e-02L);
970  _weights[ 6]=Real(1.0406116579352237052426337235938e-02L);
971  _weights[ 7]=Real(2.5743986456087231023317159056037e-03L);
972  _weights[ 8]=Real(2.6126234651946294299091864873302e-04L);
973 
974  return;
975  }
976  case EIGHTTEENTH:
977  case NINETEENTH:
978  {
979  _points.resize (10);
980  _weights.resize(10);
981 
982  _points[ 0](0)=Real(1.0968452456174134250281032990432e-02L);
983  _points[ 1](0)=Real(5.6898150533657920711434859379121e-02L);
984  _points[ 2](0)=Real(1.3595023405022895426576342938519e-01L);
985  _points[ 3](0)=Real(2.4228119613252356111139455536509e-01L);
986  _points[ 4](0)=Real(3.6800785044933771760476956625017e-01L);
987  _points[ 5](0)=Real(5.0380712641487390700553064205723e-01L);
988  _points[ 6](0)=Real(6.3960948865470970932853650616696e-01L);
989  _points[ 7](0)=Real(7.6534767954810789620953312724460e-01L);
990  _points[ 8](0)=Real(8.7171007457440848761186134200542e-01L);
991  _points[ 9](0)=Real(9.5087429264052316644634948461033e-01L);
992 
993  _weights[ 0]=Real(2.7434088710097496960451648584485e-02L);
994  _weights[ 1]=Real(5.6272936402808126282415832152709e-02L);
995  _weights[ 2]=Real(7.0069507708666334086372455308183e-02L);
996  _weights[ 3]=Real(6.7452219381437824970525794313691e-02L);
997  _weights[ 4]=Real(5.2883788766964158209884838942421e-02L);
998  _weights[ 5]=Real(3.3854565016814116044101071309373e-02L);
999  _weights[ 6]=Real(1.7197575046553008079137502323978e-02L);
1000  _weights[ 7]=Real(6.4698890685585292297306065609276e-03L);
1001  _weights[ 8]=Real(1.5455231947365786285853268147186e-03L);
1002  _weights[ 9]=Real(1.5324003669716084212825702284675e-04L);
1003 
1004  return;
1005  }
1006  case TWENTIETH:
1007  case TWENTYFIRST:
1008  {
1009  _points.resize (11);
1010  _weights.resize(11);
1011 
1012  _points[ 0](0)=Real(9.2789738313488342029466103013448e-03L);
1013  _points[ 1](0)=Real(4.8249692094286258286483723731132e-02L);
1014  _points[ 2](0)=Real(1.1578862662939522596030591825565e-01L);
1015  _points[ 3](0)=Real(2.0766834159705988244389542530053e-01L);
1016  _points[ 4](0)=Real(3.1811795190623396637744646657914e-01L);
1017  _points[ 5](0)=Real(4.4019839985886246708268132217632e-01L);
1018  _points[ 6](0)=Real(5.6623983915456831356751247193488e-01L);
1019  _points[ 7](0)=Real(6.8832423986295668569553397580809e-01L);
1020  _points[ 8](0)=Real(7.9878435859091464197460872800735e-01L);
1021  _points[ 9](0)=Real(8.9069109935439218915081289990608e-01L);
1022  _points[10](0)=Real(9.5832514378664820192443912466615e-01L);
1023 
1024  _weights[ 0]=Real(2.3300850051388377415061404350855e-02L);
1025  _weights[ 1]=Real(4.8745861030664491864450329028080e-02L);
1026  _weights[ 2]=Real(6.2979543000367394338333998811129e-02L);
1027  _weights[ 3]=Real(6.4183559349755944992539371306173e-02L);
1028  _weights[ 4]=Real(5.4632222321044926070678715192708e-02L);
1029  _weights[ 5]=Real(3.9290217798435612246535835921329e-02L);
1030  _weights[ 6]=Real(2.3589663538806928649316661943808e-02L);
1031  _weights[ 7]=Real(1.1414590918097618249921262806781e-02L);
1032  _weights[ 8]=Real(4.1400042632190223547676874553245e-03L);
1033  _weights[ 9]=Real(9.6302057554323908320037373956771e-04L);
1034  _weights[10]=Real(9.3800486009778068527692777578977e-05L);
1035 
1036  return;
1037  }
1038  case TWENTYSECOND:
1039  case TWENTYTHIRD:
1040  {
1041  _points.resize (12);
1042  _weights.resize(12);
1043 
1044  _points[ 0](0)=Real(7.9520457026384368762190933400404e-03L);
1045  _points[ 1](0)=Real(4.1427810454294590790770165194795e-02L);
1046  _points[ 2](0)=Real(9.9757625542614157066081703480300e-02L);
1047  _points[ 3](0)=Real(1.7981078905242324954164334430721e-01L);
1048  _points[ 4](0)=Real(2.7727345779931511981753891831052e-01L);
1049  _points[ 5](0)=Real(3.8689200999768979166563470380544e-01L);
1050  _points[ 6](0)=Real(5.0275736044903220327930927843912e-01L);
1051  _points[ 7](0)=Real(6.1862386345845604629354886189114e-01L);
1052  _points[ 8](0)=Real(7.2824645295307268642888033006114e-01L);
1053  _points[ 9](0)=Real(8.2571851421478690176408336295370e-01L);
1054  _points[10](0)=Real(9.0579507354454372680179647039974e-01L);
1055  _points[11](0)=Real(9.6420653529267155121295530627839e-01L);
1056 
1057  _weights[ 0]=Real(2.0031112584748752943807724216722e-02L);
1058  _weights[ 1]=Real(4.2556615367405637772968490900760e-02L);
1059  _weights[ 2]=Real(5.6584184749474069646478036154467e-02L);
1060  _weights[ 3]=Real(6.0250607487604518170935343500906e-02L);
1061  _weights[ 4]=Real(5.4573941164231582825558709780290e-02L);
1062  _weights[ 5]=Real(4.2764763570188902317265936785879e-02L);
1063  _weights[ 6]=Real(2.8908051838727360494403492180206e-02L);
1064  _weights[ 7]=Real(1.6547343644609412101387213540038e-02L);
1065  _weights[ 8]=Real(7.7163670238864266187877366246530e-03L);
1066  _weights[ 9]=Real(2.7208421441038393545415361663513e-03L);
1067  _weights[10]=Real(6.1995339854451942336673117135933e-04L);
1068  _weights[11]=Real(5.9550359808311663832382311702501e-05L);
1069 
1070  return;
1071  }
1072 
1073  case TWENTYFOURTH:
1074  case TWENTYFIFTH:
1075  {
1076  _points.resize (13);
1077  _weights.resize(13);
1078 
1079  _points[ 0](0)=Real(6.8908313099587313966815341534070e-03L);
1080  _points[ 1](0)=Real(3.5953362700170095501132811969521e-02L);
1081  _points[ 2](0)=Real(8.6811780157585433284280307690601e-02L);
1082  _points[ 3](0)=Real(1.5709997419650927473052206555148e-01L);
1083  _points[ 4](0)=Real(2.4353289958712844441903410356775e-01L);
1084  _points[ 5](0)=Real(3.4206951264607532347450799656627e-01L);
1085  _points[ 6](0)=Real(4.4810263890570985362873430879398e-01L);
1086  _points[ 7](0)=Real(5.5667462262945501069694664236208e-01L);
1087  _points[ 8](0)=Real(6.6270931356038854232146315212326e-01L);
1088  _points[ 9](0)=Real(7.6124976630827697227665952639343e-01L);
1089  _points[10](0)=Real(8.4769104394723239091031404895142e-01L);
1090  _points[11](0)=Real(9.1799964553720667953362597028835e-01L);
1091  _points[12](0)=Real(9.6892889422858896211181181730274e-01L);
1092 
1093  _weights[ 0]=Real(1.7401228610061845488081141733526e-02L);
1094  _weights[ 1]=Real(3.7426708168844039953666298186474e-02L);
1095  _weights[ 2]=Real(5.0909830712695019092906847187640e-02L);
1096  _weights[ 3]=Real(5.6111537130827396185039872203667e-02L);
1097  _weights[ 4]=Real(5.3340021605871745725401666422880e-02L);
1098  _weights[ 5]=Real(4.4624600755614954430566337477243e-02L);
1099  _weights[ 6]=Real(3.2940451678432790083648445397381e-02L);
1100  _weights[ 7]=Real(2.1254996714756613031113108888658e-02L);
1101  _weights[ 8]=Real(1.1728259593101880662970381149369e-02L);
1102  _weights[ 9]=Real(5.3135693388326384480559144318474e-03L);
1103  _weights[10]=Real(1.8323911392393785873485644191745e-03L);
1104  _weights[11]=Real(4.1072089179088541678428389490865e-04L);
1105  _weights[12]=Real(3.9016993264146227750471940564101e-05L);
1106 
1107  return;
1108  }
1109 
1110  case TWENTYSIXTH:
1111  case TWENTYSEVENTH:
1112  {
1113  _points.resize (14);
1114  _weights.resize(14);
1115 
1116  _points[ 0](0)=Real(6.0288088710666481700887477121600e-03L);
1117  _points[ 1](0)=Real(3.1494259818657590707306712766317e-02L);
1118  _points[ 2](0)=Real(7.6213622474853867586406786340023e-02L);
1119  _points[ 3](0)=Real(1.3836652595947406914513833295825e-01L);
1120  _points[ 4](0)=Real(2.1540975706889557490069553208515e-01L);
1121  _points[ 5](0)=Real(3.0418952814165630963236635490440e-01L);
1122  _points[ 6](0)=Real(4.0107137869715435758118603205199e-01L);
1123  _points[ 7](0)=Real(5.0208913974997841006932539804960e-01L);
1124  _points[ 8](0)=Real(6.0310739672759678368189556654036e-01L);
1125  _points[ 9](0)=Real(6.9999091716990649741073666393849e-01L);
1126  _points[10](0)=Real(7.8877423843456071534030488559891e-01L);
1127  _points[11](0)=Real(8.6582490073159695367114083518102e-01L);
1128  _points[12](0)=Real(9.2799573874675232498377812203940e-01L);
1129  _points[13](0)=Real(9.7277712074118323045296336316727e-01L);
1130 
1131  _weights[ 0]=Real(1.5255206119448295373511341972378e-02L);
1132  _weights[ 1]=Real(3.3139595469960559875930225836517e-02L);
1133  _weights[ 2]=Real(4.5914772114671178911403799944693e-02L);
1134  _weights[ 3]=Real(5.2025865410701701832827358849471e-02L);
1135  _weights[ 4]=Real(5.1389924039471503273808065266413e-02L);
1136  _weights[ 5]=Real(4.5253432254460881465122373566022e-02L);
1137  _weights[ 6]=Real(3.5739010292514612984162525810346e-02L);
1138  _weights[ 7]=Real(2.5216183536839055034306220202219e-02L);
1139  _weights[ 8]=Real(1.5694332285072957184930434798487e-02L);
1140  _weights[ 9]=Real(8.4129767371364622096077152778570e-03L);
1141  _weights[10]=Real(3.7248756752828588215538124784652e-03L);
1142  _weights[11]=Real(1.2617838951574880413283334197260e-03L);
1143  _weights[12]=Real(2.7909934094687847008945560658272e-04L);
1144  _weights[13]=Real(2.6276161668899854751670304157309e-05L);
1145 
1146  return;
1147  }
1148 
1149  case TWENTYEIGHTH:
1150  case TWENTYNINTH:
1151  {
1152  _points.resize (15);
1153  _weights.resize(15);
1154 
1155  _points[ 0](0)=Real(5.3190520028437405909978402739774e-03L);
1156  _points[ 1](0)=Real(2.7814561918260051571980709238074e-02L);
1157  _points[ 2](0)=Real(6.7431865838998613384568577571818e-02L);
1158  _points[ 3](0)=Real(1.2274828621549783933958732401303e-01L);
1159  _points[ 4](0)=Real(1.9176570627765362550282684505042e-01L);
1160  _points[ 5](0)=Real(2.7198996592948620305633800793026e-01L);
1161  _points[ 6](0)=Real(3.6052169358705764815778444077840e-01L);
1162  _points[ 7](0)=Real(4.5416123575447709916009624996188e-01L);
1163  _points[ 8](0)=Real(5.4952435559355131365468962196031e-01L);
1164  _points[ 9](0)=Real(6.4316460176878493853949400884187e-01L);
1165  _points[10](0)=Real(7.3169797305252320629933948467521e-01L);
1166  _points[11](0)=Real(8.1192547727500966668969312120195e-01L);
1167  _points[12](0)=Real(8.8094952871531360238808055493652e-01L);
1168  _points[13](0)=Real(9.3628182173551874210251937228715e-01L);
1169  _points[14](0)=Real(9.7595387433502370956200384127912e-01L);
1170 
1171  _weights[ 0]=Real(1.3481662725134304090265733542410e-02L);
1172  _weights[ 1]=Real(2.9527650756798205089388266870014e-02L);
1173  _weights[ 2]=Real(4.1531307651604265373799456795289e-02L);
1174  _weights[ 3]=Real(4.8132057668529815888404876719886e-02L);
1175  _weights[ 4]=Real(4.9041267894409180565196427508457e-02L);
1176  _weights[ 5]=Real(4.4991555820615933365730152800755e-02L);
1177  _weights[ 6]=Real(3.7473875792101303095319296790068e-02L);
1178  _weights[ 7]=Real(2.8326553174241247644068974123766e-02L);
1179  _weights[ 8]=Real(1.9293416585274520485988288429744e-02L);
1180  _weights[ 9]=Real(1.1668582484776638563534331197891e-02L);
1181  _weights[10]=Real(6.1110501102060490412153142922240e-03L);
1182  _weights[11]=Real(2.6556629857743191811282114211333e-03L);
1183  _weights[12]=Real(8.8657363523409667398227745346013e-04L);
1184  _weights[13]=Real(1.9398726306394554934013378631178e-04L);
1185  _weights[14]=Real(1.8128785569508725971591601924058e-05L);
1186 
1187  return;
1188  }
1189 
1190 
1191  case THIRTIETH:
1192  case THIRTYFIRST:
1193  {
1194  _points.resize (16);
1195  _weights.resize(16);
1196 
1197  _points[ 0](0)=Real(4.7276871229345922061506104450645e-03L);
1198  _points[ 1](0)=Real(2.4742967619434984512603456269536e-02L);
1199  _points[ 2](0)=Real(6.0076437716637992275242255328112e-02L);
1200  _points[ 3](0)=Real(1.0960060925877060286789758461950e-01L);
1201  _points[ 4](0)=Real(1.7172475948300210790307417791270e-01L);
1202  _points[ 5](0)=Real(2.4445243174451137730207656160275e-01L);
1203  _points[ 6](0)=Real(3.2544621002412961482683685190181e-01L);
1204  _points[ 7](0)=Real(4.1210296411685959691728421362251e-01L);
1205  _points[ 8](0)=Real(5.0163755615318759370013043235084e-01L);
1206  _points[ 9](0)=Real(5.9117238531650308897076051877634e-01L);
1207  _points[10](0)=Real(6.7782991741456081130251277264148e-01L);
1208  _points[11](0)=Real(7.5882525794914141335427940535114e-01L);
1209  _points[12](0)=Real(8.3155588302646195188920635482406e-01L);
1210  _points[13](0)=Real(8.9368597454880401881486969876816e-01L);
1211  _points[14](0)=Real(9.4322428571224559352545066239296e-01L);
1212  _points[15](0)=Real(9.7860643749869701257280091378128e-01L);
1213 
1214  _weights[ 0]=Real(1.1999405624691969586506695404143e-02L);
1215  _weights[ 1]=Real(2.6460842517339527040437264564557e-02L);
1216  _weights[ 2]=Real(3.7685824681918572833315081444311e-02L);
1217  _weights[ 3]=Real(4.4496573472543214976151049587710e-02L);
1218  _weights[ 4]=Real(4.6506239397362658797012521100333e-02L);
1219  _weights[ 5]=Real(4.4112657675899371113911374089320e-02L);
1220  _weights[ 6]=Real(3.8348046951185955673582690910292e-02L);
1221  _weights[ 7]=Real(3.0612037917837609541948834407964e-02L);
1222  _weights[ 8]=Real(2.2357185649529930223334734263644e-02L);
1223  _weights[ 9]=Real(1.4803776657751738340239250997704e-02L);
1224  _weights[10]=Real(8.7475454956120699745801506391282e-03L);
1225  _weights[11]=Real(4.4948488514798588832066397608164e-03L);
1226  _weights[12]=Real(1.9235319260667742273824398535627e-03L);
1227  _weights[13]=Real(6.3445999956883686801084896849641e-04L);
1228  _weights[14]=Real(1.3757810397555175246959527906570e-04L);
1229  _weights[15]=Real(1.2778410569693501244162062287056e-05L);
1230 
1231  return;
1232  }
1233 
1234 
1235  case THIRTYSECOND:
1236  case THIRTYTHIRD:
1237  {
1238  _points.resize (17);
1239  _weights.resize(17);
1240 
1241  _points[ 0](0)=Real(4.2297654864907678749919877813007e-03L);
1242  _points[ 1](0)=Real(2.2152705311830232294209002101573e-02L);
1243  _points[ 2](0)=Real(5.3856014827184829566760322013645e-02L);
1244  _points[ 3](0)=Real(9.8434936830541362494246924237098e-02L);
1245  _points[ 4](0)=Real(1.5460792826588562987838903880788e-01L);
1246  _points[ 5](0)=Real(2.2075922519215138391363787768336e-01L);
1247  _points[ 6](0)=Real(2.9498586629802348865100598497056e-01L);
1248  _points[ 7](0)=Real(3.7515254164081788200834771392226e-01L);
1249  _points[ 8](0)=Real(4.5895305335301908085933451474375e-01L);
1250  _points[ 9](0)=Real(5.4397667809047570974515217435547e-01L);
1251  _points[10](0)=Real(6.2777753854681427256560538094776e-01L);
1252  _points[11](0)=Real(7.0794500138508556794362242607309e-01L);
1253  _points[12](0)=Real(7.8217310308122112810113854015572e-01L);
1254  _points[13](0)=Real(8.4832708570995060757906353137179e-01L);
1255  _points[14](0)=Real(9.0450542331432870037906100932836e-01L);
1256  _points[15](0)=Real(9.4909701659654457024654762835657e-01L);
1257  _points[16](0)=Real(9.8084389384741256367666372092760e-01L);
1258 
1259  _weights[ 0]=Real(1.0748151030768621662834062204936e-02L);
1260  _weights[ 1]=Real(2.3837762018703244620506074665265e-02L);
1261  _weights[ 2]=Real(3.4307889795671880028436869439002e-02L);
1262  _weights[ 3]=Real(4.1143975847068207121110777965721e-02L);
1263  _weights[ 4]=Real(4.3922618772592577808611328095136e-02L);
1264  _weights[ 5]=Real(4.2825403927934553301439133345126e-02L);
1265  _weights[ 6]=Real(3.8555241947102353628223582107170e-02L);
1266  _weights[ 7]=Real(3.2163570112378639217164962127759e-02L);
1267  _weights[ 8]=Real(2.4829256111976082802381065145755e-02L);
1268  _weights[ 9]=Real(1.7638789331050110518481458865839e-02L);
1269  _weights[10]=Real(1.1413642238636687747573403275566e-02L);
1270  _weights[11]=Real(6.6164197603617147286557116199452e-03L);
1271  _weights[12]=Real(3.3465172918198153715474254116460e-03L);
1272  _weights[13]=Real(1.4138837589561322316624033902623e-03L);
1273  _weights[14]=Real(4.6167405877711308077043506706165e-04L);
1274  _weights[15]=Real(9.9356525335473959962406835119113e-05L);
1275  _weights[16]=Real(9.1808042001255039722337720228143e-06L);
1276 
1277  return;
1278  }
1279 
1280  case THIRTYFOURTH:
1281  case THIRTYFIFTH:
1282  {
1283  _points.resize (18);
1284  _weights.resize(18);
1285 
1286  _points[ 0](0)=Real(3.8065822475018763836485343548908e-03L);
1287  _points[ 1](0)=Real(1.9948351047343018666301273550578e-02L);
1288  _points[ 2](0)=Real(4.8549645304224630965525818224597e-02L);
1289  _points[ 3](0)=Real(8.8876259116497388048181392194957e-02L);
1290  _points[ 4](0)=Real(1.3988457083516926493003835526765e-01L);
1291  _points[ 5](0)=Real(2.0025369592363033820671255853211e-01L);
1292  _points[ 6](0)=Real(2.6842018278660208442014712803618e-01L);
1293  _points[ 7](0)=Real(3.4261859780200830045140484446480e-01L);
1294  _points[ 8](0)=Real(4.2092727587031795580391095608392e-01L);
1295  _points[ 9](0)=Real(5.0131810275027358836467598537906e-01L);
1296  _points[10](0)=Real(5.8170905267091792822883758529331e-01L);
1297  _points[11](0)=Real(6.6001812722531554655212340270381e-01L);
1298  _points[12](0)=Real(7.3421730813501325031921736140253e-01L);
1299  _points[13](0)=Real(8.0238514983641747020667379058517e-01L);
1300  _points[14](0)=Real(8.6275672070005501336081662021610e-01L);
1301  _points[15](0)=Real(9.1376986411079293616612318979159e-01L);
1302  _points[16](0)=Real(9.5410789551731665881890309384613e-01L);
1303  _points[17](0)=Real(9.8274840759428696063307389954630e-01L);
1304 
1305  _weights[ 0]=Real(9.6823988037660231774964807691529e-03L);
1306  _weights[ 1]=Real(2.1578772679193827027157750409882e-02L);
1307  _weights[ 2]=Real(3.1333907671729513327950397913143e-02L);
1308  _weights[ 3]=Real(3.8075134253447687665457823100366e-02L);
1309  _weights[ 4]=Real(4.1377182287519565332651504100178e-02L);
1310  _weights[ 5]=Real(4.1283665809957749414286828772884e-02L);
1311  _weights[ 6]=Real(3.8262794672349299757849656256339e-02L);
1312  _weights[ 7]=Real(3.3095976202072497795672769135623e-02L);
1313  _weights[ 8]=Real(2.6723424368960119486097972811646e-02L);
1314  _weights[ 9]=Real(2.0078641696369720179443819032712e-02L);
1315  _weights[10]=Real(1.3943897653647906425703531920973e-02L);
1316  _weights[11]=Real(8.8522782250949774435502470347624e-03L);
1317  _weights[12]=Real(5.0502487883546813166841235600508e-03L);
1318  _weights[13]=Real(2.5207216384362558022745702364513e-03L);
1319  _weights[14]=Real(1.0535502839571923712409403476880e-03L);
1320  _weights[15]=Real(3.4109120368765498289598525047321e-04L);
1321  _weights[16]=Real(7.2937008664118705328162954331465e-05L);
1322  _weights[17]=Real(6.7100861245431215907697266774769e-06L);
1323 
1324  return;
1325  }
1326 
1327  case THIRTYSIXTH:
1328  case THIRTYSEVENTH:
1329  {
1330  _points.resize (19);
1331  _weights.resize(19);
1332 
1333  _points[ 0](0)=Real(3.4438904038624902806940509331722e-03L);
1334  _points[ 1](0)=Real(1.8056978337900562863030093954343e-02L);
1335  _points[ 2](0)=Real(4.3987395090842734455198832773659e-02L);
1336  _points[ 3](0)=Real(8.0633276366661415469721776663016e-02L);
1337  _points[ 4](0)=Real(1.2713640986156026953002535083969e-01L);
1338  _points[ 5](0)=Real(1.8240698366909185313069695387128e-01L);
1339  _points[ 6](0)=Real(2.4514956909516857055249217701821e-01L);
1340  _points[ 7](0)=Real(3.1389356741821822415240859865307e-01L);
1341  _points[ 8](0)=Real(3.8702770276933220341545290751683e-01L);
1342  _points[ 9](0)=Real(4.6283779855202027820220487054694e-01L);
1343  _points[10](0)=Real(5.3954696279208808766943066332998e-01L);
1344  _points[11](0)=Real(6.1535724480454716546694016358337e-01L);
1345  _points[12](0)=Real(6.8849179091409498918986551203802e-01L);
1346  _points[13](0)=Real(7.5723651917329793549736932794667e-01L);
1347  _points[14](0)=Real(8.1998035706323733537954006841029e-01L);
1348  _points[15](0)=Real(8.7525316298382668006594890887609e-01L);
1349  _points[16](0)=Real(9.2176068172914004889937421632274e-01L);
1350  _points[17](0)=Real(9.5841690242340714510347790926694e-01L);
1351  _points[18](0)=Real(9.8438280655170201067612761745569e-01L);
1352 
1353  _weights[ 0]=Real(8.7672970568792323661393261305840e-03L);
1354  _weights[ 1]=Real(1.9620856340232434512901283777202e-02L);
1355  _weights[ 2]=Real(2.8708149778704086122791006941433e-02L);
1356  _weights[ 3]=Real(3.5278117199476000434599584597235e-02L);
1357  _weights[ 4]=Real(3.8922386222261737550985848811514e-02L);
1358  _weights[ 5]=Real(3.9598248214880677015066061570123e-02L);
1359  _weights[ 6]=Real(3.7607500520347543950912173611332e-02L);
1360  _weights[ 7]=Real(3.3525068070610283960905700567460e-02L);
1361  _weights[ 8]=Real(2.8091607936102907649141378579235e-02L);
1362  _weights[ 9]=Real(2.2090563149823990465333672755377e-02L);
1363  _weights[10]=Real(1.6231815321996325630177612472423e-02L);
1364  _weights[11]=Real(1.1061440629037007897211784796273e-02L);
1365  _weights[12]=Real(6.9108110779321981973514541466546e-03L);
1366  _weights[13]=Real(3.8897848125530902102984958782958e-03L);
1367  _weights[14]=Real(1.9197884726923132048372710905667e-03L);
1368  _weights[15]=Real(7.9504432544855937325482850317179e-04L);
1369  _weights[16]=Real(2.5553085889097125647555166013802e-04L);
1370  _weights[17]=Real(5.4342643132004416773622274012570e-05L);
1371  _weights[18]=Real(4.9807023319691181766751703037610e-06L);
1372 
1373  return;
1374  }
1375 
1376  case THIRTYEIGHTH:
1377  case THIRTYNINTH:
1378  {
1379  _points.resize (20);
1380  _weights.resize(20);
1381 
1382  _points[ 0](0)=Real(3.1306837407435895621501417495463e-03L);
1383  _points[ 1](0)=Real(1.6422088133987832902541614256258e-02L);
1384  _points[ 2](0)=Real(4.0036900461906780996320149828793e-02L);
1385  _points[ 3](0)=Real(7.3477191785285283057566545285874e-02L);
1386  _points[ 4](0)=Real(1.1603090765548680494669743156748e-01L);
1387  _points[ 5](0)=Real(1.6679125348100943001298070145849e-01L);
1388  _points[ 6](0)=Real(2.2467641938430503840938196483210e-01L);
1389  _points[ 7](0)=Real(2.8845271218127238477194070665240e-01L);
1390  _points[ 8](0)=Real(3.5676087010245310564705506663326e-01L);
1391  _points[ 9](0)=Real(4.2814504093325668461542503477245e-01L);
1392  _points[10](0)=Real(5.0108381548284855137062465413693e-01L);
1393  _points[11](0)=Real(5.7402265818282687172751219665371e-01L);
1394  _points[12](0)=Real(6.4540704577736756661732083476397e-01L);
1395  _points[13](0)=Real(7.1371561101528768074208343535393e-01L);
1396  _points[14](0)=Real(7.7749259203548675355112594583658e-01L);
1397  _points[15](0)=Real(8.3537891463156172517151839471341e-01L);
1398  _points[16](0)=Real(8.8614130291454714368728293036495e-01L);
1399  _points[17](0)=Real(9.2869901491875054534509783716727e-01L);
1400  _points[18](0)=Real(9.6214871215049818970916080642292e-01L);
1401  _points[19](0)=Real(9.8579578884064184668002313135922e-01L);
1402 
1403  _weights[ 0]=Real(7.9757927362766516852273101574255e-03L);
1404  _weights[ 1]=Real(1.7913752325738559101773958866323e-02L);
1405  _weights[ 2]=Real(2.6382564429125584794513408474046e-02L);
1406  _weights[ 3]=Real(3.2734644317573148047479656498988e-02L);
1407  _weights[ 4]=Real(3.6587916553227064986609295576925e-02L);
1408  _weights[ 5]=Real(3.7847390376922340715354694449373e-02L);
1409  _weights[ 6]=Real(3.6697420472018132713254249570653e-02L);
1410  _weights[ 7]=Real(3.3556431453475493479002714822739e-02L);
1411  _weights[ 8]=Real(2.9002404745589285169916357261403e-02L);
1412  _weights[ 9]=Real(2.3682290414246053980866450266495e-02L);
1413  _weights[10]=Real(1.8220503418268691551843315309759e-02L);
1414  _weights[11]=Real(1.3140919256661651742108133720781e-02L);
1415  _weights[12]=Real(8.8135560782433553289252731679767e-03L);
1416  _weights[13]=Real(5.4320908061230274500120111426487e-03L);
1417  _weights[14]=Real(3.0224891709073793749184859780611e-03L);
1418  _weights[15]=Real(1.4774444419714858062838576456553e-03L);
1419  _weights[16]=Real(6.0704570426725825415272373108771e-04L);
1420  _weights[17]=Real(1.9388830961751181076983851525948e-04L);
1421  _weights[18]=Real(4.1039102087320205549074040898061e-05L);
1422  _weights[19]=Real(3.7492209933371347725241368372638e-06L);
1423 
1424  return;
1425  }
1426 
1427 
1428  case FORTIETH:
1429  case FORTYFIRST:
1430  {
1431  _points.resize (21);
1432  _weights.resize(21);
1433 
1434  _points[ 0](0)=Real(2.8583506000918943222556277168267e-03L);
1435  _points[ 1](0)=Real(1.4999364972075522340357135916023e-02L);
1436  _points[ 2](0)=Real(3.6593863281140122626545055282186e-02L);
1437  _points[ 3](0)=Real(6.7226441667938638526563947674675e-02L);
1438  _points[ 4](0)=Real(1.0630147973769311755044868847393e-01L);
1439  _points[ 5](0)=Real(1.5305857495571921224970195300963e-01L);
1440  _points[ 6](0)=Real(2.0658770608253356867698033417515e-01L);
1441  _points[ 7](0)=Real(2.6584701401081590981089215154372e-01L);
1442  _points[ 8](0)=Real(3.2968309899010272373734914205452e-01L);
1443  _points[ 9](0)=Real(3.9685347698561900950394342909483e-01L);
1444  _points[10](0)=Real(4.6605076663517464847296649003812e-01L);
1445  _points[11](0)=Real(5.3592813869303216093268951839176e-01L);
1446  _points[12](0)=Real(6.0512553397610192844810985230774e-01L);
1447  _points[13](0)=Real(6.7229614098692961628997049948121e-01L);
1448  _points[14](0)=Real(7.3613262059728734846410297670221e-01L);
1449  _points[15](0)=Real(7.9539257374613146232498650332774e-01L);
1450  _points[16](0)=Real(8.4892277353768883984401746895126e-01L);
1451  _points[17](0)=Real(8.9568174292546676052820257429765e-01L);
1452  _points[18](0)=Real(9.3476043640122994798279429359660e-01L);
1453  _points[19](0)=Real(9.6540160736574245809294907904429e-01L);
1454  _points[20](0)=Real(9.8702556657875783654690055164718e-01L);
1455 
1456  _weights[ 0]=Real(7.2866317313744308995629793584932e-03L);
1457  _weights[ 1]=Real(1.6417061144242818824757454238052e-02L);
1458  _weights[ 2]=Real(2.4316074956305588348553255406534e-02L);
1459  _weights[ 3]=Real(3.0423854654878694196479542521305e-02L);
1460  _weights[ 4]=Real(3.4388553550627421941340376509459e-02L);
1461  _weights[ 5]=Real(3.6085277384893044986268336555960e-02L);
1462  _weights[ 6]=Real(3.5615944774693119613624648820995e-02L);
1463  _weights[ 7]=Real(3.3281046762833346236473134492600e-02L);
1464  _weights[ 8]=Real(2.9528072702082493907799384765866e-02L);
1465  _weights[ 9]=Real(2.4885083875255978309567929915161e-02L);
1466  _weights[10]=Real(1.9889780066352815019424534213776e-02L);
1467  _weights[11]=Real(1.5024528041917190276613254752701e-02L);
1468  _weights[12]=Real(1.0666270365508680718786852036243e-02L);
1469  _weights[13]=Real(7.0573209743621604363614669672455e-03L);
1470  _weights[14]=Real(4.2993100642134152210363702100934e-03L);
1471  _weights[15]=Real(2.3686215346115318974092271035074e-03L);
1472  _weights[16]=Real(1.1482414207164748272703814817286e-03L);
1473  _weights[17]=Real(4.6857361253397420043294612589344e-04L);
1474  _weights[18]=Real(1.4884999898655056859287865070751e-04L);
1475  _weights[19]=Real(3.1377233396792732027953172274463e-05L);
1476  _weights[20]=Real(2.8584835468101709504260347382715e-06L);
1477 
1478  return;
1479  }
1480 
1481  case FORTYSECOND:
1482  case FORTYTHIRD:
1483  {
1484  _points.resize (22);
1485  _weights.resize(22);
1486 
1487  _points[ 0](0)=Real(2.6200747203711594248593674552649e-03L);
1488  _points[ 1](0)=Real(1.3753657987385804025756750709059e-02L);
1489  _points[ 2](0)=Real(3.3575226848026692714308191640158e-02L);
1490  _points[ 3](0)=Real(6.1735561623069601690826574395308e-02L);
1491  _points[ 4](0)=Real(9.7732696675368642458479884996723e-02L);
1492  _points[ 5](0)=Real(1.4092439775695158519450619775816e-01L);
1493  _points[ 6](0)=Real(1.9053995518421662849913969152881e-01L);
1494  _points[ 7](0)=Real(2.4569399962450332222446519900435e-01L);
1495  _points[ 8](0)=Real(3.0540231844259902315260853518244e-01L);
1496  _points[ 9](0)=Real(3.6859942495594128250321664201293e-01L);
1497  _points[10](0)=Real(4.3415757484015513750820121247106e-01L);
1498  _points[11](0)=Real(5.0090689264793505011775015892772e-01L);
1499  _points[12](0)=Real(5.6765625027260978702177266771788e-01L);
1500  _points[13](0)=Real(6.3321452557266284279166256182373e-01L);
1501  _points[14](0)=Real(6.9641186298595172661126707689713e-01L);
1502  _points[15](0)=Real(7.5612055917893487122928793527786e-01L);
1503  _points[16](0)=Real(8.1127520683922050787811864631196e-01L);
1504  _points[17](0)=Real(8.6089175276286621730656128908876e-01L);
1505  _points[18](0)=Real(9.0408517849775272066170136431884e-01L);
1506  _points[19](0)=Real(9.4008566921081846961603077466108e-01L);
1507  _points[20](0)=Real(9.6825388381656365288164210087944e-01L);
1508  _points[21](0)=Real(9.8810245999087788318348935085438e-01L);
1509 
1510  _weights[ 0]=Real(6.6829315239216368796332393406135e-03L);
1511  _weights[ 1]=Real(1.5098062421623821319493004238262e-02L);
1512  _weights[ 2]=Real(2.2473713734526648003280648297671e-02L);
1513  _weights[ 3]=Real(2.8324458025288763364233486167273e-02L);
1514  _weights[ 4]=Real(3.2329473952869436965326587507885e-02L);
1515  _weights[ 5]=Real(3.4348599664417779736425965942178e-02L);
1516  _weights[ 6]=Real(3.4426309828130701949676126316990e-02L);
1517  _weights[ 7]=Real(3.2774586900497126738748991342107e-02L);
1518  _weights[ 8]=Real(2.9737336628427308246400548097974e-02L);
1519  _weights[ 9]=Real(2.5741821234796918381507016798653e-02L);
1520  _weights[10]=Real(2.1244167813524304464862872202199e-02L);
1521  _weights[11]=Real(1.6676482379699419616981906191727e-02L);
1522  _weights[12]=Real(1.2402453510959574984251948178874e-02L);
1523  _weights[13]=Real(8.6866984738749141556196547655377e-03L);
1524  _weights[14]=Real(5.6807683849250404394970034550940e-03L);
1525  _weights[15]=Real(3.4260685209698087638377353482425e-03L);
1526  _weights[16]=Real(1.8713879532585689543042377871244e-03L);
1527  _weights[17]=Real(9.0066625279251987400261357834378e-04L);
1528  _weights[18]=Real(3.6536328467284676654467859219800e-04L);
1529  _weights[19]=Real(1.1551470917602499323205530447797e-04L);
1530  _weights[20]=Real(2.4263177919766775694554800111547e-05L);
1531  _weights[21]=Real(2.2049570604019597784590797971169e-06L);
1532 
1533  return;
1534  }
1535 
1536 
1537  default:
1538  libmesh_error_msg("Quadrature rule " << _order << " not supported!");
1539  } // end switch(_order + 2*p)
1540  } // end else if ((_alpha == 2) && (_beta == 0))
1541 
1542  else
1543  {
1544  libMesh::err << "Unsupported combination of (alpha,beta) = ("
1545  << _alpha
1546  << ","
1547  << _beta
1548  << ") requested in Jacobi-Gauss quadrature rule."
1549  << std::endl;
1550  }
1551 }
const unsigned int _alpha
std::vector< Point > _points
Definition: quadrature.h:349
std::vector< Real > _weights
Definition: quadrature.h:355
const unsigned int _beta
OStreamProxy err(std::cerr)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ init_2D()

virtual void libMesh::QBase::init_2D ( const ElemType  ,
unsigned int  = 0 
)
inlineprotectedvirtualinherited

Initializes the 2D quadrature rule by filling the points and weights vectors with the appropriate values. The order of the rule will be defined by the implementing class. Should not be pure virtual since a derived quadrature rule may only be defined in 1D. If not redefined, gives an error (when DEBUG is defined) when called.

Reimplemented in libMesh::QGrundmann_Moller, libMesh::QMonomial, libMesh::QConical, libMesh::QGauss, libMesh::QSimpson, libMesh::QGrid, libMesh::QTrap, libMesh::QGaussLobatto, and libMesh::QClough.

Definition at line 277 of file quadrature.h.

Referenced by libMesh::QBase::init().

279  {
280 #ifdef DEBUG
281  libmesh_error_msg("ERROR: Seems as if this quadrature rule \nis not implemented for 2D.");
282 #endif
283  }

◆ init_3D()

virtual void libMesh::QBase::init_3D ( const ElemType  ,
unsigned int  = 0 
)
inlineprotectedvirtualinherited

Initializes the 3D quadrature rule by filling the points and weights vectors with the appropriate values. The order of the rule will be defined by the implementing class. Should not be pure virtual since a derived quadrature rule may only be defined in 1D. If not redefined, gives an error (when DEBUG is defined) when called.

Reimplemented in libMesh::QGrundmann_Moller, libMesh::QMonomial, libMesh::QConical, libMesh::QGauss, libMesh::QSimpson, libMesh::QGrid, libMesh::QTrap, libMesh::QGaussLobatto, and libMesh::QClough.

Definition at line 293 of file quadrature.h.

Referenced by libMesh::QBase::init().

295  {
296 #ifdef DEBUG
297  libmesh_error_msg("ERROR: Seems as if this quadrature rule \nis not implemented for 3D.");
298 #endif
299  }

◆ n_objects()

static unsigned int libMesh::ReferenceCounter::n_objects ( )
inlinestaticinherited

Prints the number of outstanding (created, but not yet destroyed) objects.

Definition at line 83 of file reference_counter.h.

References libMesh::ReferenceCounter::_n_objects.

84  { return _n_objects; }
static Threads::atomic< unsigned int > _n_objects

◆ n_points()

unsigned int libMesh::QBase::n_points ( ) const
inlineinherited

◆ operator=() [1/2]

QJacobi& libMesh::QJacobi::operator= ( const QJacobi )
default

◆ operator=() [2/2]

QJacobi& libMesh::QJacobi::operator= ( QJacobi &&  )
default

◆ print_info() [1/2]

void libMesh::ReferenceCounter::print_info ( std::ostream &  out = libMesh::out)
staticinherited

Prints the reference information, by default to libMesh::out.

Definition at line 87 of file reference_counter.C.

References libMesh::ReferenceCounter::_enable_print_counter, and libMesh::ReferenceCounter::get_info().

88 {
90  out_stream << ReferenceCounter::get_info();
91 }
static std::string get_info()

◆ print_info() [2/2]

void libMesh::QBase::print_info ( std::ostream &  os = libMesh::out) const
inlineinherited

Prints information relevant to the quadrature rule, by default to libMesh::out.

Definition at line 378 of file quadrature.h.

References libMesh::QBase::_points, libMesh::QBase::_weights, libMesh::QBase::n_points(), and libMesh::Real.

Referenced by libMesh::operator<<().

379 {
380  libmesh_assert(!_points.empty());
381  libmesh_assert(!_weights.empty());
382 
383  Real summed_weights=0;
384  os << "N_Q_Points=" << this->n_points() << std::endl << std::endl;
385  for (unsigned int qpoint=0; qpoint<this->n_points(); qpoint++)
386  {
387  os << " Point " << qpoint << ":\n"
388  << " "
389  << _points[qpoint]
390  << "\n Weight:\n "
391  << " w=" << _weights[qpoint] << "\n" << std::endl;
392 
393  summed_weights += _weights[qpoint];
394  }
395  os << "Summed Weights: " << summed_weights << std::endl;
396 }
std::vector< Point > _points
Definition: quadrature.h:349
std::vector< Real > _weights
Definition: quadrature.h:355
unsigned int n_points() const
Definition: quadrature.h:127
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ qp()

Point libMesh::QBase::qp ( const unsigned int  i) const
inlineinherited
Returns
The $ i^{th} $ quadrature point in reference element space.

Definition at line 165 of file quadrature.h.

References libMesh::QBase::_points.

Referenced by libMesh::QConical::conical_product_pyramid(), libMesh::QConical::conical_product_tet(), libMesh::QConical::conical_product_tri(), libMesh::QBase::tensor_product_hex(), libMesh::QBase::tensor_product_prism(), and libMesh::QBase::tensor_product_quad().

166  {
167  libmesh_assert_less (i, _points.size());
168  return _points[i];
169  }
std::vector< Point > _points
Definition: quadrature.h:349

◆ scale()

void libMesh::QBase::scale ( std::pair< Real, Real old_range,
std::pair< Real, Real new_range 
)
inherited

Maps the points of a 1D quadrature rule defined by "old_range" to another 1D interval defined by "new_range" and scales the weights accordingly.

Definition at line 93 of file quadrature.C.

References libMesh::QBase::_dim, libMesh::QBase::_points, libMesh::QBase::_weights, and libMesh::Real.

Referenced by libMesh::QConical::conical_product_tet(), and libMesh::QConical::conical_product_tri().

95 {
96  // Make sure we are in 1D
97  libmesh_assert_equal_to (_dim, 1);
98 
99  Real
100  h_new = new_range.second - new_range.first,
101  h_old = old_range.second - old_range.first;
102 
103  // Make sure that we have sane ranges
104  libmesh_assert_greater (h_new, 0.);
105  libmesh_assert_greater (h_old, 0.);
106 
107  // Make sure there are some points
108  libmesh_assert_greater (_points.size(), 0);
109 
110  // Compute the scale factor
111  Real scfact = h_new/h_old;
112 
113  // We're mapping from old_range -> new_range
114  for (std::size_t i=0; i<_points.size(); i++)
115  {
116  _points[i](0) = new_range.first +
117  (_points[i](0) - old_range.first) * scfact;
118 
119  // Scale the weights
120  _weights[i] *= scfact;
121  }
122 }
unsigned int _dim
Definition: quadrature.h:325
std::vector< Point > _points
Definition: quadrature.h:349
std::vector< Real > _weights
Definition: quadrature.h:355
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real

◆ shapes_need_reinit()

virtual bool libMesh::QBase::shapes_need_reinit ( )
inlinevirtualinherited
Returns
true if the shape functions need to be recalculated, false otherwise.

This may be required if the number of quadrature points or their position changes.

Definition at line 231 of file quadrature.h.

231 { return false; }

◆ tensor_product_hex()

void libMesh::QBase::tensor_product_hex ( const QBase q1D)
protectedinherited

Computes the tensor product quadrature rule [q1D x q1D x q1D] from the 1D rule q1D. Used in the init_3D routines for hexahedral element types.

Definition at line 154 of file quadrature.C.

References libMesh::QBase::_points, libMesh::QBase::_weights, libMesh::QBase::n_points(), libMesh::QBase::qp(), and libMesh::QBase::w().

Referenced by libMesh::QGaussLobatto::init_3D(), libMesh::QTrap::init_3D(), libMesh::QGrid::init_3D(), libMesh::QSimpson::init_3D(), and libMesh::QGauss::init_3D().

155 {
156  const unsigned int np = q1D.n_points();
157 
158  _points.resize(np * np * np);
159 
160  _weights.resize(np * np * np);
161 
162  unsigned int q=0;
163 
164  for (unsigned int k=0; k<np; k++)
165  for (unsigned int j=0; j<np; j++)
166  for (unsigned int i=0; i<np; i++)
167  {
168  _points[q](0) = q1D.qp(i)(0);
169  _points[q](1) = q1D.qp(j)(0);
170  _points[q](2) = q1D.qp(k)(0);
171 
172  _weights[q] = q1D.w(i) * q1D.w(j) * q1D.w(k);
173 
174  q++;
175  }
176 }
std::vector< Point > _points
Definition: quadrature.h:349
std::vector< Real > _weights
Definition: quadrature.h:355

◆ tensor_product_prism()

void libMesh::QBase::tensor_product_prism ( const QBase q1D,
const QBase q2D 
)
protectedinherited

Computes the tensor product of a 1D quadrature rule and a 2D quadrature rule. Used in the init_3D routines for prismatic element types.

Definition at line 181 of file quadrature.C.

References libMesh::QBase::_points, libMesh::QBase::_weights, libMesh::QBase::n_points(), libMesh::QBase::qp(), and libMesh::QBase::w().

Referenced by libMesh::QGrid::init_3D(), libMesh::QTrap::init_3D(), libMesh::QSimpson::init_3D(), and libMesh::QGauss::init_3D().

182 {
183  const unsigned int n_points1D = q1D.n_points();
184  const unsigned int n_points2D = q2D.n_points();
185 
186  _points.resize (n_points1D * n_points2D);
187  _weights.resize (n_points1D * n_points2D);
188 
189  unsigned int q=0;
190 
191  for (unsigned int j=0; j<n_points1D; j++)
192  for (unsigned int i=0; i<n_points2D; i++)
193  {
194  _points[q](0) = q2D.qp(i)(0);
195  _points[q](1) = q2D.qp(i)(1);
196  _points[q](2) = q1D.qp(j)(0);
197 
198  _weights[q] = q2D.w(i) * q1D.w(j);
199 
200  q++;
201  }
202 
203 }
std::vector< Point > _points
Definition: quadrature.h:349
std::vector< Real > _weights
Definition: quadrature.h:355

◆ tensor_product_quad()

void libMesh::QBase::tensor_product_quad ( const QBase q1D)
protectedinherited

Constructs a 2D rule from the tensor product of q1D with itself. Used in the init_2D() routines for quadrilateral element types.

Definition at line 127 of file quadrature.C.

References libMesh::QBase::_points, libMesh::QBase::_weights, libMesh::QBase::n_points(), libMesh::QBase::qp(), and libMesh::QBase::w().

Referenced by libMesh::QGaussLobatto::init_2D(), libMesh::QTrap::init_2D(), libMesh::QGrid::init_2D(), libMesh::QSimpson::init_2D(), and libMesh::QGauss::init_2D().

128 {
129 
130  const unsigned int np = q1D.n_points();
131 
132  _points.resize(np * np);
133 
134  _weights.resize(np * np);
135 
136  unsigned int q=0;
137 
138  for (unsigned int j=0; j<np; j++)
139  for (unsigned int i=0; i<np; i++)
140  {
141  _points[q](0) = q1D.qp(i)(0);
142  _points[q](1) = q1D.qp(j)(0);
143 
144  _weights[q] = q1D.w(i)*q1D.w(j);
145 
146  q++;
147  }
148 }
std::vector< Point > _points
Definition: quadrature.h:349
std::vector< Real > _weights
Definition: quadrature.h:355

◆ type()

QuadratureType libMesh::QJacobi::type ( ) const
overridevirtual
Returns
The QuadratureType, either QJACOBI_1_0 or QJACOBI_2_0.

Implements libMesh::QBase.

Definition at line 30 of file quadrature_jacobi.C.

References _alpha, _beta, libMesh::QJACOBI_1_0, and libMesh::QJACOBI_2_0.

31 {
32  if ((_alpha == 1) && (_beta == 0))
33  return QJACOBI_1_0;
34 
35  else if ((_alpha == 2) && (_beta == 0))
36  return QJACOBI_2_0;
37 
38  else
39  libmesh_error_msg("Invalid Jacobi quadrature rule: alpha = " << _alpha << ", beta = " << _beta);
40 }
const unsigned int _alpha
const unsigned int _beta

◆ w()

Real libMesh::QBase::w ( const unsigned int  i) const
inlineinherited

Member Data Documentation

◆ _alpha

const unsigned int libMesh::QJacobi::_alpha
private

Definition at line 85 of file quadrature_jacobi.h.

Referenced by init_1D(), and type().

◆ _beta

const unsigned int libMesh::QJacobi::_beta
private

Definition at line 86 of file quadrature_jacobi.h.

Referenced by init_1D(), and type().

◆ _counts

ReferenceCounter::Counts libMesh::ReferenceCounter::_counts
staticprotectedinherited

◆ _dim

unsigned int libMesh::QBase::_dim
protectedinherited

◆ _enable_print_counter

bool libMesh::ReferenceCounter::_enable_print_counter = true
staticprotectedinherited

Flag to control whether reference count information is printed when print_info is called.

Definition at line 141 of file reference_counter.h.

Referenced by libMesh::ReferenceCounter::disable_print_counter_info(), libMesh::ReferenceCounter::enable_print_counter_info(), and libMesh::ReferenceCounter::print_info().

◆ _mutex

Threads::spin_mutex libMesh::ReferenceCounter::_mutex
staticprotectedinherited

Mutual exclusion object to enable thread-safe reference counting.

Definition at line 135 of file reference_counter.h.

◆ _n_objects

Threads::atomic< unsigned int > libMesh::ReferenceCounter::_n_objects
staticprotectedinherited

The number of objects. Print the reference count information when the number returns to 0.

Definition at line 130 of file reference_counter.h.

Referenced by libMesh::ReferenceCounter::n_objects(), libMesh::ReferenceCounter::ReferenceCounter(), and libMesh::ReferenceCounter::~ReferenceCounter().

◆ _order

◆ _p_level

unsigned int libMesh::QBase::_p_level
protectedinherited

The p-level of the element for which the current values have been computed.

Definition at line 343 of file quadrature.h.

Referenced by libMesh::QBase::get_order(), libMesh::QBase::get_p_level(), and libMesh::QBase::init().

◆ _points

◆ _type

ElemType libMesh::QBase::_type
protectedinherited

The type of element for which the current values have been computed.

Definition at line 337 of file quadrature.h.

Referenced by libMesh::QBase::get_elem_type(), and libMesh::QBase::init().

◆ _weights

◆ allow_rules_with_negative_weights

bool libMesh::QBase::allow_rules_with_negative_weights
inherited

Flag (default true) controlling the use of quadrature rules with negative weights. Set this to false to require rules with all positive weights.

Rules with negative weights can be unsuitable for some problems. For example, it is possible for a rule with negative weights to obtain a negative result when integrating a positive function.

A particular example: if rules with negative weights are not allowed, a request for TET,THIRD (5 points) will return the TET,FIFTH (14 points) rule instead, nearly tripling the computational effort required!

Definition at line 246 of file quadrature.h.

Referenced by libMesh::QGrundmann_Moller::init_2D(), libMesh::QGauss::init_3D(), libMesh::QMonomial::init_3D(), and libMesh::QGrundmann_Moller::init_3D().


The documentation for this class was generated from the following files: