1. Seafloor support conditions

Seafloor contact specification
IBTANG ZBOT IBOT3D
  • IBTANG: integer, default: 0: Bottom tangent option.

    • IBTANG = 0: No seafloor contact

    • IBTANG = 1: Seafloor contact forces on all nodes that are below Z < ZBOT + R_EXTCNT. The modified 3D seafloor formulation is used. Friction contribution to torsional loading is possible.

    • IBTANG = 2: CARISIMA seafloor interaction model. Restricted option

    • IBTANG = 3: Seafloor contact elements will be added according to the specification given in the data group SEAFLOOR CONTACT SPECIFICATION.

    • IBTANG = -1: Equivalent with setting IBTANG=1.

    • IBTANG = -9: Seafloor contact forces on all nodes that are below Z < ZBOT using the original flat bottom formulation. If IBOT3D = 1, IBTANG is set to 1. This option is deprecated.

  • ZBOT: real: Z-coordinate of seafloor (ZBOT < 0). \(\mathrm {[L]}\)

    • Dummy variable if IBTANG = 0 or IBOT3D = 1.

  • IBOT3D: integer, default: 0: Code for 3D bottom

    • IBOT3D = 0: flat bottom at depth ZBOT

    • IBOT3D = 1: 3D topology, file to be specified in input to STAMOD

Note that flat bottom topology based on original Fortran code is planned to be removed and substituted by the general 3D seafloor contact formulation FORTRAN code. The old code will be kept for debugging purposes.

Seafloor stiffness, friction and damping

The following input line must only be given if IBTANG=1, IBTANG=-1 or IBTANG=-9

STFBOT STFAXI STFLAT FRIAXI FRILAT DAMBOT DAMAXI DAMLAT ILTOR
  • STFBOT: real > 0: Seafloor stiffness normal to the seafloor \([\mathrm {F/L^2}]\)

  • STFAXI: real >= 0, default: 0: In-plane seafloor stiffness for friction in axial direction \([\mathrm {F/L^2}]\)

  • STFLAT: real >= 0, default: 0: In-plane seafloor stiffness for friction in lateral direction \([\mathrm {F/L^2}]\)

  • FRIAXI: real >= 0, default: 0: In-plane seafloor friction coefficient in axial direction [1]

  • FRILAT: real >= 0, default: 0: In-plane seafloor friction coefficient in lateral direction [1]

  • DAMBOT: real >= 0, default: 0: seafloor damping coefficient normal to the seafloor \([\mathrm {F\times T/L^2}]\)

    • Dummy for IBTANG=-9

  • DAMAXI: real >= 0, default: 0: In-plane seafloor damping coefficient in axial direction \([\mathrm {F\times T/L^2}]\)

    • Dummy for IBTANG=-9

  • DAMLAT: real >= 0, default: 0: In-plane seafloor damping coefficient in lateral direction \([\mathrm {F\times T/L^2}]\)

    • Dummy for IBTANG=-9

  • ILTOR: integer, default: 0: Option for applying lateral contact forces at the external contact radius, giving a torsional moment

    • = 0: Lateral loads are applied at the node

    • = 1: Lateral loads are applied at the external contact radius if it is specified for the associated beam cross-section.

    • Dummy for IBTANG=-9

STFBOT is used for computing the vertical spring stiffness, \(\mathrm {k_V}\) , for seafloor contact. \(\mathrm {k_V}\) = STFBOT \(\mathrm {\times L}\) where \(\mathrm {L}\) is the element length.

Horizontal contact with the seafloor is modelled independently in the axial and lateral directions. Contact is initially modelled with linear springs. Sliding will occur when an axial or lateral spring force reaches the friction force value. Springs will be reinstated if the line starts sliding in the opposite direction, or if the friction force increases and is greater than the spring force. The spring stiffness is calculated as \(k_h=\mathrm {Stalks}\times L_h\), where \(\mathrm {L_h}\) is the length of the element’s horizontal projection. The seafloor friction forces are calculated as \(F=\mathrm {FRIxxx}\times F_{vert}\) and are directed against the axial or lateral displacements, where \(\mathrm {F_{vert}}\) is the vertical contact force between the pipe and the bottom.

