Input to VIVANA

1. General information

Input to the VIVANA module comprises two data files.

One of these data files must be an ascii file given by the user, and the other one must be a binary result file from the static solution found by RIFLEX (<prefix>_ifnsys.sam). The file provided by the user must be named using the same prefix as was used for the RIFLEX analysis.

This chapter describes the contents of the user defined input file to VIVANA (<prefix>_vivana.inp). A typical input file for VIVANA is listed in Appendix A.

The input to VIVANA is divided into seven sections:

Theoretical descriptions of the VIV evaluation scheme and the response analysis method are given in the VIVANA Theory Description.

2. Control information

2.1. Data group identifier, one input line

VIVAna CONTrol INFOrmation chvers
  • CHVERS: character(8): VIVANA input file version, e.g. 4.0

Identification of the analysis must be given in three lines of text. This text will be printed to the vivana.res file.

2.2. Heading, three input lines

HEADn
  • HEADn: character, default: CH: Line n of heading text

Always 3 card images which may all be blank.

2.3. Identification of system and environment, one input line

IDRIS IDSTAT IDENV TEMP IRSTYP
  • IDRIS: character(6): Riser identifier, corresponding to the model established by RIFLEX module INPMOD and used in STAMOD. See Input to INPMOD, Data Group B, Riser type specification in RIFLEX User Guide.

  • IDSTAT: character(6): Static condition identifier, corresponding to the static analysis carried out by RIFLEX module STAMOD. See Input to STAMOD, Data Group A, Principal run parameters in RIFLEX User Guide.

  • IDENV: character(6): Environment identifier, corresponding to the environment established by RIFLEX INPMOD and used in STAMOD. See Input to INPMOD, Data Group D: Environmental Data in RIFLEX User Guide.

  • TEMP: real, default: 4: Water temperature \([\mathrm {deg}]\)

  • IRSTYP: integer, default: 1: Option for type of VIV loads to be applied

    • = 1: Cross-flow VIV loads are applied

    • = 2: In-line VIV loads are applied

    • = 3: Combined cross-flow and in-line VIV loads are applied

2.4. Specification of work array dimension

It is possible for the user to decide how much computer memory should be allocated to a VIVANA analysis.

2.5. Data group identifier, one input line

WORK ARRAy DIMEnsion

2.6. Number of words allocated for VIVANA analysis, one input line

NWIWA
  • NWIWA: integer, default: 9000000: Number of words allocated for VIVANA analysis

3. VIV frequency analysis

This data group is optional, default values will be inserted if the data group is not given.

3.1. Data group identifier, one input line

EIGEnvalue ANALysis PARAmeters

3.2. Number of eigenvalues and -vectors, one input line

NEIG NVEC
  • NEIG: integer, default: 10: Number of eigenvalues to be calculated

  • NVEC: integer, default: 10: Number of eigenvectors to be calculated

The number of eigenvalues and eigenvectors to be calculated is the total number of frequencies. Once these have been found the program selects the cross-flow or in-line frequencies as relevant. Approximately 50% of the calculated frequencies are in-line and 50% are cross-flow. This means that in order to study VIV response up to frequency no. 30, the user must specify NEIG and NVEC >= 60.

3.3. Computation parameters, one input line

The parameters below correspond to Lanczos’ method for solution of eigenvalue problems. For a detailed discussion, see Nour-Omid et al. or Parlett.

EPS1 EPS2 EPS3 KSR MAXIT KEX SHIFT MAXNIV
  • EPS1: real, default: 0: Maximum acceptable relative error in computed eigenvalues

  • EPS2: real, default: 0: Limit value for singularity test during factorization

  • EPS3: real, default: 0: Orthogonality limit:

    • If \(\mathrm {\boldsymbol{\mathrm {v}}_i\,^T\boldsymbol{\mathrm {v}}_i=\delta _{ii}}\) and \(\mathrm {\boldsymbol{\mathrm {v}}_i\,^T\boldsymbol{\mathrm {v}}_j=\delta _{ij}}\) and \(\mathrm {|\delta _{ij}|<EPS3\times \delta _{ii}}\), \(\mathrm {\quad \boldsymbol{\mathrm {v}}_i}\) and \(\mathrm {\boldsymbol{\mathrm {v}}_j}\) are orthogonal

  • KSR: integer, default: 1: Start vector code:

    • KSR =\(\mathrm {\pm}\)1: a pseudo-random start vector is generated by the eigenvalue solver

    • KSR =\(\mathrm {\pm}\)2: the diagonal of the mass matrix is used as start vector

    • KSR =\(\mathrm {\pm}\)3: a start vector of unit elements is used

    • For positive KSR the start vector is premultiplied with H before use; if a negative value is specified the start vector is used directly. See the RIFLEX Theory Description.

  • MAXIT: integer, default: 5: Maximum no of iterations in reorthogonalization.

    • If a negative value is specified, reorthogonalization is not iterative; e.g. MAXIT = -2 will cause a two-pass Gram-Smith orthogonalization to be employed to all new \(\mathrm {\boldsymbol{\mathrm {v_{}}}_i}\) (i>1), irrespective of EPS3.

    • For high values of NEIG (>50) a doublepass orthogonalization is recommended (MAXIT = -2)

  • KEX: integer, default: 0: Parameter controlling the frequency with which the small tridiagonal eigenvalue problem is solved.

    • Must be in the range of 0 ≤ KEX ≤ 5.

    • If a zero value is specified, a default value of 2 is used

  • SHIFT: real, default: 0: The shift value \(\mathrm {\sigma }\)

  • MAXNIV: integer, default: 0: Number of Lanczos steps to be used.

    • A default value suitable for the eigenvalue routines is automatically computed if a 0 is specified.

    • MAXNIV should only be given a value \(\mathrm {\neq }\) 0 for small problems

If zero or negative values are specified for EPS1 - EPS3 default values are inserted

3.4. Data group identifier, one input line

EIGEnvalue PRINt OPTIons

3.5. Print selection parameters, one input line

NPEIG NPVEC
  • NPEIG: integer, default: 0: Number of eigenvalues to be printed (≤ NEIG)

  • NPVEC: integer, default: 0: Number of eigenvectors to be printed (≤ NVEC)

    • = 0: All eigenvectors are printed

