Releases: aspragueumkc/hydra2dgpu
Releases · aspragueumkc/hydra2dgpu
Release list
v0.3.1
Full Changelog: v0.3.0...v0.3.1
v0.3.0
What's Changed
Added
- First-launch hydra-swe2d wheel installer — no more compiling CUDA from source. Install the plugin zip and the first launch downloads the pre-built backend wheel (Linux manylinux_2_28 + Windows win_amd64) into an isolated ~/.hydra2dgpu environment automatically.
- New open_bc_relaxation stability knob (Numerics / Stability) that damps reflections at OPEN, REFLECT, NORMAL_DEPTH, and NORMAL_DEPTH_SLOPE boundaries. Per-edge overrides via a bc_relax field on the BC line layer.
- New spatial reconstruction schemes:
- FV_BARTH_JESPERSEN (scheme 5) — Barth-Jespersen gradient limiter for robust 2nd-order on poor meshes
- FV_WENO3 (scheme 6) — true 3-sub-stencil WENO, 3rd-order with 1-ring stencil
- FV_MP5 (scheme 8) — Suresh-Huynh Mapped Monotonicity-Preserving, 4th-order (CFL ≤ 0.4)
- Per-scheme CFL limits enforced in solver backend
Changed
- FV_WENO5 renumbered from scheme 6 to scheme 7; old scheme-6 persisted configs emit a migration warning
- Reconstruction scheme combo in GUI shows all 9 schemes
- Plugin imports from qgis.PyQt (Qt 5/6 portable) instead of bare PyQt5, supporting both QGIS 3.28+ (Qt 5) and QGIS 4.x (Qt 6) from a single source package
- Plugin restructured into qgis_plugin/HYDRA2DGPU/ for QGIS plugin repo submission (binary-free, <20 MB); LICENSE now bundled in the plugin zip
- Release wheels are built portable (x86-64-v2) so they run on CPUs without AVX-512; the Windows wheel bundles the CUDA runtime DLL so it installs on machines without a CUDA toolkit
- Windows backend install hardened for OSGeo4W QGIS: venv created from the real python.exe (not the QGIS launcher), pip invoked via python -m pip, and subprocess workers (Gmsh meshing, batch runs) run in a plain interpreter instead of spawning a second QGIS instance
- High-performance overlay + native mesh modules now import correctly from the wheel install
- QGIS plugin repo security findings resolved (no silent exception swallows; hardened subprocess / URL-open boundaries)
Removed
- GPU Direct Viewer stack (Phase 1–5: LiveSnapshotReader, GPUViewerDialog, CUDA-OpenGL interop, DiagRecord ring buffer, HUD, NVENC) — deferred from this release; non-functional and was a Windows build blocker. Preserved in git history.
- docs/DEVELOPER_GUIDE.md §8 (Studio UI API Reference) and docs/UI_COMPONENT_GUIDE.md — replaced with redirects to STUDIO_GUI_API.md
- tools/package_release.py (zip-with-bundled-binary packager) — replaced by tools/package_plugin.py
Full Changelog: v0.2.2...v0.3.0
v0.2.2
Release Notes for v0.2.2
Highlights
This release brings a major overhaul of high-order spatial reconstruction schemes, improves stability on triangle meshes, and expands CLI / geopackage workflow support.
New & Improved
- Advanced spatial schemes: Added Barth-Jespersen, WENO3, WENO5, and MP5 reconstruction options with reworked stencil data, face stencil accessors, and a new
swe2d_reconstruct.cuGPU kernel. - Scheme lineup renumbered: Reconstruction combo updated to schemes 0–8. If you were selecting schemes by index, verify your choice against the new lineup.
- Triangle-mesh stability: Multiple fixes for gradient, stencil, and dry-cell handling that previously caused blow-up on unstructured meshes.
- GPKG Explorer: Delete-by-run-ID is now a multi-select two-step wizard.
- CLI headless runner: Hydrograph boundary conditions can now be loaded directly from a GeoPackage.
- Build release: Dropped bundled
cublas64_*.dll/cublasLt64_*.dllfrom Windows releases; onlycudartis shipped now.
Fixes
- Fixed topology mesh timer use-after-delete.
- MP5 disabled by default (scheme 8) due to triangle-mesh instability; code retained with additional guards.
- Addressed critical code-review issues in spatial scheme integration.
Housekeeping
- Removed draft implementation-plan docs from the release tree.
Full diff: 531 files changed, +34,699 −261 compared to v0.2.1.
Full Changelog: v0.1.1...v0.2.2
v0.2.1 — Surcharge Volume, HEC-22 Inlets, and RCMK Cell Renumbering Fix
New Features
- 1D Pipe Surcharge Volume Decomposition — Pipes now model surcharge (pressurized flow above the crown) with overflow gating, supporting circular, rectangular, and elliptical cross-sections with table-lookup geometry.
- HEC-22 Inlet Capture — Grate, curb, slotted, and combination inlet types now use HEC-22 on-sag capture equations. Geometry/type fields added to the drainage inlets schema.
- Open Boundary Relaxation (open_bc_relaxation) — Boundary condition edges can now use a relaxation scheme for smoother wave reflection / open-outflow behavior. Controlled via spin-box UI and optional bc_relax field on BC layers.
- Simulation Config Reload — Can now load simulation configs from run logs when the configs table is empty.
- Hyetograph / Hydrograph Editor Dialog — Graph editor for defining rainfall hyetographs and inflow hydrographs.
Bug Fixes - RCMK Cell Renumbering — Inlet, outfall, and pipe-end cell IDs are now correctly remapped through the GPU renumbering permutation, fixing drainage sources/sinks that were landing on wrong cells.
- Internal Flow Forcing — Force accumulation and RCMK permutation now correctly applied on the native coupling path and via dataclasses.replace.
- QGIS / GPKG Compatibility — QgsWkbTypes WKB integers now wrapped in enum for geometry type checks. QML style path corrected. surface_area, outfall_area, zero_storage fields added to GPKG adapter.
- Drainage Network — _DS_ENSURE shared-capacity bug fixed; Ao_total now computed before depth check; node_depth reset between test iterations.
Performance & Testing - ANUGA Validation Suite — 35 GPU tests across 18 cases now pass, confirming OpenCV + ANUGA accuracy.
- Pipe1D Refactor — Geometry lookup moved to device-side pipe1d_lookup_geometry; table precomputation wired into mesh build.
- GPU Dead Code Cleanup — Stale ANUGA test files removed; unused CPU ghost paths pruned.
v0.1.0
Full Changelog: https://github.com/aspragueumkc/hydra2dgpu/commits/v0.1.0