Skip to content

Commit fbdbe7e

Browse files
authored
Merge pull request #87 from Project-SEA-Stack/release/v0.6
Bump version to 0.6.0 and update CHANGELOG
2 parents 64184c0 + 5b26c64 commit fbdbe7e

3 files changed

Lines changed: 30 additions & 3 deletions

File tree

CHANGELOG.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,33 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [0.6.0] — 2026-02-19
9+
10+
### Added
11+
12+
- **State-space radiation damping** — alternative to convolution-based radiation that approximates RIRF kernels as a sum of exponential and oscillatory modes, reducing per-timestep cost from O(N) to O(1). New classes: `RadiationStateSpaceModel`, `RadiationStateSpaceFitter`, `RadiationStateSpaceComponent`
13+
- **`RadiationMethod` enum and `StateSpaceOptions` configuration struct** for selecting between convolution and state-space radiation at runtime
14+
- **YAML configuration keys**`radiation_method`, `ss_max_order`, `ss_r2_threshold`, `output_kernel_fit`
15+
- **Kernel-fit diagnostics** — R² values and mode counts per DOF pair, optionally written to HDF5 output via `output_kernel_fit: true`
16+
- **Unit tests** for `RadiationStateSpaceModel` and `RadiationStateSpaceFitter`
17+
- **Regression tests** comparing state-space vs convolution for sphere decay, OSWEC decay, sphere irregular waves, and OSWEC irregular waves
18+
- **Frequency-domain excitation transfer function** for irregular waves — replaces time-domain convolution with a pre-computed transfer function, evaluating in O(N_freq) per DOF per timestep instead of O(N_irf × N_freq)
19+
20+
### Changed
21+
22+
- **Irregular wave model decoupled from simulation parameters** — removed `simulation_dt_` and `simulation_duration_` from `IrregularWaveParams`, eliminating the dependency that prevented adaptive time integration. `nfrequencies_` is now a required parameter.
23+
- **Removed redundant `num_bodies` from wave classes** — ownership moved to `WaveBase`, set automatically in `HydroSystem::AddWaves()`, simplifying the wave creation API and eliminating a source of configuration errors
24+
- Wave class code quality cleanup
25+
26+
### Removed
27+
28+
- Stale `include/hydroc/hydro_forces.h` (replaced by `hydro_system.h`)
29+
- Duplicate demo `demos/sphere/sphere_irreg_waves.cpp`
30+
31+
### Fixed
32+
33+
- **State-space fitter: order-1 fits were rejected** — the fitting loop started at order 2 and `FitFromSVD` explicitly rejected order < 2, so single-exponential kernels (rank-1 Hankel matrix) always returned invalid results
34+
835
## [0.5.0] — 2026-02-16
936

1037
### Added

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ endif()
2020
# ===============================================================================
2121

2222
project(HydroChrono
23-
VERSION 0.5.0
23+
VERSION 0.6.0
2424
DESCRIPTION "Hydrodynamics for Project Chrono."
2525
LANGUAGES CXX
2626
)

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<p align="center">
33
<img src="docs/assets/img/hydrochrono_banner.png" />
44
<br/>
5-
<a href="https://github.com/NREL/HydroChrono/releases"><img src="https://img.shields.io/badge/version-v0.5-blue.svg" /></a>
5+
<a href="https://github.com/NREL/HydroChrono/releases"><img src="https://img.shields.io/badge/version-v0.6-blue.svg" /></a>
66
<a href="#"><img src="https://img.shields.io/badge/status-Prototype-orange.svg" /></a>
77
</p>
88

9-
> ⚠️ HydroChrono is under active development (`v0.5` prototype). This early release focuses on a YAML‑driven CLI, real-time VSG visualization with animated free-surface rendering, and portable HDF5 outputs so you can try the code and share feedback. Expect rapid iteration over the coming year (inc. more advanced PTO, control, mooring & hydrodynamics) — please get in touch if you have any issues or feature requests.
9+
> ⚠️ HydroChrono is under active development (`v0.6` prototype). This early release focuses on a YAML‑driven CLI, real-time VSG visualization with animated free-surface rendering, and portable HDF5 outputs so you can try the code and share feedback. Expect rapid iteration over the coming year (inc. more advanced PTO, control, mooring & hydrodynamics) — please get in touch if you have any issues or feature requests.
1010
1111

1212
HydroChrono (Hydrodynamics for Project Chrono) is a hydrodynamics simulation toolkit built on [Project Chrono](https://projectchrono.org/). It is designed for simulating wave energy converters (WECs) and other complex ocean systems, and is **100% free and open‑source** end‑to‑end — no proprietary dependencies required. This repo ships a prototype, YAML‑driven CLI app for running simulations and exporting portable results.

0 commit comments

Comments
 (0)