Skip to content
Preview.sima@modelscript/sima 15 diagnostic rules
Parser WASM GLR
Diagnostics 15 rules
DAE Arena Lowering
Simulation Co-sim / Export
Projections Modelica, SSP, SysML v2
Live ExampleSparFloatingWindTurbine.sima

SIMA / RIFLEX 15 MW Floating Offshore Wind Catenary Mooring

Coupled aero-hydro-servo-elastic marine task defining JONSWAP irregular waves, spar floater hydrodynamics, and a 3-line chain-polyester mooring spread.

Playground
Source (24 lines)
1# SIMA / RIFLEX Coupled Floating Offshore Wind Task
2Task SparWindTurbine15MW {
3  Environment {
4    Hs = 6.2
5    Tp = 11.8
6    Gamma = 3.3
7    CurrentSpeed = 0.85
8    WindSpeed = 14.2
9    WaterDepth = 320.0
10  }
11  Body SparFloater {
12    Mass = 1.42e7
13    Draft = 110.0
14    COB = [0.0, 0.0, -52.0]
15    COG = [0.0, 0.0, -78.5]
16  }
17  MooringLine Line1_Upwind {
18    Fairlead = [-5.2, 0.0, -70.0]
19    Anchor = [-820.0, 0.0, -320.0]
20    Length = 885.0
21    SubmergedWeight = 1180.0
22    EA = 1.15e9
23  }
24}
SIMA Catenary Riser & Mooring Profile
2D Catenary Mooring Sag Profile Water Depth: 320.0m | Span: 820.0m | Line Length: 885.0m | Grounded: 540.0m Mean Water Level (0m) Seabed (0m) Anchor (0° Uplift) TDP (540.0m) 15MW Spar Turbine Fairlead FAIRLEAD TENSION 2 kN H: N/A kN | Angle: 32.0° ● DNV Safety Margin OK Depth: 320m Horizontal Span: 820.0m
Drag to pan · Click % to reset

SINTEF Ocean SIMO / RIFLEX Modeling (.inp, .sima, .sys, .hyd) ​

The @modelscript/sima package (languages/sima) provides native ingestion, analysis, verification, DAE simulation, and multi-domain projections for SINTEF Ocean / MARINTEK SIMO (Simulation of Marine Operations) and RIFLEX (Riser and Slender Marine Structural Dynamics) offshore engineering models and modern SIMA project archives.


Supported File Specifications ​

ExtensionFormatKey Structural Features
.inp / .sysSIMO & RIFLEX Card DecksClassical keyword cards: SYS, BODY, MASS, FAIRLEAD, LINE, SEGM, CRS, WAVE, WIND, CURR, DYNMOD
.simaModern SIMA XML ArchiveHierarchical task manifests (<simo:SimoTask>, <riflex:RiflexTask>, <sima:SlenderSystem>, <sima:Vessel>, <sima:MooringLine>)
.hyd / .outHydrodynamic Transfer Functions1st-order Force RAO tables, frequency-dependent added mass A(ω), potential damping B(ω), and restoring matrices

Architecture & Compilation Pipeline ​

Rendering diagram...

Pre-Flight Marine Linter Rules ​

15 rules9 error6 warning Run with msx lint

