Reference documentation for deal.II version 9.0.0
|
#include <deal.II/base/quadrature_lib.h>
Public Member Functions | |
QSorted (const Quadrature< dim > &quad) | |
Public Member Functions inherited from Quadrature< dim > | |
Quadrature (const unsigned int n_quadrature_points=0) | |
Quadrature (const SubQuadrature &, const Quadrature< 1 > &) | |
Quadrature (const Quadrature< dim !=1 ? 1 :0 > &quadrature_1d) | |
Quadrature (const Quadrature< dim > &q) | |
Quadrature (Quadrature< dim > &&) noexcept=default | |
Quadrature (const std::vector< Point< dim > > &points, const std::vector< double > &weights) | |
Quadrature (const std::vector< Point< dim > > &points) | |
Quadrature (const Point< dim > &point) | |
virtual | ~Quadrature ()=default |
Quadrature & | operator= (const Quadrature< dim > &) |
Quadrature & | operator= (Quadrature< dim > &&)=default |
bool | operator== (const Quadrature< dim > &p) const |
void | initialize (const std::vector< Point< dim > > &points, const std::vector< double > &weights) |
unsigned int | size () const |
const Point< dim > & | point (const unsigned int i) const |
const std::vector< Point< dim > > & | get_points () const |
double | weight (const unsigned int i) const |
const std::vector< double > & | get_weights () const |
std::size_t | memory_consumption () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
bool | is_tensor_product () const |
std::conditional< dim==1, std::array< Quadrature< 1 >, dim >, const std::array< Quadrature< 1 >, dim > & >::type | get_tensor_basis () const |
Public Member Functions inherited from Subscriptor | |
Subscriptor () | |
Subscriptor (const Subscriptor &) | |
Subscriptor (Subscriptor &&) noexcept | |
virtual | ~Subscriptor () |
Subscriptor & | operator= (const Subscriptor &) |
Subscriptor & | operator= (Subscriptor &&) noexcept |
void | subscribe (const char *identifier=nullptr) const |
void | unsubscribe (const char *identifier=nullptr) const |
unsigned int | n_subscriptions () const |
void | list_subscribers () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Private Member Functions | |
bool | compare_weights (const unsigned int a, const unsigned int b) const |
Additional Inherited Members | |
Public Types inherited from Quadrature< dim > | |
typedef Quadrature< dim-1 > | SubQuadrature |
Static Public Member Functions inherited from Subscriptor | |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
Protected Attributes inherited from Quadrature< dim > | |
std::vector< Point< dim > > | quadrature_points |
std::vector< double > | weights |
bool | is_tensor_product_flag |
std::unique_ptr< std::array< Quadrature< 1 >, dim > > | tensor_basis |
Sorted Quadrature. Given an arbitrary quadrature formula, this class generates a quadrature formula where the quadrature points are ordered according the weights, from those with smaller corresponding weight, to those with higher corresponding weights. This might be necessary, for example, when integrating high order polynomials, since in these cases you might sum very big numbers with very small numbers, and summation is not stable if the numbers to sum are not close to each other.
Definition at line 392 of file quadrature_lib.h.
QSorted< dim >::QSorted | ( | const Quadrature< dim > & | quad | ) |
The constructor takes an arbitrary quadrature formula quad
and sorts its points and weights according to ascending weights.
Definition at line 760 of file quadrature_lib.cc.
|
private |
A rule for std::sort to reorder pairs of points and weights. a
and b
are indices into the weights array and the result will be determined by comparing the weights.
Definition at line 792 of file quadrature_lib.cc.