LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
Public Member Functions | Private Attributes | List of all members
projects::hldo_sphere::assemble::WhitneyTwoVectorProvider< SCALAR > Class Template Reference

Element vector provider for piecewise constant whitney two forms. More...

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

Public Member Functions

 WhitneyTwoVectorProvider (const std::function< SCALAR(const Eigen::Vector3d &)> &f)
 Constructor. More...
 
Eigen::Matrix< SCALAR, Eigen::Dynamic, 1 > Eval (const lf::mesh::Entity &entity) const
 Compute the element vector for some trinagle of 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_
 

Detailed Description

template<typename SCALAR>
class projects::hldo_sphere::assemble::WhitneyTwoVectorProvider< SCALAR >

Element vector provider for piecewise constant whitney two forms.

Template Parameters
SCALARcodomain type of the laodfunction

The linear form is given by

\[ \int\limits_K\! f\, q \,\mathrm{d}x, \quad f, q \in L^2(\partial \mathbb{S}) \]

As basis functions for q we use the cellwise constant functions.

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

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

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

Definition at line 49 of file whitney_two_vector_provider.h.

Constructor & Destructor Documentation

◆ WhitneyTwoVectorProvider()

template<typename SCALAR >
projects::hldo_sphere::assemble::WhitneyTwoVectorProvider< SCALAR >::WhitneyTwoVectorProvider ( const std::function< SCALAR(const Eigen::Vector3d &)> &  f)
inline

Constructor.

Parameters
fA scalar valued function defined on the surface of the sphere linear form

Definition at line 56 of file whitney_two_vector_provider.h.

Member Function Documentation

◆ Eval()

template<typename SCALAR >
Eigen::Matrix< SCALAR, Eigen::Dynamic, 1 > projects::hldo_sphere::assemble::WhitneyTwoVectorProvider< SCALAR >::Eval ( const lf::mesh::Entity entity) const
inline

Compute the element vector for some trinagle of the mesh.

Parameters
entityThe mesh triangle to compute the element vector for
Returns
The element vector of the given triangle
Note
Only triangular cells are supported

Definition at line 67 of file whitney_two_vector_provider.h.

References projects::hldo_sphere::assemble::WhitneyTwoVectorProvider< SCALAR >::f_, lf::mesh::Entity::Geometry(), lf::base::RefEl::kTria(), lf::quad::make_TriaQR_EdgeMidpointRule(), lf::base::RefEl::NodeCoords(), and lf::mesh::Entity::RefEl().

◆ isActive()

template<typename SCALAR >
bool projects::hldo_sphere::assemble::WhitneyTwoVectorProvider< SCALAR >::isActive ( const lf::mesh::Entity entity) const
inline

All entities are regarded as active.

Definition at line 104 of file whitney_two_vector_provider.h.

Member Data Documentation

◆ f_

template<typename SCALAR >
const std::function<SCALAR(const Eigen::Vector3d &)> projects::hldo_sphere::assemble::WhitneyTwoVectorProvider< SCALAR >::f_
private

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