libMesh::QJacobi Class Reference

#include <quadrature_jacobi.h>

Inheritance diagram for libMesh::QJacobi:

List of all members.

Public Member Functions

 QJacobi (const unsigned int _dim, const Order _order=INVALID_ORDER, const unsigned int _alpha=1, const unsigned int _beta=0)
 ~QJacobi ()
QuadratureType type () const
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
void init (const ElemType type=INVALID_ELEM, 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 AutoPtr< QBasebuild (const std::string &name, const unsigned int _dim, const Order _order=INVALID_ORDER)
static AutoPtr< 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)
void increment_constructor_count (const std::string &name)
void increment_destructor_count (const std::string &name)

Protected Attributes

libMesh::err<< "ERROR: Seems
as if this quadrature rule"
<< std::endl<< " is not
implemented for 2D."<< std::endl;libmesh_error();}#endif virtual void init_3D(const ElemType, unsigned int=0)#ifndef DEBUG{}#else{libMesh::err<< "ERROR: Seems as if this quadrature rule"<< std::endl<< " is not implemented for 3D."<< std::endl;libmesh_error();}#endif void tensor_product_quad(const QBase &q1D);void tensor_product_hex(const QBase &q1D);void tensor_product_prism(const QBase &q1D, const QBase &q2D);const unsigned int _dim;const 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

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

Private Attributes

const unsigned int _alpha
const unsigned int _beta

Friends

std::ostream & operator<< (std::ostream &os, const QBase &q)

Detailed Description

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 FIFTH.

Definition at line 52 of file quadrature_jacobi.h.


Member Typedef Documentation

typedef std::map<std::string, std::pair<unsigned int, unsigned int> > libMesh::ReferenceCounter::Counts [protected, inherited]

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

Definition at line 113 of file reference_counter.h.


Constructor & Destructor Documentation

libMesh::QJacobi::QJacobi ( const unsigned int  _dim,
const Order  _order = INVALID_ORDER,
const unsigned int  _alpha = 1,
const unsigned int  _beta = 0 
) [inline]

Constructor. Currently, only one-dimensional rules provided. Check QGauss for versions of Jacobi quadrature rule for higher dimensions.

Definition at line 93 of file quadrature_jacobi.h.

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

00096                                        : QBase(d,o), _alpha(a), _beta(b)
00097 {
00098   // explicitly call the init function in 1D since the
00099   // other tensor-product rules require this one.
00100   // note that EDGE will not be used internally, however
00101   // if we called the function with INVALID_ELEM it would try to
00102   // be smart and return, thinking it had already done the work.
00103   if (_dim == 1)
00104     init(EDGE2);
00105 }

libMesh::QJacobi::~QJacobi (  )  [inline]

Destructor. Empty.

Definition at line 69 of file quadrature_jacobi.h.

00069 {}


Member Function Documentation

AutoPtr< QBase > libMesh::QBase::build ( const QuadratureType  _qt,
const unsigned int  _dim,
const Order  _order = INVALID_ORDER 
) [static, inherited]

Builds a specific quadrature rule, identified through the QuadratureType. An AutoPtr<QBase> is returned to prevent a memory leak. This way the user need not remember to delete the object. Enables run-time decision of the quadrature rule.

Definition at line 48 of file quadrature_build.C.

References libMesh::err, libMeshEnums::FIRST, libMeshEnums::FORTYTHIRD, libMesh::out, libMeshEnums::QCLOUGH, libMeshEnums::QGAUSS, libMeshEnums::QJACOBI_1_0, libMeshEnums::QJACOBI_2_0, libMeshEnums::QSIMPSON, libMeshEnums::QTRAP, libMeshEnums::THIRD, and libMeshEnums::TWENTYTHIRD.

00051 {
00052   switch (_qt)
00053     {
00054 
00055     case QCLOUGH:
00056       {
00057 #ifdef DEBUG
00058         if (_order > TWENTYTHIRD)
00059           {
00060             libMesh::out << "WARNING: Clough quadrature implemented" << std::endl
00061                           << " up to TWENTYTHIRD order." << std::endl;
00062           }
00063 #endif
00064 
00065         AutoPtr<QBase> ap(new QClough(_dim, _order));
00066         return ap;
00067       }
00068 
00069     case QGAUSS:
00070       {
00071 
00072 #ifdef DEBUG
00073         if (_order > FORTYTHIRD)
00074           {
00075             libMesh::out << "WARNING: Gauss quadrature implemented" << std::endl
00076                           << " up to FORTYTHIRD order." << std::endl;
00077           }
00078 #endif
00079 
00080         AutoPtr<QBase> ap(new QGauss(_dim, _order));
00081         return ap;
00082       }
00083 
00084     case QJACOBI_1_0:
00085       {
00086 
00087 #ifdef DEBUG
00088         if (_order > TWENTYTHIRD)
00089           {
00090             libMesh::out << "WARNING: Jacobi(1,0) quadrature implemented" << std::endl
00091                           << " up to TWENTYTHIRD order." << std::endl;
00092           }
00093 
00094         if (_dim > 1)
00095           {
00096             libMesh::out << "WARNING: Jacobi(1,0) quadrature implemented" << std::endl
00097                           << " in 1D only." << std::endl;
00098           }
00099 #endif
00100 
00101         AutoPtr<QBase> ap(new QJacobi(_dim, _order, 1, 0));
00102         return ap;
00103       }
00104 
00105     case QJACOBI_2_0:
00106       {
00107 
00108 #ifdef DEBUG
00109         if (_order > TWENTYTHIRD)
00110           {
00111             libMesh::out << "WARNING: Jacobi(2,0) quadrature implemented" << std::endl
00112                           << " up to TWENTYTHIRD order." << std::endl;
00113           }
00114 
00115         if (_dim > 1)
00116           {
00117             libMesh::out << "WARNING: Jacobi(2,0) quadrature implemented" << std::endl
00118                           << " in 1D only." << std::endl;
00119           }
00120 #endif
00121 
00122         AutoPtr<QBase> ap(new QJacobi(_dim, _order, 2, 0));
00123         return ap;
00124       }
00125 
00126     case QSIMPSON:
00127       {
00128 
00129 #ifdef DEBUG
00130         if (_order > THIRD)
00131           {
00132             libMesh::out << "WARNING: Simpson rule provides only" << std::endl
00133                           << " THIRD order!" << std::endl;
00134           }
00135 #endif
00136 
00137         AutoPtr<QBase> ap(new QSimpson(_dim));
00138         return ap;
00139       }
00140 
00141     case QTRAP:
00142       {
00143 
00144 #ifdef DEBUG
00145         if (_order > FIRST)
00146           {
00147             libMesh::out << "WARNING: Trapezoidal rule provides only" << std::endl
00148                           << " FIRST order!" << std::endl;
00149           }
00150 #endif
00151 
00152         AutoPtr<QBase> ap(new QTrap(_dim));
00153         return ap;
00154       }
00155 
00156 
00157     default:
00158       {
00159         libMesh::err << "ERROR: Bad qt=" << _qt << std::endl;
00160         libmesh_error();
00161       }
00162     }
00163 
00164 
00165   libmesh_error();
00166   AutoPtr<QBase> ap(NULL);
00167   return ap;
00168 }

AutoPtr< QBase > libMesh::QBase::build ( const std::string &  name,
const unsigned int  _dim,
const Order  _order = INVALID_ORDER 
) [static, inherited]

Builds a specific quadrature rule, identified through the name string. An AutoPtr<QBase> is returned to prevent a memory leak. This way the user need not remember to delete the object. Enables run-time decision of the quadrature rule. The input parameter name must be mappable through the Utility::string_to_enum<>() function.

Definition at line 37 of file quadrature_build.C.

References libMesh::Utility::string_to_enum< QuadratureType >().

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

00040 {
00041   return QBase::build (Utility::string_to_enum<QuadratureType> (type),
00042                        _dim,
00043                        _order);
00044 }

void libMesh::ReferenceCounter::disable_print_counter_info (  )  [static, inherited]

Definition at line 106 of file reference_counter.C.

References libMesh::ReferenceCounter::_enable_print_counter.

00107 {
00108   _enable_print_counter = false;
00109   return;
00110 }

void libMesh::ReferenceCounter::enable_print_counter_info (  )  [static, inherited]

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.

00101 {
00102   _enable_print_counter = true;
00103   return;
00104 }

unsigned int libMesh::QBase::get_dim (  )  const [inline, inherited]
ElemType libMesh::QBase::get_elem_type (  )  const [inline, inherited]
Returns:
the current element type we're set up for

Definition at line 104 of file quadrature.h.

00105     { return _type; }

std::string libMesh::ReferenceCounter::get_info (  )  [static, inherited]

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().

00048 {
00049 #if defined(LIBMESH_ENABLE_REFERENCE_COUNTING) && defined(DEBUG)
00050 
00051   std::ostringstream oss;
00052 
00053   oss << '\n'
00054       << " ---------------------------------------------------------------------------- \n"
00055       << "| Reference count information                                                |\n"
00056       << " ---------------------------------------------------------------------------- \n";
00057 
00058   for (Counts::iterator it = _counts.begin();
00059        it != _counts.end(); ++it)
00060     {
00061       const std::string name(it->first);
00062       const unsigned int creations    = it->second.first;
00063       const unsigned int destructions = it->second.second;
00064 
00065       oss << "| " << name << " reference count information:\n"
00066           << "|  Creations:    " << creations    << '\n'
00067           << "|  Destructions: " << destructions << '\n';
00068     }
00069 
00070   oss << " ---------------------------------------------------------------------------- \n";
00071 
00072   return oss.str();
00073 
00074 #else
00075 
00076   return "";
00077 
00078 #endif
00079 }

Order libMesh::QBase::get_order (  )  const [inline, inherited]
Returns:
the order of the quadrature rule.

Definition at line 169 of file quadrature.h.

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

00169 { return static_cast<Order>(_order + _p_level); }

unsigned int libMesh::QBase::get_p_level (  )  const [inline, inherited]
Returns:
the current p refinement level we're initialized with

Definition at line 110 of file quadrature.h.

00111     { return _p_level; }

std::vector<Point>& libMesh::QBase::get_points (  )  [inline, inherited]
Returns:
a std::vector containing the quadrature point locations on a reference object as a writeable reference.

Definition at line 135 of file quadrature.h.

References libMesh::QBase::_points.

00135 { return _points;  }

std::vector<Real>& libMesh::QBase::get_weights (  )  [inline, inherited]
Returns:
a std::vector containing the quadrature weights.

Definition at line 145 of file quadrature.h.

References libMesh::QBase::_weights.

00145 { return _weights; }

void libMesh::ReferenceCounter::increment_constructor_count ( const std::string &  name  )  [inline, protected, inherited]

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

Definition at line 163 of file reference_counter.h.

References libMesh::ReferenceCounter::_counts, and libMesh::Threads::spin_mtx.

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

00164 {
00165   Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
00166   std::pair<unsigned int, unsigned int>& p = _counts[name];
00167 
00168   p.first++;
00169 }

void libMesh::ReferenceCounter::increment_destructor_count ( const std::string &  name  )  [inline, protected, inherited]

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

Definition at line 176 of file reference_counter.h.

References libMesh::ReferenceCounter::_counts, and libMesh::Threads::spin_mtx.

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

00177 {
00178   Threads::spin_mutex::scoped_lock lock(Threads::spin_mtx);
00179   std::pair<unsigned int, unsigned int>& p = _counts[name];
00180 
00181   p.second++;
00182 }

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

Initializes the data structures to contain a quadrature rule for an object of type type.

Definition at line 27 of file quadrature.C.

References libMesh::QBase::init_0D(), libMesh::QBase::init_1D(), and libMesh::QBase::init_2D().

Referenced by libMesh::FE< Dim, T >::edge_reinit(), libMesh::QClough::init_1D(), libMesh::QTrap::init_2D(), libMesh::QSimpson::init_2D(), libMesh::QMonomial::init_2D(), libMesh::QGrid::init_2D(), libMesh::QGauss::init_2D(), libMesh::QClough::init_2D(), libMesh::QTrap::init_3D(), libMesh::QSimpson::init_3D(), libMesh::QMonomial::init_3D(), libMesh::QGrid::init_3D(), libMesh::QGauss::init_3D(), libMesh::InfFE< Dim, T_radial, T_map >::init_face_shape_functions(), libMesh::QGauss::QGauss(), QJacobi(), libMesh::QSimpson::QSimpson(), libMesh::QTrap::QTrap(), libMesh::InfFE< Dim, T_radial, T_map >::reinit(), libMesh::FEXYZ< Dim >::reinit(), and libMesh::FE< Dim, T >::reinit().

00029 {
00030   // check to see if we have already
00031   // done the work for this quadrature rule
00032   if (t == _type && p == _p_level)
00033     return;
00034   else
00035     {
00036       _type = t;
00037       _p_level = p;
00038     }
00039 
00040 
00041 
00042   switch(_dim)
00043     {
00044     case 0:
00045       this->init_0D(_type,_p_level);
00046 
00047       return;
00048 
00049     case 1:
00050       this->init_1D(_type,_p_level);
00051 
00052       return;
00053 
00054     case 2:
00055       this->init_2D(_type,_p_level);
00056 
00057       return;
00058 
00059     case 3:
00060       this->init_3D(_type,_p_level);
00061 
00062       return;
00063 
00064     default:
00065       libmesh_error();
00066     }
00067 }

void libMesh::QBase::init_0D ( const ElemType  type = INVALID_ELEM,
unsigned int  p_level = 0 
) [protected, virtual, inherited]

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 71 of file quadrature.C.

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

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

00073 {
00074   _points.resize(1);
00075   _weights.resize(1);
00076   _points[0] = Point(0.);
00077   _weights[0] = 1.0;
00078 }

void libMesh::QJacobi::init_1D ( const ElemType  type = INVALID_ELEM,
unsigned int  p_level = 0 
) [private, virtual]

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::_points, libMesh::QBase::_weights, libMeshEnums::CONSTANT, libMeshEnums::EIGHTH, libMeshEnums::EIGHTTEENTH, libMeshEnums::ELEVENTH, libMesh::err, libMeshEnums::FIFTEENTH, libMeshEnums::FIFTH, libMeshEnums::FIRST, libMeshEnums::FORTIETH, libMeshEnums::FORTYFIRST, libMeshEnums::FORTYSECOND, libMeshEnums::FORTYTHIRD, libMeshEnums::FOURTEENTH, libMeshEnums::FOURTH, libMeshEnums::NINTEENTH, libMeshEnums::NINTH, libMeshEnums::SECOND, libMeshEnums::SEVENTEENTH, libMeshEnums::SEVENTH, libMeshEnums::SIXTEENTH, libMeshEnums::SIXTH, libMeshEnums::TENTH, libMeshEnums::THIRD, libMeshEnums::THIRTEENTH, libMeshEnums::THIRTIETH, libMeshEnums::THIRTYEIGHTH, libMeshEnums::THIRTYFIFTH, libMeshEnums::THIRTYFIRST, libMeshEnums::THIRTYFOURTH, libMeshEnums::THIRTYNINTH, libMeshEnums::THIRTYSECOND, libMeshEnums::THIRTYSEVENTH, libMeshEnums::THIRTYSIXTH, libMeshEnums::THIRTYTHIRD, libMeshEnums::TWELFTH, libMeshEnums::TWENTIETH, libMeshEnums::TWENTYEIGHTH, libMeshEnums::TWENTYFIFTH, libMeshEnums::TWENTYFIRST, libMeshEnums::TWENTYFOURTH, libMeshEnums::TWENTYNINTH, libMeshEnums::TWENTYSECOND, libMeshEnums::TWENTYSEVENTH, libMeshEnums::TWENTYSIXTH, and libMeshEnums::TWENTYTHIRD.

