Migrating from MoorDyn or OrcaFlex
CableDyn reads MoorDyn v2 vocabulary and uses the line-and-section arrangement and output conventions that users of OrcaFlex (by Orcina) know, so both kinds of model can be ported. This page maps the concepts, shows what changes, and ends with a checklist.
From MoorDyn
A stock MoorDyn deck runs almost unchanged
CableDyn accepts the MoorDyn v2 file layout: the --- MoorDyn Input File --- banner and
title, LINE TYPES with the stock Cd Ca CdAx CaAx column order (recognised from the header
row), POINTS with Fixed/Vessel/Coupled/Free/Connect attachments, the
stock 7-column LINES row, SOLVER OPTIONS, and OUTPUTS closed by END.
A stock LINES row
ID LineType AttachA AttachB UnstrLen NumSegs Outputs
1 chain 1 4 850.0 50 -
is read as a line from point 1 to point 4 made of one section of chain, 850 m long, 50
elements — exactly equivalent to a CableDyn LINES row 1 4 1 - plus one SECTIONS row
1 chain 850.0 50. MoorDyn writes lines anchor-first; when AttachA is a Fixed anchor
and AttachB a Vessel/Coupled/Body fairlead, CableDyn swaps the ends so that
End A is the fairlead, as everywhere in CableDyn. Endpoint channels therefore keep their
physical meaning: FairTen is at the fairlead, AnchTen at the anchor.
examples/openfast/MoorDyn_UMaine.dat is such a stock deck. For a standalone run it needs
only what OpenFAST (maintained by NLR, the National Laboratory of the Rockies, formerly NREL)
would otherwise provide — a water depth — and either no dtM or both
dtM and TMax, and it must not ask for the host SeaState field:
200.0 WtrDpth - water depth (m) <- add (OpenFAST supplies it when coupled)
0.0002 dtM - ... <- delete for a static run, or add TMax
SeaState WaterKin - ... <- delete (coupled runs only)
With those three edits CableDyn_driver.exe reproduces the same 2.437 MN fairlead tension as the
native deck of Tutorial 2 — A spread mooring and its output channels. In OpenFAST the stock deck works unchanged as a
MooringFile for CompMooring = 5; its dtM = 0.0002 is below the glue step, so
CableDyn says so on the console and uses dtM = DT (0.025 s) instead. Keywords that only
steer MoorDyn’s dynamic-relaxation start (dtIC, TmaxIC, CdScaleIC, threshIC) are
accepted and have no effect: CableDyn’s initial condition is a Newton static equilibrium.
When to use SECTIONS instead
The 7-column row can describe only a single-type line. A composite (chain–polyester–chain, or a
power cable with bare, buoyancy, and bend-stiffener zones) is, in MoorDyn, several lines joined at
Connect points; in CableDyn it is one line with several ordered sections:
--------------------- LINES --------------------------------------------
ID NodeA NodeB Outputs
1 2 1 -
--------------------- SECTIONS -----------------------------------------
LineID LineType Length NumSegs
1 chain 100.0 20
1 polyester 600.0 60
1 chain 250.0 25
One line object keeps one continuous arc length, one static profile, and exact continuity at the
joints, with no artificial connection mass. A line is defined either by one 7-column row or by a
3/4-column LINES row plus its SECTIONS — not both.
Keyword map
MoorDyn |
CableDyn |
|---|---|
|
same row; the native order is |
|
|
Syrope line type and |
|
|
same; fairleads are |
|
same, on dynamic decks |
|
supported subset: |
|
same |
|
|
|
same file; |
|
|
|
same names; tensions in N (Output files and channels) |
What differs on purpose
Topic |
CableDyn |
|---|---|
Initial condition |
always a Newton static equilibrium from an analytical seed; no dynamic relaxation, no
|
Element |
finite elements with an implicit generalised-α integrator, not a lumped-mass explicit
scheme; |
Time step |
chosen for accuracy, not stability: an implicit |
Unsupported input |
rejected at parse time with a message naming the feature, never silently ignored |
Node identity |
CableDyn meshes are its own; MoorDyn node numbers and rod-node histories are not reproduced |
Inside OpenFAST
Set CompMooring = 5 instead of 3 and point MooringFile at the CableDyn (or stock
MoorDyn) deck. Both modules are in the same openfast.exe, so an A/B comparison is one integer
(Tutorial 9 — A floating wind turbine in OpenFAST). The supported coupled surface and its limits are in
Capabilities and route selection.
From OrcaFlex
CableDyn uses the same line arrangement and conventions as OrcaFlex: a line runs from End A to End B through sections of different line types and mesh densities; tension is effective tension; declination, azimuth, and the global frame follow OrcaFlex (Conventions).
OrcaFlex |
CableDyn |
|---|---|
line type (outer diameter, mass per length, EA, EI, Cd, Ca) |
|
line with sections of different line types and target segment lengths |
one |
End A / End B |
identical: End A is the fairlead or hang-off, End B the anchor or termination |
end connection stiffness (bend stiffness at a line end) |
|
vessel / fixed / anchored connections |
|
6D buoy, 3D buoy, clump |
|
lazy wave with distributed buoyancy modules |
a net-buoyant middle section (equivalent diameter and mass), or an
|
seabed stiffness and friction |
|
statics |
automatic: no catenary pre-shape, no user starting shape |
range graph (tension, curvature, bend moment vs arc length) |
|
time-history results |
|
wave and current environment |
|
Practical differences: the model is a plain-text SI deck rather than a .dat/.yml model
file; section meshes are given as element counts; and each option is a single keyword row. The
lazy-wave reference cables of Tutorial 3 — A lazy-wave power cable were compared with OrcaFlex 11.6d; the
results are in CableDyn verification and validation.
Porting checklist
Decide per line: a single-type line may keep the stock 7-column row; a composite becomes one
LINESrow plus orderedSECTIONSfrom End A (fairlead) to End B (anchor).Give cables and bending-dominated lines
EI > 0; keep chain and rope atEI = 0.Standalone: add
WtrDpth(andg/rhoWif not default); set either nodtM(static) or bothdtMandTMax. Coupled: OpenFAST supplies depth, density, gravity, and time.Translate the environment:
waves,current,kBot/cBot/frictionMu,bathymetryFile.List one channel per
OUTPUTSrow; setp/ton lines whose full profile you need.Run the static case first and compare fairlead tension, touchdown, and — for cables — the curvature profile with the source model before running dynamics.
If the parser rejects something, the message names the feature and the line; Troubleshooting lists every message and its fix.