LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
sphere_triag_mesh_builder.h
1#ifndef HLDO_SPHERE_MESH_BUILDER_H
2#define HLDO_SPHERE_MESH_BUILDER_H
3
9#define _USE_MATH_DEFINES
10
11#include <lf/mesh/mesh.h>
12
13namespace projects::hldo_sphere {
14
18namespace mesh {
19
34 public:
41 std::unique_ptr<lf::mesh::MeshFactory> mesh_factory)
42 : radius_(1.0),
44 mesh_factory_(std::move(mesh_factory)) {
45 // Nothing to do here
46 }
47
54 void setRadius(double r) {
55 LF_ASSERT_MSG(0 < r, "radius needs to be positive");
56 radius_ = r;
57 }
58
84
91 std::shared_ptr<lf::mesh::Mesh> Build();
92
93 private:
94 double radius_;
96 std::unique_ptr<lf::mesh::MeshFactory> mesh_factory_;
97};
98
99} // end namespace mesh
100
101} // namespace projects::hldo_sphere
102
103#endif // HLDO_SPHERE_MESH_BUILDER_H
void setRefinementLevel(lf::base::size_type n)
Set the refinement level.
SphereTriagMeshBuilder(std::unique_ptr< lf::mesh::MeshFactory > mesh_factory)
Constructor.
std::unique_ptr< lf::mesh::MeshFactory > mesh_factory_
std::shared_ptr< lf::mesh::Mesh > Build()
Build the mesh.
unsigned int size_type
general type for variables related to size of arrays
Definition: base.h:24
Implementation of the thesis Hogde Laplacians and Dirac Operators on the surface of the 3-Sphere.
Definition: assemble.h:15