Skip to content

HydroChrono v0.7.0 - MoorDyn mooring integration

Latest

Choose a tag to compare

@dav-og dav-og released this 02 Mar 11:03
0648a2f

Highlights

MoorDyn mooring integration - MoorDyn v2.6.1 is now coupled as a Git submodule, so you can run catenary and taut mooring analysis inside Chrono-based WEC simulations. Mooring forces are applied at each timestep alongside hydrostatic, radiation, and excitation. Configure via MoorDynConfig and HydroSystem::SetMoorDynConfig(); optional at build time with HYDROCHRONO_HAVE_MOORDYN.

RM3 mooring verification - Cross-code comparison against the WEC-Sim/MoorDyn co-simulation of the RM3 two-body point absorber with a 3-line catenary mooring. Automated CTest checks body heave and fairlead tensions; typical agreement is correlation ≈ 0.998 and max tension error ≈ 1.8% of mean. Reference data and comparison plots are documented in the verification section of the docs.

Real-time mooring visualization - The VSG GUI draws mooring line geometry from MoorDyn each frame and colours lines by instantaneous tension (blue–red gradient), so you can visually check mooring loads during a run.

image image
rm3_mooring_10mb.mp4

What's New

MoorDyn Mooring

  • MoorDyn v2.6.1 - Integrated as a submodule; optional build with HYDROCHRONO_HAVE_MOORDYN
  • Force coupling - MoorDyn fairlead forces applied in HydroSystem each step with other hydro forces
  • MoorDynConfig - Config struct and SetMoorDynConfig() API; must be set before first DoStepDynamics()
  • RM3 mooring demo - YAML-driven case: RM3 float + plate, 3 lines × 2 segments (anchor–clump, clump–fairlead), runnable with run_hydrochrono
  • Mooring line visualization - VSG renders line nodes from MoorDyn with dynamic tension colormap
  • RM3 mooring verification test - CTest comparison vs WEC-Sim/MoorDyn reference (body motions + FairTen4/5/6); plots and tolerances in tests/verification/rm3_mooring/

Core / Build

  • hydroc/math_constants.h - Centralised M_PI (and related constants) replacing per-file definitions
  • IRF processing - Truncation separated from smoothing/tapering in RadiationKernelProcessing
  • RegularWave - Encapsulated with SetPeriod() / SetOmega() accessors
  • Build fixes - HDF5 target conflicts and Eigen3 detection resolved for cross-machine builds; Chrono API and test infrastructure updated

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)
  • MoorDyn is not included in the Windows package when built without the MoorDyn submodule; clone with --recurse-submodules or init MoorDyn for mooring support

Install (Windows x64)

  1. Download HydroChrono-0.7.0-win64.zip

  2. Unzip - all required DLLs included
    (Chrono, HDF5, yaml-cpp, VSG, MSVC runtime)

  3. Run a simulation:

    .\run_hydrochrono.exe path\to\input_directory
  4. Run the full regression suite:

    .\RUN-TESTS.ps1