Environment: Tabular current data

This functionality allows the current velocity, $\vec{v}$, and acceleration, $\vec{a}$, to be specified as a function of time, $t$ and/or position, $\vec{x} \equiv (x, y, z)$.

Data source

The tabular data can be specified either in an internal table or in an external file.

Time origin

Specifies the simulation time corresponding to a time value of zero in the current table.

Grid origin

Allows you to set the origin, $(X, Y, Z)$, with respect to OrcaFlex's global frame of reference, of the $(x, y, z)$ coordinate system used in the table. The $Z$ component of the origin can be set to a special value of ~, which is an instruction to OrcaFlex to set this value to equal to the global $Z$ coordinate of the mean water level.

Grid azimuth

Sets the direction of the grid's local $x$-axis relative to the global $X$-axis. The azimuth angle, $\phi$, should be interpreted as an anticlockwise rotation about the global $Z$-axis, as viewed from above.

To make the application of the grid origin and azimuth concrete, a point $\vec{x} \equiv (x, y, z)$ in grid coordinates would correspond to $(X + x \cos \phi - y \sin \phi, Y + x \sin \phi + y \cos \phi, Z + z)$ in global coordinates.

Note: Ramping and vertical stretching can optionally be applied to tabular current data. The latter is primarily envisaged for cases where there is no explicit horizontal variation in the data (i.e. no $x$ or $y$ dependence), but it is not restricted to this case.

Number of rows

The number of rows of current data specified in the current table.

Current table

The table has ten columns. Each row of the table specifies the four independent variables, $(t, x, y, z)$, and the six dependent quantities, which are the three components of $\vec{v}$ and the three components of $\vec{a}$.

A strict requirement is that the data form a complete (but not necessarily uniform) grid over the independent variables. If there are $K$ distinct values of $t$ specified, $L$ distinct values of $x$, $M$ distinct values of $y$ and $N$ distinct values of $z$, then the complete grid requirement means that there must be exactly $K \times L \times M \times N$ rows of data specified, one for each possible $(t, x, y, z)$ quartet. OrcaFlex will raise an error if this requirement is not satisfied.

The tabular data defines the current for any general $(t, \vec{x})$ via barycentric interpolation between the specified data values. We use truncation outside the defined grid of points, which means that we take the value of the current from the nearest point on the boundary of the grid.

Note: The current is not automatically taken to be zero above the mean water level. This is in keeping with our standard policy when reporting fluid kinematics. In practice, this has no effect on the simulation because model objects only experience fluid forces in direct proportion to their submergence (i.e. proportion wet), so objects entirely above the mean water level will not attract current load, even though the reported current at the object's location may be non-zero.

Whilst the table allows current to be specified in terms of all of $t, x, y, z$, it can also be used to specify current that just depends upon a subset of these. This is achieved by setting the independent variable you wish to eliminate to a special value of N/A. This tells OrcaFlex that there is no dependence on this variable.

Note: If one entry in an independent column is set to N/A, then all other values in the same column must also be set to N/A.

You might only require a subset of the dependent columns to be full functions of the independent variables. The remaining columns might only depend on one of the independent variables, or might be constant. To avoid having to repeatedly specify the same values on multiple rows of the table, a special value of ditto (") is permitted. This effectively says to use the value from the row above. If the row above is also ditto, then OrcaFlex will look at the row above that, and so on and so forth until it finds a non-ditto value.

Note: A value of ditto is not permitted in the first row of the tabular current data.

Ditto values are also permitted in the $t$, $x$, $y$ and $z$ columns. This can be useful as a way to demarcate the various sections of the table when it is a function of more than one independent variable. For instance, if there are are $M$ $y$ values and $N$ $z$ values, but no $t$ and $x$ dependence, then you might specify this as $M$ blocks of $N$ rows, where the $y$ value is fixed in each block (with the $z$ data cycling through the $N$ distinct values, and the $t$ and $x$ values all N/A). Specifying a $y$ value of ditto for all but the first row of each block can make the table much easier to scan by eye (since there will be $N\!-\!1$ ditto values within each block).

External data source

If an external file is used you must specify the name of the file. You can give either its full path or a relative path. The file itself must be a text file containing the data in the same layout as the internal table. The ten columns must appear in the same order as the data in the internal table, and can be separated by spaces or tabs. Each line of the file represents one row of data. You must ensure that the data in the file has the same units as the OrcaFlex model which uses it. The file must not contain any header or footer rows. The preview button on the data form can be used to check that the data is intepreted as you intend.

For very large tables it can be awkward and slow to work with the data internally, and so an external file may be more effective. Another scenario where an external file might be preferred is when the data are used in multiple different models, e.g. a chain of restarts.

The data are interpreted identically, irrespective of whether they are internal or external.

Drawing

To help you visualise your data, the current velocity and acceleration fields can optionally be drawn in the 3D view.