To be given only if IBTANG = 2 (Restricted option) and IBOT3D = 0
PHIG PHIS ZCUT X0 Y0
  • PHIG: real, default: 0: Angle anti-clockwise from X-axis to largest gradient \([\mathrm {deg}]\)

  • PHIS: real, default: 0: Slope of seafloor \([\mathrm {deg}]\)

  • ZCUT: real, default: 0: Elements above ZCUT ignored in contact analysis \([\mathrm {L}]\)

  • X0: real, default: 0: X position of seafloor origin with depth ZBOT \([\mathrm {L}]\)

  • Y0: real, default: 0: Y position of seafloor origin with depth ZBOT \([\mathrm {L}]\)

Giving a low ZCUT increases efficiency, but should not be given lower than the highest position of any point actually in contact with the seafloor.

2. Line, line type and supernode connectivity

This data group defines the connectivity between lines and supernodes. If the line identifier is missing the line number implicitly defined by the order in which the lines are specified, will be used as the line identifier. References to line type IDs and supernode IDs are mandatory.

NLIN input lines.

LINE-ID LINTYP-ID SNOD-ID1 SNOD_ID2
  • LINE-ID: character(8): Line identifier

  • LINTYP-ID: character(8): Reference to line type identifier

  • SNOD-ID1: character(8): Reference to supernode identifier at end 1

  • SNOD-ID2: character(8): Reference to supernode identifier at end 2

If only 3 alphanumeric strings are specified, the first string is taken as LINTYP-ID, the second as SNOD-ID1 and the third as SNOD-ID2:

LINTYP-ID SNOD-ID1 SNOD-ID2

The LINE-ID is taken as the line number as implicitly defined by the order in which the lines are given.

The local element y- and z-axes are found from local x-axis and a reference vector.

The local element x-axis goes from end 1 to end 2 of the element. The local element y- and z-axes are found from local x-axis and a reference vector. The local element x-, y- and z-axes will form a right-handed coordinate system.

The reference vector may be specified using the option LOCAL ELEMENT AXIS.

If the line is a blade in a wind turbine and LOCAL ELEMENT AXIS is not specified, the reference vector will be found as the cross product between the local x-axis of the shaft and the local x-axis of the blade element.

If the reference vector is not given by either of these two methods, the default method will be used to determine the local element axis.

Default method

  • If the element is not vertical, the reference vector is found as the cross product between the global z-axis and the local x-axis.

  • If the element is vertical, the positive or negative global y-axis will be used as the reference vector; positive if completely vertical or tilted in the positive global x-direction and negative otherwise.

  • This will give a horizontal y-axis and, if possible, a local z-axis oriented upwards.

Once the reference vector is found by one of these methods, then

  • The local z-axis is found as the cross product between the local x-axis and the reference vector.

  • The local y-axis is found as the cross product between the local z-axis and the local x-axis.

For beam elements, the element axes are found at the stress-free configuration and will subsequently follow the element.

Examples:

  1. If the element is in the global xz-plane and the local x-axis is completely vertical or tilted in the positive global x-direction, the global y-axis will be used as the reference vector.

  2. If the local x-axis is tilted in the negative global x-direction, the negative global y-axis will be used as the reference vector.

  3. If local x-axis is tilted 45 deg wrt to global z-axis, the reference vector will point in the positive global y-direction.

  4. If the local x-axis is along the global x-axis, the reference vector will point in the global y-direction. The initial local element axes will be aligned with the corresponding global axes.

  5. If the local x-axis is along the global y-axis, the reference vector will point in the negative x-direction. The local z-axis will point in the positive global z-direction and the local element y-axes in the negative global x-direction.

  6. If the local x-axis points in the direction (1,2,3), the reference vector will point in the direction (-2,1,0). The local z-axis will point in the direction (-3,-6,5) and the local y-axis will coincide with the reference vector.

  7. If the local x-axis points in the direction (1,2,-3), the reference vector will point in the direction (-2,1,0). The local z-axis will point in the direction (3,6,5) and the local y-axis will coincide with the reference vector.

um local axis fig1
Figure 1. Local axis - example 1
um local axis fig2
Figure 2. Local axis - example 2
um local axis fig3
Figure 3. Local axis - example 3
um local axis fig1
Figure 4. Local axis - example 1
um local axis fig1
Figure 5. Local axis - example 1
um local axis fig1
Figure 6. Local axis - example 1
um local axis fig1
Figure 7. Local axis - example 1

3. Specification of boundary conditions, stressfree configuration and static equilibrium configuration

Coordinates of all supernodes must be specified to define the initial stressfree configuration as well as the final static configuration. If the distance between supernodes in stressfree configuration do not correspond to the line length as specified in Type and location of contact point, NCNODE input lines, the length of the last segment in the line is adjusted, and a warning is written.

