Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.8.0] - 2025-10-21¶
This release brings PyHOPE to functional parity with the HOPR features currently in active use. Any additional used but missing features will be treated as bugs.
Added¶
- Add
nElems_IJK
/Elem_IJK
arrays for meshes with structured dimensions [92f7168] - Add debugMesh output in XDMF format [907df1f]
- Add element and zone ID to the debugMesh [9bb3338]
- Add two additional mesh sorting algorithms (snake/lex) [df517c8]
- Add consistency checks to various sections [f68bdb6]
- Add type checking with ty [df517c8]
Changed¶
- Improve error message for invalid MeshMode [a8d78ef]
- Improve code performance in various sections [5403b5b]
Fixed¶
- Missing integer conversion in DebugMesh [a5c3248]
- Consider multiple periodicity during FEMconnect [43414bd]
[0.1.1] - 2025-09-19¶
Added¶
- Add support for multiple mesh zones [40dc87c]
- Add support for XDMF output [07319b6]
- Add documentation on GitHub pages [23c90ae]
- Add community guidelines [73ecc84]
- Add consistency check after initial Gmsh mesh creation [e32730a]
- Add health checks [21e771e][93a094c]
- Add support for Gitlab code coverage [531fec3][f5fe93a]
Changed¶
- Pre-install Gmsh during CI/CD [ff11bb8]
- Updated bundled Gmsh to v4.14.1 [0b01a2e][396a71a]
- General improvements to code performance [1361cfb]
- Explicitly request OpenMP multithreading in Gmsh [c074aad]
Fixed¶
- Fix inner boundary conditions being counted twice [01deffb]
- Fix DEFVAR parsing for floats [69ffe11]
- Remove dead code with vulture [c2d1ec8]
- Remove unnecessary intermediate meshio.Mesh [744d362]
- Several bugfixes for GitHub pages [61af0c5][d0addd1][6f2f19c]
[0.1.0] - 2025-06-25¶
Added¶
- Add PyHOPE context manager [97a5194a]
Changed¶
- Major rework of GAMBIT mesh reader [57067512]
[0.0.9] - 2025-06-12¶
Added¶
- FEMConnect: Edge and vertex connectivity [5b72caa4]
- Reader: Support for Gambit mesh format [d1e8eec5]
- Support for ElemCounter, nUniqueSides, nUniqueNodes with HOPR format [9304460a]
Changed¶
- Improve performance during topology changes [e6245f4f]
- Take the element volume into account when calculating the watertightness tolerance [27620b59]
- Reword the error message for malformed comma-separated arrays [c7751b88]
- Reword the readme to clarify installation steps using venv [8e818d6a]
- Only open GMSH GUI when running with Display attached [8718ec3e]
Fixed¶
- Fix checking PyHOPE directory instead of current directory for git commit [a56ba0b8]
- Fix several issues in the readintools (default, DEFVAR) [b9e5d431]
[0.0.8] - 2025-03-07¶
Added¶
- Ability to split elements zonewise [63414dbc]
- Allow for directly processing mesh files [3cfd8cfd]
- Advanced parameter Options to ensure compatibility with HOPR [604776c5]
- Add contributors according to
git shortlog -s -n
[8cb8da50]
Changed¶
- Improve mortar support (HOPR reader, matching performance, ...) [481c2eae]
- Linting and performance fixes [4181bb87] [e9a601ec]
- Analytic Gmsh -> Meshio mapping [9c10f165]
- Require Python 3.10+ for PyRight and Ruff [fdb7d8dd]
- Permit creating builtin-tetras and split them to hex [78b4cefb]
- Set new ruff parameter "-target-version" [c017b0ce]
Fixed¶
- Fix extra offset for simplex/splitToHex [2191fa60]
- Several bugfixes improving overall stability [63354530]
[0.0.7-1] - 2025-02-13¶
Added & Changed¶
- Add CI/CD pipeline for checking several Python versions [4757fb65]
Fixed¶
- Fix incompatibility with Python 3.10 and 3.11 [6dc59ec8]
[0.0.7] - 2025-02-11¶
Added & Changed¶
For this release there is a major feature merge [902b2b49] to the main branch which contains: - Add support for simplex elements - Add support for mixed meshes - Add support for serendipity element processing from CGNS - Further flexibility in element stretching - Implement mesh transformations using templates - Search for meshes and templates in multiple dirs including CWD - Implement periodic mortar sides
Other changes: - Implement stretching and scaling [c07fa435]
Fixed¶
- Fix compatibility for Python 3.10 to 3.13 using the typing-extensions [3aaeacf4]
- Fix offset calculation during Gmsh to meshio conversion [5270006]
[0.0.5] - 2025-01-08¶
Added¶
- Add mortar connections with hanging nodes [36da08f]
- Add output of unique GlobalNodeIDs [206b172]
- Add reader for HOPR HDF5 format [0b8acaf]
- Add generator and stub directory for Pyright [2102804]
- Add uv as package manager [ba9601a]
Changed¶
- Improve performance of mesh generation [1404bd2]
- Improve class decorators and result caching [917143e]
- Refactor CI/CD and beautify the output [f2f1836]
- Refactor CI/CD to use NRG docker containers [5f67862]
- Refactor CI/CD to use uv as package manager [739a55c]
[0.0.4] - 2024-12-04¶
Added¶
- Add libraries and compatibility for Linux on ARM (aarch64) and macOS on ARM (arm64) [a2e2eebc]
- Test convergence of generated meshes using FLEXI in the CI/CD pipeline [711973d0]
- Added first scaffolding of non-hexahedral elements [ab941452]
Changed¶
- Rework singleton logic [4a30d04e]
Fixed¶
- Fix version and commit logic [ea625cb2]
- Fix wrong type in OutputFormat declaration [c2b2d6b6]
[0.0.3] - 2024-11-20¶
Added¶
- Support for high-order CGNS meshes via agglomeration [2162820d]
- Added CHANGELOG.md
Changed¶
- Eliminate duplicate points before creating element objects [1f060c2]
- Version number is uniquely defined in
pyproject.toml
[0.0.2] - 2024-11-12¶
Fixed¶
- Improve detection of Gmsh origin and fix installation issues [b1bd5111]
[0.0.1] - 2024-11-11¶
Initial release