CodeRuleSeverityMessage
M7001negative-metacentric-heighterrorHydrostatic instability on vessel '<vessel>': negative <gmType> metacentric height (GM = <value> m < 0).
M7002line-length-underflowerrorMooring line '<line>' total length (<value> m) is less than water depth (<value> m), causing immediate vertical anchor snap load.
M7003acoustic-courant-violationerrorTime step dt=<value>s exceeds Courant axial acoustic wave limit (<value>s) for segment '<seg>'.
M7004unconnected-attachment-nodeerrorMooring line '<line>' references unresolved fairlead attachment '<fairleadId>' not found on any vessel.
M7005rao-frequency-extrapolationwarningEnvironmental wave peak frequency (<value> rad/s) is outside hydrodynamic RAO table range [<value>, <value>] rad/s.
M7006invalid-stiffness-hierarchyerrorNon-physical cross-sectional stiffness on segment '<seg>': <prop> (<val>) must be strictly positive.
M7007unphysical-seabed-frictionwarningUnrealistic seabed friction coefficient (\u03BC = <value>): expected value between 0.0 and 2.0.
M7008missing-hydrostatic-matrixerrorVessel '<vessel>' has zero or missing hydrostatic restoring matrix C; floating body cannot equilibrate in heave/roll/pitch.
M7009duplicate-line-identifiererrorDuplicate line identifier '<id>' declared in the slender system.
M7010slack-compression-hazardwarningMooring line '<line>' has negligible pre-tension under severe sea state (Hs > 8m), risking compression slack-snap loading.
M7011morison-drag-unspecifiedwarningSegment '<seg>' in wave zone has zero Morison drag coefficient (Cd = 0); hydrodynamic damping will be neglected.
M7012anchor-uplift-warningwarningCatenary line '<line>' exhibits vertical uplift angle (<value>\xB0) at anchor; drag-embedment anchors will pull out.
M7013mass-matrix-asymmetricerrorVessel '<vessel>' structural mass matrix is asymmetric at index (<r>, <c>).
M7014qtf-symmetry-violationwarningVessel '<vessel>' 2nd-order drift force QTF matrix violates conjugate symmetry.
M7015exceeds-minimum-bend-radiuserrorLine '<line>' minimum radius of curvature (<value> m) is below allowable MBR (<value> m).

Generated from languages/sima/src/lints/error-codes.ts. All languages →


Regulatory Verification & In-WASM Solvers ​

1. DNV-OS-E301 & DNV-ST-0119 Compliance ​

Evaluates line tension safety factors against Minimum Breaking Load (MBL):

SF=TMBLTmax≥1.67(Intact Condition)SF=TMBLTmax≥1.25(Damaged / Single Line Broken)

2. Watch Circle & Touchdown Zone Verification ​

Computes vessel 6-DOF horizontal mean offset ellipse under coupled wind, wave drift, and current loads against allowable excursion limits (typically ≤8% water depth for intact, ≤12% for damaged). Checks fairlead declination angles (≤75∘) and ensures anchor uplift angle is exactly 0∘ for drag-embedment anchors.

3. ASTM E1049 Rainflow Fatigue & Palmgren-Miner Cumulative Damage ​

Extracts stress/tension reversal cycles using the ASTM E1049-85 four-point rainflow algorithm and computes cumulative fatigue damage using Palmgren-Miner's rule (D=DFF⋅∑niNi) against DNV-OS-E301 S-N curves for studless chain, stud link, spiral strand wire, and polyester ropes.

4. Cummins 6-DOF Dynamics with Rational State-Space Radiation ​

Replaces the integro-differential retardation convolution integral with an O(p) rational linear state-space system (z˙=Arz+Brx˙, μ=Crz+Drx˙), converting the frequency-dependent memory terms into continuous 1st-order ODEs lowered directly into @modelscript/runtime's DAEBuilder in linear WebAssembly memory.


Headless CLI Operations (msx sima) ​

bash
# Lint a SIMO / RIFLEX card deck or .sima XML archive
msx sima lint cases/OC4_Semi.inp

# Evaluate DNV-OS-E301 line tension safety factors against MBL
msx sima verify cases/OC4_Semi.inp --consequence-class=2

# Inspect floater watch circle, horizontal excursion, and touchdown clearances
msx sima offset cases/OC4_Semi.inp

# Inspect model summary (vessels, fairleads, lines, waves, wind)
msx sima summary cases/OC4_Semi.inp

# Synthesize acausal Modelica 6-DOF physical floater model
msx sima to-modelica cases/OC4_Semi.inp --out=OC4_Platform.mo

# Export multi-FMU SystemStructure.ssd co-simulation manifest
msx sima to-ssp cases/OC4_Semi.inp --out=SystemStructure.ssd

# Export formal SysML v2 architectural parts, ports, and DNV requirements
msx sima to-sysml2 cases/OC4_Semi.inp --out=OC4_Semi.sysml

Open-Core under the GNU AGPL v3 License; Enterprise Edition (ee/) under the ModelScript Enterprise License. • Trademark Policy