4. Specification of section properties

This data group is mandatory. Property types such as excitation zone definition, added mass as a function of non-dimensional frequency, excitation coefficient as a function of non-dimensional frequency and response, damping and Strouhal number may be specified by the user. However, data specified by the user will be disregarded by VIVANA if in-line VIV is to be calculated. In that particular case, VIVANA will use default data irrespective of what is specified in this datagroup.

For the various property types; e.g. added mass, excitation, Strouhal number; an arbitrary number of data sets may be defined in the input file. Within each of these property types the data sets are given unique numbers. The cross section properties for each segment are then defined by referring to these numbers. Appendix A: Typical VIVANA Input File shows an example where several property types are given.

4.1. Data group identifier, one input line

SECTion PROPerty SPECification
NSEGP
  • NSEGP: integer: Number of segments for which properties are given. Must be equal to the number of segments in the model specified in INPMOD

4.2. Specification of cross-section property for each segment, NSEGP input lines.

ISEGP IEXCZO IADDMA1 IEXCIT1 IDAMPG ISTROU IADDMA2 IEXCIT2
  • ISEGP: integer, default: 0: Segment number (global).

  • IEXCZO: integer, default: 0: Cross section property specification for excitation zone limits. Refers to IPRONO in Specification of section properties.

  • IADDMA1: integer, default: 0: Cross section property specification for cross-flow (IRSTYP = 1 or IRSTYP = 3) or in-line (IRSTYP = 2) added mass as a function of non-dimensional frequency. Refers to IPRONO in Specification of section properties.

  • IEXCIT1: integer, default: 0: Cross section property specification for cross-flow (IRSTYP = 1 or IRSTYP = 3) or in-line (IRSTYP = 2) excitation coefficient as a function of non-dimensional frequency. Refers to IPRONO in Specification of section properties.

  • IDAMPG: integer, default: 0: Cross section property specification for hydrodynamic damping. Refers to IPRONO in Specification of section properties.

    • The program has two possible ways to calculate the damping, see Specification of section properties in this manual :

      1. The damping terms \(\mathrm {R_{sw}}\), \(\mathrm {R_{lv}}\) and \(\mathrm {R_{hv}}\) will be used directly, ref. VIVANA Theory Description, Section The Damping Model, Hydrodynamic damping outside the excitation zone.

      2. The damping is calculated using the excitation curves defined for that section. A still water damping coefficient must be given as input.

  • ISTROU: integer, default: 0: Cross section property specification for Strouhal number. Refers to IPRONO in Specification of section properties.

  • IADDMA2: integer, default: 0: Cross section property specification for in-line added mass as a function of non-dimensional frequency for the case of combined cross-flow and in-line (IRSTYP = 3). Refers to IPRONO in Specification of section properties. Note that the response frequency iterations will adjust the in-line added mass so that the in-line response frequency is twice that of the cross-flow response frequency. IADDMA2 must be zero for pure cross-flow (IRSTYP = 1) or pure in-line (IRSTYP = 2).

  • IEXCIT2: integer, default: 0: Cross section property specification for in-line excitation coefficient as a function of non-dimensional frequency for the case of combined cross-flow and in-line (IRSTYP = 3). Refers to IPRONO in Specification of section properties. IEXCIT2 must be zero for pure cross-flow (IRSTYP = 1) or pure in-line (IRSTYP = 2).

The cross-section properties referenced in this data group must be defined using any of the following PROPERTY - data groups.

The default value of zero for IEXCZO, IADDMA1/2, IEXCIT1/2, IDAMPG and ISTROU tells the program to use the following:

Cross-flow VIV (IRSTYP = 1) In-line VIV (IRSTYP = 2)

Excitation zone limits

\(\hat{f}_{\mathrm {min}}\):0.125 \(\hat{f}_{\mathrm {max}}\):0.3

\(\hat{f}_{\mathrm {min}}\):0.2 \(\hat{f}_{\mathrm {max}}\):0.9

Added mass as function of \(\mathrm {\hat{f}}\)

See the figure with the VIVANA CF added mass model in the Theory Manual, Section Calculation of Response Frequencies, Added mass, CF response.

See the figure with the VIVANA IL added mass model in the Theory Manual, Section Calculation of Response Frequencies, Added mass, pure IL response.

Excitation coefficients as function of \(\mathrm {\hat{f}}\)

A modified version of Gopalkrishnan’s coefficients will be used, ref. the Theory Manual. Section Excitation Force Model, Default excitation coefficient model, CF response.

A modified version of Aronsen’s coefficients will be used, ref. the Theory Manual. Section Excitation Force Model, Default excitation coefficient model, pure IL response.

Hydrodynamic damping

The damping terms \(\mathrm {R_{sw}}\), \(\mathrm {R_{lv}}\) and \(\mathrm {R_{hv}}_{}\) will be used directly, ref. the Theory Manual, Section The Damping Model, Hydrodynamic damping outside the excitation zone.

Same as for Cross-flow VIV.

Strouhal number definition

The program calculates the Strouhal number as a function of the Reynolds number for each element in the model, see the Theory Manual, Section Dimensionless Parameters, Strouhal number.

Same as for Cross-flow VIV.

A constant added mass of 1.0 is recommended for analyses with response frequencies corresponding to high modes; e.g. above mode 15. The parameters IMOD_CURVE and IMOD_CONST in Specification of section properties may be used to specify a smooth transition between frequency-dependent added mass and the constant still-water added mass. Note that a specified transition will also be applied to the default added mass model.

4.3. Excitation zone properties

4.3.1. Specification of excitation zone range.

PROPerty EXCItation ZONE

4.3.2. Number of excitation zones specified

NEXZON
  • NEXZON: integer: Number of excitation zones specified in this datagroup.

4.3.3. Specification of excitation zone limits for various sections of the structure, NEXZON input lines.

IPRONO CPRPID FHMIN FHMAX
  • IPRONO: integer: Cross-section property specification number for property type Excitation zone properties.

  • CPRPID: character(8): Text to identify the cross-section property

  • FHMIN: real, default: 0.125: Minimum value of \(\mathrm {\hat{f}}\) in the excitation zone.

  • FHMAX: real, default: 0.2: Maximum value of \(\mathrm {\hat{f}}\) in the excitation zone.

