v0.6.0: Merge pull request #87 from Project-SEA-Stack/release/v0.6
Highlights
State-space radiation damping — a new O(1)-per-timestep alternative to convolution-based radiation. Instead of convolving the full RIRF kernel history at every step, the kernel is approximated as a sum of exponential and oscillatory modes and propagated via a compact state vector. Selectable via C++ API or YAML (radiation_method: state_space). Performance gains range from modest to significant depending on kernel complexity and simulation length — up to 19.6x on the sphere decay benchmark.
Irregular wave excitation reworked — the time-domain excitation convolution is replaced by a pre-computed frequency-domain transfer function, and the irregular wave model is decoupled from simulation parameters (simulation_dt_, simulation_duration_ removed from IrregularWaveParams), clearing the path for adaptive time integration.
What's New
State-Space Radiation
RadiationStateSpaceModel— exponential and oscillatory mode support with exact exponential time integrationRadiationStateSpaceFitter— Hankel-SVD system identification matching the WEC-Sim / BEMIO approachRadiationStateSpaceComponent— force component integrating withHydroSystemRadiationMethodenum andStateSpaceOptionsconfiguration struct- YAML keys:
radiation_method,ss_max_order,ss_r2_threshold,output_kernel_fit - Kernel-fit diagnostics (R² values and mode counts per DOF pair) optionally written to HDF5 output
- Unit tests for model and fitter
- Regression tests: sphere/OSWEC decay and irregular waves (state-space vs convolution)
Wave Class Improvements
- Frequency-domain excitation transfer function for irregular waves — O(N_freq) per DOF per timestep instead of O(N_irf × N_freq)
- Irregular wave model decoupled from simulation parameters;
nfrequencies_is now a required parameter - Redundant
num_bodiesremoved from wave classes — set automatically inHydroSystem::AddWaves()
Known Issues
- OSWEC validated with GMRES only (SPARSE_QR not yet confirmed stable)
- PSOR solver incompatible with added-mass assembly (stiffness/damping matrix errors; other solvers pass)
Install (Windows x64)
-
Download
HydroChrono-0.6.0-win64.zip -
Unzip — all required DLLs included
(Chrono, HDF5, yaml-cpp, VSG, MSVC runtime) -
Run a simulation:
.\HydroChrono.exe path\to\input_directory -
Run the full regression suite:
.\RUN-TESTS.ps1