LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
Class to evaluate element vectors of DPG methods. More...
#include </home/nico/bildung/SemVI/thesis/lehrfempp/projects/dpg/dpg_element_vector_provider.h>
Public Types | |
using | elem_vec_t = typename ProductElementVectorProvider< SCALAR >::elem_vec_t |
internal type for element vectors More... | |
using | ElemVec = typename ProductElementVectorProvider< SCALAR >::ElemVec |
Return type of the Eval() method. More... | |
using | ElemMat = typename ProductElementMatrixProvider< SCALAR >::ElemMat |
return type of the Eval() method of the ProductElementMatrixProvider class More... | |
Public Member Functions | |
DpgElementVectorProvider (const DpgElementVectorProvider &)=delete | |
standard constructors More... | |
DpgElementVectorProvider (DpgElementVectorProvider &&) noexcept=default | |
DpgElementVectorProvider & | operator= (const DpgElementVectorProvider &)=delete |
DpgElementVectorProvider & | operator= (DpgElementVectorProvider &&)=delete |
DpgElementVectorProvider (std::shared_ptr< ProductElementVectorProvider< SCALAR > > extendedLoadVectorProvider, 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... | |
ElemVec | Eval (const lf::mesh::Entity &cell) |
main routine for the computation of DPG element vectors More... | |
virtual | ~DpgElementVectorProvider ()=default |
Private Attributes | |
std::shared_ptr< ProductElementVectorProvider< SCALAR > > | extendedLoadVectorProvider_ |
std::shared_ptr< ProductElementMatrixProvider< SCALAR > > | extendedStiffnessMatrixProvider_ |
std::shared_ptr< ProductElementMatrixProvider< SCALAR > > | gramianProvider_ |
Class to evaluate element vectors of DPG methods.
SCALAR | type for the entries of the element matrix. Usually 'double'. |
ELEM_VEC_COMP
of the function lf::assemble::AssembleVectorLocally().This class evaluates the DPG element vector associated to a practical DPG method
In an abstract setting to evaluate the DPG element vector the following ingredients are needed
The practical DPG method can be implemented by computing a DPG element vector. 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 vector boils down to
Definition at line 56 of file dpg_element_vector_provider.h.
using projects::dpg::DpgElementVectorProvider< SCALAR >::elem_vec_t = typename ProductElementVectorProvider<SCALAR>::elem_vec_t |
internal type for element vectors
Definition at line 59 of file dpg_element_vector_provider.h.
using projects::dpg::DpgElementVectorProvider< SCALAR >::ElemMat = typename ProductElementMatrixProvider<SCALAR>::ElemMat |
return type of the Eval() method of the ProductElementMatrixProvider class
Definition at line 64 of file dpg_element_vector_provider.h.
using projects::dpg::DpgElementVectorProvider< SCALAR >::ElemVec = typename ProductElementVectorProvider<SCALAR>::ElemVec |
Return type of the Eval() method.
Definition at line 61 of file dpg_element_vector_provider.h.
|
delete |
standard constructors
|
defaultnoexcept |
|
inline |
main constructor
extendedLoadVectorProvider | evaluates the extended element load vector \( l \) |
extendedStiffnessMatrixProvider | evaluates the extended element stiffness matrix \(B \) |
gramianProvider | evaluates the local Gramian \( G \) |
Definition at line 81 of file dpg_element_vector_provider.h.
|
virtualdefault |
DpgElementVectorProvider< SCALAR >::ElemVec projects::dpg::DpgElementVectorProvider< SCALAR >::Eval | ( | const lf::mesh::Entity & | cell | ) |
main routine for the computation of DPG element vectors
cell | refernce to the cell for which the DPG element vector should be computed |
Definition at line 132 of file dpg_element_vector_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 98 of file dpg_element_vector_provider.h.
|
delete |
|
delete |
|
private |
A ProductElementVectorProvider, that evaluates the extended load vector l
Definition at line 114 of file dpg_element_vector_provider.h.
|
private |
A ProductElementMatrixProvider, that evaluates the extended element stiffness matrix B
Definition at line 118 of file dpg_element_vector_provider.h.
|
private |
A ProductElementMatrixProvider, that evaluates the local Gramian G
Definition at line 120 of file dpg_element_vector_provider.h.