It is not allowed to specify a broader excitation range for a cross-section than the range used for specification of the associated excitation coefficient curves.

4.4. Added mass properties

4.4.1. Specification of added mass as a function of non-dimensionalfrequency.

PROPerty ADDED MASS

4.4.2. Number of added mass curves and added mass transition

NADCUR ITRANS_LOW ITRANS_UP
  • NADCUR: integer >= 0: Number of added mass curves to be defined by the user.

  • ITRANS_LOW: integer >= 0, default: 1000000: Last mode number in the active VIV direction for which the full frequency-dependent added mass curves will be used.

  • ITRANS_UP: integer >= 0, default: 1000000: First mode number in the active VIV direction for which the constant still-water added mass will be used. ITRANS_UP >= ITRANS_LOW

A smooth transition between the frequency dependent added mass and the constant still-water added mass will be applied between ITRANS_LOW and ITRANS_UP, see Figure 1. The specified transition will also be applied to the default added mass model.

Note that constant added mass is recommended for high modes.

um added mass transition
Figure 1. Illustration of transition between frequency dependent and constant still-water added mass

4.4.3. Specification of added mass as a function of non-dimensional frequency, repeated NADCUR times

One input line

IPRONO CPRPID NAMPT
  • IPRONO: integer: Cross-section property specification number for property type Added mass properties.

  • CPRPID: character(8): Text to identify the cross-section property

  • NAMPT: integer >= 1: Number of points in \(\mathrm {C_a}\,\hat{f}\) curve.

Constant added mass can be given either by using NAMPT=1 or by using an constant added mass curve NAMPT>=2.

Note that if IRSTYP=3 (Combined cross-flow and in-line VIV) and constant added mass curve with NAMPT=1 is used for all sections, no IL frequency iteration is performed. The IL frequency is twice the CF frequency.

Constant added mass coefficient, NAMPT=1 input lines

ADDMCO
  • ADDMCO: real: Added mass coefficient

Added mass coefficient as a function of non-dimensional frequency, NAMPT>=2 input lines

FHAT ADDMCO
  • FHAT: real: Non-dimensional frequency

  • ADDMCO: real: Added mass coefficient

4.5. Excitation coefficient properties

Two different ways of specifying excitation coefficients are available in VIVANA. The excitation coefficient is used in the response analysis for calculating the excitation force on the cylinder. Calculation of excitation force is irrespective of how the excitation coefficients are specified by the user.

Excitation force is calculated for elements within the excitation zone. The excitation zone is defined by the excitation frequency bandwidth. The excitation frequency bandwidth is by default [0.125, 0.3] for cross-flow VIV, but it is possible for the user to define his/her own excitation frequency range for any part of the model, see Specification of section properties. We would normally recommend the user to set the frequency bandwidth equal to the frequency range for which excitation coefficients are provided. Elements outside of the excitation zone will add damping to the system, see the Theory Manual, Section Calculation of Response Frequencies, Added mass, CF response for details.

4.5.1. Specification of excitation coefficient as a function of non-dimensional frequency and response amplitude.

PROPerty EXCITATION COEFFICIENT

4.5.2. Number of excitation coefficient data sets to be specified

NLCT01 NLCT02
  • NLCT01: integer, default: 0: Number of excitation coefficient data sets to be specified on the same format as the default curves (Type 1).

  • NLCT02: integer, default: 0: Number of excitation coefficient data sets to be specified on the table format (Type 2)

4.5.3. Specification of default format excitation coefficient data (Type 1), 2xNLCT01 input lines

One input line

IPRONO CPRPID NFT01
  • IPRONO: integer: Cross-section property specification number for property type Excitation coefficient property.

  • CPRPID: character(8): Text to identify the cross-section property

  • NFT01: integer >= 2: Number of points in \(\mathrm {C_e(}\hat{f}\mathrm {,\frac{A}{D})}\) curve specification.

Excitation coefficient as a function of non-dimensional frequency and response amplitude, NFT01 input lines

FHAT ACL0 ACLMAX CLMAX CLA0
  • FHAT: real: Non-dimensional frequency

  • ACL0: real: \(\mathrm {\frac{A}{D}}\) ratio for when \(\mathrm {C_e}\) = 0

  • ACLMAX: real: \(\mathrm {\frac{A}{D}}\) ratio for when \(\mathrm {C_e}\) = \(\mathrm {C_{emax}}\)

  • CLMAX: real: Maximum excitation coefficient

  • CLA0: real: Excitation coefficient for \(\mathrm {\frac{A}{D}}\) = 0

The definition of these four parameters is shown in a figure in the Theory Manual, Section Excitation Force Model, Default excitation coefficient model, CF.

4.5.4. Specification of table format excitation coefficient data set (Type 2). The input data described in the following is to be specified for NLCT02 excitation coefficient data sets

IPRONO CPRPID NFT02
  • IPRONO: integer: Cross-section property specification number for property type Excitation coefficient property.

  • CPRPID: character(8): Text to identify the cross-section property

  • NFT02: integer >= 2: Number of non-dimensional frequencies for which an excitation coefficient curve is specified for this data set.

Specification of table format excitation coefficient curves (Type 2). The input data described in the following is to be specified for NFT02 excitation coefficient curves.

FHTYP2 NPOINT
  • FHTYP2: real: Non-dimensional frequency.

  • NPOINT: integer >= 2: Number of data points for FHTYP2

Excitation coefficient as a function of \(\mathrm {\frac{A}{D}}\) for FHTYP02, NPOINT inputlines

AD CL
  • AD: real: Amplitude to diameter ratio.

  • CL: real: Excitation coefficient

AD and FHTYP2 must be given in either increasing or decreasing order.

It is crucial for the analysis that the data covers to complete \(\mathrm {\frac{A}{D}}\) -ratio range. That means that the minimum \(\mathrm {\frac{A}{D}}\) -ratio should be zero and the maximum value approximately 2.

It is recommended that all extrapolation be done outside of VIVANA.

If the excitation curves are used to model sections covered with VIV suppression devices, one should note that:

  •   The theoretical model can cover cases with up to approximately

    75% coverage of VIV suppression devices. For these cases the bare riser controls the VIV behaviour (frequency, mode etc.)

  •   For larger coverages the straked riser takes control of the VIV

    behaviour. Model tests indicate a different physical behaviour than for the bare controlled riser. The behaviour seems to be dependent on pitch and height of the strakes. The responding frequencies and modes are generally lower.

