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

Element matrix provider Whitney one forms, surface vector fields. More...

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

Public Member Functions

 WhitneyOneGradMatrixProvider ()
 Constructor. More...
 
Eigen::MatrixXd Eval (const lf::mesh::Entity &entity) const
 Compute the element matrix for some 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 Whitney one forms, surface vector fields.

The element matrix provider works in a 3 dimensional world with 2 dimensional triangular cells. And evaluates the bilinear form

\[ (u, \mathbf{v}) \mapsto \int\limits_K \mathbf{grad}_{\Gamma}(u) \, \mathbf{v} \ dx \]

Basis functions are the Whitney 1-forms, surface edge elements for \(\mathbf{v}\) and the barycentric basis functions for \(u\)

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

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

Definition at line 51 of file whitney_one_grad_matrix_provider.h.

Constructor & Destructor Documentation

◆ WhitneyOneGradMatrixProvider()

projects::hldo_sphere::assemble::WhitneyOneGradMatrixProvider::WhitneyOneGradMatrixProvider ( )
inline

Constructor.

Definition at line 56 of file whitney_one_grad_matrix_provider.h.

Member Function Documentation

◆ Eval()

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

Compute the element matrix for some 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 triangluar cells are supported

Definition at line 11 of file whitney_one_grad_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::WhitneyOneGradMatrixProvider::isActive ( const lf::mesh::Entity entity) const
inline

All entities are regarded as active.

Definition at line 70 of file whitney_one_grad_matrix_provider.h.


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