00030 {
00031   //----------------------------------------------------------------------
00032   // 1D quadrature rules
00033   // Note that we need to check _alpha and _beta
00034   // to determine which quadrature rule to implement.
00035   // These rules have been pre-scaled based on their
00036   // intended use.  The weights of the (alpha=1,beta=0)
00037   // rule sum to 0.5.  The weights of the (alpha=2,beta=0)
00038   // rule sum to 0.333333333333.
00039 
00040   if ((_alpha == 1) && (_beta == 0))
00041     {
00042       switch(_order + 2*p)
00043         {
00044         case CONSTANT:
00045         case FIRST:
00046           {
00047             _points.resize (1);
00048             _weights.resize(1);
00049 
00050             _points[0](0)  = 1./3.;
00051 
00052             _weights[0]    = 0.5;
00053 
00054             return;
00055           }
00056         case SECOND:
00057         case THIRD:
00058           {
00059             _points.resize (2);
00060             _weights.resize(2);
00061 
00062             _points[ 0](0)=1.5505102572168219018027159252941e-01L;      _weights[ 0]=3.1804138174397716939436900207516e-01L;
00063             _points[ 1](0)=6.4494897427831780981972840747059e-01L;      _weights[ 1]=1.8195861825602283060563099792484e-01L;
00064 
00065             return;
00066           }
00067         case FOURTH:
00068         case FIFTH:
00069           {
00070             _points.resize (3);
00071             _weights.resize(3);
00072 
00073             _points[ 0](0)=8.8587959512703947395546143769456e-02L;      _weights[ 0]=2.0093191373895963077219813326460e-01L;
00074             _points[ 1](0)=4.0946686444073471086492625206883e-01L;      _weights[ 1]=2.2924110635958624669392059455632e-01L;
00075             _points[ 2](0)=7.8765946176084705602524188987600e-01L;      _weights[ 2]=6.9826979901454122533881272179077e-02L;
00076 
00077             return;
00078           }
00079         case SIXTH:
00080         case SEVENTH:
00081           {
00082             _points.resize (4);
00083             _weights.resize(4);
00084 
00085             _points[ 0](0)=5.7104196114517682193121192554116e-02L;      _weights[ 0]=1.3550691343148811620826417407794e-01L;
00086             _points[ 1](0)=2.7684301363812382768004599768563e-01L;      _weights[ 1]=2.0346456801027136079140447593585e-01L;
00087             _points[ 2](0)=5.8359043236891682005669766866292e-01L;      _weights[ 2]=1.2984754760823244082645620288963e-01L;
00088             _points[ 3](0)=8.6024013565621944784791291887512e-01L;      _weights[ 3]=3.1180970950008082173875147096575e-02L;
00089 
00090             return;
00091           }
00092         case EIGHTH:
00093         case NINTH:
00094           {
00095             _points.resize (5);
00096             _weights.resize(5);
00097 
00098             _points[ 0](0)=3.9809857051468742340806690093333e-02L;      _weights[ 0]=9.6781590226651679274360971636151e-02L;
00099             _points[ 1](0)=1.9801341787360817253579213679530e-01L;      _weights[ 1]=1.6717463809436956549167562309770e-01L;
00100             _points[ 2](0)=4.3797481024738614400501252000523e-01L;      _weights[ 2]=1.4638698708466980869803786935596e-01L;
00101             _points[ 3](0)=6.9546427335363609451461482372117e-01L;      _weights[ 3]=7.3908870072616670350633219341704e-02L;
00102             _points[ 4](0)=9.0146491420117357387650110211225e-01L;      _weights[ 4]=1.5747914521692276185292316568488e-02L;
00103 
00104             return;
00105           }
00106         case TENTH:
00107         case ELEVENTH:
00108           {
00109 
00110             _points.resize (6);
00111             _weights.resize(6);
00112 
00113             _points[ 0](0)=2.9316427159784891972050276913165e-02L;      _weights[ 0]=7.2310330725508683655454326124832e-02L;
00114             _points[ 1](0)=1.4807859966848429184997685249598e-01L;      _weights[ 1]=1.3554249723151861684069039663805e-01L;
00115             _points[ 2](0)=3.3698469028115429909705297208078e-01L;      _weights[ 2]=1.4079255378819892811907683907093e-01L;
00116             _points[ 3](0)=5.5867151877155013208139334180552e-01L;      _weights[ 3]=9.8661150890655264120584510548360e-02L;
00117             _points[ 4](0)=7.6923386203005450091688336011565e-01L;      _weights[ 4]=4.3955165550508975508176624305430e-02L;
00118             _points[ 5](0)=9.2694567131974111485187396581968e-01L;      _weights[ 5]=8.7383018136095317560173033123989e-03L;
00119 
00120             return;
00121           }
00122         case TWELFTH:
00123         case THIRTEENTH:
00124           {
00125             _points.resize (7);
00126             _weights.resize(7);
00127 
00128             _points[ 0](0)=2.2479386438712498108825499570845e-02L;      _weights[ 0]=5.5967363423491051151562113429926e-02L;
00129             _points[ 1](0)=1.1467905316090423190964023706751e-01L;      _weights[ 1]=1.1050925819087460242112073636961e-01L;
00130             _points[ 2](0)=2.6578982278458946847678939169339e-01L;      _weights[ 2]=1.2739089729958832691873448577496e-01L;
00131             _points[ 3](0)=4.5284637366944461699855144234765e-01L;      _weights[ 3]=1.0712506569587366999091225299986e-01L;
00132             _points[ 4](0)=6.4737528288683036262609222982876e-01L;      _weights[ 4]=6.6384696465491469983647988763640e-02L;
00133             _points[ 5](0)=8.1975930826310763501242005719082e-01L;      _weights[ 5]=2.7408356721873475444331048358226e-02L;
00134             _points[ 6](0)=9.4373743946307785353434780896769e-01L;      _weights[ 6]=5.2143622028074040896913743037830e-03L;
00135 
00136             return;
00137           }
00138         case FOURTEENTH:
00139         case FIFTEENTH:
00140           {
00141             _points.resize (8);
00142             _weights.resize(8);
00143 
00144             _points[ 0](0)=1.7779915147363451813205101037679e-02L;      _weights[ 0]=4.4550804361555931326215619533963e-02L;
00145             _points[ 1](0)=9.1323607899793956003741458074541e-02L;      _weights[ 1]=9.1119023636373626345722461782880e-02L;
00146             _points[ 2](0)=2.1430847939563075835754126758167e-01L;      _weights[ 2]=1.1250579947088736617177209860428e-01L;
00147             _points[ 3](0)=3.7193216458327230243085396048263e-01L;      _weights[ 3]=1.0604735943593001070453109641116e-01L;
00148             _points[ 4](0)=5.4518668480342664903227222995321e-01L;      _weights[ 4]=7.9199599492319160120408189359892e-02L;
00149             _points[ 5](0)=7.1317524285556948105131376025091e-01L;      _weights[ 5]=4.5439319504698898083055421095694e-02L;
00150             _points[ 6](0)=8.5563374295785442851478147977179e-01L;      _weights[ 6]=1.7842902655986208393552797201042e-02L;
00151             _points[ 7](0)=9.5536604471003014926687897814169e-01L;      _weights[ 7]=3.2951914422487988547423160110891e-03L;
00152 
00153             return;
00154           }
00155         case SIXTEENTH:
00156         case SEVENTEENTH:
00157           {
00158             _points.resize (9);
00159             _weights.resize(9);
00160 
00161             _points[ 0](0)=1.4412409648876548632826740810813e-02L;      _weights[ 0]=3.6278003523279871459649597941160e-02L;
00162             _points[ 1](0)=7.4387389709196044635918185955999e-02L;      _weights[ 1]=7.6074255109308162580079303753964e-02L;
00163             _points[ 2](0)=1.7611665616299528186317574607257e-01L;      _weights[ 2]=9.8533742172345705160173020369274e-02L;
00164             _points[ 3](0)=3.0966757992763781705962046722948e-01L;      _weights[ 3]=1.0030880919336828965415022473259e-01L;
00165             _points[ 4](0)=4.6197040108101093488314310868056e-01L;      _weights[ 4]=8.4358321844920349394250019958587e-02L;
00166             _points[ 5](0)=6.1811723469529402463922975160350e-01L;      _weights[ 5]=5.8401195295165110565731522901640e-02L;
00167             _points[ 6](0)=7.6282301518503961468269330714673e-01L;      _weights[ 6]=3.1804821491054001261690106935870e-02L;
00168             _points[ 7](0)=8.8192102121000129980771488800526e-01L;      _weights[ 7]=1.2060004284785379051727152286900e-02L;
00169             _points[ 8](0)=9.6374218711679053905883569923192e-01L;      _weights[ 8]=2.1808470857731308725490511200170e-03L;
00170 
00171             return;
00172           }
00173         case EIGHTTEENTH:
00174         case NINTEENTH:
00175           {
00176             _points.resize (10);
00177             _weights.resize(10);
00178 
00179             _points[ 0](0)=1.1917613432415596909745586958986e-02L;      _weights[ 0]=3.0099508024037023300654755523879e-02L;
00180             _points[ 1](0)=6.1732071877148125522629367194250e-02L;      _weights[ 1]=6.4287154509082572874826538628865e-02L;
00181             _points[ 2](0)=1.4711144964307024042759943557982e-01L;      _weights[ 2]=8.6211300289176036428333360711914e-02L;
00182             _points[ 3](0)=2.6115967600845624026605165805485e-01L;      _weights[ 3]=9.2696893677723415844756991929711e-02L;
00183             _points[ 4](0)=3.9463984688578684296195210507761e-01L;      _weights[ 4]=8.4557109690827332430645582165501e-02L;
00184             _points[ 5](0)=5.3673876571566063287309517771189e-01L;      _weights[ 5]=6.6053075563350379166074502504878e-02L;
00185             _points[ 6](0)=6.7594446167666510735715050893476e-01L;      _weights[ 6]=4.3401906407150625922456117586384e-02L;
00186             _points[ 7](0)=8.0097892103689884513794630161724e-01L;      _weights[ 7]=2.2774591453263032586487649426060e-02L;
00187             _points[ 8](0)=9.0171098779014677034879897840977e-01L;      _weights[ 8]=8.4193197829831874175163655187011e-03L;
00188             _points[ 9](0)=9.6997096783851350295693564236559e-01L;      _weights[ 9]=1.4991406024063940282481360041064e-03L;
00189 
00190             return;
00191           }
00192         case TWENTIETH:
00193         case TWENTYFIRST:
00194           {
00195             _points.resize (11);
00196             _weights.resize(11);
00197 
00198             _points[ 0](0)=1.0018280461680405843024729867805e-02L;      _weights[ 0]=2.5367340688141426184944658517383e-02L;
00199             _points[ 1](0)=5.2035451127180552583542695772964e-02L;      _weights[ 1]=5.4938091132871498258746681665651e-02L;
00200             _points[ 2](0)=1.2461922514444307373529958726391e-01L;      _weights[ 2]=7.5620048057186998321377054841660e-02L;
00201             _points[ 3](0)=2.2284060704383785550783145345736e-01L;      _weights[ 3]=8.4659422884017621219239388551910e-02L;
00202             _points[ 4](0)=3.4000815791466518823360523389702e-01L;      _weights[ 4]=8.1879102988063470389586851943461e-02L;
00203             _points[ 5](0)=4.6813761308958404208311038075775e-01L;      _weights[ 5]=6.9531875158183049799050889633934e-02L;
00204             _points[ 6](0)=5.9849727976713918322772071367304e-01L;      _weights[ 6]=5.1591360672297580193086641744608e-02L;
00205             _points[ 7](0)=7.2220328489096792556332130780461e-01L;      _weights[ 7]=3.2641546713833346017953865389764e-02L;
00206             _points[ 8](0)=8.3082489962281857403056654390566e-01L;      _weights[ 8]=1.6663623451680692415747124573826e-02L;
00207             _points[ 9](0)=9.1695838655259485329313462701803e-01L;      _weights[ 9]=6.0439209604797757927329621765769e-03L;
00208             _points[10](0)=9.7472637960247965024666881353837e-01L;      _weights[10]=1.0636672932445414075338809612253e-03L;
00209 
00210             return;
00211           }
00212         case TWENTYSECOND:
00213         case TWENTYTHIRD:
00214           {
00215             _points.resize (12);
00216             _weights.resize(12);
00217 
00218             _points[ 0](0)=8.5390549884274193686644608778398e-03L;      _weights[ 0]=2.1664860886871767324583472077976e-02L;
00219             _points[ 1](0)=4.4446463155407723025466798785553e-02L;      _weights[ 1]=4.7427851980377470134309182197087e-02L;
00220             _points[ 2](0)=1.0685449088347665763410677043250e-01L;      _weights[ 2]=6.6606750626673198130834485351975e-02L;
00221             _points[ 3](0)=1.9215105452985404099105725622861e-01L;      _weights[ 3]=7.6896602680041006281204469112373e-02L;
00222             _points[ 4](0)=2.9538088426258022162291683437601e-01L;      _weights[ 4]=7.7696316815531026628765631099760e-02L;
00223             _points[ 5](0)=4.1054508120145768248903435055933e-01L;      _weights[ 5]=7.0109339997630094495921805029671e-02L;
00224             _points[ 6](0)=5.3095084931281767062893024289682e-01L;      _weights[ 6]=5.6613843713667631943701105156121e-02L;
00225             _points[ 7](0)=6.4960065027725499276629172334298e-01L;      _weights[ 7]=4.0451653706913616760646424250646e-02L;
00226             _points[ 8](0)=7.5959888952522705374260257404342e-01L;      _weights[ 8]=2.4876780409265432012508172290016e-02L;
00227             _points[ 9](0)=8.5455254376493588079021191640562e-01L;      _weights[ 9]=1.2436009166422265607483293056674e-02L;
00228             _points[10](0)=9.2894210126441101784881015513432e-01L;      _weights[10]=4.4448077956684623227961458658283e-03L;
00229             _points[11](0)=9.7843793683414963909190691691700e-01L;      _weights[11]=7.7518222093802835724581451187414e-04L;
00230 
00231             return;
00232           }
00233 
00234         case TWENTYFOURTH:
00235         case TWENTYFIFTH:
00236           {
00237             _points.resize (13);
00238             _weights.resize(13);
00239 
00240             _points[ 0](0)=7.3646510260893216506914984138223e-03L;      _weights[ 0]=1.8714731585615175193374408664994e-02L;
00241             _points[ 1](0)=3.8398138739678350376832524864142e-02L;      _weights[ 1]=4.1320289419839298476611706952624e-02L;
00242             _points[ 2](0)=9.2595224699002635282891375438616e-02L;      _weights[ 2]=5.8953937956647082536161503261961e-02L;
00243             _points[ 3](0)=1.6725101139155773149552247875936e-01L;      _weights[ 3]=6.9713468282144398251416629950427e-02L;
00244             _points[ 4](0)=2.5862354070576251658979073282269e-01L;      _weights[ 4]=7.2849696515818223079384033843973e-02L;
00245             _points[ 5](0)=3.6213139728223880040868129822732e-01L;      _weights[ 5]=6.8815529487565417217837889436694e-02L;
00246             _points[ 6](0)=4.7258438600411772517509464267860e-01L;      _weights[ 6]=5.9120481314092327419290155953032e-02L;
00247             _points[ 7](0)=5.8444396402134045550422084781091e-01L;      _weights[ 7]=4.5995780676052393313259784530213e-02L;
00248             _points[ 8](0)=6.9210100171960165689704195168767e-01L;      _weights[ 8]=3.1936787162203148842381371158461e-02L;
00249             _points[ 9](0)=7.9015702827343748555286333249938e-01L;      _weights[ 9]=1.9213957164719820645895497863743e-02L;
00250             _points[10](0)=8.7369482130668941936771456713174e-01L;      _weights[10]=9.4489244795927503661800865492413e-03L;
00251             _points[11](0)=9.3852445910073101239763338676530e-01L;      _weights[11]=3.3383592507737718066104206420419e-03L;
00252             _points[12](0)=9.8138963498901214856028062215971e-01L;      _weights[12]=5.7805670493619285159651119259460e-04L;
00253 
00254             return;
00255           }
00256 
00257         case TWENTYSIXTH:
00258         case TWENTYSEVENTH:
00259           {
00260             _points.resize (14);
00261             _weights.resize(14);
00262 
00263             _points[ 0](0)=6.4167607928184568108204640945072e-03L;      _weights[ 0]=1.6326754322596839819449429350767e-02L;
00264             _points[ 1](0)=3.3501404532013140035963928570572e-02L;      _weights[ 1]=3.6296078055443693187652118821852e-02L;
00265             _points[ 2](0)=8.0985499681955184392451307739982e-02L;      _weights[ 2]=5.2445953501916745591081806162678e-02L;
00266             _points[ 3](0)=1.4680486768121372992366016526080e-01L;      _weights[ 3]=6.3213025574329203442529115357932e-02L;
00267             _points[ 4](0)=2.2808427064925799153464409861994e-01L;      _weights[ 4]=6.7831659604182837102347339834146e-02L;
00268             _points[ 5](0)=3.2127174398893617440234039741304e-01L;      _weights[ 5]=6.6392350626085425132821358651277e-02L;
00269             _points[ 6](0)=4.2229465730757025784040898751810e-01L;      _weights[ 6]=5.9785559022531584222614059168587e-02L;
00270             _points[ 7](0)=5.2673786133987303205372694481288e-01L;      _weights[ 7]=4.9519454523203004580936179335753e-02L;
00271             _points[ 8](0)=6.3003668837040395788448059413143e-01L;      _weights[ 8]=3.7443096458985826655938301826886e-02L;
00272             _points[ 9](0)=7.2767645288926468543602672799033e-01L;      _weights[ 9]=2.5423465407148762115069898757459e-02L;
00273             _points[10](0)=8.1538973944347464197307421861206e-01L;      _weights[10]=1.5032303743928643503408714751315e-02L;
00274             _points[11](0)=8.8934280881951553969087166094649e-01L;      _weights[11]=7.2964841332126214434099222674776e-03L;
00275             _points[12](0)=9.4630270006027538353340594342472e-01L;      _weights[12]=2.5541013176876539479794996099427e-03L;
00276             _points[13](0)=9.8377523409860023828122800914100e-01L;      _weights[13]=4.3971370874715925476225610392609e-04L;
00277 
00278             return;
00279           }
00280 
00281         case TWENTYEIGHTH:
00282         case TWENTYNINTH:
00283           {
00284             _points.resize (15);
00285             _weights.resize(15);
00286 
00287             _points[ 0](0)=5.6406889725117097575064665794442e-03L;      _weights[ 0]=1.4367069621712523019113300206269e-02L;
00288             _points[ 1](0)=2.9482298647942486631640984718004e-02L;      _weights[ 1]=3.2119044874965915878547666076448e-02L;
00289             _points[ 2](0)=7.1412953115158840054783901746735e-02L;      _weights[ 2]=4.6891639944059925679345570546797e-02L;
00290             _points[ 3](0)=1.2983102555359105597125453809429e-01L;      _weights[ 3]=5.7398825506941289374618916116414e-02L;
00291             _points[ 4](0)=2.0249275505010404756821998832023e-01L;      _weights[ 4]=6.2918106648596909592665349230551e-02L;
00292             _points[ 5](0)=2.8660608625752705998402604548440e-01L;      _weights[ 5]=6.3343955161511392519350738069297e-02L;
00293             _points[ 6](0)=3.7893868864697803810652900914277e-01L;      _weights[ 6]=5.9174192059712931565021168664588e-02L;
00294             _points[ 7](0)=4.7594230846323486057258899201585e-01L;      _weights[ 7]=5.1412362311886468530400169371359e-02L;
00295             _points[ 8](0)=5.7388916090668588067145385523753e-01L;      _weights[ 8]=4.1400735184422578228813150524935e-02L;
00296             _points[ 9](0)=6.6901519502995987653869563905314e-01L;      _weights[ 9]=3.0609769586468540804291808789747e-02L;
00297             _points[10](0)=7.5766473903134271199707427774029e-01L;      _weights[10]=2.0416309272619835691190995270654e-02L;
00298             _points[11](0)=8.3643096060561012397555908565418e-01L;      _weights[11]=1.1904190355097578843030186960250e-02L;
00299             _points[12](0)=9.0228670067937802663123850466201e-01L;      _weights[12]=5.7172223947211761716246502974268e-03L;
00300             _points[13](0)=9.5270040990583331433804420752426e-01L;      _weights[13]=1.9862346931450380410338051145760e-03L;
00301             _points[14](0)=9.8573054526317422526590063305913e-01L;      _weights[14]=3.4034238413789606095252476068833e-04L;
00302 
00303             return;
00304           }
00305 
00306 
00307         case THIRTIETH:
00308         case THIRTYFIRST:
00309           {
00310             _points.resize (16);
00311             _weights.resize(16);
00312 
00313             _points[ 0](0)=4.9972996637719210426511496015207e-03L;      _weights[ 0]=1.2739310657334184747549845879578e-02L;
00314             _points[ 1](0)=2.6143513681394051978549323380543e-02L;      _weights[ 1]=2.8612452590143149357558068987418e-02L;
00315             _points[ 2](0)=6.3430945583836745492528222770701e-02L;      _weights[ 2]=4.2129431157428284757515740541878e-02L;
00316             _points[ 3](0)=1.1559843757981594017892362824740e-01L;      _weights[ 3]=5.2228594403959147363509678893029e-02L;
00317             _points[ 4](0)=1.8087055965788366624757339125570e-01L;      _weights[ 4]=5.8254240209855835379301779422393e-02L;
00318             _points[ 5](0)=2.5702480784517085992294423955927e-01L;      _weights[ 5]=6.0000854888113507055385942002166e-02L;
00319             _points[ 6](0)=3.4146792754782306862589929793869e-01L;      _weights[ 6]=5.7718879609267823617681995467969e-02L;
00320             _points[ 7](0)=4.3132434359562537508359226958274e-01L;      _weights[ 7]=5.2064137843806583754973352189273e-02L;
00321             _points[ 8](0)=5.2353411602516832051747016507566e-01L;      _weights[ 8]=4.3997382189243923173481417304490e-02L;
00322             _points[ 9](0)=6.1495715187648951748964083381908e-01L;      _weights[ 9]=3.4647816579285799103084877873731e-02L;
00323             _points[10](0)=7.0248013792504104445480697553762e-01L;      _weights[10]=2.5159233106470040585653957496918e-02L;
00324             _points[11](0)=7.8312255396486808385218178256205e-01L;      _weights[11]=1.6539584355635793501225242083105e-02L;
00325             _points[12](0)=8.5413814777521063366511368381932e-01L;      _weights[12]=9.5341678846659366549669638207733e-03L;
00326             _points[13](0)=9.1310837653714127462958554670327e-01L;      _weights[13]=4.5392323861386350682211111786128e-03L;
00327             _points[14](0)=9.5802441769047545454495934455429e-01L;      _weights[14]=1.5671884735958197030724006964051e-03L;
00328             _points[15](0)=9.8735302062604161803115590316790e-01L;      _weights[15]=2.6749366505553617681762616226073e-04L;
00329 
00330             return;
00331           }
00332 
00333 
00334         case THIRTYSECOND:
00335         case THIRTYTHIRD:
00336           {
00337             _points.resize (17);
00338             _weights.resize(17);
00339 
00340             _points[ 0](0)=4.4579935677873917545062291115464e-03L;      _weights[ 0]=1.1372703113196894148880104403419e-02L;
00341             _points[ 1](0)=2.3340094123774273967021528207683e-02L;      _weights[ 1]=2.5642427920205179185750205247311e-02L;
00342             _points[ 2](0)=5.6707968769078239532713331556521e-02L;      _weights[ 2]=3.8025728825742400201474917006665e-02L;
00343             _points[ 3](0)=1.0355543293519706341349122696131e-01L;      _weights[ 3]=4.7641869374618441920575209265709e-02L;
00344             _points[ 4](0)=1.6246000342813654998162954391410e-01L;      _weights[ 4]=5.3907931667527480191616020246527e-02L;
00345             _points[ 5](0)=2.3163212577717218294679722573836e-01L;      _weights[ 5]=5.6573611382471512986991034182850e-02L;
00346             _points[ 6](0)=3.0897011775219590331752426128626e-01L;      _weights[ 6]=5.5734917923560549577129019490753e-02L;
00347             _points[ 7](0)=3.9212413472209565803361946333190e-01L;      _weights[ 7]=5.1809741929296333255214704762820e-02L;
00348             _points[ 8](0)=4.7856759685307958878371046285937e-01L;      _weights[ 8]=4.5477790399142277497438924164211e-02L;
00349             _points[ 9](0)=5.6567396688663433190330697600965e-01L;      _weights[ 9]=3.7592325487112238031431998524319e-02L;
00350             _points[10](0)=6.5079655845338226473148740732315e-01L;      _weights[10]=2.9074524087705050563187355467924e-02L;
00351             _points[11](0)=7.3134895273405138213302149556298e-01L;      _weights[11]=2.0803278010295362060012866375773e-02L;
00352             _points[12](0)=8.0488357852496649199917770139703e-01L;      _weights[12]=1.3513697452300780909638958310491e-02L;
00353             _points[13](0)=8.6916605956741361920444649801116e-01L;      _weights[13]=7.7164222148059386958884227660543e-03L;
00354             _points[14](0)=9.2224303459229840848710732823038e-01L;      _weights[14]=3.6472304834214064450344565237838e-03L;
00355             _points[15](0)=9.6250119782335004125046077538851e-01L;      _weights[15]=1.2526834393912207489106525201067e-03L;
00356             _points[16](0)=9.8871404063224375141712140225296e-01L;      _weights[16]=2.1311628920693358082515074128342e-04L;
00357 
00358             return;
00359           }
00360 
00361         case THIRTYFOURTH:
00362         case THIRTYFIFTH:
00363           {
00364             _points.resize (18);
00365             _weights.resize(18);
00366 
00367             _points[ 0](0)=4.0014793838673867970427199102708e-03L;      _weights[ 0]=1.0214339435040633872267566728543e-02L;
00368             _points[ 1](0)=2.0963648393766477995135600986561e-02L;      _weights[ 1]=2.3106350163377066931289331193145e-02L;
00369             _points[ 2](0)=5.0994041587890553966774921299853e-02L;      _weights[ 2]=3.4471118921922024965038695158493e-02L;
00370             _points[ 3](0)=9.3280395928544950777609058826066e-02L;      _weights[ 3]=4.3573907074643088262181650935306e-02L;
00371             _points[ 4](0)=1.4667010367761795715160882973461e-01L;      _weights[ 4]=4.9902226917702713891102223856106e-02L;
00372             _points[ 5](0)=2.0970703958884296672188171145203e-01L;      _weights[ 5]=5.3192334631835660026223777017865e-02L;
00373             _points[ 6](0)=2.8067179006017169910681926203455e-01L;      _weights[ 6]=5.3445287802814027020361560753181e-02L;
00374             _points[ 7](0)=3.5762864997663462939832714298390e-01L;      _weights[ 7]=5.0916928856374093181562996165432e-02L;
00375             _points[ 8](0)=4.3847844922413811765185426038741e-01L;      _weights[ 8]=4.6082400990241280762086995392822e-02L;
00376             _points[ 9](0)=5.2101582087077614731981479158547e-01L;      _weights[ 9]=3.9579162288607878726422969126448e-02L;
00377             _points[10](0)=6.0298936055983207213748070418747e-01L;      _weights[10]=3.2134806127628549240737903166505e-02L;
00378             _points[11](0)=6.8216303911365156501882207998153e-01L;      _weights[11]=2.4487590001291716597869859208141e-02L;
00379             _points[12](0)=7.5637719340615062679816733590978e-01L;      _weights[12]=1.7308300480899289815470186505791e-02L;
00380             _points[13](0)=8.2360742977486956587394885462062e-01L;      _weights[13]=1.1131870097409362452892993478578e-02L;
00381             _points[14](0)=8.8201982536207914673124120886230e-01L;      _weights[14]=6.3060388823805337332782426625400e-03L;
00382             _points[15](0)=9.3002088969969321648195850472769e-01L;      _weights[15]=2.9624430644328375036535062298419e-03L;
00383             _points[16](0)=9.6630075194563254241150674649068e-01L;      _weights[16]=1.0130251793010471252471709101709e-03L;
00384             _points[17](0)=9.8986684820259713441676302277596e-01L;      _weights[17]=1.7186908409819589231237151109171e-04L;
00385 
00386             return;
00387           }
00388 
00389         case THIRTYSIXTH:
00390         case THIRTYSEVENTH:
00391           {
00392             _points.resize (19);
00393             _weights.resize(19);
00394 
00395             _points[ 0](0)=3.6116428185568930344532101262520e-03L;      _weights[ 0]=9.2240377250330766917668248692203e-03L;
00396             _points[ 1](0)=1.8931837031588217250264524316949e-02L;      _weights[ 1]=2.0924651751979890481445228332988e-02L;
00397             _points[ 2](0)=4.6097933048431083573924770835459e-02L;      _weights[ 2]=3.1376275285732898854356814457609e-02L;
00398             _points[ 3](0)=8.4447222784209820599847900451170e-02L;      _weights[ 3]=3.9962370048991741940293076442317e-02L;
00399             _points[ 4](0)=1.3303618855809877542408742397522e-01L;      _weights[ 4]=4.6234928168578411765380785132191e-02L;
00400             _points[ 5](0)=1.9066859490476335108747466488719e-01L;      _weights[ 5]=4.9934138240419379553284105838773e-02L;
00401             _points[ 6](0)=2.5592540348210296025204739729528e-01L;      _weights[ 6]=5.1004186626719396295755229568486e-02L;
00402             _points[ 7](0)=3.2719980076381171572842996527566e-01L;      _weights[ 7]=4.9591046468706580141316052533532e-02L;
00403             _points[ 8](0)=4.0273678616507709512304701110488e-01L;      _weights[ 8]=4.6021985716138412908362881060678e-02L;
00404             _points[ 9](0)=4.8067639357855190263322135248271e-01L;      _weights[ 9]=4.0768870871836685572301729841664e-02L;
00405             _points[10](0)=5.5909949264903198784692797587908e-01L;      _weights[10]=3.4398957951907391429559705435925e-02L;
00406             _points[11](0)=6.3607504487927089469109105709816e-01L;      _weights[11]=2.7518058144347978141481142479516e-02L;
00407             _points[12](0)=7.0970765165390239884374678311164e-01L;      _weights[12]=2.0711672562757804879837159838775e-02L;
00408             _points[13](0)=7.7818422297676161420929964704208e-01L;      _weights[13]=1.4489847112109724657001233005036e-02L;
00409             _points[14](0)=8.3981861570871107783863629442929e-01L;      _weights[14]=9.2410919293165977626976877702861e-03L;
00410             _points[15](0)=8.9309313498184497075098115456491e-01L;      _weights[15]=5.1997813282783796868055465441831e-03L;
00411             _points[16](0)=9.3669584807436508054390550208195e-01L;      _weights[16]=2.4300917120432807075681660438661e-03L;
00412             _points[17](0)=9.6955263708022088547192878623227e-01L;      _weights[17]=8.2788076092398219334600301771448e-04L;
00413             _points[18](0)=9.9085180527095568535309483522012e-01L;      _weights[18]=1.4012759417838633744062778723898e-04L;
00414 
00415             return;
00416           }
00417 
00418         case THIRTYEIGHTH:
00419         case THIRTYNINTH:
00420           {
00421             _points.resize (20);
00422             _weights.resize(20);
00423 
00424             _points[ 0](0)=3.2761066690500989752646761128711e-03L;      _weights[ 0]=8.3708441762725569742347797346057e-03L;
00425             _points[ 1](0)=1.7181218145255713738247704631582e-02L;      _weights[ 1]=1.9034969463701666952317752319364e-02L;
00426             _points[ 2](0)=4.1871431117765195244234634143709e-02L;      _weights[ 2]=2.8668237379130596303519483134423e-02L;
00427             _points[ 3](0)=7.6800837089621970481870523019947e-02L;      _weights[ 3]=3.6750239836647855880170014918540e-02L;
00428             _points[ 4](0)=1.2118986732367606561768615229454e-01L;      _weights[ 4]=4.2890295837978204214146023790200e-02L;
00429             _points[ 5](0)=1.7404711263554216522415793419966e-01L;      _weights[ 5]=4.6841691862557827847492882468251e-02L;
00430             _points[ 6](0)=2.3419188631359219089445571283230e-01L;      _weights[ 6]=4.8516105059854090810181874268668e-02L;
00431             _points[ 7](0)=3.0028067683595016436625841871717e-01L;      _weights[ 7]=4.7985461609943912515256158210751e-02L;
00432             _points[ 8](0)=3.7083718058439689644532207953771e-01L;      _weights[ 8]=4.5470588941353475125260875269943e-02L;
00433             _points[ 9](0)=4.4428528696301116212882391783598e-01L;      _weights[ 9]=4.1317706816665737825832945172262e-02L;
00434             _points[10](0)=5.1898428870357372961841176083024e-01L;      _weights[10]=3.5964919153862747854063187859799e-02L;
00435             _points[11](0)=5.9326553348350648796739308654437e-01L;      _weights[11]=2.9901741842629013049082489189589e-02L;
00436             _points[12](0)=6.6546969890551364795372958813385e-01L;      _weights[12]=2.3625296173548892813066360441583e-02L;
00437             _points[13](0)=7.3398385823565944973202719329584e-01L;      _weights[13]=1.7597066879206016267686128655074e-02L;
00438             _points[14](0)=7.9727750833659468770218885137527e-01L;      _weights[14]=1.2204046126680104278798703245791e-02L;
00439             _points[15](0)=8.5393675303589045708900439161802e-01L;      _weights[15]=7.7276679300514628735780671415898e-03L;
00440             _points[16](0)=9.0269587179345369227634694169967e-01L;      _weights[16]=4.3232191126901531337390520742896e-03L;
00441             _points[17](0)=9.4246554236318633869089187742766e-01L;      _weights[17]=2.0114576139640780069071394684122e-03L;
00442             _points[18](0)=9.7235694664743691118470187166465e-01L;      _weights[18]=6.8306227608592198451771987553801e-04L;
00443             _points[19](0)=9.9169995579293273076654365969470e-01L;      _weights[19]=1.1538190717568529014836276132844e-04L;
00444 
00445             return;
00446           }
00447 
00448         case FORTIETH:
00449         case FORTYFIRST:
00450           {
00451             _points.resize (21);
00452             _weights.resize(21);
00453 
00454             _points[ 0](0)=2.9852372832130627418887840757498e-03L;      _weights[ 0]=7.6306059065231890951709176867159e-03L;
00455             _points[ 1](0)=1.5662280557573547332895610655678e-02L;      _weights[ 1]=1.7387926076195012545310092581185e-02L;
00456             _points[ 2](0)=3.8198288245073553344832819395658e-02L;      _weights[ 2]=2.6287260083203306468723755830943e-02L;
00457             _points[ 3](0)=7.0139619062325798139842656763758e-02L;      _weights[ 3]=3.3886790344403175515158905218748e-02L;
00458             _points[ 4](0)=1.1083667332036350223762530758616e-01L;      _weights[ 4]=3.9845977571398966444570950002831e-02L;
00459             _points[ 5](0)=1.5946112944406525026381380836555e-01L;      _weights[ 5]=4.3935570635150377464859835729052e-02L;
00460             _points[ 6](0)=2.1502318535802028508091216764592e-01L;      _weights[ 6]=4.6050270723257502074077985626262e-02L;
00461             _points[ 7](0)=2.7639177909378317240968620976306e-01L;      _weights[ 7]=4.6212552611022412660350368837561e-02L;
00462             _points[ 8](0)=3.4231763295873079372348132371246e-01L;      _weights[ 8]=4.4566874686154606866984823191992e-02L;
00463             _points[ 9](0)=4.1145869156190519892697533612651e-01L;      _weights[ 9]=4.1364760396997617354403702904192e-02L;
00464             _points[10](0)=4.8240744461243888053531852185958e-01L;      _weights[10]=3.6942012648499385551903205764287e-02L;
00465             _points[11](0)=5.5371958072829359140036561243486e-01L;      _weights[11]=3.1689953050127340376763333466278e-02L;
00466             _points[12](0)=6.2394338972128194749630581474409e-01L;      _weights[12]=2.6023046795895555117823162899995e-02L;
00467             _points[13](0)=6.9164931501296225721944667896925e-01L;      _weights[13]=2.0345549389821508292035088652126e-02L;
00468             _points[14](0)=7.5545905444968698626584997281486e-01L;      _weights[14]=1.5019872613192784763520392446339e-02L;
00469             _points[15](0)=8.1407361651269741678894410957934e-01L;      _weights[15]=1.0339209757970312663832726410241e-02L;
00470             _points[16](0)=8.6629975897095659707636330435792e-01L;      _weights[16]=6.5065974236456053354067512991831e-03L;
00471             _points[17](0)=9.1107426580261577477966643276619e-01L;      _weights[17]=3.6220528697449398652362737797211e-03L;
00472             _points[18](0)=9.4748554440639734668609897166113e-01L;      _weights[18]=1.6787560215669155362763365937815e-03L;
00473             _points[19](0)=9.7479197566036565307915209128675e-01L;      _weights[19]=5.6849852669976417861179123569953e-04L;
00474             _points[20](0)=9.9243549072562147749379027938900e-01L;      _weights[20]=9.5861868529721828979599842865244e-05L;
00475 
00476             return;
00477           }
00478 
00479         case FORTYSECOND:
00480         case FORTYTHIRD:
00481           {
00482             _points.resize (22);
00483             _weights.resize(22);
00484 
00485             _points[ 0](0)=2.7314460088842296840089704503200e-03L;      _weights[ 0]=6.9842561136978136538216549700282e-03L;
00486             _points[ 1](0)=1.4335933483699706185308039285053e-02L;      _weights[ 1]=1.5944053454778496864565929126309e-02L;
00487             _points[ 2](0)=3.4986328351216449387218814071085e-02L;      _weights[ 2]=2.4184236671890499758870393233781e-02L;
00488             _points[ 3](0)=6.4302641132158882531275071395686e-02L;      _weights[ 3]=3.1327596999375227892408958559682e-02L;
00489             _points[ 4](0)=1.0173934345216392401258226593794e-01L;      _weights[ 4]=3.7077054093202864483217335909271e-02L;
00490             _points[ 5](0)=1.4659920015766541692656584266952e-01L;      _weights[ 5]=4.1222404906411452577079119693783e-02L;
00491             _points[ 6](0)=1.9804660411818261484660504028001e-01L;      _weights[ 6]=4.3651203786303462995293138094828e-02L;
00492             _points[ 7](0)=2.5512320697168696957682873507625e-01L;      _weights[ 7]=4.4353370900419806188626977124445e-02L;
00493             _points[ 8](0)=3.1676578871044727183421117602379e-01L;      _weights[ 8]=4.3418750145417827908334525766667e-02L;
00494             _points[ 9](0)=3.8182606925675020305095127628112e-01L;      _weights[ 9]=4.1027795781940901638265438618895e-02L;
00495             _points[10](0)=4.4909210098681733251387195042393e-01L;      _weights[10]=3.7436116466930019239662981188891e-02L;
00496             _points[11](0)=5.1731084595099112005136286684174e-01L;      _weights[11]=3.2954058785385534039887856528676e-02L;
00497             _points[12](0)=5.8521151795129912975524533467408e-01L;      _weights[12]=2.7922870823442631249079662456458e-02L;
00498             _points[13](0)=6.5152925489581447403580682231185e-01L;      _weights[13]=2.2689228598160995380212860776143e-02L;
00499             _points[14](0)=7.1502868047476240261215783933800e-01L;      _weights[14]=1.7580017560152292742735027157072e-02L;
00500             _points[15](0)=7.7452691606482263532020273841099e-01L;      _weights[15]=1.2879230281365339696348205046681e-02L;
00501             _points[16](0)=8.2891561362172651235400549854277e-01L;      _weights[16]=8.8086724401109070881737532508054e-03L;
00502             _points[17](0)=8.7718159746542002099358323827803e-01L;      _weights[17]=5.5138751021276410109163746634529e-03L;
00503             _points[18](0)=9.1842572498984926327926994425432e-01L;      _weights[18]=3.0562141131504037344643025112362e-03L;
00504             _points[19](0)=9.5187959322971991452332541323047e-01L;      _weights[19]=1.4117668531394242829582650189559e-03L;
00505             _points[20](0)=9.7691966323712886717816657113704e-01L;      _weights[20]=4.7692790565900675904839748933142e-04L;
00506             _points[21](0)=9.9307748504434821490300210664154e-01L;      _weights[21]=8.0298216937450816028842814607537e-05L;
00507 
00508             return;
00509           }
00510 
00511         default:
00512           {
00513             libMesh::err << "Quadrature rule " << _order
00514                           << " not supported!" << std::endl;
00515 
00516             libmesh_error();
00517           }
00518         } // end switch(_order + 2*p)
00519 
00520       libmesh_error();
00521     } // end if ((_alpha == 1) && (_beta == 0))
00522 
00523 
00524 
00525   else if ((_alpha == 2) && (_beta == 0))
00526     {
00527 
00528       switch(_order + 2*p)
00529         {
00530         case CONSTANT:
00531         case FIRST:
00532           {
00533             _points.resize (1);
00534             _weights.resize(1);
00535 
00536             _points[0](0)  = 0.25;
00537 
00538             _weights[0]    = 1./3.;
00539 
00540             return;
00541           }
00542         case SECOND:
00543         case THIRD:
00544           {
00545             _points.resize (2);
00546             _weights.resize(2);
00547 
00548             _points[ 0](0)=1.2251482265544137786674043037115e-01L;      _weights[ 0]=2.3254745125350790274997694884235e-01L;
00549             _points[ 1](0)=5.4415184401122528879992623629551e-01L;      _weights[ 1]=1.0078588207982543058335638449099e-01L;
00550 
00551             return;
00552           }
00553         case FOURTH:
00554         case FIFTH:
00555           {
00556             _points.resize (3);
00557             _weights.resize(3);
00558 
00559             _points[ 0](0)=7.2994024073149732155837979012003e-02L;      _weights[ 0]=1.5713636106488661331834482221327e-01L;
00560             _points[ 1](0)=3.4700376603835188472176354340395e-01L;      _weights[ 1]=1.4624626925986602200351202036424e-01L;
00561             _points[ 2](0)=7.0500220988849838312239847758405e-01L;      _weights[ 2]=2.9950703008580698011476490755827e-02L;
00562 
00563             return;
00564           }
00565         case SIXTH:
00566         case SEVENTH:
00567           {
00568             _points.resize (4);
00569             _weights.resize(4);
00570 
00571             _points[ 0](0)=4.8500549446997329297067257098986e-02L;      _weights[ 0]=1.1088841561127798368323131746895e-01L;
00572             _points[ 1](0)=2.3860073755186230505898141272470e-01L;      _weights[ 1]=1.4345878979921420904832801427594e-01L;
00573             _points[ 2](0)=5.1704729510436750234057336938307e-01L;      _weights[ 2]=6.8633887172923075317376345041811e-02L;
00574             _points[ 3](0)=7.9585141789677286330337796079324e-01L;      _weights[ 3]=1.0352240749918065284397656546639e-02L;
00575 
00576             return;
00577           }
00578         case EIGHTH:
00579         case NINTH:
00580           {
00581             _points.resize (5);
00582             _weights.resize(5);
00583 
00584             _points[ 0](0)=3.4578939918215091524457428631527e-02L;      _weights[ 0]=8.1764784285770917904880732922352e-02L;
00585             _points[ 1](0)=1.7348032077169572310459241798618e-01L;      _weights[ 1]=1.2619896189991148802883293516467e-01L;
00586             _points[ 2](0)=3.8988638706551932824089541038499e-01L;      _weights[ 2]=8.9200161221590000186254493070384e-02L;
00587             _points[ 3](0)=6.3433347263088677234716388892062e-01L;      _weights[ 3]=3.2055600722961919254748930556633e-02L;
00588             _points[ 4](0)=8.5105421294701641811622418741001e-01L;      _weights[ 4]=4.1138252030990079586162416192983e-03L;
00589 
00590             return;
00591           }
00592         case TENTH:
00593         case ELEVENTH:
00594           {
00595 
00596             _points.resize (6);
00597             _weights.resize(6);
00598 
00599             _points[ 0](0)=2.5904555093667192754643606997235e-02L;      _weights[ 0]=6.2538702726580937878526556468332e-02L;
00600             _points[ 1](0)=1.3156394165798513398691085074097e-01L;      _weights[ 1]=1.0737649973678063260575568234795e-01L;
00601             _points[ 2](0)=3.0243691802289123274990557791855e-01L;      _weights[ 2]=9.4577186748541203568292051720052e-02L;
00602             _points[ 3](0)=5.0903641316475208401103990516772e-01L;      _weights[ 3]=5.1289571129616210220129325076919e-02L;
00603             _points[ 4](0)=7.1568112731171391876766262459361e-01L;      _weights[ 4]=1.5720297184945051327851262130020e-02L;
00604             _points[ 5](0)=8.8680561617756186630126600601049e-01L;      _weights[ 5]=1.8310758068692977327784555900562e-03L;
00605 
00606             return;
00607           }
00608         case TWELFTH:
00609         case THIRTEENTH:
00610           {
00611             _points.resize (7);
00612             _weights.resize(7);
00613 
00614             _points[ 0](0)=2.0132773773400507230501687117472e-02L;      _weights[ 0]=4.9276501776438120823429129084905e-02L;
00615             _points[ 1](0)=1.0308902914804901475222678600595e-01L;      _weights[ 1]=9.0698824612686144536967479972374e-02L;
00616             _points[ 2](0)=2.4055412604805753665369914150100e-01L;      _weights[ 2]=9.1733803279795254111416595896867e-02L;
00617             _points[ 3](0)=4.1400214459705974641828724885057e-01L;      _weights[ 3]=6.3146378708891297709533940481199e-02L;
00618             _points[ 4](0)=6.0002151327899293019396877288994e-01L;      _weights[ 4]=2.9422211289528614840745351985011e-02L;
00619             _points[ 5](0)=7.7351724659143750111199899642603e-01L;      _weights[ 5]=8.1629256323046945072318090687213e-03L;
00620             _points[ 6](0)=9.1118316656300276363931736720905e-01L;      _weights[ 6]=8.9268803368920680400902684425561e-04L;
00621 
00622             return;
00623           }
00624         case FOURTEENTH:
00625         case FIFTEENTH:
00626           {
00627             _points.resize (8);
00628             _weights.resize(8);
00629 
00630             _points[ 0](0)=1.6097759551921033532013550096618e-02L;      _weights[ 0]=3.9778957806690559830106455926398e-02L;
00631             _points[ 1](0)=8.2900617485651102700366353380388e-02L;      _weights[ 1]=7.6818093267222624804506735068290e-02L;
00632             _points[ 2](0)=1.9547516848873991732426660953061e-01L;      _weights[ 2]=8.5284769171938765209441226265186e-02L;
00633             _points[ 3](0)=3.4165199147720222027296226216240e-01L;      _weights[ 3]=6.8447183421653272247027200610852e-02L;
00634             _points[ 4](0)=5.0559707818448917194006186500608e-01L;      _weights[ 4]=4.0814426388544023186461596152148e-02L;
00635             _points[ 5](0)=6.6955227182436145183011451055437e-01L;      _weights[ 5]=1.7246863780234982804243655774862e-02L;
00636             _points[ 6](0)=8.1577170358328376075475178697587e-01L;      _weights[ 6]=4.4745217130144079957565210032836e-03L;
00637             _points[ 7](0)=9.2850896495990689720101861784923e-01L;      _weights[ 7]=4.6851778403469725578994253231334e-04L;
00638 
00639             return;
00640           }
00641         case SIXTEENTH:
00642         case SEVENTEENTH:
00643           {
00644             _points.resize (9);
00645             _weights.resize(9);
00646 
00647             _points[ 0](0)=1.3165885597114490545190537817972e-02L;      _weights[ 0]=3.2760145111039721461819540084274e-02L;
00648             _points[ 1](0)=6.8084529593767587476505856986822e-02L;      _weights[ 1]=6.5489537033396631781939107203912e-02L;
00649             _points[ 2](0)=1.6175951676407464206981091232919e-01L;      _weights[ 2]=7.7673569160555504078595170478444e-02L;
00650             _points[ 3](0)=2.8589108833922039772798956691264e-01L;      _weights[ 3]=6.9284395689804709215727785348892e-02L;
00651             _points[ 4](0)=4.2945364538781279250924800228659e-01L;      _weights[ 4]=4.8540627864506507959528062424865e-02L;
00652             _points[ 5](0)=5.7969405635116312626577241331199e-01L;      _weights[ 5]=2.6343280902549835737974696002673e-02L;
00653             _points[ 6](0)=7.2326857174033543181796015820021e-01L;      _weights[ 6]=1.0406116579352237052426337235938e-02L;
00654             _points[ 7](0)=8.4743684201323732017318042501962e-01L;      _weights[ 7]=2.5743986456087231023317159056037e-03L;
00655             _points[ 8](0)=9.4124586421327421141434212713498e-01L;      _weights[ 8]=2.6126234651946294299091864873302e-04L;
00656 
00657             return;
00658           }
00659         case EIGHTTEENTH:
00660         case NINTEENTH:
00661           {
00662             _points.resize (10);
00663             _weights.resize(10);
00664 
00665             _points[ 0](0)=1.0968452456174134250281032990432e-02L;      _weights[ 0]=2.7434088710097496960451648584485e-02L;
00666             _points[ 1](0)=5.6898150533657920711434859379121e-02L;      _weights[ 1]=5.6272936402808126282415832152709e-02L;
00667             _points[ 2](0)=1.3595023405022895426576342938519e-01L;      _weights[ 2]=7.0069507708666334086372455308183e-02L;
00668             _points[ 3](0)=2.4228119613252356111139455536509e-01L;      _weights[ 3]=6.7452219381437824970525794313691e-02L;
00669             _points[ 4](0)=3.6800785044933771760476956625017e-01L;      _weights[ 4]=5.2883788766964158209884838942421e-02L;
00670             _points[ 5](0)=5.0380712641487390700553064205723e-01L;      _weights[ 5]=3.3854565016814116044101071309373e-02L;
00671             _points[ 6](0)=6.3960948865470970932853650616696e-01L;      _weights[ 6]=1.7197575046553008079137502323978e-02L;
00672             _points[ 7](0)=7.6534767954810789620953312724460e-01L;      _weights[ 7]=6.4698890685585292297306065609276e-03L;
00673             _points[ 8](0)=8.7171007457440848761186134200542e-01L;      _weights[ 8]=1.5455231947365786285853268147186e-03L;
00674             _points[ 9](0)=9.5087429264052316644634948461033e-01L;      _weights[ 9]=1.5324003669716084212825702284675e-04L;
00675 
00676             return;
00677           }
00678         case TWENTIETH:
00679         case TWENTYFIRST:
00680           {
00681             _points.resize (11);
00682             _weights.resize(11);
00683 
00684             _points[ 0](0)=9.2789738313488342029466103013448e-03L;      _weights[ 0]=2.3300850051388377415061404350855e-02L;
00685             _points[ 1](0)=4.8249692094286258286483723731132e-02L;      _weights[ 1]=4.8745861030664491864450329028080e-02L;
00686             _points[ 2](0)=1.1578862662939522596030591825565e-01L;      _weights[ 2]=6.2979543000367394338333998811129e-02L;
00687             _points[ 3](0)=2.0766834159705988244389542530053e-01L;      _weights[ 3]=6.4183559349755944992539371306173e-02L;
00688             _points[ 4](0)=3.1811795190623396637744646657914e-01L;      _weights[ 4]=5.4632222321044926070678715192708e-02L;
00689             _points[ 5](0)=4.4019839985886246708268132217632e-01L;      _weights[ 5]=3.9290217798435612246535835921329e-02L;
00690             _points[ 6](0)=5.6623983915456831356751247193488e-01L;      _weights[ 6]=2.3589663538806928649316661943808e-02L;
00691             _points[ 7](0)=6.8832423986295668569553397580809e-01L;      _weights[ 7]=1.1414590918097618249921262806781e-02L;
00692             _points[ 8](0)=7.9878435859091464197460872800735e-01L;      _weights[ 8]=4.1400042632190223547676874553245e-03L;
00693             _points[ 9](0)=8.9069109935439218915081289990608e-01L;      _weights[ 9]=9.6302057554323908320037373956771e-04L;
00694             _points[10](0)=9.5832514378664820192443912466615e-01L;      _weights[10]=9.3800486009778068527692777578977e-05L;
00695 
00696             return;
00697           }
00698         case TWENTYSECOND:
00699         case TWENTYTHIRD:
00700           {
00701             _points.resize (12);
00702             _weights.resize(12);
00703 
00704             _points[ 0](0)=7.9520457026384368762190933400404e-03L;      _weights[ 0]=2.0031112584748752943807724216722e-02L;
00705             _points[ 1](0)=4.1427810454294590790770165194795e-02L;      _weights[ 1]=4.2556615367405637772968490900760e-02L;
00706             _points[ 2](0)=9.9757625542614157066081703480300e-02L;      _weights[ 2]=5.6584184749474069646478036154467e-02L;
00707             _points[ 3](0)=1.7981078905242324954164334430721e-01L;      _weights[ 3]=6.0250607487604518170935343500906e-02L;
00708             _points[ 4](0)=2.7727345779931511981753891831052e-01L;      _weights[ 4]=5.4573941164231582825558709780290e-02L;
00709             _points[ 5](0)=3.8689200999768979166563470380544e-01L;      _weights[ 5]=4.2764763570188902317265936785879e-02L;
00710             _points[ 6](0)=5.0275736044903220327930927843912e-01L;      _weights[ 6]=2.8908051838727360494403492180206e-02L;
00711             _points[ 7](0)=6.1862386345845604629354886189114e-01L;      _weights[ 7]=1.6547343644609412101387213540038e-02L;
00712             _points[ 8](0)=7.2824645295307268642888033006114e-01L;      _weights[ 8]=7.7163670238864266187877366246530e-03L;
00713             _points[ 9](0)=8.2571851421478690176408336295370e-01L;      _weights[ 9]=2.7208421441038393545415361663513e-03L;
00714             _points[10](0)=9.0579507354454372680179647039974e-01L;      _weights[10]=6.1995339854451942336673117135933e-04L;
00715             _points[11](0)=9.6420653529267155121295530627839e-01L;      _weights[11]=5.9550359808311663832382311702501e-05L;
00716 
00717             return;
00718           }
00719 
00720         case TWENTYFOURTH:
00721         case TWENTYFIFTH:
00722           {
00723             _points.resize (13);
00724             _weights.resize(13);
00725 
00726             _points[ 0](0)=6.8908313099587313966815341534070e-03L;      _weights[ 0]=1.7401228610061845488081141733526e-02L;
00727             _points[ 1](0)=3.5953362700170095501132811969521e-02L;      _weights[ 1]=3.7426708168844039953666298186474e-02L;
00728             _points[ 2](0)=8.6811780157585433284280307690601e-02L;      _weights[ 2]=5.0909830712695019092906847187640e-02L;
00729             _points[ 3](0)=1.5709997419650927473052206555148e-01L;      _weights[ 3]=5.6111537130827396185039872203667e-02L;
00730             _points[ 4](0)=2.4353289958712844441903410356775e-01L;      _weights[ 4]=5.3340021605871745725401666422880e-02L;
00731             _points[ 5](0)=3.4206951264607532347450799656627e-01L;      _weights[ 5]=4.4624600755614954430566337477243e-02L;
00732             _points[ 6](0)=4.4810263890570985362873430879398e-01L;      _weights[ 6]=3.2940451678432790083648445397381e-02L;
00733             _points[ 7](0)=5.5667462262945501069694664236208e-01L;      _weights[ 7]=2.1254996714756613031113108888658e-02L;
00734             _points[ 8](0)=6.6270931356038854232146315212326e-01L;      _weights[ 8]=1.1728259593101880662970381149369e-02L;
00735             _points[ 9](0)=7.6124976630827697227665952639343e-01L;      _weights[ 9]=5.3135693388326384480559144318474e-03L;
00736             _points[10](0)=8.4769104394723239091031404895142e-01L;      _weights[10]=1.8323911392393785873485644191745e-03L;
00737             _points[11](0)=9.1799964553720667953362597028835e-01L;      _weights[11]=4.1072089179088541678428389490865e-04L;
00738             _points[12](0)=9.6892889422858896211181181730274e-01L;      _weights[12]=3.9016993264146227750471940564101e-05L;
00739 
00740             return;
00741           }
00742 
00743         case TWENTYSIXTH:
00744         case TWENTYSEVENTH:
00745           {
00746             _points.resize (14);
00747             _weights.resize(14);
00748 
00749             _points[ 0](0)=6.0288088710666481700887477121600e-03L;      _weights[ 0]=1.5255206119448295373511341972378e-02L;
00750             _points[ 1](0)=3.1494259818657590707306712766317e-02L;      _weights[ 1]=3.3139595469960559875930225836517e-02L;
00751             _points[ 2](0)=7.6213622474853867586406786340023e-02L;      _weights[ 2]=4.5914772114671178911403799944693e-02L;
00752             _points[ 3](0)=1.3836652595947406914513833295825e-01L;      _weights[ 3]=5.2025865410701701832827358849471e-02L;
00753             _points[ 4](0)=2.1540975706889557490069553208515e-01L;      _weights[ 4]=5.1389924039471503273808065266413e-02L;
00754             _points[ 5](0)=3.0418952814165630963236635490440e-01L;      _weights[ 5]=4.5253432254460881465122373566022e-02L;
00755             _points[ 6](0)=4.0107137869715435758118603205199e-01L;      _weights[ 6]=3.5739010292514612984162525810346e-02L;
00756             _points[ 7](0)=5.0208913974997841006932539804960e-01L;      _weights[ 7]=2.5216183536839055034306220202219e-02L;
00757             _points[ 8](0)=6.0310739672759678368189556654036e-01L;      _weights[ 8]=1.5694332285072957184930434798487e-02L;
00758             _points[ 9](0)=6.9999091716990649741073666393849e-01L;      _weights[ 9]=8.4129767371364622096077152778570e-03L;
00759             _points[10](0)=7.8877423843456071534030488559891e-01L;      _weights[10]=3.7248756752828588215538124784652e-03L;
00760             _points[11](0)=8.6582490073159695367114083518102e-01L;      _weights[11]=1.2617838951574880413283334197260e-03L;
00761             _points[12](0)=9.2799573874675232498377812203940e-01L;      _weights[12]=2.7909934094687847008945560658272e-04L;
00762             _points[13](0)=9.7277712074118323045296336316727e-01L;      _weights[13]=2.6276161668899854751670304157309e-05L;
00763 
00764             return;
00765           }
00766 
00767         case TWENTYEIGHTH:
00768         case TWENTYNINTH:
00769           {
00770             _points.resize (15);
00771             _weights.resize(15);
00772 
00773             _points[ 0](0)=5.3190520028437405909978402739774e-03L;      _weights[ 0]=1.3481662725134304090265733542410e-02L;
00774             _points[ 1](0)=2.7814561918260051571980709238074e-02L;      _weights[ 1]=2.9527650756798205089388266870014e-02L;
00775             _points[ 2](0)=6.7431865838998613384568577571818e-02L;      _weights[ 2]=4.1531307651604265373799456795289e-02L;
00776             _points[ 3](0)=1.2274828621549783933958732401303e-01L;      _weights[ 3]=4.8132057668529815888404876719886e-02L;
00777             _points[ 4](0)=1.9176570627765362550282684505042e-01L;      _weights[ 4]=4.9041267894409180565196427508457e-02L;
00778             _points[ 5](0)=2.7198996592948620305633800793026e-01L;      _weights[ 5]=4.4991555820615933365730152800755e-02L;
00779             _points[ 6](0)=3.6052169358705764815778444077840e-01L;      _weights[ 6]=3.7473875792101303095319296790068e-02L;
00780             _points[ 7](0)=4.5416123575447709916009624996188e-01L;      _weights[ 7]=2.8326553174241247644068974123766e-02L;
00781             _points[ 8](0)=5.4952435559355131365468962196031e-01L;      _weights[ 8]=1.9293416585274520485988288429744e-02L;
00782             _points[ 9](0)=6.4316460176878493853949400884187e-01L;      _weights[ 9]=1.1668582484776638563534331197891e-02L;
00783             _points[10](0)=7.3169797305252320629933948467521e-01L;      _weights[10]=6.1110501102060490412153142922240e-03L;
00784             _points[11](0)=8.1192547727500966668969312120195e-01L;      _weights[11]=2.6556629857743191811282114211333e-03L;
00785             _points[12](0)=8.8094952871531360238808055493652e-01L;      _weights[12]=8.8657363523409667398227745346013e-04L;
00786             _points[13](0)=9.3628182173551874210251937228715e-01L;      _weights[13]=1.9398726306394554934013378631178e-04L;
00787             _points[14](0)=9.7595387433502370956200384127912e-01L;      _weights[14]=1.8128785569508725971591601924058e-05L;
00788 
00789             return;
00790           }
00791 
00792 
00793         case THIRTIETH:
00794         case THIRTYFIRST:
00795           {
00796             _points.resize (16);
00797             _weights.resize(16);
00798 
00799             _points[ 0](0)=4.7276871229345922061506104450645e-03L;      _weights[ 0]=1.1999405624691969586506695404143e-02L;
00800             _points[ 1](0)=2.4742967619434984512603456269536e-02L;      _weights[ 1]=2.6460842517339527040437264564557e-02L;
00801             _points[ 2](0)=6.0076437716637992275242255328112e-02L;      _weights[ 2]=3.7685824681918572833315081444311e-02L;
00802             _points[ 3](0)=1.0960060925877060286789758461950e-01L;      _weights[ 3]=4.4496573472543214976151049587710e-02L;
00803             _points[ 4](0)=1.7172475948300210790307417791270e-01L;      _weights[ 4]=4.6506239397362658797012521100333e-02L;
00804             _points[ 5](0)=2.4445243174451137730207656160275e-01L;      _weights[ 5]=4.4112657675899371113911374089320e-02L;
00805             _points[ 6](0)=3.2544621002412961482683685190181e-01L;      _weights[ 6]=3.8348046951185955673582690910292e-02L;
00806             _points[ 7](0)=4.1210296411685959691728421362251e-01L;      _weights[ 7]=3.0612037917837609541948834407964e-02L;
00807             _points[ 8](0)=5.0163755615318759370013043235084e-01L;      _weights[ 8]=2.2357185649529930223334734263644e-02L;
00808             _points[ 9](0)=5.9117238531650308897076051877634e-01L;      _weights[ 9]=1.4803776657751738340239250997704e-02L;
00809             _points[10](0)=6.7782991741456081130251277264148e-01L;      _weights[10]=8.7475454956120699745801506391282e-03L;
00810             _points[11](0)=7.5882525794914141335427940535114e-01L;      _weights[11]=4.4948488514798588832066397608164e-03L;
00811             _points[12](0)=8.3155588302646195188920635482406e-01L;      _weights[12]=1.9235319260667742273824398535627e-03L;
00812             _points[13](0)=8.9368597454880401881486969876816e-01L;      _weights[13]=6.3445999956883686801084896849641e-04L;
00813             _points[14](0)=9.4322428571224559352545066239296e-01L;      _weights[14]=1.3757810397555175246959527906570e-04L;
00814             _points[15](0)=9.7860643749869701257280091378128e-01L;      _weights[15]=1.2778410569693501244162062287056e-05L;
00815 
00816             return;
00817           }
00818 
00819 
00820         case THIRTYSECOND:
00821         case THIRTYTHIRD:
00822           {
00823             _points.resize (17);
00824             _weights.resize(17);
00825 
00826             _points[ 0](0)=4.2297654864907678749919877813007e-03L;      _weights[ 0]=1.0748151030768621662834062204936e-02L;
00827             _points[ 1](0)=2.2152705311830232294209002101573e-02L;      _weights[ 1]=2.3837762018703244620506074665265e-02L;
00828             _points[ 2](0)=5.3856014827184829566760322013645e-02L;      _weights[ 2]=3.4307889795671880028436869439002e-02L;
00829             _points[ 3](0)=9.8434936830541362494246924237098e-02L;      _weights[ 3]=4.1143975847068207121110777965721e-02L;
00830             _points[ 4](0)=1.5460792826588562987838903880788e-01L;      _weights[ 4]=4.3922618772592577808611328095136e-02L;
00831             _points[ 5](0)=2.2075922519215138391363787768336e-01L;      _weights[ 5]=4.2825403927934553301439133345126e-02L;
00832             _points[ 6](0)=2.9498586629802348865100598497056e-01L;      _weights[ 6]=3.8555241947102353628223582107170e-02L;
00833             _points[ 7](0)=3.7515254164081788200834771392226e-01L;      _weights[ 7]=3.2163570112378639217164962127759e-02L;
00834             _points[ 8](0)=4.5895305335301908085933451474375e-01L;      _weights[ 8]=2.4829256111976082802381065145755e-02L;
00835             _points[ 9](0)=5.4397667809047570974515217435547e-01L;      _weights[ 9]=1.7638789331050110518481458865839e-02L;
00836             _points[10](0)=6.2777753854681427256560538094776e-01L;      _weights[10]=1.1413642238636687747573403275566e-02L;
00837             _points[11](0)=7.0794500138508556794362242607309e-01L;      _weights[11]=6.6164197603617147286557116199452e-03L;
00838             _points[12](0)=7.8217310308122112810113854015572e-01L;      _weights[12]=3.3465172918198153715474254116460e-03L;
00839             _points[13](0)=8.4832708570995060757906353137179e-01L;      _weights[13]=1.4138837589561322316624033902623e-03L;
00840             _points[14](0)=9.0450542331432870037906100932836e-01L;      _weights[14]=4.6167405877711308077043506706165e-04L;
00841             _points[15](0)=9.4909701659654457024654762835657e-01L;      _weights[15]=9.9356525335473959962406835119113e-05L;
00842             _points[16](0)=9.8084389384741256367666372092760e-01L;      _weights[16]=9.1808042001255039722337720228143e-06L;
00843 
00844             return;
00845           }
00846 
00847         case THIRTYFOURTH:
00848         case THIRTYFIFTH:
00849           {
00850             _points.resize (18);
00851             _weights.resize(18);
00852 
00853             _points[ 0](0)=3.8065822475018763836485343548908e-03L;      _weights[ 0]=9.6823988037660231774964807691529e-03L;
00854             _points[ 1](0)=1.9948351047343018666301273550578e-02L;      _weights[ 1]=2.1578772679193827027157750409882e-02L;
00855             _points[ 2](0)=4.8549645304224630965525818224597e-02L;      _weights[ 2]=3.1333907671729513327950397913143e-02L;
00856             _points[ 3](0)=8.8876259116497388048181392194957e-02L;      _weights[ 3]=3.8075134253447687665457823100366e-02L;
00857             _points[ 4](0)=1.3988457083516926493003835526765e-01L;      _weights[ 4]=4.1377182287519565332651504100178e-02L;
00858             _points[ 5](0)=2.0025369592363033820671255853211e-01L;      _weights[ 5]=4.1283665809957749414286828772884e-02L;
00859             _points[ 6](0)=2.6842018278660208442014712803618e-01L;      _weights[ 6]=3.8262794672349299757849656256339e-02L;
00860             _points[ 7](0)=3.4261859780200830045140484446480e-01L;      _weights[ 7]=3.3095976202072497795672769135623e-02L;
00861             _points[ 8](0)=4.2092727587031795580391095608392e-01L;      _weights[ 8]=2.6723424368960119486097972811646e-02L;
00862             _points[ 9](0)=5.0131810275027358836467598537906e-01L;      _weights[ 9]=2.0078641696369720179443819032712e-02L;
00863             _points[10](0)=5.8170905267091792822883758529331e-01L;      _weights[10]=1.3943897653647906425703531920973e-02L;
00864             _points[11](0)=6.6001812722531554655212340270381e-01L;      _weights[11]=8.8522782250949774435502470347624e-03L;
00865             _points[12](0)=7.3421730813501325031921736140253e-01L;      _weights[12]=5.0502487883546813166841235600508e-03L;
00866             _points[13](0)=8.0238514983641747020667379058517e-01L;      _weights[13]=2.5207216384362558022745702364513e-03L;
00867             _points[14](0)=8.6275672070005501336081662021610e-01L;      _weights[14]=1.0535502839571923712409403476880e-03L;
00868             _points[15](0)=9.1376986411079293616612318979159e-01L;      _weights[15]=3.4109120368765498289598525047321e-04L;
00869             _points[16](0)=9.5410789551731665881890309384613e-01L;      _weights[16]=7.2937008664118705328162954331465e-05L;
00870             _points[17](0)=9.8274840759428696063307389954630e-01L;      _weights[17]=6.7100861245431215907697266774769e-06L;
00871 
00872             return;
00873           }
00874 
00875         case THIRTYSIXTH:
00876         case THIRTYSEVENTH:
00877           {
00878             _points.resize (19);
00879             _weights.resize(19);
00880 
00881             _points[ 0](0)=3.4438904038624902806940509331722e-03L;      _weights[ 0]=8.7672970568792323661393261305840e-03L;
00882             _points[ 1](0)=1.8056978337900562863030093954343e-02L;      _weights[ 1]=1.9620856340232434512901283777202e-02L;
00883             _points[ 2](0)=4.3987395090842734455198832773659e-02L;      _weights[ 2]=2.8708149778704086122791006941433e-02L;
00884             _points[ 3](0)=8.0633276366661415469721776663016e-02L;      _weights[ 3]=3.5278117199476000434599584597235e-02L;
00885             _points[ 4](0)=1.2713640986156026953002535083969e-01L;      _weights[ 4]=3.8922386222261737550985848811514e-02L;
00886             _points[ 5](0)=1.8240698366909185313069695387128e-01L;      _weights[ 5]=3.9598248214880677015066061570123e-02L;
00887             _points[ 6](0)=2.4514956909516857055249217701821e-01L;      _weights[ 6]=3.7607500520347543950912173611332e-02L;
00888             _points[ 7](0)=3.1389356741821822415240859865307e-01L;      _weights[ 7]=3.3525068070610283960905700567460e-02L;
00889             _points[ 8](0)=3.8702770276933220341545290751683e-01L;      _weights[ 8]=2.8091607936102907649141378579235e-02L;
00890             _points[ 9](0)=4.6283779855202027820220487054694e-01L;      _weights[ 9]=2.2090563149823990465333672755377e-02L;
00891             _points[10](0)=5.3954696279208808766943066332998e-01L;      _weights[10]=1.6231815321996325630177612472423e-02L;
00892             _points[11](0)=6.1535724480454716546694016358337e-01L;      _weights[11]=1.1061440629037007897211784796273e-02L;
00893             _points[12](0)=6.8849179091409498918986551203802e-01L;      _weights[12]=6.9108110779321981973514541466546e-03L;
00894             _points[13](0)=7.5723651917329793549736932794667e-01L;      _weights[13]=3.8897848125530902102984958782958e-03L;
00895             _points[14](0)=8.1998035706323733537954006841029e-01L;      _weights[14]=1.9197884726923132048372710905667e-03L;
00896             _points[15](0)=8.7525316298382668006594890887609e-01L;      _weights[15]=7.9504432544855937325482850317179e-04L;
00897             _points[16](0)=9.2176068172914004889937421632274e-01L;      _weights[16]=2.5553085889097125647555166013802e-04L;
00898             _points[17](0)=9.5841690242340714510347790926694e-01L;      _weights[17]=5.4342643132004416773622274012570e-05L;
00899             _points[18](0)=9.8438280655170201067612761745569e-01L;      _weights[18]=4.9807023319691181766751703037610e-06L;
00900 
00901             return;
00902           }
00903 
00904         case THIRTYEIGHTH:
00905         case THIRTYNINTH:
00906           {
00907             _points.resize (20);
00908             _weights.resize(20);
00909 
00910             _points[ 0](0)=3.1306837407435895621501417495463e-03L;      _weights[ 0]=7.9757927362766516852273101574255e-03L;
00911             _points[ 1](0)=1.6422088133987832902541614256258e-02L;      _weights[ 1]=1.7913752325738559101773958866323e-02L;
00912             _points[ 2](0)=4.0036900461906780996320149828793e-02L;      _weights[ 2]=2.6382564429125584794513408474046e-02L;
00913             _points[ 3](0)=7.3477191785285283057566545285874e-02L;      _weights[ 3]=3.2734644317573148047479656498988e-02L;
00914             _points[ 4](0)=1.1603090765548680494669743156748e-01L;      _weights[ 4]=3.6587916553227064986609295576925e-02L;
00915             _points[ 5](0)=1.6679125348100943001298070145849e-01L;      _weights[ 5]=3.7847390376922340715354694449373e-02L;
00916             _points[ 6](0)=2.2467641938430503840938196483210e-01L;      _weights[ 6]=3.6697420472018132713254249570653e-02L;
00917             _points[ 7](0)=2.8845271218127238477194070665240e-01L;      _weights[ 7]=3.3556431453475493479002714822739e-02L;
00918             _points[ 8](0)=3.5676087010245310564705506663326e-01L;      _weights[ 8]=2.9002404745589285169916357261403e-02L;
00919             _points[ 9](0)=4.2814504093325668461542503477245e-01L;      _weights[ 9]=2.3682290414246053980866450266495e-02L;
00920             _points[10](0)=5.0108381548284855137062465413693e-01L;      _weights[10]=1.8220503418268691551843315309759e-02L;
00921             _points[11](0)=5.7402265818282687172751219665371e-01L;      _weights[11]=1.3140919256661651742108133720781e-02L;
00922             _points[12](0)=6.4540704577736756661732083476397e-01L;      _weights[12]=8.8135560782433553289252731679767e-03L;
00923             _points[13](0)=7.1371561101528768074208343535393e-01L;      _weights[13]=5.4320908061230274500120111426487e-03L;
00924             _points[14](0)=7.7749259203548675355112594583658e-01L;      _weights[14]=3.0224891709073793749184859780611e-03L;
00925             _points[15](0)=8.3537891463156172517151839471341e-01L;      _weights[15]=1.4774444419714858062838576456553e-03L;
00926             _points[16](0)=8.8614130291454714368728293036495e-01L;      _weights[16]=6.0704570426725825415272373108771e-04L;
00927             _points[17](0)=9.2869901491875054534509783716727e-01L;      _weights[17]=1.9388830961751181076983851525948e-04L;
00928             _points[18](0)=9.6214871215049818970916080642292e-01L;      _weights[18]=4.1039102087320205549074040898061e-05L;
00929             _points[19](0)=9.8579578884064184668002313135922e-01L;      _weights[19]=3.7492209933371347725241368372638e-06L;
00930 
00931             return;
00932           }
00933 
00934 
00935         case FORTIETH:
00936         case FORTYFIRST:
00937           {
00938             _points.resize (21);
00939             _weights.resize(21);
00940 
00941             _points[ 0](0)=2.8583506000918943222556277168267e-03L;      _weights[ 0]=7.2866317313744308995629793584932e-03L;
00942             _points[ 1](0)=1.4999364972075522340357135916023e-02L;      _weights[ 1]=1.6417061144242818824757454238052e-02L;
00943             _points[ 2](0)=3.6593863281140122626545055282186e-02L;      _weights[ 2]=2.4316074956305588348553255406534e-02L;
00944             _points[ 3](0)=6.7226441667938638526563947674675e-02L;      _weights[ 3]=3.0423854654878694196479542521305e-02L;
00945             _points[ 4](0)=1.0630147973769311755044868847393e-01L;      _weights[ 4]=3.4388553550627421941340376509459e-02L;
00946             _points[ 5](0)=1.5305857495571921224970195300963e-01L;      _weights[ 5]=3.6085277384893044986268336555960e-02L;
00947             _points[ 6](0)=2.0658770608253356867698033417515e-01L;      _weights[ 6]=3.5615944774693119613624648820995e-02L;
00948             _points[ 7](0)=2.6584701401081590981089215154372e-01L;      _weights[ 7]=3.3281046762833346236473134492600e-02L;
00949             _points[ 8](0)=3.2968309899010272373734914205452e-01L;      _weights[ 8]=2.9528072702082493907799384765866e-02L;
00950             _points[ 9](0)=3.9685347698561900950394342909483e-01L;      _weights[ 9]=2.4885083875255978309567929915161e-02L;
00951             _points[10](0)=4.6605076663517464847296649003812e-01L;      _weights[10]=1.9889780066352815019424534213776e-02L;
00952             _points[11](0)=5.3592813869303216093268951839176e-01L;      _weights[11]=1.5024528041917190276613254752701e-02L;
00953             _points[12](0)=6.0512553397610192844810985230774e-01L;      _weights[12]=1.0666270365508680718786852036243e-02L;
00954             _points[13](0)=6.7229614098692961628997049948121e-01L;      _weights[13]=7.0573209743621604363614669672455e-03L;
00955             _points[14](0)=7.3613262059728734846410297670221e-01L;      _weights[14]=4.2993100642134152210363702100934e-03L;
00956             _points[15](0)=7.9539257374613146232498650332774e-01L;      _weights[15]=2.3686215346115318974092271035074e-03L;
00957             _points[16](0)=8.4892277353768883984401746895126e-01L;      _weights[16]=1.1482414207164748272703814817286e-03L;
00958             _points[17](0)=8.9568174292546676052820257429765e-01L;      _weights[17]=4.6857361253397420043294612589344e-04L;
00959             _points[18](0)=9.3476043640122994798279429359660e-01L;      _weights[18]=1.4884999898655056859287865070751e-04L;
00960             _points[19](0)=9.6540160736574245809294907904429e-01L;      _weights[19]=3.1377233396792732027953172274463e-05L;
00961             _points[20](0)=9.8702556657875783654690055164718e-01L;      _weights[20]=2.8584835468101709504260347382715e-06L;
00962 
00963             return;
00964           }
00965 
00966         case FORTYSECOND:
00967         case FORTYTHIRD:
00968           {
00969             _points.resize (22);
00970             _weights.resize(22);
00971 
00972             _points[ 0](0)=2.6200747203711594248593674552649e-03L;      _weights[ 0]=6.6829315239216368796332393406135e-03L;
00973             _points[ 1](0)=1.3753657987385804025756750709059e-02L;      _weights[ 1]=1.5098062421623821319493004238262e-02L;
00974             _points[ 2](0)=3.3575226848026692714308191640158e-02L;      _weights[ 2]=2.2473713734526648003280648297671e-02L;
00975             _points[ 3](0)=6.1735561623069601690826574395308e-02L;      _weights[ 3]=2.8324458025288763364233486167273e-02L;
00976             _points[ 4](0)=9.7732696675368642458479884996723e-02L;      _weights[ 4]=3.2329473952869436965326587507885e-02L;
00977             _points[ 5](0)=1.4092439775695158519450619775816e-01L;      _weights[ 5]=3.4348599664417779736425965942178e-02L;
00978             _points[ 6](0)=1.9053995518421662849913969152881e-01L;      _weights[ 6]=3.4426309828130701949676126316990e-02L;
00979             _points[ 7](0)=2.4569399962450332222446519900435e-01L;      _weights[ 7]=3.2774586900497126738748991342107e-02L;
00980             _points[ 8](0)=3.0540231844259902315260853518244e-01L;      _weights[ 8]=2.9737336628427308246400548097974e-02L;
00981             _points[ 9](0)=3.6859942495594128250321664201293e-01L;      _weights[ 9]=2.5741821234796918381507016798653e-02L;
00982             _points[10](0)=4.3415757484015513750820121247106e-01L;      _weights[10]=2.1244167813524304464862872202199e-02L;
00983             _points[11](0)=5.0090689264793505011775015892772e-01L;      _weights[11]=1.6676482379699419616981906191727e-02L;
00984             _points[12](0)=5.6765625027260978702177266771788e-01L;      _weights[12]=1.2402453510959574984251948178874e-02L;
00985             _points[13](0)=6.3321452557266284279166256182373e-01L;      _weights[13]=8.6866984738749141556196547655377e-03L;
00986             _points[14](0)=6.9641186298595172661126707689713e-01L;      _weights[14]=5.6807683849250404394970034550940e-03L;
00987             _points[15](0)=7.5612055917893487122928793527786e-01L;      _weights[15]=3.4260685209698087638377353482425e-03L;
00988             _points[16](0)=8.1127520683922050787811864631196e-01L;      _weights[16]=1.8713879532585689543042377871244e-03L;
00989             _points[17](0)=8.6089175276286621730656128908876e-01L;      _weights[17]=9.0066625279251987400261357834378e-04L;
00990             _points[18](0)=9.0408517849775272066170136431884e-01L;      _weights[18]=3.6536328467284676654467859219800e-04L;
00991             _points[19](0)=9.4008566921081846961603077466108e-01L;      _weights[19]=1.1551470917602499323205530447797e-04L;
00992             _points[20](0)=9.6825388381656365288164210087944e-01L;      _weights[20]=2.4263177919766775694554800111547e-05L;
00993             _points[21](0)=9.8810245999087788318348935085438e-01L;      _weights[21]=2.2049570604019597784590797971169e-06L;
00994 
00995             return;
00996           }
00997 
00998 
00999         default:
01000           {
01001             libMesh::err << "Quadrature rule " << _order
01002                           << " not supported!" << std::endl;
01003 
01004             libmesh_error();
01005           }
01006         } // end switch(_order + 2*p)
01007 
01008       libmesh_error();
01009     } // end else if ((_alpha == 2) && (_beta == 0))
01010 
01011   else
01012     {
01013       libMesh::err << "Unsupported combination of (alpha,beta) = ("
01014                     << _alpha
01015                     << ","
01016                     << _beta
01017                     << ") requested in Jacobi-Gauss quadrature rule."
01018                     << std::endl;
01019     }
01020 
01021 
01022   return;
01023 }