4.6. Damping factor properties

4.6.1. Specification of damping factors

PROPerty DAMPing FACTors

4.6.2. Number of damping factors specified

NDPFAC01 NDPFAC02
  • NDPFAC01: integer: Number of damping factor sets for various sections of the structure relative to Venugopal.

  • NDPFAC02: integer, default: 0: Number of damping factor sets for various sections of the structure using user defined excitation curves in table format.

4.6.3. Specification of damping factor sets for various sections of the structure, NDPFAC01 input lines.

IPRONO CPRPID FSTILL FLOWV FHIGHV
  • IPRONO: integer: Cross-section property specification number for property type Damping factor properties.

  • CPRPID: character(8): Text to identify the cross-section property

  • FSTILL: real, default: 1: Factor Venugopal still water damping contribution, \(\mathrm {R_{s\alpha }}\).

  • FLOWV: real, default: 1: Factor Venugopal low velocity region.

  • FHIGHV: real, default: 1: Factor Venugopal high velocity region.

4.6.4. Specification of damping factor for various sections of the structure, NDPFAC02 input lines.

IPRONO CPRPID FSTILL
  • IPRONO: integer: Cross-section property specification number for property type Damping factor properties.

  • CPRPID: character(8): Text to identify the cross-section property

  • FSTILL: real, default: 1: Still water damping factor

If a section has damping defined as NDPFAC02, the section must have excitation coefficients given on table format.

The still water damping coefficient is calculated using the empirical formulae

\(\mathrm {c_{sw}=\frac{\omega \pi \rho D^2}{2}(1+(\frac{A}{D})^2)F_{still}}\)

The value of \(\mathrm {F_{still}}\) must be found using curve fitting of the data points \(\mathrm {c_{sw}}\) as a function of the \(\mathrm {\frac{A_{}}{D}}\)-ratio. These data points can be found from still water decay tests.

4.7. Strouhal number properties

PROPerty STROuhal SPECification

The user may allow the program to calculate local Strouhal number for an element as a function of the Reynolds number. The program then interpolates in a user defined \(\mathrm {S_t(Re)}\) curve if given, or in a default \(\mathrm {S_t(Re)}\) curve.

Alternatively, the user may specify a constant Strouhal number for all the elements in a segment. This is done by specifying STROU. STROU will then be used as the Strouhal number for all the elements in the segment.

NSTRSP
  • NSTRSP: integer: Number of Strouhal number sets specified in this data group.

4.7.1. Specification of Strouhal number sets, NSTRSP data sets.

IPRONO CPRPID NPUDSC STROU
  • IPRONO: integer: Cross-section property specification number for property type Strouhal number properties.

  • CPRPID: character(8): Text to identify the cross-section property

  • NPUDSC: integer, default: 0: Number of points in user defined Strouhal-Reynolds number curve.

    • NPUDSC < 0: Default curve will be used

    • NPUDSC = 0: Constant Strouhal number

    • NPUDSC > 0: User defined curve will be used

  • STROU: real, default: 0.19: Fixed Strouhal number

    • Dummy for NPUDSC \(\mathrm {\neq }\) 0

4.7.2. User defined curve giving the relationship between Strouhal number and Reynolds number, NPUDSC input lines.

REYNUM STRNUM
  • REYNUM: real: Reynolds number

  • STRNUM: real: Strouhal number

Reynolds numbers must be given in increasing order.

5. Structural damping specification

This data group allows additional material and slip damping to be specified for some or all segments in the system. This structural damping is read from separate files and is applied in addition to the VIV response analysis RELDAM. The structural damping is given as a function of the response curvature and is therefore updated during the response iterations.

At present, VIV response analysis must be used; i.e. IFRIT = 2.

5.1. Data group identifier, one input line

STRUctural DAMPing SPECification

5.2. Number of specifications, one input line

NSPEC
  • NSPEC: integer, default: 0: Number of segments with detailed structural damping specification

5.3. Detailed structural damping specification, NSPEC input lines

IGSEG  CHFILE
  • IGSEG: intger > 0, default: 0: Global segment number

  • CHFILE: character(256): File with detailed structural damping specification, See the file description. The same file may be specified for multiple segments.

6. VIV response analysis

6.1. Data group identifier, one input line

RESPonse ANALysis PARAmeters

6.2. Response parameters, one input line

RELDAM IOPFRC IPRINT
  • RELDAM: real, default: 0: Relative structural damping

    • RELDAM = 0.1 gives 10% relative damping.

  • IOPFRC: integer, default: 1: Force switch

    • IOPFRC = 0: Forces calculated using stiffness matrix

    • IOPFRC = 1: Forces calculated using curvature and axial strain. This option requires that the axial and bending stiffness is linear for all elements. If nonlinear stiffness is found, forces, stress and fatigue will not be calculated. Curvature time series can still be printed, see VIV fatigue analysis.

  • IPRINT: integer, default: 1: Print switch

    • IPRINT = 1: Final results are printed to Matrix Plot file

    • IPRINT = 2: Final results, results from the final iteration and axial force and bending moments are printed to Matrix Plot file

    • IPRINT = 5: Final results, detailed results from all iterations and axial force and bending moments are printed to Matrix Plot file.

If the forces are calculated using curvature and axial strain (IOPFRC = 1), shear stiffness cannot be modelled and must be set equal to zero for all cross sections.

6.3. Response parameters, one input line

