LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
Class to evaluate element matrices for DPG methods. More...
#include </home/nico/bildung/SemVI/thesis/lehrfempp/projects/dpg/dpg_element_matrix_provider.h>
Public Types | |
using | elem_mat_t = typename ProductElementMatrixProvider< SCALAR >::elem_mat_t |
internal type for element matrices More... | |
using | ElemMat = typename ProductElementMatrixProvider< SCALAR >::ElemMat |
Public Member Functions | |
DpgElementMatrixProvider (const DpgElementMatrixProvider &)=delete | |
standard constructors More... | |
DpgElementMatrixProvider (DpgElementMatrixProvider &&) noexcept=default | |
DpgElementMatrixProvider & | operator= (const DpgElementMatrixProvider &)=delete |
DpgElementMatrixProvider & | operator= (DpgElementMatrixProvider &&)=delete |
DpgElementMatrixProvider (std::shared_ptr< ProductElementMatrixProvider< SCALAR > > extendedStiffnessMatrixProvider, std::shared_ptr< ProductElementMatrixProvider< SCALAR > > gramianProvider) | |
main constructor More... | |
virtual bool | isActive (const lf::mesh::Entity &) |
All cells are considered active in the default implementation. More... | |
ElemMat | Eval (const lf::mesh::Entity &cell) |
main routine for the computation of DPG element matrices More... | |
virtual | ~DpgElementMatrixProvider ()=default |
Private Attributes | |
std::shared_ptr< ProductElementMatrixProvider< SCALAR > > | extendedStiffnessMatrixProvider_ |
std::shared_ptr< ProductElementMatrixProvider< SCALAR > > | gramianProvider_ |
Class to evaluate element matrices for DPG methods.
SCALAR | type for the entries of the element matrix. Usually 'double'. |
This class evaluates the DPG element matrix associated to a practical DPG method
In an abstract setting to evaluate the DPG element matrix the following ingredients are needed
The practical DPG method can be implemented by computing a DPG element matrix . If \( \{ b^1_u \dots b^{Q_U}_u \} \) denote the local shape functions of \( U_h \) and \( \{ b^2_v \dots b^{Q_V}_v \} \) denote the local shape functiosn of \( V^R \) on an elment \( K \), the computation of the DPG element matrix boils down to
Definition at line 52 of file dpg_element_matrix_provider.h.
using projects::dpg::DpgElementMatrixProvider< SCALAR >::elem_mat_t = typename ProductElementMatrixProvider<SCALAR>::elem_mat_t |
internal type for element matrices
Definition at line 55 of file dpg_element_matrix_provider.h.
using projects::dpg::DpgElementMatrixProvider< SCALAR >::ElemMat = typename ProductElementMatrixProvider<SCALAR>::ElemMat |
Return type of the Eval() method
Definition at line 57 of file dpg_element_matrix_provider.h.
|
delete |
standard constructors
|
defaultnoexcept |
|
inline |
main constructor
extendedStiffnessMatrixProvider | evaluates the extended element stiffness matrix \( B \) |
gramianProvider | evaluates the local Gramian matrix \( G \) |
Definition at line 72 of file dpg_element_matrix_provider.h.
|
virtualdefault |
DpgElementMatrixProvider< SCALAR >::ElemMat projects::dpg::DpgElementMatrixProvider< SCALAR >::Eval | ( | const lf::mesh::Entity & | cell | ) |
main routine for the computation of DPG element matrices
cell | reference to the cell for which the DPG element matrix should be computed |
Definition at line 116 of file dpg_element_matrix_provider.h.
|
inlinevirtual |
All cells are considered active in the default implementation.
This method is meant to be overloaded if assembly should be restricted to a subset of cells.
Definition at line 86 of file dpg_element_matrix_provider.h.
|
delete |
|
delete |
|
private |
A ProductElementMatrixProvider that evaluates the extended element stiffness matrix \(B\)
Definition at line 102 of file dpg_element_matrix_provider.h.
|
private |
A ProductElementMatrixProvider that evaluates the local Gramian \( G \)
Definition at line 105 of file dpg_element_matrix_provider.h.