LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
Element Vector Provider for scalar valued load functions using picewise linear barycentric basis functions. More...
#include </home/nico/bildung/SemVI/thesis/lehrfempp/projects/hldo_sphere/assemble/load_vector_provider.h>
Public Member Functions | |
LoadVectorProvider (const std::function< SCALAR(const Eigen::Vector3d &)> &f) | |
Constructor setting the load function. More... | |
Eigen::Matrix< SCALAR, Eigen::Dynamic, 1 > | Eval (const lf::mesh::Entity &entity) const |
Compute the element vector for some cell on the mesh. More... | |
bool | isActive (const lf::mesh::Entity &entity) const |
All entities are regarded as active. More... | |
Private Attributes | |
const std::function< SCALAR(const Eigen::Vector3d &)> | f_ |
Element Vector Provider for scalar valued load functions using picewise linear barycentric basis functions.
The element matrix provider works in a 3 dimensional world with 2 dimensional triangular cells.
SCALAR | either double or std::complex |
The locally evaluated linear form is
\[ v \mapsto \int\limits_{K}\ f(\mathbf{x}) \cdot v(\mathbf{x}) \, dx, \quad f, v \in H^1(\Omega) \]
Details regarding the mathematical derivations can be found in the thesis Hodge-Laplacians and Dirac Operators on the Surface of the 3-Sphere
section 4.2.3.
Definition at line 49 of file load_vector_provider.h.
|
inline |
Constructor setting the load function.
f | a SCALAR valued functor defined on the Mesh on which Eval() will be called |
Definition at line 59 of file load_vector_provider.h.
|
inline |
Compute the element vector for some cell on the mesh.
entity | the mesh cell to compute the element vector for |
Definition at line 69 of file load_vector_provider.h.
References lf::uscalfe::FeLagrangeO1Tria< SCALAR >::EvalReferenceShapeFunctions(), projects::hldo_sphere::assemble::LoadVectorProvider< SCALAR >::f_, lf::mesh::Entity::Geometry(), lf::base::RefEl::kTria(), lf::quad::make_TriaQR_EdgeMidpointRule(), lf::base::RefEl::NodeCoords(), and lf::mesh::Entity::RefEl().
|
inline |
All entities are regarded as active.
Definition at line 116 of file load_vector_provider.h.
|
private |
Definition at line 119 of file load_vector_provider.h.
Referenced by projects::hldo_sphere::assemble::LoadVectorProvider< SCALAR >::Eval().