Boundary conditions and coordinates for supernodes with at least one fixed or prescribed degree of freedom

The following two or three input lines must be given in blocks for each of the NSNFIX supernodes.

Boundary conditions:

 SNOD_ID IPOS IX IY IZ IRX IRY IRZ CHCOO CHUPRO
  • SNOD_ID: character(8): Supernode identifier

  • IPOS: integer, default: 0: Boundary condition type

    • IPOS = 0: The supernode is not connected to a support vessel

    • IPOS = IVES: The supernode is connected to support vessel number IVES, 1 ⇐ IVES ⇐ NVES.

  • IX: integer, default: 1: Boundary condition code for translation in X-direction

    • IX = 0: Free

    • IX = 1: Fixed or prescribed

  • IY: integer, default: 1: Boundary condition code for translation in Y-direction (same interpretation as for IX)

  • IZ: integer, default: 1: Boundary condition code for translation in Z-direction (same interpretation as for IX)

  • IRX: integer, default: 1: Boundary condition code for rotation about X-axis (same interpretation as for IX)

  • IRY: integer, default: 1: Boundary condition code for rotation about Y-axis (same interpretation as for IX)

  • IRZ: integer, default: 1: Boundary condition code for rotation about Z-axis (same interpretation as for IX)

  • CHCOO: character(6): Identifier for boundary condition reference coordinate system

    • CHCOO = GLOBAL: Boundary conditions are referenced to global coordinate system.

    • CHCOO = SKEW-G: Boundary conditions are referenced to a skew coordinate system.

    • CHCOO = VESSEL: Boundary conditions are referenced to vessel coordinate system.

    • CHCOO = SKEW-V: Boundary conditions are referenced to a skew vessel coordinate system.

  • CHUPRO: character(3), default: NO: Computational parameter. Boundaries rotate with specified rotation

    • CHUPRO = YES

    • CHUPRO = NO

A supernode with prescribed motions during dynamic analysis must have IPOS>0.

Possible hinges at riser ends connected to fixed supports or to a support vessel may be modelled by either choosing the correct boundary condition code (see above) or using ball-joint connectors. Be careful not to use both these modelling options at the same time for a given super-node. This will lead to program abortion.

Note that if some of the translations are not prescribed, rotation-induced translations may cause drift-off if used in combination with global boundary conditions at a node attached to a vessel.

Coordinates for stress free and static equilibrium position:

X0 Y0 Z0 X1 Y1 Z1 ROT DIR
  • X0: real: Coordinates for stress free configuration specified so that the line between any two supernodes are straight and with zero tension. \([\mathrm {L}]\)

  • Y0: real: As for X0

  • Z0: real: As for X0

  • X1: real, default: X0:

  • Y1: real, default: Y0: Coordinates for static equilibrium position \([\mathrm {L}]\)

  • Z1: real, default: Z0

  • ROT: real, default: 0: Specified rotation of supernode from stress free position to static equilibrium position \(\mathrm {[deg]}\)

  • DIR: real, default: 0: Direction of axis for specified rotation \(\mathrm {[deg]}\)

ROT is the specified rotation in degrees from stress free position to equilibrium position and is analogous to ALFL/ALFU parameters used for the standard systems. The rotation ROT will be around the local YREF-axis as shown in the figure below. DIR is the rotation in degrees from global X-axis to XREF-axis. The local ZREF-axis is parallel to global Z-axis. DIR=0 signifies that the rotation ROT will be around the global Y-axis. If the line end is allowed to rotate freely around the local YREF-axis, ROT will be dummy. Free rotation around global Y-axis is obtained with IRY = 0 and DIR = 0.

Definition of rotation axis YREF versus global coordinate system, X, Y. The supernode is located in the origin

Definition of skew coordinate system One input line only if CHCOO = `SKEW-G' OR `SKEW-V'

XX XY XZ XP YP ZP
  • XX: real: Components of the skew X-axis referred to the global system. \([\mathrm {L}]\). See figure below.

  • XY: real: As for XX.

  • XZ: real: As for XX.

  • XP: real: Components of a reference vector from the supernode to a point in the skew XY-plane, referred to global system \([\mathrm {L}]\)

  • YP: real: As for XP

  • ZP: real: As for XP

The skew Z-axis is found by the cross product between the skew X-axis and the reference vector. The skew Y-axis is found by the cross product between the skew Z-axis and the skew X-axis