IFRIT MAX_ITER CHILIM CONLIM SCAINI IOPTRY
  • IFRIT: integer, default: 2: Response iteration method

    • IFRIT = 1: Fixed point

    • IFRIT = 2: Newton - Raphson

  • MAX_ITER: integer, default: 30: Maximum number of iterations

  • CHILIM: character(6), default: AMPNOR: Convergence criterion

    • CHILIM = AMPNOR: Norm of amplitude change for translations. The norm is equal to the squared sum of the amplitude changes normlized with the product of the number of nodes and squared the average diameter.

    • CHILIM = DIFMAX: Maximum difference. This is the maximum absolute change in amplitude; i.e. phase change ignored.

    • CHILIM = NONE: No convergency test. MAX_ITER iterations will be performed.

    • CHILIM = 5: As AMPNOR, Norm of amplitude change for translations

    • CHILIM = 3: As DIFMAX, Maximum difference

    • CHILIM = 0: As NONE, No convergency test

    • CHILIM = 1: Quadratic norm. Not recommended.

    • CHILIM = 2: Relative maximum difference. Not recommended.

    • CHILIM = 4: Unbalanced force. Not recommended.

  • CONLIM: real, default: 0.0001: Convergence limit for the iteration. Recommended values 0.001 - 0.01 for CHILIM = AMPNOR.

    • CHILIM = NONE or 0: Dummy

    • CHILIM = DIFMAX or 3: Dimension \(\mathrm {[L]}\)

    • All other values of CHILIM: Nondinemsional

  • SCAINI: real, default: 0.5: Scaling factor for the initial response estimate

    • SCAINI = 0: Scale the corresponding mode shape by the average \(\mathrm {\frac{A}{D}*D}\) for zero excitation in the excitation zone, weighted by the mode shape. The IL part of combined CF and Il loading, IRSTYP = 3, is scaled with half the value found for CF.

    • SCAINI > 0: Scale initial response estimate so that the maximum amplitude is \(\mathrm {SCAINI*D_{avg}}\) for CF loading, IRSTYP = 1, IL loading, IRSTYP = 2 and the CF part of combined CF and Il loading, IRSTYP = 3. The IL part of combined CF and Il loading, IRSTYP = 3, is scaled with half this value.

  • IOPTRY: integer, default: 0: Option to re-try response iterations if the response iteration does not converge. Under development.

    • IOPTRY = 0: the analysis will continue and the non-converged results used

    • IOPTRY = 1: a second attempt will be made with the other response iteration method

6.4. Response parameters, one input line

IOPTSH NUDDF ADLIM REXPAL REXPAH
  • IOPTSH: integer, default: 0: Option for combining response frequencies

    • IOPTSH = 0: Response frequencies act concurrently, i.e. space sharing

    • IOPTSH = 1: Response frequencies act consecutively, i.e. time sharing

  • NUDDF: integer, default: 0: Number of dominating frequencies given in user defined frequency ranking. Not used for IOPTSH = 1.

  • ADLIM: real, default: 0.01: Amplitude limit for including frequencies in the calculated response, normalized by the minimum diameter \(\mathrm {[1]}\).

  • REXPAL: real, default: 0: Cut-off excitation parameter ration for frequencies below the identified dominating frequency \(\mathrm {[1]}\).

  • REXPAH: real, default: 0: Cut-off excitation parameter ration for frequencies above the identified dominating frequency \(\mathrm {[1]}\).

Analysis of frequency content in time series from VIV experiments with high response frequencies shows that the response process is often somewhere between concurrent and consecutive. The response frequency at a location shifts between different consecutive values. However, other frequencies often dominate at other locations. Further work is needed before firm recommendations may be given.

For cylinders with constant diameter in linearly sheared flow the values REXPAL = 0.2 and REXPAH = 1.0 agree well with experiments.

6.5. User defined frequency ranking, NUDDF input lines

IDOMFRQ
  • IDOMFRQ: integer: Frequency number

The most dominating frequency is to be specified first, then the second most dominating frequency is specified etc.

If NUDDF = 0 the program will give the possible response frequencies a ranking according to an excitation parameter for each frequency.

\(\mathrm {E_i=\sum\limits_{j=1}^{N_{Ex}}l_j\,D_j^2\,u_j^2(\frac{A}{D})_{C_e=0,\,j}}\)

where

  • \(\mathrm {E_i}\) is the excitation parameter for frequency i.

  • \(\mathrm {l_j}\) is the length of element j within the excitation zone.

  • \(\mathrm {D_j}\) is the diameter of element j.

  • \(\mathrm {u_j}\) is the flow velocity at the midpoint of element j.

  • \(\mathrm {N_{Ex}}\) is the number of elements in the excitation zone.

  • \(\mathrm {(\frac{A}{D})_{C_e=0,\,j}}\) is the normalised response amplitude that give \(\mathrm {C_e=0}\), given as a function of the local value of \(\mathrm {\hat{f}}\) for frequency i.

7. VIV fatigue analysis

7.1. Data group identifier, one input line

VIVResponse FATIgue DAMAge

7.2. Control data, one input line

IOPFAT NSECT NPCS IOPPR TSIOPPR CHTSPRN
  • IOPFAT: integer, default: 0: Option for fatigue calculation

    • IOPFAT = 0: Determined by parameter IOPTSH in VIV response analysis.

      • For IOPTSH = 0, concurrent response frequencies, the default is 1, rain-flow counting.

      • For IOPTSH = 1, consecutive response frequencies, the default is 2, Rayleigh distributed stress cycles

    • IOPFAT = 1: Fatigue calculated in time domain using rain-flow counting.

      • Currently not available for IOPTSH = 1.

    • IOPFAT = 2: Fatigue calculated in frequency domain using Rayleigh distributed stress cycles.

      • Currently not available for IOPTSH = 0.

      • May only be used for SN curves with a single straight line and bilinear SN curves.

    • IOPFAT = 3: Fatigue calculated directly from constant stress amplitude.

      • Not available for IRSTYP = 3 or IOPTSH = 0 and multiple response frequencies.

  • NSECT: integer, default: 0: Number of cross-sections to be specified below

    • NSECT = 0: All elements

    • NSECT > 0: Additional data is given in the end of this subsection.

  • NPCS: integer, default: 8: Number of points around cross-section where fatigue is calculated, 1 ≤ NPCS ≤ 16, see Illustration of points around the cross-section. For definition of local axis, see RIFLEX User Guide.

  • IOPPR: integer, default: 0: Print option for fatigue results

    • IOPPR = 0: Print fatigue results only for most critical point in the cross-section. If TSIOPPR >0, time series is printed for one of two concurrent element ends.

    • IOPPR > 0: Print fatigue results for all NPCS points. If TSIOPPR >0, time series is printed for all elements and both element ends.

  • TSIOPPR: integer, default: 0: Time series print switch. Dummy if IOPTSH = 1.

    • TSIOPPR = 0: No print of tension, y- and z- curvature time series to file

    • TSIOPPR = 1: Print of tension, y- and z- curvature time series to file

    • TSIOPPR = -1: Print of tension, y- and z- curvature time series to file, skip fatigue calculation.

  • CHTSPRN: character(256): Time series file name

