deal.II version GIT relicensing-2206-gaa53ff9447 2024-12-02 09:10:00+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 418 of file quadrature_generator.h.

Member Typedef Documentation

◆ AdditionalData

Definition at line 421 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 2022 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 2033 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 2041 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 2052 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 2096 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 2103 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 2111 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 2088 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 495 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 502 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 509 of file quadrature_generator.h.


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