VIVA is a frequency domain VIV prediction program developed by Prof. M Triantafyllou at MIT and distributed by JD Marine (formerly DTCEL).

Note: VIVA is licensed separately to OrcaFlex. Please contact JD Marine for details.

Orcina was a participating member of a joint industry project, started in 2000 and run by DTCEL and Prof. Triantafyllou of MIT. As part of the project, an interface has been written between OrcaFlex and VIVA. This allows a riser model to be built in OrcaFlex, taking advantage of the usual user interface, and analysed by VIVA (which carries out a frequency domain calculation of VIV response based on an energy balance). Results are reported in spreadsheet form for each single excited mode of vibration. A combined multi-mode response is also reported. Results include amplitudes of vibration, mean effective drag coefficients and fatigue life. The drag coefficients can be used by OrcaFlex to carry out a coupled steady-state VIV analysis.

OrcaFlex VIVA interface

The OrcaFlex interface to VIVA has been developed and tested with version 8.4 of VIVA. Please contact JD Marine to obtain a version of VIVA compatible with this version of OrcaFlex.

To use VIVA for VIV analysis of a line, choose VIVA for the line's statics VIV. You must also define further data specific to VIVA on the line data form, as described below, and on the VIVA data form.

when you perform the OrcaFlex static analysis, VIVA will be run and the drag coefficients calculated by VIVA (for the specified target mode) will be used instead of the user-specified drag coefficients from the line type form. The values of these VIVA drag coefficients, and other results calculated by VIVA, are reported by OrcaFlex.

Calculation procedure

Since the VIVA analysis depends on the position of the line and, vice versa, the position of the line depends on the VIVA analysis, OrcaFlex must perform a coupled, iterative statics calculation as follows:

  1. set the line's drag coefficients to those specified on the OrcaFlex line type form
  2. calculate the static position of the line using those drag coefficients
  3. run VIVA to analyse VIV for that position and update the line drag coefficients to those calculated by VIVA for the specified target mode
  4. recalculate the static position of the line for those new drag coefficients
  5. repeat steps 3 and 4 until the static position has converged

Convergence is achieved when none of the nodes changes position (compared with the previous iteration) by more than $\textit{tol} \times l$, where $\textit{tol}$ is the value of convergence tolerance and $l$ the length of line represented by that node. Usually only 2 or 3 coupling iterations are required for convergence.

VIVA coupling method

The choice of coupling method determines how the VIVA modes files are handled.

Full coupling may well be more accurate than partial but, since generating modes files can be time consuming, especially for more complex models, it can be significantly slower.

The partially-coupled approaches are more akin to running VIVA separately. However, the ultimate static solution found by these coupled methods will still differ, because they include the effect of drag enhancement. When running VIVA separately, the only way to account for drag enhancement is to explicitly modify drag coefficients in the OrcaFlex model, which is extremely impractical.

First and last modes

For full and automatic-partial coupling methods, these values determine which modes are to be included in the modes files and are interpreted in exactly the same way as the analogous SHEAR7 data items. They are not relevant to the partial, user modes file method.

Include coupled objects

The automatically created modes files are generated by performing a modal analysis. This option determines which degrees of freedom are included in that modal analysis. When left unchecked, only the free degrees of freedom of the line are included; when checked, any coupled degrees of freedom are also included.

VIVA modes files directory

The location of the modes files to be passed to VIVA (only relevant to the partial, user modes file coupling method).

The location can be specified as either a relative or a full path. The modes files must be generated separately which is normally done from the modal analysis form.

Results output

When OrcaFlex calls VIVA it captures some, but not all, of the resulting output and incorporates it in the OrcaFlex summary results for the line. These output files can also be exported from the VIVA data form or via one of the OrcaFlex automation interfaces using Python, MATLAB, etc.

The output files are automatically exported if you run the static analysis in batch mode or from Distributed OrcaFlex. The files are named using a combination of the OrcaFlex data file name and the line name.

The enhanced drag coefficients can be obtained from a static state range graph of x drag coefficient (or indeed y drag coefficient, which is identical).

Technical details

The VIVA interface operates by calling the VIVA executable directly as follows:

  1. a temporary folder is created to contain the VIVA input and output files
  2. VIVA input files dyn-n.dat,,,, and are generated in the temporary folder
  3. the last three input files (created according to the coupling method) define the mode frequencies, shapes and curvatures
  4. the specified VIVA executable file is copied to the temporary folder
  5. the hydrodynamic database files are copied to the temporary directory:,, and all the files specified in
  6. the VIVA executable is run and the VIVA output files are read by OrcaFlex
  7. the output files are parsed by OrcaFlex to find the drag enhancements factors $C\urm{f}$

It is possible to specify a non-standard set of hydrodynamic database files, although doing so is a little convoluted. To do so, make a copy of the VIVA executable in a new folder, and place your non-standard hydrodynamic database files in the same folder. Because OrcaFlex copies hydrodynamic database files from the folder containing the executable file, these hydrodynamic database files will be used.

Note that, if the locations read from the output files do not correspond to the node locations of the line in OrcaFlex, OrcaFlex applies linear interpolation to obtain the corresponding $C\urm{f}$ values. This can occur if the discretisation of the line is non-uniform, or if the VIVA number of points differs from the number of nodes in the OrcaFlex model.