For NSECT > 0 and IOPFAT = 1, Rain-flow counting method, fatigue damage will be calculated at the specified cross sections only.

Otherwise, fatigue damage will be calculated for alle elements. The cross section specification may e used to specify stress concentration factors (SCFs) that differ from the default values (DSCFA, DSCFY and DSCFZ) given below

Tension and curvature time series are printed for the NSECT specified elements or for all elements if NSECT = 0. The format of the time series file is given in Appendix B: Format of Time Series File.

Note that the two input lines of subsection SN curve data must be given below even if NSECT > 0.

7.3. Stress time series data, one input line. Given if IOPFAT = 0 or IOPFAT = 1.

TSLEN DT IRSNO
  • TSLEN: real, default: 0: Length of stress time series to be generated for fatigue calculation \(\mathrm {[T]}\).

    • Minimum length is 60.

  • DT: real, default: 0: Time step to be used in the stress time series \(\mathrm {[T]}\).

  • IRSNO: integer, default: 31415: Seed for generating random phase angles.

The time unit is usually seconds.

A warning will be written if the user specifies a time step DT which is larger than\(\mathrm {\frac{2\pi }{\omega _{max}\times 20}}\), wheer \(\mathrm {\omega _{max}}\) is the largest of the discrete response frequencies.

If default TSLEN and DT are used, TSLEN and DT are calculated by VIVANA. DT will be set to 1/30 of the shortest cross-flow response period with significant response. TSLEN will be set to 200 times the period of the highest ranked cross-flow response frequency, multiplied by the shortest cross-flow response period with significant response divided by the longest cross-flow response period with significant response.

7.4. Cross-sectional data, one input line

DSCFA DSCFY DSCFZ ASI WSTI THI RFACT
  • DSCFA: real, default: 1: Default stress concentration factor for axial force contribution.

  • DSCFY: real, default: 1: Default stress concentration factor for bending about Yaxis.

  • DSCFZ: real, default: 1: Default stress concentration factor for bending about Zaxis.

  • ASI: real, default: 0: Optional cross-section area.

    • = 0.0: Use the values specified in or derived from the cross section properties given in INPMOD

  • WSTI: real, default: 0: Optional section modulus.

    • = 0.0: Use the values specified in or derived from the cross section properties given in INPMOD

  • THI: real, default: 0: Optional wall thickness.

    • = 0.0: Use the values specified in or derived from the cross section properties given in INPMOD

  • RFACT: real, default: 0.001: Factor between the stress unit \(\mathrm {[S]}\) used to define the SN curve and the force and length units \(\mathrm {[F]}\) and \(\mathrm {[L]}\) chosen in INPMOD.

    • \(\mathrm {S\times RFACT=\frac{F}{L^2}}\)

If \(\mathrm {kN}\) and \(\mathrm {m}\) were chosen as force and length units while the SN curve is given in \(\mathrm {MPa}\), RFACT should be set to 0.001.

If the SI units \(\mathrm {N}\) and \(\mathrm {m}\) were chosen for force and length and the SN curve is in \(\mathrm {MPa}\), RFACT should be set to 1.0E-6.

Note that the stress concentration factors are included in the reported stress distributions.

7.5. SN curve data, two input lines

NSNCRV RELDUR
  • NSNCRV: integer > 0: Number of selected SN curves

  • RELDUR: real, default: 0.0`: Relative duration / probability of the current condition.0.0 ≤ RELDUR ≤ 1.0. If`RELDUR > 0.0`, the fatigue damage contributions, the calculated fatigue damage scaled by`RELDUR`, will be written to the`_vivana.mpf` file.

CHIDSNi...CHIDSNnsncrv
  • CHIDSNi: character(6): Identification of selected SN curve i, i = 1, …,NSNCRV

7.6. Cross-section specification, NSECT input lines.

CHILIN ISEG IEL IEND SCFA SCFY SCFZ
  • CHILIN: character(8): Line identifier

  • ISEG: integer/character: Segment number in line.

    • ISEG > 0: Local segment in the specified line

    • ISEG = 'ALL': All segments in the specified line. IEL must then also be `ALL'.

  • IEL: integer/character: Local element number in specified segment.

    • IEL > 0: Local element in the specified line and segment

    • IEL = 'ALL': All elements in the specified segment(s). IEL must be AL if ISEG is ALL.

  • IEND: integer:

    • IEND = 1: Cross-section at end with smallest node number checked.

    • IEND = 2: Cross-section at end with largest node number checked.

  • SCFA: real, default: DSCFA: Stress concentration factor for axial force contribution.

  • SCFY: real, default: DSCFY: Stress concentration factor for bending about Yaxis.

  • SCFZ: real, default: DSCFZ: Stress concentration factor for bending about Zaxis.

This input is used to specify lines / segments / elements and stress concentration factors (SCFs) that differ from the default values (DSCFA, DSCFY and DSCFZ) given above.

If SCFs are given several times for the one element, the last one given is used.

Note that the stress concentration factors are included in the reported stress distributions.

7.7. SN curve properties

NOFC
  • NOFC: integer: Number of SN curves

7.8. SN curve, 2xNOFC input lines

CHIDSN NOSL LIMIND FATLIM TREF KEXP
  • CHIDSN: character(6): Identification of SN curve

  • NOSL: integer ≤ 5: Number of straight lines defining the SN curve.

  • LIMIND: integer, default: 0: Fatigue limit indicator

    • LIMIND < 0: Fatigue limit in terms of stress cycles is specified.

    • LIMIND = 0: No fatigue limit.

    • LIMIND > 0: Fatigue limit in terms of stress range is specified.

  • FATLIM: real, default: 0: Fatigue limit, interpretation dependent on LIMIND.

    • LIMIND < 0: Logarithm of number of stress cycles for which the SN curve becomes horizontal.

    • LIMIND = 0: FATLIM is dummy.

    • LIMIND > 0: Stress range level for which the SN curve becomes horizonal.

  • TREF: real, default: 0: Reference thickness for thickness correction

  • KEXP: real, default: 0: Exponent for thickness correction

If TREF is set equal to 0 the thickness correction will be omitted.

7.9. Fatigue capacity curve constants

RM1 RC1 RMi RNCi
  • RM1: real: Slope of the SN curve.

    • First curve segment for NOSL > 1

    • Total curve for NOSL = 1.

  • RC1: real: Constant defining the SN curve. First segment or total curve.

  • RMi: real: Slope of curve segment i, i = 2, …, NOSL

  • RNCi: real: Transition point between curve segment (i-1), and i, i =2, …, NOSL.

    • The transition point is given as the logaritmic value, see Figure 3.

um fatigue points
Figure 2. llustration of points around the cross-section where fatigue is calculated
um fatigue curve input
Figure 3. Illustration of input data for fatigue capacity curve definition.

The SN curves defined by the input parameters are always assumed to relate the stress range, \(\mathrm {\Delta S}\), to the number of cycles before failure, N.

A straight-lined SN curve in log-log scale is in general defined as

\(\mathrm {N=C\times (\Delta S(\frac{t}{t_{ref}})^k)^m_{}}\)

or

\(\mathrm {\log N=\log C+m\log (\Delta S(\frac{t}{t_{ref}})^k)_{}}\)

where:

  • \(\mathrm {N}\): Number of cycles to failure

  • \(\mathrm {\Delta S}\): Stress range

  • \(\mathrm {t}\): Cross section thickness

  • \(\mathrm {t_{ref}}\): Reference thickness

  • \(\mathrm {k_{}}\): Exponent for thickness correction

The two input parameters used to define SN curves are directly found in the equation above, namely.

  • \(\mathrm {RC=\log C\quad }\) (always positive)

  • \(\mathrm {RM=m\quad \quad }\) (always negative)

If the user has a SN curve without having these parameters explicitly defined, they can be calculated as follows; see also Calculation of SN curve parameters.

um SN curve calculation
Figure 4. Calculation of SN curve parameters.

Using the two points A and B on Calculation of SN curve parameters to define the straight line, we have

\(\mathrm {\log N=\frac{\log N_2-\log N_1}{\log\Delta S_2-\log\Delta S_1}\times \log\Delta S-\frac{\log N_2-\log N_1}{\log\Delta S_2-\log\Delta S_1}\times \log\Delta S_1+\log N_1}\)

Hence

\(\mathrm {RM=\frac{\log N_2-\log N_1}{\log\Delta S_2-\log\Delta S_1}\quad }\) (always negative)

\(\mathrm {RC=-RM\times \log\Delta S_1+\log N_1\quad }\) (always positive)

The relation between these parameters specified for different unit systems is easily found from the equations above.

8. VIVANA print flags

8.1. Data group identifier, one input line

VIVAna RESUlt PRINt

8.2. Print flags, one input line

IPRELF IPRSTF IPRDRG IPRRSP IPRCNG
  • IPRELF: integer, default: 1: Print flag for printing local element forces to the _vivana.res file.

    • IPRELF = 0: No print

    • IPRELF = 1: Print

  • IPRSTR: integer, default: 1: Print flag for printing local element stresses to the _vivana.res file.

    • Interpreted as IPRELF.

  • IPRDRG: integer, default: 1: Print flag for printing drag amplification factor to the _vivana.res file.

    • Interpreted as IPRELF.

  • IPRRSP: integer, default: 1: Print flag for printing VIV response (displacements) to the _vivana.res file.

    • Intepreted as IPRELF.

  • IPRCNG: integer, default: 1: Print flag for printing convergence during the response analysis to the _vivana.res file.

    • Interpreted as IRRELF.

9. VIVANA MPF print flags

9.1. Data group identifier, one input line

VIVAna RMPF PRINT

9.2. Print flags, one input line

IPRCRV NSNAPP DTSNAP
  • IPRCRV: integer, default: 0: Print flag for printing curvature to the _vivana.mpf file.

    • IPRCRV = 0: No print

    • IPRCRV = 1: Print

  • NSNAPP: integer, default: -1: Number of snapshpts to be printed on the _vivana.mpf file.

    • NSNAPP = 0: No print of snapshots

    • NSNAPP < 0: Default values will be used, see below.

  • DTSNAP: real, default: 0: Time step for print of snapshots

    • DTSTEP ≤ 0: Default values will be used, see below.

    • DTSNAP > 0: Snapshots will be printed at DTSNAP intervals.

The default printing of snapshots depends on how response frequencies are combined, see input prameter IOPTSH in VIV response analysis. For concurrently acting frequencies, IOPTSH = 0, the default is 20 snapshots and the default time step for the snapshots is 1/20 th of the period of the highest ranking response frequency with significant response.

For consecutively acting frequencies, IOPTSH = 1, the default number of snapshots is \(\mathrm {MAX(20,8*NFREQ\_SIGNRES)}\), where NFREQ_SIGNRES is the number of response frequencies with significant response. Snapshots are allocated to the different response frequencies depending on their predicted relative durations, but with at least one snapshot per response frequency. The default time step will distribute the snapshots in each response period.

10. Random number generator

In version 4.18 and later, the algorithm for generating pseudo-random numbers may be selected by the user. Both methods are expected to be acceptable for the moderate amount of random numbers needed in VIVAAN. The default, legacy method should be used if backwards compatibility with previous versions is required. Note that the default value may change in a future release. The choice of random number generator will apply to: - generation of stress time series for fatigue calculations using the Rain-flow method. - output of curvature time series consistent with the stress time series generated for the Rain-flow method.

10.1. Data group identifier, one input line

RANDom NUMBer GENErator

10.2. Random number generator input, one line

CHRAN
  • CHRAN: character (7), default: LEGACY: Choice of random number generator

    • = 'LEGACY': Legacy random number generator used. Results will be consistent with previous VIVANA versions.

    • = 'TWISTER': Mersenne Twister’ random number generator used. Results will NOT be consistent with previous VIVANA versions.

11. Termination of input data

11.1. One input line

END

12. Structural damping file description

The file CHFILE specified in Structural damping specification contains a description of the structural material and slip damping of the cross-section.

12.1. Material danping

