LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
|
Computing the element matrix for the (negative) Laplacian and linear finite elements. More...
#include <lf/uscalfe/uscalfe.h>
Public Types | |
using | ElemMat = Eigen::Matrix<double, 4, 4> |
Public Member Functions | |
LinearFELaplaceElementMatrix ()=default | |
Idle constructor. | |
virtual bool | isActive (const lf::mesh::Entity &) const |
All cells are considered active in the default implementation. | |
ElemMat | Eval (const lf::mesh::Entity &cell) const |
main routine for the computation of element matrices | |
Static Public Member Functions | |
static std::shared_ptr< spdlog::logger > & | Logger () |
Used by LinearFELaplaceElementMatrix to log additional (debug) info. | |
Static Private Member Functions | |
static Eigen::Matrix< double, 4, 2 > | DervRefShapFncts (const Eigen::Vector2d &xh) |
Private Attributes | |
const double | kSqrt3 = 1.0 / std::sqrt(3.0) |
quadrature points on reference quadrilateral | |
const double | kZeta_0 = 0.5 - 0.5 * kSqrt3 |
const double | kZeta_1 = 0.5 + 0.5 * kSqrt3 |
const std::array< Eigen::Vector2d, 4 > | kQuadPoints |
const Eigen::Matrix< double, 2, 1 > | kTriabc |
const Eigen::Matrix< double, 2, 1 > | kQuadpt |
Computing the element matrix for the (negative) Laplacian and linear finite elements.
The main purpose of this class is to compute the element matrix for the Laplacian on affine triangles or bilinearly mapped quadrilaterals. These element matrices are provided by the Eval()
method.
Eval()
method will always return a reference to a 4x4 matrix also for triangles. In this case the last row and column must be ignored.This class complies with the requirements for the type ENTITY_MATRIX_PROVIDER
given as a template parameter to define an incarnation of the function Cell-Oriented Assembly of Galerkin Matrices .
using lf::uscalfe::LinearFELaplaceElementMatrix::ElemMat = Eigen::Matrix<double, 4, 4> |
|
default |
Idle constructor.
|
staticprivate |
LinearFELaplaceElementMatrix::ElemMat lf::uscalfe::LinearFELaplaceElementMatrix::Eval | ( | const lf::mesh::Entity & | cell | ) | const |
main routine for the computation of element matrices
cell | reference to the (triangular or quadrilateral) cell for which the element matrix should be computed. |
Definition at line 39 of file lin_fe.cc.
References DervRefShapFncts(), lf::geometry::Geometry::DimGlobal(), lf::geometry::Geometry::DimLocal(), lf::mesh::Entity::Geometry(), lf::geometry::Geometry::Global(), lf::geometry::Geometry::IntegrationElement(), lf::geometry::Geometry::JacobianInverseGramian(), lf::base::RefEl::kQuad(), kQuadPoints, kQuadpt, lf::base::RefEl::kTria(), kTriabc, Logger(), and lf::mesh::Entity::RefEl().
|
inlinevirtual |
|
static |
Used by LinearFELaplaceElementMatrix to log additional (debug) info.
Definition at line 21 of file lin_fe.cc.
References lf::base::InitLogger().
Referenced by Eval().
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |