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
| Extension | Format | Key Structural Features |
|---|---|---|
.inp / .sys | SIMO & RIFLEX Card Decks | Classical keyword cards: SYS, BODY, MASS, FAIRLEAD, LINE, SEGM, CRS, WAVE, WIND, CURR, DYNMOD |
.sima | Modern SIMA XML Archive | Hierarchical task manifests (<simo:SimoTask>, <riflex:RiflexTask>, <sima:SlenderSystem>, <sima:Vessel>, <sima:MooringLine>) |
.hyd / .out | Hydrodynamic Transfer Functions | 1st-order Force RAO tables, frequency-dependent added mass |
Architecture & Compilation Pipeline
Pre-Flight Marine Linter Rules
15 rules9 error6 warning Run with msx lint
| Code | Rule | Severity | Message |
|---|---|---|---|
M7001 | negative-metacentric-height | error | Hydrostatic instability on vessel '<vessel>': negative <gmType> metacentric height (GM = <value> m < 0). |
M7002 | line-length-underflow | error | Mooring line '<line>' total length (<value> m) is less than water depth (<value> m), causing immediate vertical anchor snap load. |
M7003 | acoustic-courant-violation | error | Time step dt=<value>s exceeds Courant axial acoustic wave limit (<value>s) for segment '<seg>'. |
M7004 | unconnected-attachment-node | error | Mooring line '<line>' references unresolved fairlead attachment '<fairleadId>' not found on any vessel. |
M7005 | rao-frequency-extrapolation | warning | Environmental wave peak frequency (<value> rad/s) is outside hydrodynamic RAO table range [<value>, <value>] rad/s. |
M7006 | invalid-stiffness-hierarchy | error | Non-physical cross-sectional stiffness on segment '<seg>': <prop> (<val>) must be strictly positive. |
M7007 | unphysical-seabed-friction | warning | Unrealistic seabed friction coefficient (\u03BC = <value>): expected value between 0.0 and 2.0. |
M7008 | missing-hydrostatic-matrix | error | Vessel '<vessel>' has zero or missing hydrostatic restoring matrix C; floating body cannot equilibrate in heave/roll/pitch. |
M7009 | duplicate-line-identifier | error | Duplicate line identifier '<id>' declared in the slender system. |
M7010 | slack-compression-hazard | warning | Mooring line '<line>' has negligible pre-tension under severe sea state (Hs > 8m), risking compression slack-snap loading. |
M7011 | morison-drag-unspecified | warning | Segment '<seg>' in wave zone has zero Morison drag coefficient (Cd = 0); hydrodynamic damping will be neglected. |
M7012 | anchor-uplift-warning | warning | Catenary line '<line>' exhibits vertical uplift angle (<value>\xB0) at anchor; drag-embedment anchors will pull out. |
M7013 | mass-matrix-asymmetric | error | Vessel '<vessel>' structural mass matrix is asymmetric at index (<r>, <c>). |
M7014 | qtf-symmetry-violation | warning | Vessel '<vessel>' 2nd-order drift force QTF matrix violates conjugate symmetry. |
M7015 | exceeds-minimum-bend-radius | error | Line '<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):
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
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 (
4. Cummins 6-DOF Dynamics with Rational State-Space Radiation
Replaces the integro-differential retardation convolution integral with an @modelscript/runtime's DAEBuilder in linear WebAssembly memory.
Headless CLI Operations (msx sima)
# 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
