Repository navigation
CableDyn 0.1.1 adds torsion to finite-EI (cubic-Hermite) cables in the standalone driver and makes the Windows builds more robust. Results of models without torsion are unchanged from 0.1.0: the clean-machine test kit reproduces every 0.1.0 reference value with the 0.1.1 executables.
Added
-
Torsion of finite-EI lines (standalone driver; condensed, quasi-static, uniform torque):
END CONNECTIONScolumnsTorsStiffness NxX NxY NxZ [Pretwist];- a roll column in
motionFile; - the torque returned to Rigid6 bodies;
- output channels
Torq<L>N<J>,Twist<L>N<J>andTwist<L>, and range-graph columns; DeckModeland channel support in the Python package;- the example
torsion_lazy_wave_hangoff_twist.dat.
The torsion results are checked against closed-form solutions, the Cosserat rod path and OrcaFlex 11.6d (VALIDATION.md, Torsion). Coupled OpenFAST runs with torsion, and other routes outside its scope, stop with a named error.
Changed
- Python: NumPy arrays in the public functions have explicit element types. The package type-checks under
mypy --stricton Python 3.10 and on current NumPy.
Fixed
-
The static solve of a taut, neutrally buoyant finite-EI line is now seeded as a straight, uniformly stretched line, so it no longer depends on the sign of the round-off weight.
-
Windows builds with gfortran:
- large arrays are allocated on the heap;
- executables reserve a 64 MiB stack;
- new
stacktests run the library on a 1 MiB thread stack.
The static
openfast.execompiles the CableDyn adapter with heap arrays. -
Python
END CONNECTIONSmessages name the line, the end and the offending value. -
A static twist above 1000 turns (for example a
Pretwistgiven in the wrong units) stops with a message naming the line and the value. -
The standalone driver no longer ends without a word. An interrupt is reported as
CableDyn_driver: stopped by <cause>and a fatal fault (for example a stack overflow) asCableDyn_driver: fatal error: <cause>, both with the simulated time of the last committed step. Every non-zero exit the driver makes itself ends stderr withCableDyn_driver: ended with exit code <n>, and the driver states this at start.CableDynDriver.run,cabledyn-runandcabledyn-studyreport a run ended from outside (taskkill /F, End task,kill -9) as ended early, with the time its output reached.
Known issues
- An intermittent access violation in the modal analysis tests has been seen on some hosted CI runners with GNU builds that use OpenBLAS 0.3.34. The cause is under investigation. The released Windows driver uses reference LAPACK and is not affected.
The full list is in CHANGELOG.md. The build and test record is in validation/RELEASE_0_1_1.md.
Assets
| Asset | Contents | SHA-256 |
|---|---|---|
CableDyn_driver.exe |
Standalone solver for Windows x64 (static, no runtime DLLs) | f9102899dc2742ee699a4f30d9863ccd064437a1c22de994e3c3bc518131d0e4 |
openfast.exe |
OpenFAST v5.0.0 with CableDyn as CompMooring = 5 |
e969a70b50f90bd422d85b1ad37ebef7085eebde1cbb61255099fc9c43819e13 |
cabledyn-0.1.1-py3-none-any.whl |
Python package | 05c0ad8c283af82ecf237493df4229fcd5db93cbdf75e67f9e2f7422b0455c4f |
cabledyn-0.1.1.tar.gz |
Python source distribution | 264c892d5b618588f1d81b712dbacc7f7401ed021c07a9a4a39a5aaf059e0f6b |
SHA256SUMS.txt |
Checksums of the four files above |
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.