LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
Class for computation of local load vector for linear finite elements. More...
#include <lf/uscalfe/uscalfe.h>
Public Types | |
using | ElemVec = Eigen::Matrix< SCALAR, 4, 1 > |
Public Member Functions | |
LinearFELocalLoadVector (FUNCTOR f) | |
Constructor storing the right hand side function. More... | |
virtual bool | isActive (const lf::mesh::Entity &) const |
Default implement: all cells are active. More... | |
ElemVec | Eval (const lf::mesh::Entity &cell) const |
Main method for computing the element vector. More... | |
Private Attributes | |
FUNCTOR | f_ |
Class for computation of local load vector for linear finite elements.
FUNCTOR | object compatible with a MeshFunction type. This means that is must supply an evaluation operator of signature Interface class representing a topological entity in a cellular complex Definition: entity.h:39 |
Computations employ edge midpoint quadrature.
Eval()
method will always have length 4 also for triangles.This class complies with the requirements for the template parameter ENTITY_VECTOR_PROVIDER
of the function AssembleVectorLocally().
TODO: Adjust size of vector returned.
This class logs additional information to LinearFeLocalLoadVectorLogger(). See Loggers and Debug output for more information.
using lf::uscalfe::LinearFELocalLoadVector< SCALAR, FUNCTOR >::ElemVec = Eigen::Matrix<SCALAR, 4, 1> |
|
inlineexplicit |
LinearFELocalLoadVector< SCALAR, FUNCTOR >::ElemVec lf::uscalfe::LinearFELocalLoadVector< SCALAR, FUNCTOR >::Eval | ( | const lf::mesh::Entity & | cell | ) | const |
Main method for computing the element vector.
cell | current cell for which the element vector is desired |
The implementation uses simple edge midpoint based quadrature and an approximation of the volume of a cell just using the integration element at the barycenter.
Definition at line 164 of file lin_fe.h.
References lf::geometry::Geometry::DimGlobal(), lf::geometry::Geometry::DimLocal(), lf::mesh::Entity::Geometry(), lf::geometry::Geometry::Global(), lf::base::RefEl::kQuad(), lf::base::RefEl::kTria(), lf::uscalfe::LinearFeLocalLoadVectorLogger(), lf::base::RefEl::NumNodes(), lf::mesh::Entity::RefEl(), and lf::geometry::Volume().
|
inlinevirtual |
|
private |