Reference documentation for deal.II version GIT 1e9e64a91d 2022-09-28 19:20:02+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
Public Types | Public Member Functions | Private Attributes | List of all members
NonMatching::FaceQuadratureGenerator< 1 > Class Reference

#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
 

Detailed Description

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.

Member Typedef Documentation

◆ AdditionalData

Definition at line 396 of file quadrature_generator.h.

Constructor & Destructor Documentation

◆ FaceQuadratureGenerator()

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.

Member Function Documentation

◆ generate()

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.

◆ get_inside_quadrature()

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.

◆ get_outside_quadrature()

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.

◆ get_surface_quadrature()

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

Note
In 1D, this quadrature always contains 0 points.

Definition at line 1869 of file quadrature_generator.cc.

◆ set_1D_quadrature()

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.

Member Data Documentation

◆ inside_quadrature

Quadrature<0> NonMatching::FaceQuadratureGenerator< 1 >::inside_quadrature
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.

◆ outside_quadrature

Quadrature<0> NonMatching::FaceQuadratureGenerator< 1 >::outside_quadrature
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.

◆ surface_quadrature

const ImmersedSurfaceQuadrature<0, 1> NonMatching::FaceQuadratureGenerator< 1 >::surface_quadrature
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.


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