stroid v0.6.0
Multi-block curvilinear mesh generation
Loading...
Searching...
No Matches
stroid Namespace Reference

Public API surface for the stroid mesh generation library. More...

Namespaces

namespace  config
 Configuration types and defaults for mesh generation.
 
namespace  exceptions
 
namespace  IO
 Mesh serialization and visualization helpers.
 
namespace  refinement
 
namespace  stats
 
namespace  topology
 Topology construction and curvilinear mapping utilities.
 
namespace  utils
 Mesh inspection and validation utilities.
 

Classes

struct  ScalarMeshField
 
struct  StroidMesh
 

Enumerations

enum class  MFEM_MESH_TYPE { SERIAL , PARALLEL }
 

Functions

StroidMesh GenerateMesh (const fourdst::config::Config< stroid::config::MeshConfig > &input)
 
StroidMesh GenerateMesh (const stroid::config::MeshConfig &config)
 
StroidMesh GenerateMesh (const std::string &filename)
 

Variables

list __all__ = ['config', 'exceptions', 'IO', 'refinement', 'stats', 'GenerateMesh', 'StroidMesh']
 
 _meta = importlib.metadata.metadata('stroid')
 
 __version__ = _meta['Version']
 
 __license__ = _meta['License']
 
 __description__ = _meta['Summary']
 
str __author__ = 'Emily M. Boudreaux'
 
str __url__ = 'https://github.com/4D-STAR/stroid'
 
str __email__ = 'emily.boudreaux@dartmouth.edu'
 
 _PACKAGE_DIR = Path(__file__).resolve().parent
 

Detailed Description

Public API surface for the stroid mesh generation library.

This namespace aggregates configuration, topology construction, mapping, and mesh utilities for building curvilinear multi-block meshes.

Example: build a mesh programmatically
#include <memory>
#include "mfem.hpp"
#include "fourdst/config/config.h"
#include "stroid/stroid.h"
int main() {
fourdst::config::Config<stroid::config::MeshConfig> cfg;
stroid::IO::SaveVTU(*mesh, "stroid");
}
void SaveVTU(mfem::Mesh &mesh, const std::string &exportName)
Save a mesh as a ParaView VTU dataset.
Definition mesh.cpp:710
void PromoteToHighOrder(mfem::Mesh &mesh, const fourdst::config::Config< config::MeshConfig > &config)
Promote a mesh to high-order by attaching an H1 nodal finite element space.
Definition curvilinear.cpp:43
void Finalize(mfem::Mesh &mesh, const fourdst::config::Config< config::MeshConfig > &config)
Finalize topology, validate orientation, and apply the configured refinement policy.
Definition topology.cpp:234
void ProjectMesh(mfem::Mesh &mesh, const fourdst::config::Config< config::MeshConfig > &config)
Project high-order mesh nodes using the configured curvilinear mapping.
Definition curvilinear.cpp:47
std::unique_ptr< mfem::Mesh > BuildSkeleton(const fourdst::config::Config< config::MeshConfig > &config)
Build the initial multi-block mesh topology for the star model.
Definition topology.cpp:114
Example: tweak config then visualize
fourdst::config::Config<stroid::config::MeshConfig> cfg;
cfg->order = 4;
cfg->flattening = 0.1;
stroid::IO::ViewMesh(*mesh, "Stroid Mesh", stroid::IO::VISUALIZATION_MODE::ELEMENT_ID, "localhost", 19916);
void ViewMesh(mfem::Mesh &mesh, const std::string &title, VISUALIZATION_MODE mode, const std::string &vishost, int visport, bool conforming_display=true)
Stream a mesh to a running GLVis server for interactive viewing.
Definition mesh.cpp:727
@ ELEMENT_ID
Color elements by their element attribute/ID.
Definition mesh.h:19

Enumeration Type Documentation

◆ MFEM_MESH_TYPE

enum class stroid::MFEM_MESH_TYPE
strong
Enumerator
SERIAL 
PARALLEL 

Function Documentation

◆ GenerateMesh() [1/3]

StroidMesh stroid::GenerateMesh ( const fourdst::config::Config< stroid::config::MeshConfig > & input)
inline

◆ GenerateMesh() [2/3]

StroidMesh stroid::GenerateMesh ( const std::string & filename)
inline

◆ GenerateMesh() [3/3]

StroidMesh stroid::GenerateMesh ( const stroid::config::MeshConfig & config)
inline

Variable Documentation

◆ __all__

list stroid.__all__ = ['config', 'exceptions', 'IO', 'refinement', 'stats', 'GenerateMesh', 'StroidMesh']
private

◆ __author__

str stroid.__author__ = 'Emily M. Boudreaux'
private

◆ __description__

stroid.__description__ = _meta['Summary']
private

◆ __email__

str stroid.__email__ = 'emily.boudreaux@dartmouth.edu'
private

◆ __license__

str stroid.__license__ = _meta['License']
private

◆ __url__

str stroid.__url__ = 'https://github.com/4D-STAR/stroid'
private

◆ __version__

str stroid.__version__ = _meta['Version']
private

◆ _meta

stroid._meta = importlib.metadata.metadata('stroid')
protected

◆ _PACKAGE_DIR

stroid._PACKAGE_DIR = Path(__file__).resolve().parent
protected