virtual void libMesh::QBase::init_2D ( const   ElemType,
unsigned int  = 0 
) [inline, protected, virtual, inherited]

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 defined) when called.

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

Definition at line 246 of file quadrature.h.

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

00249   {}

static unsigned int libMesh::ReferenceCounter::n_objects (  )  [inline, static, inherited]

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

Definition at line 79 of file reference_counter.h.

References libMesh::ReferenceCounter::_n_objects.

00080   { return _n_objects; }

void libMesh::ReferenceCounter::print_info ( std::ostream &  out = libMesh::out  )  [static, inherited]

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

Definition at line 88 of file reference_counter.C.

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

00089 {
00090   if( _enable_print_counter ) out_stream << ReferenceCounter::get_info();
00091 }

void libMesh::QBase::print_info ( std::ostream &  os = libMesh::out  )  const [inline, inherited]

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

Definition at line 362 of file quadrature.h.

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

Referenced by libMesh::operator<<().

00363 {
00364   libmesh_assert(!_points.empty());
00365   libmesh_assert(!_weights.empty());
00366 
00367   os << "N_Q_Points=" << this->n_points() << std::endl << std::endl;
00368   for (unsigned int qpoint=0; qpoint<this->n_points(); qpoint++)
00369     {
00370       os << " Point " << qpoint << ":\n"
00371          << "  "
00372          << _points[qpoint]
00373          << " Weight:\n "
00374          << "  w=" << _weights[qpoint] << "\n" << std::endl;
00375     }
00376 }

