stroid v0.6.0
Multi-block curvilinear mesh generation
Loading...
Searching...
No Matches
mesh.cpp File Reference
#include "mfem.hpp"
#include "stroid/config/config.h"
#include "stroid/IO/mesh.h"
#include "stroid/topology/curvilinear.h"
#include <algorithm>
#include <charconv>
#include <cmath>
#include "stroid/version.h"
#include <fstream>
#include <iomanip>
#include <iostream>
#include <cstdint>
#include <format>
#include <chrono>
#include <string>
#include <string_view>
#include <expected>
#include <stdexcept>
#include <concepts>
#include <limits>
#include <vector>
Include dependency graph for mesh.cpp:

Namespaces

namespace  stroid
 Public API surface for the stroid mesh generation library.
 
namespace  stroid::IO
 Mesh serialization and visualization helpers.
 

Functions

void stroid::IO::SaveStroidMesh (const StroidMesh &mesh, const std::string &filename, const std::string &comment="")
 
void stroid::IO::SaveMesh (const mfem::Mesh &mesh, const std::string &filename)
 Save a mesh to MFEM's native .mesh format.
 
void stroid::IO::SaveMesh (const stroid::StroidMesh &mesh, const std::string &filename)
 Overload of SaveMesh which accepts a StroidMesh type and will internally unpack it.
 
void stroid::IO::SaveVTU (mfem::Mesh &mesh, const std::string &exportName)
 Save a mesh as a ParaView VTU dataset.
 
void stroid::IO::SaveVTU (const stroid::StroidMesh &mesh, const std::string &exportName)
 Overload of SaveVTU which accepts a StroidMesh type and will internally unpack it.
 
std::unique_ptr< mfem::Mesh > stroid::IO::MakeConformingVisualizationMesh (const mfem::Mesh &mesh)
 Make a display-only mesh copy with matching face subdivisions. This is purely for visualization and should not be used for any science goals.
 
void stroid::IO::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.
 
void stroid::IO::ViewMesh (const stroid::StroidMesh &mesh, const std::string &title, VISUALIZATION_MODE mode, const std::string &vishost, int visport, bool conforming_display=true)
 
void stroid::IO::VisualizeFaceValence (mfem::Mesh &mesh, const std::string &vishost, int visport, bool conforming_display=true)
 Color boundary-adjacent elements by face valence (1=surface, 2=internal). Untagged elements are zero; elements touching several tagged faces use the maximum valence. Values are computed before display subdivision.
 
void stroid::IO::VisualizeFaceValence (const stroid::StroidMesh &mesh, const std::string &vishost, int visport, bool conforming_display=true)
 
std::expected< StroidMesh, std::string > stroid::IO::ParseStroidMesh (std::istream &is)
 
std::expected< StroidMesh, std::string > stroid::IO::LoadStroidMesh (const std::string &filename)