1#ifndef THESIS_ASSEMBLE_OFFSET_FUNCTION_H
2#define THESIS_ASSEMBLE_OFFSET_FUNCTION_H
10#include <lf/assemble/dofhandler.h>
11#include <lf/mesh/mesh.h>
12#include <lf/mesh/utils/mesh_data_set.h>
14#include <Eigen/Sparse>
39 std::shared_ptr<const lf::mesh::Mesh> mesh,
55 const std::shared_ptr<const lf::mesh::Mesh>
mesh_;
70 const std::shared_ptr<const lf::mesh::Mesh> &mesh,
75 const Eigen::SparseMatrix<double> &A);
A general (interface) class for DOF handling, see Lecture Document Paragraph 2.7.4....
Interface class representing a topological entity in a cellular complex
Local assembler for a matrix mapping boundary basis function coefficients to jumps.
const lf::mesh::utils::MeshDataSet< bool > & boundary_
Eigen::MatrixXd Eval(const lf::mesh::Entity &entity) const
Compute the element matrix for some triangle of the mesh.
const std::shared_ptr< const lf::mesh::Mesh > 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.