Point libMesh::QBase::qp ( const unsigned int  i  )  const [inline, inherited]
Returns:
the $ i^{th} $ quadrature point on the reference object.

Definition at line 150 of file quadrature.h.

References libMesh::QBase::_points.

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

00151     { libmesh_assert_less (i, _points.size()); return _points[i]; }

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

Maps the points of a 1D interval quadrature rule (typically [-1,1]) to any other 1D interval (typically [0,1]) and scales the weights accordingly. The quadrature rule will be mapped from the entries of old_range to the entries of new_range.

Definition at line 82 of file quadrature.C.

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

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

00084 {
00085   // Make sure we are in 1D
00086   libmesh_assert_equal_to (_dim, 1);
00087 
00088   // Make sure that we have sane ranges
00089   libmesh_assert_greater (new_range.second, new_range.first);
00090   libmesh_assert_greater (old_range.second, old_range.first);
00091 
00092   // Make sure there are some points
00093   libmesh_assert_greater (_points.size(), 0);
00094 
00095   // We're mapping from old_range -> new_range
00096   for (unsigned int i=0; i<_points.size(); i++)
00097     {
00098       _points[i](0) =
00099         (_points[i](0) - old_range.first) *
00100         (new_range.second - new_range.first) /
00101         (old_range.second - old_range.first) +
00102         new_range.first;
00103     }
00104 
00105   // Compute the scale factor and scale the weights
00106   const Real scfact = (new_range.second - new_range.first) /
00107                       (old_range.second - old_range.first);
00108 
00109   for (unsigned int i=0; i<_points.size(); i++)
00110     _weights[i] *= scfact;
00111 }

