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: Control information VIV frequency analysis Specification of section properties VIV response analysis VIV fatigue analysis VIVANA print flags VIVANA MPF print flags 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 NEIG: integer, default: 10: Number of eigenvalues 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 >= 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. TOL MAXLAN TOL: real >0, default: 1.0e-10: Maximum acceptable relative error in computed eigenvalues MAXLAN: integer, default: 8+2*NEIG: Maximum number of Lanczos steps (vectors) to be used. Note that if specified MAXLAN >= 8+2*NEIG 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 : 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. 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. A specified transition will also be applied to the default added mass model, see Illustration of transition between frequency dependent and constant still-water added mass. 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. 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, Newton - Raphson response iterations must be used, i.e. IFRIT = 2: in VIV response analysis. 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. Detailed debug information about the applied structural damping may be found in the file <prefix>__eledam.asc. 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. May not be combined with data group Structural damping specification. 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. 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 TREF = 0: No thickness correction KEXP: real, default: 0: Exponent for thickness correction. KEXP = 0: No thickness correction TREF and KEXP must either both be zero, no thickness correction, or both positive, thickness correction included. 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. Figure 2. llustration of points around the cross-section where fatigue is calculated 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. 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: TWISTER: 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. How to Run the Program References