## Environment: Wave calculation |

OrcaFlex offers you a choice of methods for calculating wave kinematics,

By default, the choice you make here for the wave calculation method applies to all 3D buoys, 6D buoys and lines in the model; it is possible, however, to override this choice and specify that an individual 3D buoy, 6D buoy or line should use a different wave calculation method. Further details can be found in the help for the relevant model objects.

The *instantaneous position (exact)* method calculates the fluid kinematics at the instantaneous position of each relevant model object, at every time-step of the simulation. This method has always been used historically by OrcaFlex, and can be regarded as the 'exact', most accurate method. The other two methods apply differing optimisations, and may lead to a considerable performance gain when the number of wave components is large.

The likelihood is that the *static position (interpolated)* method will yield the fastest runtime of the three methods, but this performance gain may come at the cost of reduced accuracy, especially if the static position assumption is not a good one. The *instantaneous position (interpolated)* option has more general applicability, yet can still result in significant performance improvements. When using either optimisation, care must be taken to ensure that the predicted wave kinematics are an acceptable approximation to those predicted by the *exact* method.

The relative performance of the *instantaneous position (interpolated)* and *static position (interpolated)* methods in comparison with the *exact* method depends heavily upon the number of wave components in the model. With just a few wave components present, the expectation is that the bulk of the computational work will be unrelated to wave kinematics. In this scenario we expect the performance benefit to be minor and it will be better to use the more accurate *instantaneous position (exact)* method. However, in a model containing a large number of wave components (several hundred or more), the performance gain of the *instantaneous position (interpolated)* and *static position (interpolated)* methods may be considerable.

Wave kinematics (sea surface elevation, fluid velocity and fluid acceleration) are calculated fully for each relevant model object, at every time-step of the simulation and at the object's instantaneous position.

The wave kinematics are computed only at the vertices of a regular grid, which extends in both time and space. The kinematics at all other times and positions are then determined approximately by linear interpolation, based on the values at nearby grid vertices.

Note: | The instantaneous position (interpolated) optimisation cannot be used in conjunction with extrapolation stretching. It is also not compatible with sea state disturbance RAOs; any objects that experience sea state disturbance will use the instantaneous position (exact) method to compute their wave kinematics instead. |

The standard wave kinematics calculation will be performed once at the start of the simulation for each relevant model object (i.e. when each object is in its static position). The kinematics at future times will then be computed *for the same positions*, i.e. assuming that each object remains stationary throughout the simulation, which can be done without repeating the full calculation. This can be a useful approximation for models containing objects that remain relatively still during the course of a simulation.

Note: | The static position (interpolated) optimisation cannot be used in conjunction with either Wheeler stretching or extrapolation stretching. |

Both of the interpolated options have a user-defined time interval and spatial interval associated with them. The interpretation of these parameters varies slightly, depending upon the optimisation being used, as described below.

*Instantaneous position (interpolated)*: the time interval determines the temporal separation between the vertices of the regular grid used for interpolating the wave kinematics.*Static position (interpolated)*: the time interval determines how often the wave kinematics shall be recalculated. At intermediate times the kinematics will be estimated by linear interpolation. Note that, even when recalculating at every time-step, the*static position (interpolated)*method will usually still be faster than the*instantaneous position (exact)*method because of the static position assumption.

The default value of this parameter is zero, which means that the wave kinematics will be recalculated at every time-step and no interpolation between times will be employed. Care should be taken when choosing the time interval to ensure that it is sufficiently small, such that the interpolation between times gives a good approximation to the true kinematics. This choice could possibly be based on the specific wave periods present in the sea state. The time interval can be ignored when all objects use the *instantaneous position (exact)* calculation method: it has no meaning in this context.

*Instantaneous position (interpolated)*: the spatial interval determines the spatial separation between the vertices of the regular grid used for interpolating the wave kinematics. This parameter is not permitted to be zero; OrcaFlex will report an error at the start of dynamics if this is the case.*Static position (interpolated)*: the spatial interval is only relevant for lines; it has no meaning for 3D buoys or 6D buoys. It is used to reduce the number of nodes at which the wave kinematics are explicitly calculated. These nodes are known as*key nodes*and are chosen such that the spacing between them (defined as the arc length between the nodes when the line is in its static position) is approximately equal to the spatial interval. At other nodes the wave kinematics are linearly interpolated based on the key nodes on either side, the interpolation parameter being based upon the arc length along the line. The default value of this parameter is zero, which means that the wave kinematics will be recalculated at every node and no interpolation will be employed.

Care should be taken when choosing this parameter to ensure that it is sufficiently small, such that the interpolation between nodes gives a good approximation to the true kinematics. This choice could possibly be based on the specific wavelengths present in the sea state. It may also be related to the geometric properties of the lines in the model (e.g. curvature) if the *static position (interpolated)* calculation method is being used. The spatial interval can be ignored when all objects use the *instantaneous position (exact)* calculation method: it has no meaning in this context.

Note: | The instantaneous position (interpolated) and static position (interpolated) optimisations only apply to wave trains comprising linear wave components; the fluid kinematics of nonlinear wave trains are always computed using the instantaneous position (exact) method. |

In addition to the choice of wave calculation, OrcaFlex provides the option of specifying a cutoff depth below which the wave kinematic fluid velocity and acceleration are taken to be zero. This may reduce the computational effort associated with model objects in regions where the wave-induced fluid motion is negligible. This saving may be especially noticeable for models containing a large number of wave components.

The cutoff depth is measured downwards from the mean sea surface. The default value is infinity, which is equivalent to not having a cutoff depth at all.

Note: | The wave kinematics cutoff depth has no effect on fluid velocity due to current. A vertical current profile may also be defined independently of this cutoff depth if required, but any efficiency gains from applying the cutoff depth to wave kinematics will be made regardless of whether or not there is any current below that depth. |