virtual bool libMesh::QBase::shapes_need_reinit (  )  [inline, virtual, inherited]

Returns true if the shape functions need to be recalculated.

This can happen if the number of points or their positions change.

By default this will return false.

Definition at line 198 of file quadrature.h.

Referenced by libMesh::FE< Dim, T >::edge_reinit(), and libMesh::FE< Dim, T >::reinit().

00198 { return false; }

QuadratureType libMesh::QJacobi::type (  )  const [inline, virtual]
Returns:
the QuadratureType, either QJACOBI_1_0 or QJACOBI_2_0.

Implements libMesh::QBase.

Definition at line 110 of file quadrature_jacobi.h.

References _alpha, _beta, libMeshEnums::INVALID_Q_RULE, libMeshEnums::QJACOBI_1_0, and libMeshEnums::QJACOBI_2_0.

00111 {
00112   if ((_alpha == 1) && (_beta == 0))
00113     return QJACOBI_1_0;
00114 
00115   else if ((_alpha == 2) && (_beta == 0))
00116     return QJACOBI_2_0;
00117 
00118   else
00119     {
00120       libmesh_error();
00121       return INVALID_Q_RULE;
00122     }
00123 }

Real libMesh::QBase::w ( const unsigned int  i  )  const [inline, inherited]
Returns:
the $ i^{th} $ quadrature weight.

Definition at line 156 of file quadrature.h.

References libMesh::QBase::_weights.

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

00157     { libmesh_assert_less (i, _weights.size()); return _weights[i]; }


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const QBase q 
) [friend, inherited]

Same as above, but allows you to use the stream syntax.


Member Data Documentation

const unsigned int libMesh::QJacobi::_alpha [private]

Definition at line 79 of file quadrature_jacobi.h.

Referenced by init_1D(), and type().

const unsigned int libMesh::QJacobi::_beta [private]

Definition at line 80 of file quadrature_jacobi.h.

Referenced by init_1D(), and type().

bool libMesh::ReferenceCounter::_enable_print_counter = true [static, protected, inherited]

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

Definition at line 137 of file reference_counter.h.

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

Mutual exclusion object to enable thread-safe reference counting.

Definition at line 131 of file reference_counter.h.

Threads::atomic< unsigned int > libMesh::ReferenceCounter::_n_objects [static, protected, inherited]

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

Definition at line 126 of file reference_counter.h.

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

libMesh::err<< "ERROR: Seems as if this quadrature rule" << std::endl << " is not implemented for 2D." << std::endl; libmesh_error(); }#endif virtual void init_3D (const ElemType, unsigned int =0)#ifndef DEBUG {}#else { libMesh::err << "ERROR: Seems as if this quadrature rule" << std::endl << " is not implemented for 3D." << std::endl; libmesh_error(); }#endif void tensor_product_quad (const QBase& q1D); void tensor_product_hex (const QBase& q1D); void tensor_product_prism (const QBase& q1D, const QBase& q2D); const unsigned int _dim; const Order _order; ElemType _type; unsigned int _p_level; std::vector<Point> libMesh::QBase::_points [protected, inherited]

Flag (default true) controlling the use of quadrature rules with negative weights. Set this to false to ONLY use (potentially) safer but more expensive rules with all positive weights.

Negative weights typically appear in Gaussian quadrature rules over three-dimensional elements. 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 215 of file quadrature.h.

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


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

Site Created By: libMesh Developers
Last modified: February 05 2013 19:55:35 UTC

Hosted By:
SourceForge.net Logo