Source module map
This page is for readers of the Fortran source in src/. It lists the modules, grouped by
subsystem, with their roles. The programming interfaces for users are documented in C API reference and
Python API reference.
CableDyn is a static/dynamic core library (cabledyn_core) plus coupling shells, the standalone
driver executable, and a CTest suite. Modules are named CableDyn_[Function]; public procedures
follow CD_[Action]_[Object].
Foundation
Module |
Role |
|---|---|
|
the working precision |
|
the startup identity banner of the standalone driver |
|
banded |
|
forward second-order automatic differentiation used to check analytic tangents |
|
rigid-body transforms and motion/load mappings shared by the deck and coupling routes |
|
the frame, sign, and unit conventions of Conventions, in code |
Finite-EI cubic-Hermite path
Module |
Role |
|---|---|
|
cubic-Hermite centreline evaluation and the arch seed for net-buoyant (lazy-wave) lines |
|
the 12-DOF position + material-tangent element: closed-form energy, |
|
damped-Newton static solve with EI / buoyancy continuation and mesh sequencing |
|
generalised-α dynamics with prescribed motion and the full Morison load set |
|
the |
EI = 0 cable path
Module |
Role |
|---|---|
|
the positions-only cable mesh and element |
|
global internal-force / tangent assembly and distributed loads |
|
Newton/Armijo static solve and the analytic catenary seed |
|
generalised-α dynamics and MoorDyn axial ( |
|
stateful synthetic-rope constitutive updates, forces, and consistent tangents |
|
composite multi-section lines, the model container, and multi-line systems |
Secondary Cosserat path
The rotation-DOF Cosserat rod path (CTest label cosserat) backs the finite-EI compatibility
route for lines with two moving ends.
Module |
Role |
|---|---|
|
SO(3) primitives (exp / log / dexp) for finite rotations |
|
the geometrically exact 6-DOF/node rod element and its global assembly |
|
Newton/Armijo static solve |
|
generalised-α dynamics and an energy-conserving integrator option |
|
the finite-EI compatibility-route model and grounded static equilibrium |
Hydrodynamics and contact
Module |
Role |
|---|---|
|
Morison drag / added mass / Froude–Krylov and the wave and current fields |
|
wave spectra (JONSWAP, Pierson–Moskowitz/ISSC, Torsethaugen, Ochi–Hubble), directional spreading and multi-train seas of the standalone deck |
|
regular nonlinear waves by the stream-function (Fourier) method |
|
the seabed elevation field |
|
penalty normal contact and the seabed friction laws (static friction spring, stick-slip spring) |
Coupled bodies and platform
Module |
Role |
|---|---|
|
the 6-DOF platform + mooring coupled static solve |
Coupling shells
The exchange contract is in Coupling boundary.
Module |
Role |
|---|---|
|
the OpenFAST lifecycle shell, registry-style types, and point-mesh mapping |
|
the module-form lifecycle for the |
|
the |
|
a standalone driver program for that module, built in the OpenFAST tree for module-level regression cases |
|
the ISO C binding for CFD and custom coupling |
Drivers
Module |
Role |
|---|---|
|
the sectioned |
|
single-line static solve entry points used by the test suite |
|
rigid-body vessel kinematics for |
|
along-arc range graphs ( |
|
modal analysis about the static equilibrium ( |
|
UTF-8 file names converted to the spelling the Fortran runtime opens exactly |
|
the driver’s report of an interrupt or a fatal fault, with the simulated time of the last committed step |
C helper sources
Source |
Role |
|---|---|
|
the BLAS thread-count policy and, in Windows GNU builds, run-time loading of OpenBLAS |
|
file-name services for the Fortran I/O layer (the counterpart of |
|
process-local locks of the C ABI (handle registry and deck initialisation) |
|
a guard around the numeric-locale handling of the MinGW-w64 Fortran runtime |
|
the driver’s report of an interrupt or a fatal fault with the simulated time reached (the counterpart of |