DUBeat  1.0.1
High-order discontinuous Galerkin methods and applications to cardiac electrophysiology
FaceHandlerDG< dim > Class Template Reference

Class for the main operations on the faces of a discontinuous Galerkin element. More...

#include <face_handler_DG.hpp>

Inheritance diagram for FaceHandlerDG< dim >:
Collaboration diagram for FaceHandlerDG< dim >:

Public Member Functions

 FaceHandlerDG (const unsigned int degree)
 Constructor. More...
 
 FaceHandlerDG (FaceHandlerDG< dim > &FaceHandlerDG)=default
 Default copy constructor. More...
 
 FaceHandlerDG (const FaceHandlerDG< dim > &FaceHandlerDG)=default
 Default const copy constructor. More...
 
 FaceHandlerDG (FaceHandlerDG< dim > &&FaceHandlerDG)=default
 Default move constructor. More...
 
void reinit (const typename dealii::DoFHandler< dim >::active_cell_iterator &new_cell, const unsigned int new_edge)
 Reinit objects on the current new_cell and new_edge. More...
 
dealii::Point< dim > quadrature_real (const unsigned int q) const override
 Return the \(q\)-th spatial quadrature point position on the actual element. More...
 
dealii::Point< dim > quadrature_ref (const unsigned int q) const override
 Return the \(q\)-th spatial quadrature point position on the reference element. More...
 
double quadrature_weight (const unsigned int q) const override
 Return the quadrature weight associated to the \(q\)-th quadrature point. More...
 
int corresponding_neigh_index (const unsigned int q, const FaceHandlerDG< dim > &FaceHandlerDG_neigh) const
 To manually obtain the associated quadrature point index in the neighbor element on the shared face. More...
 
dealii::Tensor< 1, dim > get_normal () const
 Outward normal vector on the current element and face. More...
 
double get_measure () const
 Measure of face. More...
 
virtual ~FaceHandlerDG ()=default
 Destructor. More...
 
double get_measure () const
 Specialization to measure the face in two dimensions (i.e., length of a segment). More...
 
double get_measure () const
 Specialization to measure the area of the face for a three dimensional tethraedron (i.e., area of a triangle). More...
 
- Public Member Functions inherited from VolumeHandlerDG< dim >
 VolumeHandlerDG (const unsigned int degree)
 Constructor. More...
 
 VolumeHandlerDG (VolumeHandlerDG< dim > &VolumeHandlerDG)=default
 Default copy constructor. More...
 
 VolumeHandlerDG (const VolumeHandlerDG< dim > &VolumeHandlerDG)=default
 Default const copy constructor. More...
 
 VolumeHandlerDG (VolumeHandlerDG< dim > &&VolumeHandlerDG)=default
 Default move constructor. More...
 
void reinit (const typename dealii::DoFHandler< dim >::active_cell_iterator &new_cell)
 Reinit objects on the current new_cell. More...
 
dealii::Tensor< 2, dim > get_jacobian_inverse () const
 Inverse of the Jacobian of the reference-to-actual transformation. More...
 
unsigned int get_n_quad_points () const
 Get the number of quadrature points on the current element. More...
 
virtual ~VolumeHandlerDG ()=default
 Destructor. More...
 

Private Attributes

unsigned int edge
 Index of the actual face. More...
 
const double tol = 1e-10
 Default tolerance. More...
 
const QGaussLegendreSimplex< dim - 1 > QGLpoints_face
 Quadrature formula for face elements. More...
 
std::unique_ptr< dealii::FEFaceValues< dim > > fe_face_values
 Internal FEM basis class for face elements. More...
 

Additional Inherited Members

- Protected Attributes inherited from VolumeHandlerDG< dim >
const unsigned int n_quad_points_1D
 Number of quadrature points in one dimensional elements. More...
 
dealii::DoFHandler< dim >::active_cell_iterator cell
 Actual DG cell. More...
 
const std::unique_ptr< dealii::FE_SimplexDGP< dim > > fe_dg
 Internal Lagrangian basis class. More...
 
const std::unique_ptr< dealii::MappingFE< dim > > mapping
 Mapping of the discretized space, needed for geometrical reference-to-actual operations. More...
 
const QGaussLegendreSimplex< dim > QGLpoints
 Quadrature formula for volume elements. More...
 
std::unique_ptr< dealii::FEValues< dim > > fe_values
 Internal FEM basis class. More...
 
bool initialized = false
 A condition to inform if the class is initialized on an element or not. More...
 

Detailed Description

template<unsigned int dim>
class FaceHandlerDG< dim >

Class for the main operations on the faces of a discontinuous Galerkin element.

Definition at line 48 of file face_handler_DG.hpp.

Constructor & Destructor Documentation

◆ FaceHandlerDG() [1/4]

template<unsigned int dim>
FaceHandlerDG< dim >::FaceHandlerDG ( const unsigned int  degree)
inline

Constructor.

Definition at line 64 of file face_handler_DG.hpp.

◆ FaceHandlerDG() [2/4]

template<unsigned int dim>
FaceHandlerDG< dim >::FaceHandlerDG ( FaceHandlerDG< dim > &  FaceHandlerDG)
default

Default copy constructor.

◆ FaceHandlerDG() [3/4]

template<unsigned int dim>
FaceHandlerDG< dim >::FaceHandlerDG ( const FaceHandlerDG< dim > &  FaceHandlerDG)
default

Default const copy constructor.

◆ FaceHandlerDG() [4/4]

template<unsigned int dim>
FaceHandlerDG< dim >::FaceHandlerDG ( FaceHandlerDG< dim > &&  FaceHandlerDG)
default

Default move constructor.

◆ ~FaceHandlerDG()

template<unsigned int dim>
virtual FaceHandlerDG< dim >::~FaceHandlerDG ( )
virtualdefault

Destructor.

Member Function Documentation

◆ corresponding_neigh_index()

template<unsigned int dim>
int FaceHandlerDG< dim >::corresponding_neigh_index ( const unsigned int  q,
const FaceHandlerDG< dim > &  FaceHandlerDG_neigh 
) const

To manually obtain the associated quadrature point index in the neighbor element on the shared face.

Definition at line 185 of file face_handler_DG.hpp.

◆ get_measure() [1/3]

template<unsigned int dim>
double FaceHandlerDG< dim >::get_measure ( ) const

Measure of face.

◆ get_measure() [2/3]

double FaceHandlerDG< 2 >::get_measure ( ) const

Specialization to measure the face in two dimensions (i.e., length of a segment).

Definition at line 230 of file face_handler_DG.hpp.

◆ get_measure() [3/3]

double FaceHandlerDG< 3 >::get_measure ( ) const

Specialization to measure the area of the face for a three dimensional tethraedron (i.e., area of a triangle).

The method exploits the Erone's formula since deal.II does not have so far a version for triangles.

Definition at line 243 of file face_handler_DG.hpp.

◆ get_normal()

template<unsigned int dim>
dealii::Tensor< 1, dim > FaceHandlerDG< dim >::get_normal

Outward normal vector on the current element and face.

Definition at line 218 of file face_handler_DG.hpp.

◆ quadrature_real()

template<unsigned int dim>
dealii::Point< dim > FaceHandlerDG< dim >::quadrature_real ( const unsigned int  q) const
overridevirtual

Return the \(q\)-th spatial quadrature point position on the actual element.

Reimplemented from VolumeHandlerDG< dim >.

Definition at line 142 of file face_handler_DG.hpp.

◆ quadrature_ref()

template<unsigned int dim>
dealii::Point< dim > FaceHandlerDG< dim >::quadrature_ref ( const unsigned int  q) const
overridevirtual

Return the \(q\)-th spatial quadrature point position on the reference element.

Reimplemented from VolumeHandlerDG< dim >.

Definition at line 156 of file face_handler_DG.hpp.

◆ quadrature_weight()

template<unsigned int dim>
double FaceHandlerDG< dim >::quadrature_weight ( const unsigned int  q) const
overridevirtual

Return the quadrature weight associated to the \(q\)-th quadrature point.

Reimplemented from VolumeHandlerDG< dim >.

Definition at line 171 of file face_handler_DG.hpp.

◆ reinit()

template<unsigned int dim>
void FaceHandlerDG< dim >::reinit ( const typename dealii::DoFHandler< dim >::active_cell_iterator new_cell,
const unsigned int  new_edge 
)

Reinit objects on the current new_cell and new_edge.

Definition at line 129 of file face_handler_DG.hpp.

Member Data Documentation

◆ edge

template<unsigned int dim>
unsigned int FaceHandlerDG< dim >::edge
private

Index of the actual face.

Definition at line 52 of file face_handler_DG.hpp.

◆ fe_face_values

template<unsigned int dim>
std::unique_ptr<dealii::FEFaceValues<dim> > FaceHandlerDG< dim >::fe_face_values
private

Internal FEM basis class for face elements.

This internal member permits to exploit useful already implemented operations. The polynomial order is always 1 because it is only needed for geometric operations not related to the degrees of freedom.

Definition at line 64 of file face_handler_DG.hpp.

◆ QGLpoints_face

template<unsigned int dim>
const QGaussLegendreSimplex<dim - 1> FaceHandlerDG< dim >::QGLpoints_face
private

Quadrature formula for face elements.

Definition at line 58 of file face_handler_DG.hpp.

◆ tol

template<unsigned int dim>
const double FaceHandlerDG< dim >::tol = 1e-10
private

Default tolerance.

Definition at line 55 of file face_handler_DG.hpp.


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