um ii fig37
Figure 8. Definition of skew boundary system.
Coordinates for completely free supernodes

This input group consists of NSNFRE input lines, where NSNFRE=NSNOD-NSNFIX gives the number of supernodes where all degrees of freedom are free. Skip this group if NSNFRE=0.

SNOD-ID X0 Y0 Z0
  • SNOD-ID: character(8): Supernode identifier

  • X0: real: Nodal coordinate in stress free configuration \([\mathrm {L}]\)

  • Y0: real: Nodal coordinate in stress free configuration \([\mathrm {L}]\)

  • Z0: real: Nodal coordinate in stress free configuration \([\mathrm {L}]\)

4. Support vessel reference

Identification and location of support vessel, NVES input lines

IVES IDWFTR XG YG ZG DIRX
  • IVES: integer, default: 1: Vessel number, 1 ⇐ IVES ⇐ NVES.

  • IDWFTR: character(6), default: 'NONE': Identifier for support vessel motion transfer function

    • IDWFTR = 'NONE' means no transfer function specified

  • XG: real: X position of vessel coordinate system referred in global system \([\mathrm {L}]\)

  • YG: real: Y position of vessel coordinate system referred in global system \([\mathrm {L}]\)

  • ZG: real: Z position of vessel coordinate system referred in global system \([\mathrm {L}]\)

  • DIRX: real: Direction of vessel X-axis.

5. Description of global springs

