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 | |
QTrianglePolar (const Quadrature< 1 > &radial_quadrature, const Quadrature< 1 > &angular_quadrature) | |
QTrianglePolar (const unsigned int n) | |
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 |
A quadrature that implements a polar transformation from a square to a triangle to integrate singularities in the origin of the reference simplex. The quadrature is obtained through the following polar transformation:
\[ \begin{pmatrix} x \\ y \end{pmatrix} = \begin{pmatrix} \frac{\hat x}{\sin(\theta)+\cos(\theta)} cos(\theta) \\ \frac{\hat x}{\sin(\theta)+\cos(\theta)} sin(\theta) \end{pmatrix} \qquad \theta \dealcoloneq \frac\pi 2 \hat y \]
Definition at line 665 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.
QTrianglePolar::QTrianglePolar | ( | const Quadrature< 1 > & | radial_quadrature, |
const Quadrature< 1 > & | angular_quadrature | ||
) |
Construct a QTrianglePolar quadrature, with different formulas in the radial and angular directions.
radial_quadrature | Radial quadrature |
angular_quadrature | Angular quadrature |
Definition at line 1252 of file quadrature_lib.cc.
QTrianglePolar::QTrianglePolar | ( | const unsigned int | n | ) |
Call the other constructor, with QGauss<1>(n) for both radial and angular quadrature.
n | Order of QGauss quadrature |
Definition at line 1282 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 643 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.