Skip to content

Multi level sets#5

Open
sclaus2 wants to merge 23 commits into
mainfrom
multi-level-sets
Open

Multi level sets#5
sclaus2 wants to merge 23 commits into
mainfrom
multi-level-sets

Conversation

@sclaus2
Copy link
Copy Markdown
Owner

@sclaus2 sclaus2 commented May 16, 2026

No description provided.

sclaus2 added 23 commits March 7, 2026 23:16
C++ changes:
- Add LevelSetType enum (Analytical/Polynomial) to level_set.h
- Add LevelSetMeshData struct for per-cell DOF storage with CSR layout
- Add level_set.cpp with implementation of LevelSetMeshData accessors
- Extend write_vtk.h/cpp with higher-order mesh output support
- Update CMakeLists.txt for new source files and dependencies

Python changes:
- Add mesh_utils.py with structured mesh generation:
  * rectangle_triangle_mesh, rectangle_quad_mesh (2D)
  * box_tetrahedron_mesh, box_hex_mesh (3D)
  * mesh_from_pyvista for PyVista interoperability
- Update wrapper.cpp with nanobind bindings for LevelSetFunction extensions
- Update __init__.py to export mesh utility functions
- Add test_mesh_utils.py for mesh generation tests
- Add test_level_set_interpolate.py, test_level_set_mesh_data.py,
  test_level_set_vtu.py for higher-order level set tests
- Add demo_level_set_ho_vtk.py, demo_level_set_ho_curved_vtk.py,
  demo_meshview.py for higher-order demonstrations

Removed:
- Delete obsolete demo files (bench_cut_pipeline.py, meshview_levelset_demo.py)

This commit establishes the foundation for the higher-order cut-cell pipeline
as described in the implementation plan.
…mesh cuts still hitting corner cases to be fixed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant