13. Modeling mooring lines (XMF)

13.1. The XMF library

In case of interactive body motions, mooring lines can be modeled in ComFLOW by means of a set of libraries (located in the folder xsimulation) provided by MARIN. The details of the mooring system are described by a file mooring.xmf that should be placed in the subdirectory input_files. XMF is a MARIN in-house file standard. An XMF file can be created by means of the tool ini2xmf (syntax: ini2xmf mooring.ini) that converts an INI configuration file (informal standard for configuration files, see http://en.wikipedia.org/wiki/INI_file) into an XMF file. How to specify the details of a mooring system in ini format can be found on https://wiki.marin.nl/index.php/ANYwiki. The INI file has the same format as the INI file that is used for MARIN’s aNySIM program.

In order to run ComFLOW with mooring lines a license file is required. To obtain a license file the MARIN support department should be contacted.

On Windows systems, the XMF module can be used directly without any installation from the ComFLOW command prompt. The installation instructions for Linux systems can be found in Section 3.

Below, two INI file examples can be found. The first concerns the tendons of TLP, the second concerns a load in the splash zone. It should be noted that in the INI file, the body that corresponds to the ComFLOW body should always be body1 and that body type should always be floater.

13.2. Examples

13.2.1. TLP tendons

In this example 4 tendons are modeled between a TLP and the seabed. The 4 tendons are connected to a ComFLOW moving body (floater 1). The details of the moving body are described in the ComFLOW input files (see the example TLP located in the subdirectory examples).

[GENERAL]
Comment = TLP model scale tendons
Nbody = 1
hcom = 0.001

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[BODY1]
bodytype = floater
Cog            = {0,0,.6012} ;centre of gravity with respect to keel, midship, centerline
refpos = {0,0,-.56,0,0,0} ;position of keel, midship, centerline wrt global origin (free surface)
MooringSystemIndex           =          1
MooringSystemOrigin          = {0.0, 0.0, 0.0}

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[MooringSystem1]
Comment                      = Spread mooring
Nline                        =          4
LineDef                      = {1, 1, 1, 1}
FairleadX                    = {0.68,-0.68,-0.68,0.68}
FairleadY                    = {0.68,0.68,-0.68,-0.68}
FairleadZ                    = {0.025,0.025,0.025,0.025}
AnchorDepth                  = {9.685,9.685,9.685,9.685}
Anchoralloc                  = 3
AnchorX                      = {0.68,-0.68,-0.68,0.68}
AnchorY                      = {0.68,0.68,-0.68,-0.68}
IsDynamic                    = true
;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[LineDef1]

Comment                      = tendon
Nsegment                     =         1
LineSegmentType              = {1}
Length                       = {9.1449}
NrElement                    = {8}

;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[LineSegmentType1]

Comment                      = tendon
BreakLoad                    = 0.462140E+04
Wsub                         = 1.2944
Mass                         = 0.454
EAType                       = 1         1
EA                           = 251.576
Cin                          = 1.6
Diameter                     = 0.02
Cit                          = 1.2
Cdn                          = 1.3
Cdt                          = 0.4

[Output]
NbOutSig = 4
OutSig1        = { TFair, 1, 1, tension line 1, kN }
OutSig2        = { TFair, 2, 1, tension line 1, kN }
OutSig3        = { TFair, 3, 1, tension line 1, kN }
OutSig4        = { TFair, 4, 1, tension line 1, kN }

13.2.2. Hoisting wires and slings

In this example 4 slings, a shackle and a hoisting wire towards a fixed point are modelled. The 4 slings are connected to a ComFLOW moving body (floater 1). The details of the moving body are described in the comflow input files (see the example splashzoneload located in the subdirectory examples ).
[GENERAL]
Comment = load and shackle with slings and hoisting wire
Nbody = 2
hcom = 0.1
Nline = 5

[BODY1]
bodytype = floater
Cog            = {0,0,1} ;centre of gravity with respect to keel, midship, centerline
refpos = {0,0,1,0,0,0} ;position of keel, midship, centerline wrt global origin (free surface)
massvector = {150,1.5,3,3}
LdampAdd = { 0.7,     0,        0,         0,        0,        0,
               0,     0.7,      0,         0,        0,        0,
               0,     0,        7.,         0,        0,        0,
               0,     0,        0,     70,        0,        0,
               0,     0,        0,         0,        70.,        0,
               0,     0,        0,         0,        0,    70 }

[BODY2]
bodytype = load
Cog            = {0,0,0} ;centre of gravity with respect to keel, midship, centerline
refpos = {0,0,10,0,0,0} ;position of keel, midship, centerline wrt global origin (free surface)
LdampAdd = { 1.0,     0,        0,         0,        0,        0,
               0,   1.0,        0,         0,        0,        0,
               0,     0,        10.,         0,        0,        0,
               0,     0,        0,     10,        0,        0,
               0,     0,        0,         0,        10.,        0,
               0,     0,        0,         0,        0,    10 }
massvector = {1.,1.,1.,1.}

[LINE1]
Con2BodyInd = 1
SFCon2Pos = {5, 2.5, 2}
Con1BodyInd = 2
SFCon1Pos = {0,0,0}
RestLength = 8.9
LineStiff = {10000,0,0}

[LINE2]
Con2BodyInd = 1
SFCon2Pos = {-5, 2.5, 2}
Con1BodyInd = 2
SFCon1Pos = {0,0,0}
RestLength = 8.9
LineStiff = {10000,0,0}

[LINE3]
Con2BodyInd = 1
SFCon2Pos = {-5, -2.5, 2}
Con1BodyInd = 2
SFCon1Pos = {0,0,0}
RestLength = 8.9
LineStiff = {10000,0,0}

[LINE4]
Con2BodyInd = 1
SFCon2Pos = {5, -2.5, 2}
Con1BodyInd = 2
SFCon1Pos = {0,0,0}
RestLength = 8.9
LineStiff = {10000,0,0}

[LINE5]
Con1BodyInd = 2
SFCon1Pos = {0,0,0}
Con2BodyInd = 0
SFCon2Pos = {0,0,20}
RestLength = 9.85
LineStiff = {10000,0,0}

[Output]
NbOutSig = 5
OutSig1        = { TFair, 1, 1, tension line 1, kN }
OutSig2        = { TFair, 2, 1, tension line 2, kN }
OutSig3        = { TFair, 3, 1, tension line 3, kN }
OutSig4        = { TFair, 4, 1, tension line 4, kN }
OutSig5        = { TFair, 5, 2, tension line 5, kN }