LehrFEM++ 1.0.0
A simple Finite Element Library for teaching
Public Member Functions | Private Attributes | List of all members
projects::hldo_sphere::mesh::SphereTriagMeshBuilder Class Reference

A mesh builder for regular 3-Sphere. More...

#include </home/nico/bildung/SemVI/thesis/lehrfempp/projects/hldo_sphere/mesh/sphere_triag_mesh_builder.h>

Public Member Functions

 SphereTriagMeshBuilder (std::unique_ptr< lf::mesh::MeshFactory > mesh_factory)
 Constructor. More...
 
void setRadius (double r)
 Sets the radius. More...
 
void setRefinementLevel (lf::base::size_type n)
 Set the refinement level. More...
 
std::shared_ptr< lf::mesh::MeshBuild ()
 Build the mesh. More...
 

Private Attributes

double radius_
 
lf::base::size_type refinement_level_
 
std::unique_ptr< lf::mesh::MeshFactorymesh_factory_
 

Detailed Description

A mesh builder for regular 3-Sphere.

The radius of the Sphere is controlled by setRadius(). The refinement level can be set with setRefinementLevel(). The refinement level indicates how fine the mesh should be inital structure (octahedron, see https://de.wikipedia.org/wiki/Octahedron) The radius defaults to 1.0 while refinement level defaults to 0.

Details regarding the implementation and its concepts can be found in the thesis Hodge Laplacians and Dirac Operators on the Surface of the 3-Sphere section 4.1.

Definition at line 33 of file sphere_triag_mesh_builder.h.

Constructor & Destructor Documentation

◆ SphereTriagMeshBuilder()

projects::hldo_sphere::mesh::SphereTriagMeshBuilder::SphereTriagMeshBuilder ( std::unique_ptr< lf::mesh::MeshFactory mesh_factory)
inlineexplicit

Constructor.

Parameters
mesh_factoryA unique pointer to a mesh factory object used for the assembly of the mesh

Definition at line 40 of file sphere_triag_mesh_builder.h.

Member Function Documentation

◆ Build()

std::shared_ptr< lf::mesh::Mesh > projects::hldo_sphere::mesh::SphereTriagMeshBuilder::Build ( )

◆ setRadius()

void projects::hldo_sphere::mesh::SphereTriagMeshBuilder::setRadius ( double  r)
inline

◆ setRefinementLevel()

void projects::hldo_sphere::mesh::SphereTriagMeshBuilder::setRefinementLevel ( lf::base::size_type  n)
inline

Member Data Documentation

◆ mesh_factory_

std::unique_ptr<lf::mesh::MeshFactory> projects::hldo_sphere::mesh::SphereTriagMeshBuilder::mesh_factory_
private

Definition at line 96 of file sphere_triag_mesh_builder.h.

Referenced by Build().

◆ radius_

double projects::hldo_sphere::mesh::SphereTriagMeshBuilder::radius_
private

Definition at line 94 of file sphere_triag_mesh_builder.h.

Referenced by Build(), and setRadius().

◆ refinement_level_

lf::base::size_type projects::hldo_sphere::mesh::SphereTriagMeshBuilder::refinement_level_
private

Definition at line 95 of file sphere_triag_mesh_builder.h.

Referenced by Build(), and setRefinementLevel().


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