Discontinuous Galerkin Library
#include "dg/algorithm.h"
Finite Element Methods
Collaboration diagram for Finite Element Methods:

Functions

template<class real_type >
dg::TriDiagonal< dg::HVec_t< real_type > > dg::create::fem_mass (const RealGrid1d< real_type > &g)
 \( S_{ij} = \frac{1}{w_i}\int v_i(x) v_j(x) \) finite element projection matrix More...
 
template<class real_type >
dg::TriDiagonal< dg::HVec_t< real_type > > dg::create::fem_linear2const (const RealGrid1d< real_type > &g)
 \( S_{ij} = \frac{1}{w_i}\int c_i(x) v_j(x) \) finite element projection matrix More...
 
template<class real_type >
dg::KroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::fem_mass (const aRealTopology2d< real_type > &g)
 \( S_{ij} = \frac{1}{w_i}\int v_i(x) v_j(x) \) finite element projection matrix More...
 
template<class real_type >
dg::InverseKroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::inv_fem_mass (const aRealTopology2d< real_type > &g)
 Inverse finite element mass matrix \( S^{-1} \). More...
 
template<class real_type >
dg::KroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::fem_linear2const (const aRealTopology2d< real_type > &g)
 \( S_{ij} = \frac{1}{w_i}\int c_i(x) v_j(x) \) finite element projection matrix More...
 
template<class real_type >
dg::InverseKroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::inv_fem_linear2const (const aRealTopology2d< real_type > &g)
 Inverse finite element mass matrix \( S^{-1} \). More...
 
template<class real_type >
dg::KroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::fem_mass2d (const aRealTopology3d< real_type > &g)
 \( S_{ij} = \frac{1}{w_i}\int v_i(x) v_j(x) \) finite element projection matrix More...
 
template<class real_type >
dg::InverseKroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::inv_fem_mass2d (const aRealTopology3d< real_type > &g)
 Inverse finite element mass matrix \( S^{-1} \). More...
 
template<class real_type >
dg::KroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::fem_linear2const2d (const aRealTopology3d< real_type > &g)
 \( S_{ij} = \frac{1}{w_i}\int c_i(x) v_j(x) \) finite element projection matrix More...
 
template<class real_type >
dg::InverseKroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::inv_fem_linear2const2d (const aRealTopology3d< real_type > &g)
 Inverse finite element mass matrix \( S^{-1} \). More...
 
template<class real_type >
thrust::host_vector< real_type > dg::create::fem_weights (const RealGrid1d< real_type > &g)
 finite element weight coefficients More...
 
template<class real_type >
thrust::host_vector< real_type > dg::create::fem_inv_weights (const RealGrid1d< real_type > &g)
 inverse finite element weight coefficients More...
 
template<class real_type >
thrust::host_vector< real_type > dg::create::fem_weights (const aRealTopology2d< real_type > &g)
 finite element weight coefficients More...
 
template<class real_type >
thrust::host_vector< real_type > dg::create::fem_inv_weights (const aRealTopology2d< real_type > &g)
 inverse finite element weight coefficients More...
 
template<class real_type >
thrust::host_vector< real_type > dg::create::fem_weights (const aRealTopology3d< real_type > &g)
 finite element weight coefficients More...
 
template<class real_type >
thrust::host_vector< real_type > dg::create::fem_inv_weights (const aRealTopology3d< real_type > &g)
 inverse finite element weight coefficients More...
 

Detailed Description

Function Documentation

◆ fem_inv_weights() [1/3]

template<class real_type >
thrust::host_vector< real_type > dg::create::fem_inv_weights ( const aRealTopology2d< real_type > &  g)

inverse finite element weight coefficients

Parameters
gThe grid
Returns
Host Vector
See also
Introduction to dg methods

◆ fem_inv_weights() [2/3]

template<class real_type >
thrust::host_vector< real_type > dg::create::fem_inv_weights ( const aRealTopology3d< real_type > &  g)

inverse finite element weight coefficients

Parameters
gThe grid
Returns
Host Vector
See also
Introduction to dg methods

◆ fem_inv_weights() [3/3]

template<class real_type >
thrust::host_vector< real_type > dg::create::fem_inv_weights ( const RealGrid1d< real_type > &  g)

inverse finite element weight coefficients

Parameters
gThe grid
Returns
Host Vector
See also
Introduction to dg methods

◆ fem_linear2const() [1/2]

template<class real_type >
dg::KroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::fem_linear2const ( const aRealTopology2d< real_type > &  g)

\( S_{ij} = \frac{1}{w_i}\int c_i(x) v_j(x) \) finite element projection matrix

where \( c_i\) are the constant finite elements and \( v_j\) are triangles

Template Parameters
real_typeThe value type
Parameters
gThe grid
Returns
Host Matrix
See also
Introduction to dg methods
Attention
No periodic boundary conditions

◆ fem_linear2const() [2/2]

