LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
Public Member Functions | List of all members
projects::hldo_sphere::assemble::WhitneyOneMassMatrixProvider Class Reference

Element matrix provider for the Whitney one mass matrix that is the dot product of two Whitney one basis functions. More...

#include </home/nico/bildung/SemVI/thesis/lehrfempp/projects/hldo_sphere/assemble/whitney_one_mass_matrix_provider.h>

Public Member Functions

 WhitneyOneMassMatrixProvider ()
 Constructor. More...
 
Eigen::MatrixXd Eval (const lf::mesh::Entity &entity) const
 Compute the element matrix for a given cell of a mesh. More...
 
bool isActive (const lf::mesh::Entity &entity) const
 All entities are regarded as active. More...
 

Detailed Description

Element matrix provider for the Whitney one mass matrix that is the dot product of two Whitney one basis functions.

The element matrix provider works in a 3 dimensional world with 2 dimensional triangular cells.

\[ (\textbf{u}, \textbf{v}) \mapsto \int\limits_{K} \textbf{u} \cdot \textbf{v} dx \]

The whitney 1-forms, surface edge elements are associated with edges and defined as

\[ \mathbf{b}_i = s_i (\lambda_i \mathbf{grad}_{\Gamma}(\lambda_{i+1}) - \lambda_{i+1} \mathbf{grad}_{\Gamma}(\lambda_{i})) \]

with \( \lambda_i \) barycentric basis functions and \( s_i \) is a sign of the function based on the relative orientation of the edge in the mesh.

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.5.

Note
This class complies with the type requirements for the template argument ENTITY_MATRIX_PROVIDER of the function lf::assemble::AssembleMatrixLocally().
Only triangular meshes are supported

Definition at line 50 of file whitney_one_mass_matrix_provider.h.

Constructor & Destructor Documentation

◆ WhitneyOneMassMatrixProvider()

projects::hldo_sphere::assemble::WhitneyOneMassMatrixProvider::WhitneyOneMassMatrixProvider ( )
inline

Constructor.

Definition at line 55 of file whitney_one_mass_matrix_provider.h.

Member Function Documentation

◆ Eval()

Eigen::MatrixXd projects::hldo_sphere::assemble::WhitneyOneMassMatrixProvider::Eval ( const lf::mesh::Entity entity) const

Compute the element matrix for a given cell of a mesh.

Parameters
entityThe mesh cell to compute the element matrix for
Returns
The 3 by 3 element matrix of the cell
Note
Only triangular cells are supported

Definition at line 11 of file whitney_one_mass_matrix_provider.cc.

References lf::mesh::Entity::Geometry(), lf::geometry::Geometry::Global(), lf::uscalfe::FeLagrangeO1Tria< SCALAR >::GradientsReferenceShapeFunctions(), lf::base::RefEl::kTria(), lf::base::RefEl::NodeCoords(), lf::mesh::Entity::RefEl(), lf::mesh::Entity::RelativeOrientations(), lf::mesh::to_sign(), and lf::geometry::Volume().

◆ isActive()

bool projects::hldo_sphere::assemble::WhitneyOneMassMatrixProvider::isActive ( const lf::mesh::Entity entity) const
inline

All entities are regarded as active.

Definition at line 69 of file whitney_one_mass_matrix_provider.h.


The documentation for this class was generated from the following files: