Reference documentation for deal.II version 9.4.1
|
#include <deal.II/non_matching/quadrature_generator.h>
Public Types | |
using | AdditionalData = AdditionalQGeneratorData |
Public Member Functions | |
FaceQuadratureGenerator (const hp::QCollection< 1 > &quadratures1D, const AdditionalData &additional_data=AdditionalData()) | |
void | generate (const Function< 1 > &level_set, const BoundingBox< 1 > &box, const unsigned int face_index) |
const Quadrature< 0 > & | get_inside_quadrature () const |
const Quadrature< 0 > & | get_outside_quadrature () const |
const ImmersedSurfaceQuadrature< 0, 1 > & | get_surface_quadrature () const |
void | set_1D_quadrature (const unsigned int q_index) |
Private Attributes | |
Quadrature< 0 > | inside_quadrature |
Quadrature< 0 > | outside_quadrature |
const ImmersedSurfaceQuadrature< 0, 1 > | surface_quadrature |
Specialization of the FaceQuadratureGenerator class for the 1-dimensional case.
In 1D, a face is only a point. Thus to generate the immersed quadrature rules we add a single 0-dimensional quadrature point to the inside or outside quadrature rule depending on if the level set function is positive or negative at the face. The added quadrature point will have weight equal to 1. The immersed surface quadrature over a face corresponds to integrating over a dim-1 dimensional curve. Thus, surface quadrature generated by this specialized class is always empty.
This class must be specialized in 1D, because the general FaceQuadratureGenerator<dim> class uses the QuadratureGenerator<dim-1> class internally, which does not make sense when dim-1 = 0.
Definition at line 393 of file quadrature_generator.h.
using NonMatching::FaceQuadratureGenerator< 1 >::AdditionalData = AdditionalQGeneratorData |
Definition at line 396 of file quadrature_generator.h.
NonMatching::FaceQuadratureGenerator< 1 >::FaceQuadratureGenerator | ( | const hp::QCollection< 1 > & | quadratures1D, |
const AdditionalData & | additional_data = AdditionalData() |
||
) |
Constructor. The incoming hp::QCollection is not used. But this class must have the same signature as the non-specialized class.
Definition at line 1799 of file quadrature_generator.cc.
void NonMatching::FaceQuadratureGenerator< 1 >::generate | ( | const Function< 1 > & | level_set, |
const BoundingBox< 1 > & | box, | ||
const unsigned int | face_index | ||
) |
Construct immersed quadratures rules for the incoming level set function on a given face of the BoundingBox.
To get the constructed quadratures, use the functions get_inside_quadrature(), get_outside_quadrature(), get_surface_quadrature().
Definition at line 1810 of file quadrature_generator.cc.
const Quadrature< 0 > & NonMatching::FaceQuadratureGenerator< 1 >::get_inside_quadrature | ( | ) | const |
Return the quadrature rule for the region \(\{x \in F : \psi(x) < 0 \}\) created in the previous call to generate(). Here, \(F\) is the face of the BoundingBox passed to generate().
Definition at line 1854 of file quadrature_generator.cc.
const Quadrature< 0 > & NonMatching::FaceQuadratureGenerator< 1 >::get_outside_quadrature | ( | ) | const |
Return the quadrature rule for the region \(\{x \in F : \psi(x) > 0 \}\) created in the previous call to generate(). Here, \(F\) is the face of the BoundingBox passed to generate().
Definition at line 1861 of file quadrature_generator.cc.
const ImmersedSurfaceQuadrature< 0, 1 > & NonMatching::FaceQuadratureGenerator< 1 >::get_surface_quadrature | ( | ) | const |
Return the quadrature rule for the region \(\{x \in F : \psi(x) = 0 \}\) where, \(F\) is the face of the BoundingBox passed to generate().
Definition at line 1869 of file quadrature_generator.cc.
void NonMatching::FaceQuadratureGenerator< 1 >::set_1D_quadrature | ( | const unsigned int | q_index | ) |
This function does nothing. It only exist to be compatible with FaceQuadratureGenerator<dim>.
Definition at line 1846 of file quadrature_generator.cc.
|
private |
Quadrature for the region \(\{x \in F : \psi(x) < 0 \}\). Created in the last call to generate().
Definition at line 455 of file quadrature_generator.h.
|
private |
Quadrature for the region \(\{x \in F : \psi(x) > 0 \}\). Created in the last call to generate().
Definition at line 462 of file quadrature_generator.h.
|
private |
Quadrature for the region \(\{x \in F : \psi(x) = 0 \}\). This quadrature always contains zero points in 1D.
Definition at line 469 of file quadrature_generator.h.