Reference documentation for deal.II version GIT relicensing-399-g79d89019c5 2024-04-16 15:00: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\}}\)
Loading...
Searching...
No Matches
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 clear_quadratures ()
 
void generate (const Function< 1 > &level_set, const BoundingBox< 1 > &box, const unsigned int face_index)
 
void generate_append (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 421 of file quadrature_generator.h.

Member Typedef Documentation

◆ AdditionalData

Definition at line 424 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 2024 of file quadrature_generator.cc.

Member Function Documentation

◆ clear_quadratures()

void NonMatching::FaceQuadratureGenerator< 1 >::clear_quadratures ( )

Does nothing. Exists for compatibility reasons.

Definition at line 2035 of file quadrature_generator.cc.

◆ 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 2043 of file quadrature_generator.cc.

◆ generate_append()

void NonMatching::FaceQuadratureGenerator< 1 >::generate_append ( const Function< 1 > &  level_set,
const BoundingBox< 1 > &  box,
const unsigned int  face_index 
)

Same as above but does not clear quadratures and appends it to the existing quadrature instead.

Definition at line 2054 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 2098 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 2105 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 2113 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 2090 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 498 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 505 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 512 of file quadrature_generator.h.


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