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

Classes

struct  dg::InverseTriDiagonal< value_type >
 DEPRECATED/UNTESTED Fast inverse tridiagonal sparse matrix. More...
 
struct  dg::KroneckerTriDiagonal2d< Container >
 Fast tridiagonal sparse matrix in 2d \( T_y\otimes T_x\). More...
 
struct  dg::InverseKroneckerTriDiagonal2d< Container >
 Fast inverse tridiagonal sparse matrix in 2d \( T_y^{-1}\otimes T_x^{-1}\). More...
 

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
 
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
 
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
 
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<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
 
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<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
 
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<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
 
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<class real_type >
thrust::host_vector< real_type > dg::create::fem_weights (const RealGrid1d< real_type > &g)
 finite element weight coefficients
 
template<class real_type >
thrust::host_vector< real_type > dg::create::fem_inv_weights (const RealGrid1d< real_type > &g)
 inverse finite element weight coefficients
 
template<class real_type >
thrust::host_vector< real_type > dg::create::fem_weights (const aRealTopology2d< real_type > &g)
 finite element weight coefficients
 
template<class real_type >
thrust::host_vector< real_type > dg::create::fem_inv_weights (const aRealTopology2d< real_type > &g)
 inverse finite element weight coefficients
 
template<class real_type >
thrust::host_vector< real_type > dg::create::fem_weights (const aRealTopology3d< real_type > &g)
 finite element weight coefficients
 
template<class real_type >
thrust::host_vector< real_type > dg::create::fem_inv_weights (const aRealTopology3d< real_type > &g)
 inverse finite element weight coefficients
 

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