template<class real_type >
dg::TriDiagonal< dg::HVec_t< real_type > > dg::create::fem_linear2const ( const RealGrid1d< real_type > &  g)

\( S_{ij} = \frac{1}{w_i}\int c_i(x) v_j(x) \) finite element projection matrix

where \( c_i\) are the constant finite elements and \( v_j\) are triangles

Template Parameters
real_typeThe value type
Parameters
gThe grid
Returns
Host Matrix
See also
Introduction to dg methods
Attention
No periodic boundary conditions

◆ fem_linear2const2d()

template<class real_type >
dg::KroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::fem_linear2const2d ( const aRealTopology3d< real_type > &  g)

\( S_{ij} = \frac{1}{w_i}\int c_i(x) v_j(x) \) finite element projection matrix

where \( c_i\) are the constant finite elements and \( v_j\) are triangles

Template Parameters
real_typeThe value type
Parameters
gThe grid
Returns
Host Matrix
See also
Introduction to dg methods
Attention
No periodic boundary conditions

◆ fem_mass() [1/2]

template<class real_type >
dg::KroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::fem_mass ( const aRealTopology2d< real_type > &  g)

\( S_{ij} = \frac{1}{w_i}\int v_i(x) v_j(x) \) finite element projection matrix

where \( v_j\) are triangle finite elements

Template Parameters
real_typeThe value type
Parameters
gThe grid
Returns
Host Matrix
See also
Introduction to dg methods
Attention
No periodic boundary conditions

◆ fem_mass() [2/2]

template<class real_type >
dg::TriDiagonal< dg::HVec_t< real_type > > dg::create::fem_mass ( const RealGrid1d< real_type > &  g)

\( S_{ij} = \frac{1}{w_i}\int v_i(x) v_j(x) \) finite element projection matrix

where \( v_j\) are triangle finite elements

Template Parameters
real_typeThe value type
Parameters
gThe grid
Returns
Host Matrix
See also
Introduction to dg methods
Attention
No periodic boundary conditions

◆ fem_mass2d()

template<class real_type >
dg::KroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::fem_mass2d ( const aRealTopology3d< real_type > &  g)

\( S_{ij} = \frac{1}{w_i}\int v_i(x) v_j(x) \) finite element projection matrix

where \( v_j\) are triangle finite elements

Template Parameters
real_typeThe value type
Parameters
gThe grid
Returns
Host Matrix
See also
Introduction to dg methods
Attention
No periodic boundary conditions

◆ fem_weights() [1/3]

template<class real_type >
thrust::host_vector< real_type > dg::create::fem_weights ( const aRealTopology2d< real_type > &  g)

finite element weight coefficients

These will emulate the trapezoidal rule for integration

Parameters
gThe grid
Returns
Host Vector
See also
Introduction to dg methods

◆ fem_weights() [2/3]

template<class real_type >
thrust::host_vector< real_type > dg::create::fem_weights ( const aRealTopology3d< real_type > &  g)

finite element weight coefficients

These will emulate the trapezoidal rule for integration

Parameters
gThe grid
Returns
Host Vector
See also
Introduction to dg methods

◆ fem_weights() [3/3]

template<class real_type >
thrust::host_vector< real_type > dg::create::fem_weights ( const RealGrid1d< real_type > &  g)

finite element weight coefficients

These will emulate the trapezoidal rule for integration

Parameters
gThe grid
Returns
Host Vector
See also
Introduction to dg methods

◆ inv_fem_linear2const()

template<class real_type >
dg::InverseKroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::inv_fem_linear2const ( const aRealTopology2d< real_type > &  g)

Inverse finite element mass matrix \( S^{-1} \).

Template Parameters
real_typeThe value type
Parameters
gThe grid
Returns
Host Matrix
See also
Introduction to dg methods
Attention
No periodic boundary conditions

◆ inv_fem_linear2const2d()

template<class real_type >
dg::InverseKroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::inv_fem_linear2const2d ( const aRealTopology3d< real_type > &  g)

Inverse finite element mass matrix \( S^{-1} \).

Template Parameters
real_typeThe value type
Parameters
gThe grid
Returns
Host Matrix
See also
Introduction to dg methods
Attention
No periodic boundary conditions

◆ inv_fem_mass()

template<class real_type >
dg::InverseKroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::inv_fem_mass ( const aRealTopology2d< real_type > &  g)

Inverse finite element mass matrix \( S^{-1} \).

Template Parameters
real_typeThe value type
Parameters
gThe grid
Returns
Host Matrix
See also
Introduction to dg methods
Attention
No periodic boundary conditions

◆ inv_fem_mass2d()

template<class real_type >
dg::InverseKroneckerTriDiagonal2d< dg::HVec_t< real_type > > dg::create::inv_fem_mass2d ( const aRealTopology3d< real_type > &  g)

Inverse finite element mass matrix \( S^{-1} \).

Template Parameters
real_typeThe value type
Parameters
gThe grid
Returns
Host Matrix
See also
Introduction to dg methods
Attention
No periodic boundary conditions