Skip to content

Releases: aspragueumkc/hydra2dgpu

v0.3.1

Choose a tag to compare

@github-actions github-actions released this 06 Aug 19:54

Full Changelog: v0.3.0...v0.3.1

v0.3.0

Choose a tag to compare

@github-actions github-actions released this 06 Aug 19:17

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

Choose a tag to compare

@github-actions github-actions released this 11 Jul 14:04

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.cu GPU 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_*.dll from Windows releases; only cudart is 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

Choose a tag to compare

@aspragueumkc aspragueumkc released this 10 Jul 03:48

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

Choose a tag to compare

@github-actions github-actions released this 11 Jun 21:27