Smith  0.1
Smith is an implicit thermal structural mechanics simulation code.
Classes | Namespaces | Functions
mesh_utils_base.hpp File Reference

This file contains helper functions for importing and managing various mesh objects. More...

#include <memory>
#include <variant>
#include "mfem.hpp"
#include "smith/infrastructure/input.hpp"
Include dependency graph for mesh_utils_base.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  smith::mesh::FileInputOptions
 Input options for meshes read from files. More...
 
struct  smith::mesh::BoxInputOptions
 Input options for generated meshes. More...
 
struct  smith::mesh::NBallInputOptions
 Input options for generated meshes. More...
 

Namespaces

 smith
 Accelerator functionality.
 
 smith::mesh
 Mesh related input options.
 

Functions

mfem::Mesh smith::buildMeshFromFile (const std::string &mesh_file)
 Constructs an MFEM mesh from a file. More...
 
mfem::Mesh smith::buildDiskMesh (int approx_number_of_elements)
 Constructs a 2D MFEM mesh of a unit disk, centered at the origin. More...
 
mfem::Mesh smith::buildBallMesh (int approx_number_of_elements)
 Constructs a 3D MFEM mesh of a unit ball, centered at the origin. More...
 
mfem::Mesh smith::buildRectangleMesh (int elements_in_x, int elements_in_y, double size_x=1., double size_y=1.)
 Constructs a 2D MFEM mesh of a rectangle. More...
 
mfem::Mesh smith::buildCuboidMesh (int elements_in_x, int elements_in_y, int elements_in_z, double size_x=1., double size_y=1., double size_z=1.)
 Constructs a 3D MFEM mesh of a cuboid. More...
 
mfem::Mesh smith::buildCylinderMesh (int radial_refinement, int elements_lengthwise, double radius, double height)
 Constructs a 3D MFEM mesh of a cylinder. More...
 
mfem::Mesh smith::buildHollowCylinderMesh (int radial_refinement, int elements_lengthwise, double inner_radius, double outer_radius, double height, double total_angle=M_PI, int sectors=8)
 Constructs a 3D MFEM mesh of a hollow cylinder. More...
 
mfem::Mesh smith::build_hollow_quarter_cylinder (std::size_t radial_divisions, std::size_t angular_divisions, std::size_t vertical_divisions, double inner_radius, double outer_radius, double height)
 Constructs an MFEM mesh of a hollow cylinder restricted to the first orthant. More...
 
mfem::Mesh smith::buildRingMesh (int radial_refinement, double inner_radius, double outer_radius, double total_angle=M_PI, int sectors=8)
 Constructs a 2D MFEM mesh of a ring. More...
 
std::unique_ptr< mfem::ParMesh > smith::mesh::refineAndDistribute (mfem::Mesh &&serial_mesh, const int refine_serial=0, const int refine_parallel=0, const MPI_Comm comm=MPI_COMM_WORLD)
 Finalizes a serial mesh into a refined parallel mesh. More...
 

Detailed Description

This file contains helper functions for importing and managing various mesh objects.

Definition in file mesh_utils_base.hpp.