To be specified if NSPR>0 The input lines below (`Spring localization and properties' and `Nonlinear spring stiffness') must be given in one block for each global spring.

Spring location and properties
LINE-ID ISEG INOD ILDOF STIFF/NPAIR DAMP A2
  • LINE-ID: character (8): Line identifier

  • ISEG: integer: Local segment number within line

  • INOD: integer: Local node number within actual segment

  • ILDOF: integer: Local degree of freedom

    • =1 global X-direction

    • =2 global Y-direction

    • =3 global Z-direction

    • =4 rotation around global X-axis

    • =5 rotation around global Y-axis

    • =6 rotation around global Z-axis

    • = 12 or 21 translation in global XY-plane

    • = 13 or 31 translation in global XZ-plane

    • = 23 or 32 translation in global YZ-plane

  • STIFF/NPAIR

    • STIFF: real >= 0: Constant spring stiffness \([\mathrm {F/L}]\) or \([\mathrm {FL/deg}]\)

    • NPAIR: integer ⇐ -2: NPAIR is number of force-displacement or moment-rotation relations in spring specification

  • DAMP: real, default: 0: Linear damping coefficient \([\mathrm {FT/L}]\) or \([\mathrm {FLT/deg}]\)

  • A2: real, default: 0: Stiffness proportional damping factor

Nonlinear spring stiffness

The following input line is to be given if NPAIR >= 2

PON(1) DISPL(1)...............PON(NPAIR) DISPL(NPAIR)
  • PON(1): real: Spring force \([\mathrm {F}]\) or moment \([\mathrm {FL}]\) corresponding to

  • DISPL(1): real: Spring displacement \([\mathrm {L}]\) or \([\mathrm {deg}]\)

All NPAIR pairs of PON and DISPL values are given on a single input line. The values of PON and DISPL must be monotonically increasing; PON(1) < PON(2) < …​ < PON(NPAIR) and DISPL(1) < DISPL(2) < …​ < DISPL(NPAIR).

For ILDOF > 6, the first pair of values must both be zero; i.e. \(\mathrm {\:}\) PON(1) = DISPL(1) = 0.0.

6. Description of kill and choke lines (deprecated functionality)

NAKC input lines.

IKCTYP DIAAKC MASAKC FLUAKC TENAKC NLINKC LINE-ID(1) ... LINE-ID(nlinkc)
  • IKCTYP: integer: Type of kill and choke line

    • IKCTYP = 1: Internal line

    • IKCTYP = 2: External line

  • DIAAKC: real, default: 0: Outer diameter of kill and choke line \([\mathrm {L}]\)

  • MASAKC: real, default: 0: Mass per unit length of kill and choke line excluding contents \([\mathrm {M/L}]\)

  • FLUAKC: real, default: 0: Mass per unit length of fluid contents of kill and choke line \([\mathrm {M/L}]\)

  • TENAKC: real, default: 0: Tension of kill and choke line \([\mathrm {F}]\)

  • NLINKC: integer, default: 1: Number of riser lines this kill and choke line is attached to

  • LINE-ID(1): character(8): Reference to line identifiers (Adjacent lines)

  • .

  • .

  • .

  • LINE-ID(nlinkc):

LINE-IDs must be given in correct order from lower end to upper end. Tension will be applied at the supernode at the second end of line LINE-ID(nlinkc)

If tension is zero, an internal line will be fixed at the upper end.

7. Rigid supernode connections

In present version only to be applied for static and non-linear dynamic analysis.

This option enables the user to model rigid connections between supernodes. A rigid connection is modelled by specifying a master - and a slave node. Both the master and the slave have initially to be defined as free nodes. The theoretical formulation is a special application of linear constraints between degrees of freedom.

NRICON input lines.

CHMAST CHSLAV
  • CHMAST: character: Reference to supernode identifier, SNOD-ID, specified as the master node

  • CHSLAV: character: Reference to supernode identifier, SNOD-ID, specified as the slave node

Note that:

  • Both the master and the slave node have initially to be defined as free nodes.

  • A master node can not be slave of another master node.

  • A slave node can only be slave of one master node.

  • An arbitrary number of slave nodes can have the same master node.

  • The number of DOFs at the slave node must not exceed the number of DOFs at the master node.

8. Seafloor contact specification

This data group must be given for Arbitrary Systems AR-sytems with IBTANG = 3.

8.1. Data group identifier, one input line

SEAFloor CONTact SPECification

8.2. Seafloor contact specification

NSPEC
  • NSPEC: integer > 0: Number of input lines to be given with seafloor contact specification

NSPEC input lines

CMPTYP-ID LINE-ID ISEG1 ISEG2 … ISEGn
  • CMPTYP-ID: character(8): Reference to a seafloor contact component identifier. Must be of type SPRI or SOIL.

  • LINE-ID: character(8): Reference to a line identifier

  • ISEG1: integer >= 0, default: 0: Segment for which seafloor contact of type CMPTYP-ID is possible.

    • ISEG1 = 0: Seafloor contact is possible for all segments in line LINE-ID

    • ISEG1 > 0: First segment for which seafloor contact is possible.

  • ISEG2: integer != 0: Segment for which seafloor contact of type CMPTYP-ID is possible.

    • ISEG2 > 0: Second segment for which seafloor contact is possible.

    • ISEG2 < 0: Seafloor contact is possible for all segments from ISEG1 to ABS(ISEG2).

  • ISEGn: integer !=0: Last segment for which seafloor contact of type CMPTYP-ID is possible.

    • ISEGn > 0: Last segment for which seafloor contact is possible.

    • ISEGn < 0: Seafloor contact is possible for all segments from the previous specified segment to ABS(ISEGn).

Pairs of a positive and a negative segment number may be given anywhere in the sequence.

Note that a segment may only have one seafloor contact.

9. Elastic contact surface

This data group is optional and is available as additional information for Arbitrary Systems only. It enables the user to model contact effects between lines. For normal riser systems this data group should not be considered.

The main intention of this data group is to enable modelling of pipelines during laying operations. This includes contact forces between the pipe and rollers on the lay barge/stinger and applied tension from a tensioner.

Contact between roller and pipe is modelled by a bi-linear or non-linear spring and a bi-linear dash pot damper. The contact force acts normal to the pipe and the roller. It is treated as a discrete element load acting on the pipe, while the contact load acting on the roller is transferred as a nodal force to the stinger. The last includes possible torsional moment.

The term contact surface is introduced to cover stinger modelling. The stinger may be fixed or hinged to the vessel. Generally it is curved and may consist of a rigid part following the vessel motions and a flexible part.

The term contact point is defined as the location of rollers or tensioner on the stinger.

um ii fig41
Figure 9. Elastic contact surface

9.1. Contact surface modelling

A complete model of an elastic contact surface includes the following information:

  • Number of lines describing the surface The surface may consist of several adjacent lines. By introducing several adjacent lines it is possible to model a contact surface which has a curved stress-free initial configuration. In addition boundary conditions for the super-nodes at the line intersections can be specified. This is necessary to model prescribed displacements due to vessel motions.

  • Type and location of contact points Contact points can be of roller and/or tensioner type and have to be located at ends of line segments.

  • Identification of lines which may experience contact with the contact surface. The line identification is used to limit the number of elements that have to be checked for contact during program execution.

Supplementary information is specified in the following data groups: