feat(stroid): first working version

stroid generates o-grid topologies with proper boundary conditions applied. Currently the external domain does not work, this will be addressed in the next commit.
This commit is contained in:
2026-01-30 08:59:34 -05:00
parent 70fa469baa
commit 58f59516ec
27 changed files with 529 additions and 140 deletions

View File

@@ -0,0 +1,27 @@
#include <print>
#include "stroid/topology/topology.h"
#include "stroid/config/config.h"
#include "stroid/IO/mesh.h"
#include <memory>
#include "mfem.hpp"
#include "stroid/topology/curvilinear.h"
#include "stroid/utils/mesh_utils.h"
#include "fourdst/config/config.h"
int main() {
const fourdst::config::Config<stroid::config::MeshConfig> cfg;
const std::unique_ptr<mfem::Mesh> mesh = stroid::topology::BuildSkeleton(cfg);
stroid::topology::Finalize(*mesh, cfg);
stroid::topology::PromoteToHighOrder(*mesh, cfg);
stroid::topology::ProjectMesh(*mesh, cfg);
//
// stroid::utils::MarkFlippedElements(*mesh);
// stroid::utils::MarkFlippedBoundaryElements(*mesh);
stroid::IO::ViewMesh(*mesh, "Spheroidal Mesh", stroid::IO::VISUALIZATION_MODE::BOUNDARY_ELEMENT_ID);
// stroid::IO::VisualizeFaceValence(*mesh);
// stroid::IO::SaveVTU(*mesh, "SpheroidalMesh");
}