Skip to content

CableDyn 0.4.2

Latest

Choose a tag to compare

@SMI-Lab-Inha SMI-Lab-Inha released this 09 Nov 17:52

CableDyn 0.4.2 is a robustness and speed release. Finite-EI statics now converge on graded meshes, in cross currents, with attachments, Rigid ends and as-laid friction, and no longer depend on the line's azimuth. Node tension next to touchdown converges at second order. The modal analysis of long lines is up to 100 times faster. A new option gives a mesh-independent axial damping ratio. Every shipped example deck now runs in the test suite. On the 63 example decks that 0.4.1 also runs it takes 9 % less time in all, and no deck is slower.

Some outputs change. The table below lists them by route, and the Upgrading section has the sizes.

What changes, and where

Output Standalone driver C API and Python OpenFAST and FAST.Farm
Finite-EI node angles (L<L>N<J>Dec/Azi, FairDecl, FairIncl, FairAngle and the Anch forms, the .static.out angle columns, the range-graph Declination, the reported line tangent) changes changes changes
Finite-EI node tension, curvature and bend moment next to the touchdown point changes changes changes
VIV lift of a line written fairlead first changes changes changes
Static tensions of a one-section Syrope line up to 3e-4 up to 3e-4 up to 3e-4
EI = 0 lines in a current that varies in space n/a starts from the driver's static state n/a (SeaState field)
Modal shapes of a long line sign of a mode with mirrored largest components same n/a

Positions, forces and tensions elsewhere are unchanged, and the finite-EI dynamic-step, multibody and EI = 0 speed-ups are bit-identical.

Added

  • OPTION axialDampingRatio mode1: a negative BA is the damping ratio of the line's first axial mode, the same on any mesh. The default segment keeps MoorDyn's damping ratio per segment, and a note now gives the first-mode damping this sets on the line's mesh.
  • VIVphaseSeed zero: starts every VIV phase at zero, as MoorDyn-F in OpenFAST v5.0.0 does. The default spread keeps MoorDyn-C's start.
  • Initialisation notes for a modal analysis about an unstable static state, and for a Point3 buoy that starts off its static balance.
  • New examples: cross-flow VIV, mode-1 axial damping, MoorDyn-C WaveKin 3 and Currents 2/5 files, viscoelastic and Syrope composite legs on an RAO-driven floater, a cable shared by two moving floaters, buoyancy modules under a bend stiffener, a sloping bathymetry with as-laid friction, torsion with one end free, and the modes of a composite line.
  • All 65 shipped decks now run in CTest and in the example fallback scan.

Changed

  • The modal analysis of a long line is many times faster: a shift-invert block Lanczos iteration with a certified count, in place of LAPACK's band reduction. 10 modes of a 4000-element line take 0.5 s instead of 55 s; frequencies agree to 1e-15.
  • Less redundant work in the finite-EI dynamic step (2-15 % faster on the examples) and in EI = 0 coupled loads (a moored Rigid6 body about 7 % faster), bit-identical.
  • modified_newton True keeps full Newton for a finite-EI cable inside the multibody march, where reuse cost more than it saved.
  • A compressed finite-EI static solve stops refining once two passes leave the compression in place (6 s instead of 76 s to the same message).
  • The standalone driver runs a line of EI = 0 and finite-EI sections as one finite-EI cable, as the C API and OpenFAST do.
  • The L5 wall-clock records are measured again with the release driver and committed with their scripts.

Fixed

  • Touchdown: finite-EI node tension, curvature and bend moment next to the touchdown point. The floor reaction now follows the touchdown point inside its element, so the error falls at second order and the outputs vary continuously.
  • Tangent outputs of finite-EI lines take the Hermite tangent; at a Rigid end they give the direction the clamp holds.
  • Finite-EI statics:
    • graded meshes and cross currents;
    • discrete attachments in a cross current, and their stalled polish;
    • Rigid ends in a drag continuation;
    • azimuth-dependent failures of the full-stiffness restart;
    • as-laid friction on a bathymetry shallower than the cable radius;
    • a misleading residual-floor note.
  • EI = 0 and point statics no longer cycle at the round-off floor or at a slack/taut kink.
  • Syrope: each element starts on its own secant, so long and inclined taut ropes start at rest; strongly concave working curves converge.
  • VIV: the lift of a line written fairlead first matches MoorDyn's.
  • Axial damping: the BA of an asymmetric composite EI = 0 line, and finite-EI steps held at rest under strong axial damping.
  • Stiffeners: two STIFFENERS rows sharing an element no longer make its EI negative.
  • C API and Python: the spatially varying current on EI = 0 lines is sampled as the driver samples it, and a refused step leaves the fluid field as it was.
  • Inputs refused by name: time steps below 1e-100 s, and finite-EI line types without mass. Overridden waves and current rows no longer leave a bound behind.
  • Python deck validator matches the solver on channels, stiffener bounds and wave/current rows.

Upgrading

  • Finite-EI node angles change, by up to 3.1 deg at the clamped end of buoy_clamped_cable.dat, 1.8 deg in the static profile of lozon_gomex80_power_cable_motion.dat, and 0.2 deg or less on most other finite-EI examples. Regenerate reference results that use them. Positions, forces, tensions, curvatures and every EI = 0 line are unchanged by this.
  • VIV decks with a line written fairlead first now give MoorDyn's response; their lift changes direction.
  • One-section Syrope lines move their static tensions by up to 3e-4.
  • C API and Python decks in a spatially varying current start from the driver's static state.

Assets

Asset Contents SHA-256
CableDyn_driver.exe Standalone solver for Windows x64 with AVX2 (static, no runtime DLLs) c1a8ca25390bec4dc029aee9dd72c92d216c0f4cb26eb4c974aaf87aee734832
openfast.exe OpenFAST v5.0.0 with CableDyn as CompMooring = 5, Windows x64 with AVX2 53a0bb6be8311f6afc69e8ac26b529166a068cdf57cecefb90316d15d2a33f35
cabledyn-0.4.2-py3-none-any.whl Python package 296126705668a120def9b5dfde3f825a6eab0ede19a35987f4b0ff84d9d39410
cabledyn-0.4.2.tar.gz Python source distribution e1cc496568f4a4aec784250a859e3c48fe64bd64af5e3ec66a2befd412623d0d
SHA256SUMS.txt Checksums of the four files above

The platform wheels with the native library and driver are on PyPI. The v0.4.2 tag is annotated, not signed.

CableDyn builds on OpenFAST (NLR, formerly NREL) and reads MoorDyn-format decks thanks to the open format of MoorDyn (Hall et al.). We thank both communities.

The build and test record is in validation/RELEASE_0_4_2.md; the full list of changes is in CHANGELOG.md.