LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
Local computation of general element (load) vector for scalar finite elements; volume contributions only. More...
#include <lf/uscalfe/uscalfe.h>
Public Types | |
using | scalar_t |
Scalar type of the element matrix. | |
using | ElemVec = Eigen::Matrix<scalar_t, Eigen::Dynamic, 1> |
Public Member Functions | |
ScalarLoadElementVectorProvider (std::shared_ptr< const UniformScalarFESpace< SCALAR > > fe_space, MESH_FUNCTION f) | |
Constructor, performs precomputations. | |
ScalarLoadElementVectorProvider (std::shared_ptr< const UniformScalarFESpace< SCALAR > > fe_space, MESH_FUNCTION f, quad_rule_collection_t qr_collection) | |
Constructor, performs precomputations based on user-supplied quadrature rules. | |
virtual bool | isActive (const lf::mesh::Entity &) |
Default implement: all cells are active. | |
ElemVec | Eval (const lf::mesh::Entity &cell) |
virtual | ~ScalarLoadElementVectorProvider ()=default |
standard constructors | |
ScalarLoadElementVectorProvider (const ScalarLoadElementVectorProvider &)=delete | |
ScalarLoadElementVectorProvider (ScalarLoadElementVectorProvider &&) noexcept=default | |
ScalarLoadElementVectorProvider & | operator= (const ScalarLoadElementVectorProvider &)=delete |
ScalarLoadElementVectorProvider & | operator= (ScalarLoadElementVectorProvider &&)=delete |
Private Attributes | |
MESH_FUNCTION | f_ |
An object providing the source function. | |
std::array< PrecomputedScalarReferenceFiniteElement< SCALAR >, 5 > | fe_precomp_ |
Local computation of general element (load) vector for scalar finite elements; volume contributions only.
SCALAR | Scalar type of the Finite Element Space. |
MESH_FUNCTION | MeshFunction which defines the source function \( f \) |
The underlying local linear form is
\[ v \mapsto \int_K f(\mathbf{x})\,\overline{v(\mathbf{x})}\,\mathrm{d}\mathbf{x}\;, \]
where \(f\) is supposed to be a locally continuous source function.
Computation is based on a quadrature rules supplied by the LehrFEM++ lf::quad::QuadRule module.
This class complies with the requirements for the template parameter ELEM_VEC_COMP
of the function AssembleVectorLocally().
This class logs additional information to ScalarLoadElementVectorProvider(). See Loggers and Debug output for more information.
Definition at line 563 of file loc_comp_ellbvp.h.
using lf::uscalfe::ScalarLoadElementVectorProvider< SCALAR, MESH_FUNCTION >::ElemVec = Eigen::Matrix<scalar_t, Eigen::Dynamic, 1> |
Definition at line 570 of file loc_comp_ellbvp.h.
using lf::uscalfe::ScalarLoadElementVectorProvider< SCALAR, MESH_FUNCTION >::scalar_t |
Scalar type of the element matrix.
Definition at line 566 of file loc_comp_ellbvp.h.
|
delete |
|
defaultnoexcept |
lf::uscalfe::ScalarLoadElementVectorProvider< SCALAR, MESH_FUNCTION >::ScalarLoadElementVectorProvider | ( | std::shared_ptr< const UniformScalarFESpace< SCALAR > > | fe_space, |
MESH_FUNCTION | f ) |
Constructor, performs precomputations.
fe_space | specification of local shape functions |
f | functor object for source function |
Uses quadrature rule of double the degree of exactness compared to the degree of the finite element space.
Definition at line 639 of file loc_comp_ellbvp.h.
References lf::uscalfe::ScalarLoadElementVectorProvider< SCALAR, MESH_FUNCTION >::fe_precomp_, lf::base::RefEl::kQuad(), lf::base::RefEl::kTria(), and lf::quad::make_QuadRule().
lf::uscalfe::ScalarLoadElementVectorProvider< SCALAR, MESH_FUNCTION >::ScalarLoadElementVectorProvider | ( | std::shared_ptr< const UniformScalarFESpace< SCALAR > > | fe_space, |
MESH_FUNCTION | f, | ||
quad_rule_collection_t | qr_collection ) |
Constructor, performs precomputations based on user-supplied quadrature rules.
fe_space | specification of local shape functions |
f | functor object for source function |
qr_collection | collection of quadrature rule. |
Definition at line 659 of file loc_comp_ellbvp.h.
References lf::uscalfe::ScalarLoadElementVectorProvider< SCALAR, MESH_FUNCTION >::fe_precomp_, lf::base::RefEl::kQuad(), lf::base::RefEl::kTria(), and lf::quad::QuadRule::RefEl().
|
virtualdefault |
ScalarLoadElementVectorProvider< SCALAR, MESH_FUNCTION >::ElemVec lf::uscalfe::ScalarLoadElementVectorProvider< SCALAR, MESH_FUNCTION >::Eval | ( | const lf::mesh::Entity & | cell | ) |
|
inlinevirtual |
Default implement: all cells are active.
Definition at line 607 of file loc_comp_ellbvp.h.
|
delete |
|
delete |
|
private |
An object providing the source function.
Definition at line 621 of file loc_comp_ellbvp.h.
|
private |