Reference documentation for deal.II version 9.3.3
|
#include <deal.II/base/quadrature_lib.h>
Public Types | |
using | SubQuadrature = Quadrature< dim - 1 > |
Public Member Functions | |
QGaussSimplex (const unsigned int n_points_1D) | |
Quadrature< dim > | compute_affine_transformation (const std::array< Point< dim >, dim+1 > &vertices) const |
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 |
const std::array< Quadrature< 1 >, dim > & | get_tensor_basis () const |
Protected Attributes | |
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 |
Subscriptor functionality | |
Classes derived from Subscriptor provide a facility to subscribe to this object. This is mostly used by the SmartPointer class. | |
void | subscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
void | unsubscribe (std::atomic< bool > *const validity, const std::string &identifier="") const |
unsigned int | n_subscriptions () const |
template<typename StreamType > | |
void | list_subscribers (StreamType &stream) const |
void | list_subscribers () const |
using | map_value_type = decltype(counter_map)::value_type |
using | map_iterator = decltype(counter_map)::iterator |
std::atomic< unsigned int > | counter |
std::map< std::string, unsigned int > | counter_map |
std::vector< std::atomic< bool > * > | validity_pointers |
const std::type_info * | object_info |
static std::mutex | mutex |
static ::ExceptionBase & | ExcInUse (int arg1, std::string arg2, std::string arg3) |
static ::ExceptionBase & | ExcNoSubscriber (std::string arg1, std::string arg2) |
void | check_no_subscribers () const noexcept |
Integration rule for simplex entities.
Users specify a number n_points_1D
as an indication of what polynomial degree to be integrated exactly, similarly to the number of points in a QGauss quadrature object, even though the present quadrature formula is not a tensor product. The given value is translated for n_points_1D=1,2,3,4 to following number of quadrature points for 2D and 3D:
For 1D, the quadrature rule degenerates to a QGauss<1>(n_points_1D)
.
Definition at line 812 of file quadrature_lib.h.
|
inherited |
Define an alias for a quadrature that acts on an object of one dimension less. For cells, this would then be a face quadrature.
Definition at line 90 of file quadrature.h.
|
explicit |
Constructor taking the number of quadrature points in 1D direction n_points_1D
.
Definition at line 1358 of file quadrature_lib.cc.
|
inherited |
Return an affine transformation of this quadrature, that can be used to integrate on the simplex identified by vertices
.
Both the quadrature point locations and the weights are transformed, so that you can effectively use the resulting quadrature to integrate on the simplex.
The transformation is defined as
\[ x = v_0 + B \hat x \]
where the matrix \(B\) is given by \(B_{ij} = v[j][i]-v[0][i]\).
The weights are scaled with the absolute value of the determinant of \(B\), that is \(J \dealcoloneq |\text{det}(B)|\). If \(J\) is zero, an empty quadrature is returned. This may happen, in two dimensions, if the three vertices are aligned, or in three dimensions if the four vertices are on the same plane.
[in] | vertices | The vertices of the simplex you wish to integrate on |
Definition at line 1224 of file quadrature_lib.cc.
|
inherited |
Test for equality of two quadratures.
Definition at line 302 of file quadrature.cc.
|
inherited |
Set the quadrature points and weights to the values provided in the arguments.
Definition at line 50 of file quadrature.cc.
|
inherited |
Number of quadrature points.
|
inherited |
Return the i
th quadrature point.
|
inherited |
Return a reference to the whole array of quadrature points.
|
inherited |
Return the weight of the i
th quadrature point.
|
inherited |
Return a reference to the whole array of weights.
|
inherited |
Determine an estimate for the memory consumption (in bytes) of this object.
Definition at line 311 of file quadrature.cc.
|
inherited |
Write or read the data of this object to or from a stream for the purpose of serialization using the BOOST serialization library.
|
inherited |
This function returns true if the quadrature object is a tensor product of one-dimensional formulas and the quadrature points are sorted lexicographically.
|
inherited |
In case the quadrature formula is a tensor product, this function returns the dim
one-dimensional basis objects. Otherwise, calling this function is not allowed.
For dim
equal to one, we can not return the std::array as a const reference and have to return it by value. In this case, the array will always contain a single element (this
).
Definition at line 323 of file quadrature.cc.
|
protectedinherited |
List of quadrature points. To be filled by the constructors of derived classes.
Definition at line 283 of file quadrature.h.
|
protectedinherited |
List of weights of the quadrature points. To be filled by the constructors of derived classes.
Definition at line 289 of file quadrature.h.
|
protectedinherited |
Indicates if this object represents quadrature formula that is a tensor product of one-dimensional formulas. This flag is set if dim==1 or the constructors taking a Quadrature<1> (and possibly a Quadrature<dim-1> object) is called. This implies that the quadrature points are sorted lexicographically.
Definition at line 298 of file quadrature.h.
|
protectedinherited |
Stores the one-dimensional tensor basis objects in case this object can be represented by a tensor product.
Definition at line 304 of file quadrature.h.