LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
offset_function.h
1#ifndef THESIS_ASSEMBLE_OFFSET_FUNCTION_H
2#define THESIS_ASSEMBLE_OFFSET_FUNCTION_H
3
10#include <lf/assemble/dofhandler.h>
11#include <lf/mesh/mesh.h>
12#include <lf/mesh/utils/mesh_data_set.h>
13
14#include <Eigen/Sparse>
15#include <functional>
16
17namespace projects::ipdg_stokes {
18
19namespace assemble {
20
32 public:
39 std::shared_ptr<const lf::mesh::Mesh> mesh,
41
47 Eigen::MatrixXd Eval(const lf::mesh::Entity &entity) const;
48
52 bool isActive(const lf::mesh::Entity &entity) const { return true; }
53
54 private:
55 const std::shared_ptr<const lf::mesh::Mesh> mesh_;
57};
58
69Eigen::VectorXd createOffsetFunction(
70 const std::shared_ptr<const lf::mesh::Mesh> &mesh,
72 const lf::assemble::DofHandler &dofh,
73 const std::function<Eigen::Vector2d(const lf::mesh::Entity &)>
74 &dirichlet_data,
75 const Eigen::SparseMatrix<double> &A);
76
77} // end namespace assemble
78
79} // end namespace projects::ipdg_stokes
80
81#endif // THESIS_ASSEMBLE_OFFSET_FUNCTION_H
A general (interface) class for DOF handling, see Lecture Document Paragraph 2.7.4....
Definition: dofhandler.h:109
Interface class representing a topological entity in a cellular complex
Definition: entity.h:39
Local assembler for a matrix mapping boundary basis function coefficients to jumps.
Eigen::MatrixXd Eval(const lf::mesh::Entity &entity) const
Compute the element matrix for some triangle of the mesh.
bool isActive(const lf::mesh::Entity &entity) const
All entities are regarded as active.
PiecewiseBoundaryNormalJumpAssembler(std::shared_ptr< const lf::mesh::Mesh > mesh, const lf::mesh::utils::MeshDataSet< bool > &boundary)
Constructor.
Eigen::VectorXd createOffsetFunction(const std::shared_ptr< const lf::mesh::Mesh > &mesh, const lf::mesh::utils::MeshDataSet< bool > &boundary, const lf::assemble::DofHandler &dofh, const std::function< Eigen::Vector2d(const lf::mesh::Entity &)> &dirichlet_data, const Eigen::SparseMatrix< double > &A)
Compute the offset function for given boundary conditions.