Namespaces | Functions
elliptic::dg Namespace Reference

Functionality related to discontinuous Galerkin discretizations of elliptic equations. More...

Namespaces

 NumericalFluxes
 Numerical fluxes for elliptic systems.
 
 OptionTags
 Option tags related to elliptic discontinuous Galerkin schemes.
 
 Tags
 DataBox tags related to elliptic discontinuous Galerkin schemes.
 

Functions

template<typename DirichletTags , typename TagsList >
void homogeneous_dirichlet_boundary_conditions (const gsl::not_null< Variables< TagsList > * > exterior_vars, const Variables< TagsList > &interior_vars) noexcept
 Set the exterior_vars so that they represent homogeneous (zero) Dirichlet boundary conditions. More...
 
DataVector penalty (const DataVector &element_size, size_t num_points, double penalty_parameter) noexcept
 The penalty factor in internal penalty fluxes. More...
 

Detailed Description

Functionality related to discontinuous Galerkin discretizations of elliptic equations.

Function Documentation

◆ homogeneous_dirichlet_boundary_conditions()

template<typename DirichletTags , typename TagsList >
void elliptic::dg::homogeneous_dirichlet_boundary_conditions ( const gsl::not_null< Variables< TagsList > * >  exterior_vars,
const Variables< TagsList > &  interior_vars 
)
noexcept

Set the exterior_vars so that they represent homogeneous (zero) Dirichlet boundary conditions.

To impose homogeneous Dirichlet boundary conditions we mirror the interior_vars and invert their sign. Variables that are not in the DirichletTags list are mirrored without changing their sign, so no boundary conditions are imposed on them.

◆ penalty()

DataVector elliptic::dg::penalty ( const DataVector element_size,
size_t  num_points,
double  penalty_parameter 
)
noexcept

The penalty factor in internal penalty fluxes.

The penalty factor is computed as

\begin{equation} \sigma = C \frac{N_\text{points}^2}{h} \end{equation}

where \(N_\text{points} = 1 + N_p\) is the number of points (or one plus the polynomial degree) and \(h\) is a measure of the element size. Both quantities are taken perpendicular to the face of the DG element that the penalty is being computed on. \(C\) is the "penalty parameter". For details see section 7.2 in [43].