LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
Interface class providing element vectors associated with linear forms of a component of a cartesian/product space. More...
#include </home/nico/bildung/SemVI/thesis/lehrfempp/projects/dpg/sub_element_vector_provider.h>
Public Types | |
using | size_type = lf::uscalfe::size_type |
using | elem_vec_t = Eigen::Matrix< SCALAR, Eigen::Dynamic, 1 > |
internal type for element vectors More... | |
using | ElemVec = elem_vec_t |
Public Member Functions | |
SubElementVectorProvider ()=default | |
virtual | ~SubElementVectorProvider ()=default |
SubElementVectorProvider (const SubElementVectorProvider &)=delete | |
SubElementVectorProvider (SubElementVectorProvider &&) noexcept=default | |
SubElementVectorProvider & | operator= (const SubElementVectorProvider &)=delete |
SubElementVectorProvider & | operator= (SubElementVectorProvider &&)=delete |
virtual bool | isActive (const lf::mesh::Entity &) |
All cells are considered active in the default implementation. More... | |
virtual ElemVec | Eval (const lf::mesh::Entity &cell)=0 |
main routine for the computation of (sub) element vectors More... | |
virtual size_type | TestComponent () const =0 |
returns the index of the test space component \( v_{j_k} \) which is the test space for the linear form \( l_k \) More... | |
Interface class providing element vectors associated with linear forms of a component of a cartesian/product space.
SCALAR | type for the entries of the elemnt matrices. Ususlly 'double' |
ELEM_VEC_COMP
of the function AssembleVectorLocally().This class provides sub element vectors used to construct element vectors associated to linear forms \( l: V \rightarrow \mathbb R \) on a product space (c.f. ProductUniformFEDofHandler, ProductUniformFESpace)
\[ V = V_0 \times V_1 \times \dots \times V_{m-1} \]
that have the following structure
\[ l((v_1, \dots v_{m-1})) = \sum_{k} l_k(v_{j_k}) \]
with
\[ l_k : V_{j_k} \rightarrow \mathbb{R} \]
This class allows the evaluation of element vectors associated to such "building block" linear forms \( l_k \) and provides information about the occuring component \( v_{j_k} \). Using this information, the evaluated element vectors are used as sub vectors to construct the element matrix associated to the linear form \( l \) in the class ProductElementVectorProvider.
Definition at line 51 of file sub_element_vector_provider.h.
using projects::dpg::SubElementVectorProvider< SCALAR >::elem_vec_t = Eigen::Matrix<SCALAR, Eigen::Dynamic, 1> |
internal type for element vectors
Definition at line 55 of file sub_element_vector_provider.h.
using projects::dpg::SubElementVectorProvider< SCALAR >::ElemVec = elem_vec_t |
Return type of the Eval() method
Definition at line 57 of file sub_element_vector_provider.h.
using projects::dpg::SubElementVectorProvider< SCALAR >::size_type = lf::uscalfe::size_type |
Definition at line 53 of file sub_element_vector_provider.h.
|
default |
|
virtualdefault |
|
delete |
|
defaultnoexcept |
|
pure virtual |
main routine for the computation of (sub) element vectors
cell | refernce to the cell for which the (sub) element vector should be computed |
Implemented in projects::dpg::LoadElementVectorProvider< SCALAR, FUNCTOR >.
|
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 73 of file sub_element_vector_provider.h.
|
delete |
|
delete |
|
pure virtual |
returns the index of the test space component \( v_{j_k} \) which is the test space for the linear form \( l_k \)
Implemented in projects::dpg::LoadElementVectorProvider< SCALAR, FUNCTOR >.