12.1.1. Material damping control data, one input line

RJ_MTRL  RN_MTRL  FREQREF_MTRL  TEMPREF_MTRL  NTENS_MTRL  NCURV_MTRL  NFREQ_MTRL  NTEMP_MTRL
  • RJ_MTRL: real, default: 0: Material damping constant. Dummy in the present version. \([\mathrm {\frac{FL}{(F/L^2)^nL^3}}]\) where n is the input parameter RN_MTRL. The material damping energy per volume per cycle is \(\mathrm {RJ\_MTRL(\Delta \sigma )^{RN\_MTRL}}\) .

  • RN_MTRL: real, default: 0: Material damping exponent. Used in interpolation of the material damping data given in the table below.

  • FREQREF_MTRL: real, default: 0: Reference frequency for the material damping data given in the table below. Dummy if NFREQ_MTRL = 0. If NFREQ_MTRL > 0 the frequency scaling factor corresponding to FREQREF_MTRL should normally be 1.0. \([\mathrm {Hz}]\)

  • TEMPREF_MTRL: real, default: 0: Reference temperature for the material damping data given in the table below. Dummy if NTEMP_MTRL = 0. If NTEMP_MTRL > 0 the temperature scaling factor corresponding to TEMPREF_MTRL should normally be 1.0.

  • NTENS_MTRL: integer > 0, default: 0: Number of static effective tension levels in the material damping table

  • NCURV_MTRL: integer > 0, default: 0: Number of curvature amplitudes in the material damping table

  • NFREQ_MTRL: integer >= 0, default: 0: Number of frequencies in frequency scaling curve

  • NTEMP_MTRL: integer >= 0, default: 0: Number of temperatures in the temperature scaling curve

12.1.2. Static effective tension levels, one input line

TEMS_MTRL(1) .... TENS_MTRL(NTENS_MTRL)
  • TENS_MTRL(itens): real, default: 0: Static effective tension level nr. items for material damping \([\mathrm {F}]\)

The static effective tension levels must be given in increasing order.

12.1.3. Table of material damping data, NCURV_MTRL input lines

CURV_MTRL(icurv) DAMP_MTRL(icurv,1) .... DAMP_MTRL(icurv,NTENS_MTRL)
  • CURV_MTRL(icurv): real, default: 0: Curvature amplitude level nr. icurv for material damping \([\mathrm {1/L}]\)

  • DAMP_MTRL(icurv,itens): real, default: 0: Energy loss per cycle per length for static effective tension TENS_MTRL(itens) and curvature amplitude CURV_MTRL(icurv) \([\mathrm {(FL)/L}]\)

The curvature amplitude levels must be given in increasing order.

Linear interpolation is used on the values \(\mathrm {DAMP\_MTRL(icurv,itens)/(CURV\_MTRL(icurv)^{RN\_MTRL})}\) The first / last values are used for static effective tension or curvature amplitude below / above the range given.

12.1.4. Frequency scaling of material damping, two input lines

FREQ_SCAL(1) ... FREQ_SCAL(NFREQ_MTRL)
  • FREQ_SCAL(ifreq): real, default: 0: Frequency value nr. ifreq for the frequency scaling of the material damping \([\mathrm {Hz}]\)

SCALE(1) ... SCAL(NFREQ_MTRL)
  • SCALE(ifreq): real, default: 0: Scaling factor corresponding to frequency FREQ_SCAL(ifreq)

Frequency values must be given in increasing order.

Linear interpolation is used for intermediate frequency values. The first / last values are used for frequency values below / above the range given. If the scaling factor corresponding to the reference frequency FREQREF_MTRL is not 1.0, the resulting scaling will be the ratio between the scaling factor for the response frequency and the scaling factor for the reference frequency. Specifying the same scaling factor for all frequencies will thus result in no frequency scaling.

12.1.5. Temperature scaling of material damping, two input lines

TEMP_SCAL(1) ... TEMP_SCAL(NTEMP_MTRL)
  • TEMP_SCAL(itemp): real, default: 0: Temperature value nr. itemp for the temperature scaling of the material damping

SCALE(1) ... SCAL(NTEMP_MTRL)
  • SCALE(itemp): real, default: 0: Scaling factor corresponding to the temperatire TEMP_SCAL(itemp)

Temperature values must be given in increasing order.

Linear interpolation is used for intermediate temperature values. The first / last values are used for temperature values below / above the range given. If the scaling factor corresponding to the reference temperature TEMPREF_MTRL is not 1.0, the resulting scaling will be the ratio between the scaling factor for the current temperature and the scaling factor for the reference temperature. Specifying the same scaling factor for all temperatures will thus result in no temperature scaling.

12.2. Slip damping

The slip damping is found as the area enclosed by nonlinear moment-curvature cycles. The Ramberg-Osgood model is used to define the moment-curvature curves.

12.2.1. Slip damping control data, one input line

TEMPREF_SLIP NTENS_SLIP SCALE_SLIP
  • TEMPREF_SLIP: real, default: 0: reference temperature for slip damping, Not used in present version.

  • NTENS_SLIP: integer >= 0, default: 0: Number of static effective tension levels slip damping is given for

  • SCALE_SLIP: real, default: 1.0: Scaling factor for the resulting slip damping.

12.2.2. Ramberg-Osgood parameters, NTENS_SLIP input lines

TENS_SLIP  CY  MY  ETA  GAMMA  C_SLIP
  • TENS_SLIP: real, default: 0.0: Static effective tension \([\mathrm {F}]\)

  • CY: real, default: 0: Ramberg-Osgood Cy parameter \([\mathrm {1/L}]\)

  • MY: real, default: 0: Ramberg-Osgood My parameter \([\mathrm {FL}]\)

  • ETA: real, default: 0: Ramberg-Osgood eta parameter \([\mathrm {1}]\)

  • GAMMA: real, default: 0: Ramberg-Osgood gamma parameter \([\mathrm {1}]\)

  • C_SLIP: real, default: 0: Curvature for which slip first appears. No energy loss for curvatures below this level. \([\mathrm {1/L}]\)

For a given static tension T and curvature amplitude C, linear interpolation is used between the damping found for curvature C at effective tension values bracketing T. If T is below / above the range given, the damping for C at the first / last tension value is used.