1 Introduction

Computational fluid dynamics (CFD) has become an integral part in the design process for numerous fields such as in the design of aircrafts, automobiles, submarines, and oil platforms, to name a few. Recently, with the progress in the field of floating offshore wind energy, CFD has taken a major role in advancing the design and analysis for floating offshore wind turbines (FOWT)—as seen in the efforts of several research initiatives (OC [3-6], IEA Wind tasks, etc.). To simulate accurately the flow around a FOWT, the underlying physics needs to be captured in the numerical model. The model has to account for the following physical mechanisms: the interaction of the rotor with the wind and associated wake aerodynamics, the interaction of the floating platform with the waves and the corresponding hydrodynamics, the non-linear effects of platform motion on the rotor and vice-versa, and the interaction of the structure with the local flow field. Each mechanism plays an important role in the performance and stability of the FOWT and needs to be accurately modelled. Additionally, the non-linear interactions have to be captured using accurate coupling techniques. A fully coupled simulation of a FOWT has been successfully done by Liu et al. (2017) who highlighted the effects of the wind turbine forces on platform motion and vice-versa the motion of the platform on aerodynamic performance.

The application of CFD in the field of FOWT can be diverse from analysing platform hydrodynamics, to turbine aerodynamics along with wind farm control and layout optimisation. Given the extensive literature on turbine aerodynamics from onshore analyses, FOWT researchers have focused primarily on the hydrodynamics of the FOWT platform. Dunbar et al. (2015) performed a study of the hydrodynamics of the DeepCwind semi-submersible (also called the OC4 semi-submersible) using OpenFOAM with a tightly coupled CFD/6 DoF solver. The results were successfully compared with low-fidelity model (FAST) results. A similar comparison with OpenFOAM was also performed by Benitz et al. (2014) where the model was validated for uniform flow past a stationary cylinder using experimental data. The OC4 platform was also studied by Zhang and Kim (2018) with StarCCM+ for model validation, by Burmester et al. (2020) for heavy decay, Wang et al. (2021) for pitch decay, and Wang et al. (2020) for regular waves—all using ReFRESCO, by Tran and Kim (2016) for decay tests and under regular wave conditions, and by Liu and Hu (2014) under rough sea conditions. Apart from semi-submersible structures, which have received significant focus from the FOWT community, CFD has also been successfully used to study other FOWT platforms such as buoy-type WEC (Jiang et al. 2020, 2021), or the hywind spar floater (Beyer et al. 2013; Quallen and Xing 2016)

The studies performed by Burmester et al. (2020) and Wang et al. (2021) included verification and validation studies with ReFRESCO for surge and pitch decay. The method of Eça and Hoekstra (2014) was found to be robust when compared to alternatives but at a larger computational cost (Burmester et al. 2020). Additionally for pitch, a sensitivity study was done by Wang et al. (2021) to modify the coefficients for the mooring lines. The coefficients were seen to diverge from reference values given in Gueydon (2016) by Burmester et al. (2020b).

The current state-of-the-art experimental methods, while still improving, still require numerical inputs to emulate real-life conditions. This involves a strong reliance on numerical methods which can provide either the aerodynamic forces on the rotor or the hydrodynamic forces on the platform. For performing CFD analyses, there are numerous codes that are commercially (ANSYS Fluent, Star CCM, Fine/Marine), and openly (OpenFOAM, Incompact3D, NEK5000) available. These include comprehensive programs capable of simulating a wide variety of flows (OpenFOAM, ReFRESCO), and more specialised codes focused on specific numerical methods and/or particular flow physics (Incompact3d, YALES2). Given the wide variety of choices, a comparative study is crucial to understand the strengths and shortcoming of different codes/solvers. Any comparative effort of codes should also be substantiated by a verification and validation study. In this work, we focus on two CFD codes, namely the open-source generalist code OpenFOAM, and the community-based maritime-focused code ReFRESCO, which have been extensively used for FOWT analysis (Burmester et al. 2020; Wang et al. 2021, 2020) are studies with ReFRESCO and (Liu et al. 2017; Dunbar et al. 2015; Benitz et al. 2014) are a few examples with OpenFOAM).

A stringent effort has been made across this study to ensure that the numerical setup and solver settings are similar across the two codes to ensure an accurate comparison. The computational mesh for all cases is commonly generated ensuring that both codes have identical initial grid setup. The case study consists of the surge and sway decay tests in still water of the OC4 semi-submersible platform designed by Robertson et al. (2014) and experimentally studied by Gonçalves et al. (2020). The availability of experimental data from Gonçalves et al. (2020) makes a validation study possible for the OC4 platform in contrast with the study by Benitz et al. (2014) whose numerical set-up could not match with the available experimental data.

The numerical results from this study will be compared with the experimental data. A preliminary verification and validation study is performed for the decay simulation of a single circular cylinder in heave and compared with the data from Palm et al. (2016). This flow was also used for validation by Rivera-Arreba et al. (2019) to further study the OC5 semi-submersible platform.

The layout of the article is as follows: Sect. 2 summarises the underlying numerical methods of the two CFD codes. In Sect. 3, the concepts of code verification and validation are briefly explained and results are presented on the single circular cylinder under heave decay. The results of the decay tests for the OC4 semi-submersible in surge and sway are presented in Sect. 4. Finally, Sect. 5 summarises the major outcomes of the research and recommendations for future work.

2 Numerical methods

The governing equations are the incompressible, multi-phase Navier–Stokes equations with the conservation of mass (assuming no phase change),

$$\begin{aligned} \frac{\partial \rho }{\partial t} + \frac{\partial (\rho u_i)}{\partial x_i} = 0 , \end{aligned}$$
(1)

and the conservation of momentum,

$$\begin{aligned} \frac{\partial (\rho u_i)}{\partial t} + \frac{\partial (\rho u_i u_j)}{\partial x_j}= & {} -\frac{\partial p}{\partial x_i} + \frac{\partial }{\partial x_j} \left( \mu \left( \frac{\partial u_i}{\partial x_j} + \frac{\partial u_j}{\partial x_i} \right) \right) \nonumber \\&+ \rho f_i , \end{aligned}$$
(2)

both in index notation. Herein, \(\rho \) denotes the density, t the time, u the velocity, p the pressure, \(\mu \) the dynamic viscosity, and f the body force.

A Reynolds averaging is applied for turbulent flows resulting in the incompressible Reynolds-averaged Navier–Stokes (RANS) equations, i.e.

$$\begin{aligned}&\frac{\partial \overline{u}_i }{\partial x_i} = 0 , \end{aligned}$$
(3)
$$\begin{aligned}&\frac{\partial (\rho \overline{u}_i)}{\partial t} + \frac{\partial }{\partial x_j} \left( \rho \overline{u}_i \overline{u}_j + \rho \overline{u'_i u'_j}\right) \nonumber \\&\quad = -\frac{\partial \overline{p}}{\partial x_i} + \frac{\partial }{\partial x_j} \left( \mu \left( \frac{\partial \overline{u}_i}{\partial x_j} + \frac{\partial \overline{u}_j}{\partial x_i} \right) \right) + \rho \overline{f}_i . \end{aligned}$$
(4)

The contributions of the turbulent small scales \(\rho \overline{u'_i u'_j}\), also called Reynolds stresses, need to be additionally modelled to close the system of equations. In this work, the \(k-\omega \) SST model developed by Menter et al. (2003) is adopted across all simulations.

2.1 ReFRESCO

ReFRESCOFootnote 1 is a community-based, open-usage, viscous-flow CFD code developed for maritime applications. It solves multi-phase, unsteady, incompressible, viscous flows using the Navier–Stokes equations, integrating turbulence models, cavitation models and volume-fraction transport equations for different phases (Vaz et al. 2009). The equations are discretised using a finite-volume approach with cell-centred collocated variables, in strong-conservation form. A pressure-correction equation based on the SIMPLE algorithm is used to ensure mass conservation (Klaij and Vuik 2013).

For time integration, implicit first and second-order backward schemes are implemented. In this work, the first order Euler scheme was used, as it was also available in OpenFOAM—a stringent effort has been made to apply similar settings/solvers across the codes. Picard linearisation is applied to non-linear terms, and the resulting linearised system of equations is solved by iterative solvers as specified in Table 1.

The free surface was modelled with the volume-of-fluid (VOF) method, assuming a single continuum fluid with in time and space variable density \(\rho \) and dynamic viscosity \(\mu \) (Klaij et al. 2018). The ratio of the two phases air and water in a cell is determined by the air-volume fraction \(\alpha \),

$$\begin{aligned} \rho = \alpha \rho _a + (1-\alpha )\rho _w ,\quad \mu = \alpha \mu _a + (1-\alpha )\mu _w . \end{aligned}$$
(5)

The transport equation reads,

$$\begin{aligned} \frac{\partial \alpha }{\partial t} + \frac{\partial }{\partial x_j}(\alpha u_j) = 0. \end{aligned}$$
(6)

The convection term of this equation, important for the accuracy of the free-surface sharp representation is discretised using a Superbee scheme (Klaij et al. 2018; Roe 1985). To damp waves originating from body motion and to avoid non-physical reflections at the far-field boundaries, absorption zones are applied. Therefore, an additional source term \(q_i\) is added to the momentum equation,

$$\begin{aligned} q_i = \rho f_b (\widehat{u}_i - u_i) , \end{aligned}$$
(7)

where \(\widehat{u_i}\) designates the theoretical initial wave orbital velocities and \(f_b\) a body force function that may either take a cosine or exponential form (Rapuc et al. 2018).

The motion of the rigid floating bodies is described by the structural equations-of-motion in all six degrees of freedom, accounting for external hydrodynamic, restoring and linear viscous mechanical damping forces (first, second and third term, respectively),

$$\begin{aligned} \underline{\underline{M}}\ddot{\vec {x}} = \vec {f}_h - \underline{\underline{C}}\vec {x} - \underline{\underline{D}}\dot{\vec {x}} , \end{aligned}$$
(8)

where \(\vec {x}\) is the state vector containing the three translational components surge, sway and heave, and the three rotational components roll, pitch and yaw. \(\underline{\underline{M}}\) denotes the mass matrix, \(\underline{\underline{D}}\) the damping matrix (set to zero assuming rigid bodies) and \(\underline{\underline{C}}\) the stiffness matrix. The influence of moorings can be modelled via the latter. ReFRESCO includes an implementation for spring moorings with linear stiffness. For more sophisticated approaches, couplings with external codes can be established, using e.g. quasi-static or dynamic mooring methods (Burmester et al. 2020b). The interaction between flow solution and rigid body motion is based on a backward-difference, second-order, implicit, predictor-corrector scheme described in Rosetti and Vaz (2017).

For handling body motions within the computational mesh, ReFRESCO offers moving grid, deforming grid, sliding interfaces, overset and adaptive grid methods. In the present case, the deforming grid algorithm based on radial basis function interpolation is applied (de Boer et al. 2007). Since the implementation of the code is face-based, unstructured grids consisting of cells with an arbitrary number of faces and containing h-refinement (hanging nodes) can be adopted. The unstructured hexahedral meshes created for the present test cases are described separately in Sects. 3.1 and 4.1.

2.2 OpenFOAM

OpenFOAMFootnote 2 is a widely used open-source code for CFD. Based on a finite-volume discretisation methodology, the code is capable of handling a wide variety of fluid simulations from low-fidelity, laminar flows to high-fidelity direct numerical simulations of turbulent flows.

For the purpose of this work, the interFoam solver within OpenFOAM is employed. This solver was developed for incompressible, isothermal, immiscible fluids (air and water, for instance) with volume-of-fluid (VOF) phase-fraction-based interface capturing—the VOF method is identical to ReFRESCO, see Eq. (5). The solver is capable of handling mesh motion and topology changes as well as adaptive re-meshing. The pressure–velocity coupling is handled through the PIMPLE solver which combines the SIMPLE algorithm (mainly used for the steady state in OpenFOAM) with the PISO algorithm. The combination allows for the study of transient flows but with larger time steps, a restriction otherwise strictly imposed by the PISO algorithm. The solvers employed for the different equations are tabulated in Table 1—an effort has been made to employ similar solvers across the codes.

The generation and absorption of free-surface waves in OpenFOAM is handled through the waves2Foam external toolbox. The toolbox, initially developed by Jacobsen et al. (2012), was further extended to model the interaction of waves with a permeable medium by Jensen et al. (2014). In this work, the wave absorption capabilities of the plug-in are employed to reduce/remove spurious wave-reflection from the boundaries. This is achieved through an explicit relaxation zone technique based on a weighting between the computed solution and a target velocity field as,

$$\begin{aligned} \phi = (1 - w_R)\phi _{\text {target}} + w_R\phi _{\text {computed}} , \end{aligned}$$
(9)

where \(\phi \) can be velocity or the free-surface and \(w_R\) is an exponential weight calculated as Fuhrman et al. (2006),

$$\begin{aligned} w_R = 1 - \frac{\text {exp}(\sigma ^P) - 1}{\text {exp}(1) -1} , \end{aligned}$$
(10)

where the exponent P is set to a default 3.5. Depending on the fluid domain, the relaxation zone can be rectangular, semi-cylindrical, or cylindrical in shape and can accommodate mesh motion.

The rigid body motion is handled through the sixDoFRigidBodyMotion solver within the dynamicMotion solver of OpenFOAM. In the sixDoFRigidBodyMotion solver, the structure is assumed to be rigid-body capable of moving in six degrees of freedom (three in translation—surge, sway, and heave; three in rotation—roll, pitch, and yaw). The second-order, explicit, sympletic solver is used for rigid body motion. It is possible to restrict the motion to limited degrees of freedom using inbuilt motion constraints. Reaction forces on the body, through moorings, or springs, can be prescribed through restraints that account for all reactionary forces aside from fluid interaction.

Table 1 Numerical schemes

3 Free-floating single cylinder

Solution verification and validation is undertaken in this section focusing on the case study of the free-floating single cylinder experimentally studied in Palm et al. (2016). This case study was also used for validation purposes by Rivera-Arreba et al. (2019). The numerical setup, described in Sect. 3.1, is followed by the verification and validation study in Sects. 3.2 and 3.3 respectively.

3.1 Numerical setup

The freely floating single cylinder is placed in a rectangular domain measuring \(x = 12\,\text {m}\), \(y = 5\,\text {m}\), and \(z = 1.8\,\text {m}\) with the cylinder placed at the origin (0, 0, 0). The inlet is at \(x = -6\,\text {m}\), the outlet at \(x = 6\,\text {m}\) and the sides of the domain are at \(y = \pm 2.5\,\text {m}\). Two wave absorption zones are defined at the inlet and outlet extending up to \(3\,\text {m}\) into the domain (see Fig. 1).

Fig. 1
figure 1

Single free-floating cylinder domain and boundary names. The wave absorption zones are indicated as grey boxes

The mesh is created using the commercial software HEXPRESSFootnote 3 with refinement boxes defined around the cylinder with a total of five refinement steps. Moreover, five refinement steps are applied in vertical direction throughout the whole domain to avoid hanging nodes at the water surface. Three different discretisations are used in the grid refinement study, with the fifth refinement step achieving a resolution of 50, 66, and 82 cells per cylinder diameter (cpd) respectively, see Fig. 2. The final number of cells for the three discretisations is contained in Table 2.

Fig. 2
figure 2

Mesh refinement around the cylinder for different discretisations

The cylinder diameter is \(D = 0.515\,\text {m}\) with a height \(H = 0.4\,\text {m}\). It has a total mass of \(m = 35.85\,\text {kg}\) with an inertia of \(I_{yy} = 0.9\,\text {kgm}^2\) resulting in the draft of \(0.172\,\text {m}\) and the position of the centre of mass above keel \(KG = 0.0758\,\text {m}\). The transport properties for the two phases are given in Table 3. The boundary conditions are tabulated in Table 4.

3.2 Verification study

Solution verification aims at estimating the numerical uncertainty of a simulation result whose exact solution is, usually, not known. Commonly, the numerical error consists of the sum of the round-off error, the iterative error and the discretisation error. The round-off error originates from the incapability of computers to represent real numbers with infinite accuracy. However, with double precision, the round-off error may be neglected. The iterative error arises from the solution procedure of the non-linear system of equations governing the flow. The influence of the iterative error may also be neglected provided its value is two to three orders inferior to the discretisation error (Eça and Hoekstra 2009), that thereby becomes the dominant component. The methodology and theoretical background for determining the discretisation error based on grid refinement studies is explained in detail in Eça and Hoekstra (2014). In short, the results for an evaluation parameter \(\phi \) are plotted over the relative step size \(h_i/h_1\), a non-dimensional discretisation parameter. In the present work, the ratio of the resolution of the refinement box is chosen:

$$\begin{aligned} \frac{h_i}{h_1} = \frac{\text {cpd}_1}{\text {cpd}_i} , \end{aligned}$$
(11)

where \(\text {cpd}_1 = 82\) is the finest resolution deployed here. A similar expression is derived for the temporal discretisation:

$$\begin{aligned} \frac{t_i}{t_1} = \frac{\Delta t_i}{\Delta t_1} , \end{aligned}$$
(12)

with \(\Delta t_1 = 0.001\,\text {s}\) being the smallest time step. A least squares fit is, then, applied to extrapolate the solution at step size 0 for a, theoretically, infinitesimal fine discretisation. Depending on the observed order of convergence and the difference between actual and extrapolated result the uncertainty \(U_\Phi \) is determined for each discretisation, also taking into account a safety factor and the standard deviations of the fit. The unknown exact solution is then expected in the interval

$$\begin{aligned} \phi _i - U_\phi \le \phi _\text {exact} \le \phi _i + U_\phi . \end{aligned}$$
(13)

The verification study is performed for a series of numerical heave decay tests allowing all six degrees of freedom, starting at an initial offset of \(0.076\,\text {m}\). The evaluation parameters considered in the uncertainty analysis are the natural period \(T_\mathrm{n}\), the linear damping coefficient b and the heave amplitudes. The simulation time is set to \(5\,\text {s}\) to capture four full oscillations. The natural period is calculated as average out of the first four oscillations. The linear damping coefficient is determined from a least-squares fit of the exponential function

$$\begin{aligned} y = a \cdot \mathrm{e}^{(-bx)} \end{aligned}$$
(14)

through the absolutes of all peak values y (positive and negative) at corresponding time x with intercept a. The least-squares fit is performed using the optimize.least_squares function of SciPy Python module, see e.g.Footnote 4 The results of the two codes for three spatial and two temporal discretisations are displayed in Table 5, with their respective uncertainties in Table 6. The exponential fitting curves are displayed in Fig. 3. A close fit is achieved for all five cases of both codes, with all R-squared values exceeding 0.99. Thus it is concluded, that describing the cylinder’s heave decay process by linear damping is sufficiently accurate.

Table 2 Cylinder test case spatial discretisations
Table 3 Transport properties for air and water for the free-floating cylinder decay tests
Table 4 Free-floating cylinder case-study boundary conditions
Table 5 Cylinder natural heave period \(T_\mathrm{n}\) and linear damping coefficient b for different spatial and temporal discretisations
Table 6 Grid- and time-step-based uncertainties for cylinder natural heave period \(U_T\) and linear damping coefficient \(U_b\)
Fig. 3
figure 3

Exponential least-squares fitting of cylinder heave decay

Following trends are expected in the discretisation uncertainty study: the uncertainties decrease with a higher resolution/cpd and they also decrease with a lower time step. This can be observed for the uncertainties of the natural period in ReFRESCO and the damping’s uncertainty in OpenFOAM. In the other two cases that trend does not become so clear. For the uncertainties of the natural periods in OpenFOAM it may be due to the fact that the results for the natural period itself do not differ until including the third digit after the decimal. While all uncertainties related to the natural period are below 1%, the uncertainties of the damping are considerably higher. It is also noted that the damping coefficient in ReFRESCO is generally more pronounced than in OpenFOAM. This will be further discussed in the validation study. The uncertainties of the peak amplitudes are displayed as bars in Fig. 5. While the uncertainty values are relatively small in the first two peaks, they tend to continuously increase over time until in the last period they are of a magnitude similar to the peak itself.

To reduce uncertainties, likely it would have been beneficial to include even coarser meshes or time steps (\(\frac{h_i}{h_1}\), \(\frac{t_i}{t_1} > 2\)). Potentially less accurate/more different results could have increased the order of convergence for the finer discretisations, resulting in lower uncertainties. Meanwhile, the PISO solver of OpenFOAM diverged at larger time steps (the maximum Courant number observed in the current cases already was about 1.3), and ReFRESCO showed unphysical/numerical reflection problems for coarser spatial discretisation. With those limitations due to the CFD codes, the discretisation uncertainty analysis remains limited to the five test cases presented here.

To conclude the verification study, the \(L_2\) residuals are considered as a metric for the iterative error for the above setup. With the residual being the change of flow variable \(\phi \) between consecutive iterations \(r_i = \phi _i - \phi _{i-1}\) and \(r_\text {max}\) being the maximum residual in iteration i over all N cells:

$$\begin{aligned} L_2 = \sqrt{\frac{\sum _{i=1}^{N} (\frac{r_i}{r_\text {max}})^2}{N}} \end{aligned}$$
(15)

For ReFRESCO the convergence criterion of \(L_2 < \)1e−6 is fulfilled in almost all iterations while for OpenFOAM, a convergence level of 1e-8 is satisfied for all quantities (see Fig. 4). With the residuals being of such a small order compared to the discretisation error, the iterative error becomes negligible. Hence, the overall numerical error is taken as equal to the discretisation error.

Fig. 4
figure 4

Residuals at the end of each time step

3.3 Validation study

The heave decay motion of the free-floating cylinder is now compared to experimental data from Palm et al. (2016). The simulation data from the finest temporal and spatial resolution is used in Fig. 5, which exhibited the overall lowest discretisation uncertainties in the previous verification study. The numerical values of natural period and damping coefficient are given in Table 7.

Fig. 5
figure 5

Free-floating cylinder heave decay motion from OpenFOAM and ReFRESCO compared with experimental data. Uncertainties in the peak values are shown as bars

Fig. 6
figure 6

Vorticity field around cylinder, side view. Left ReFRESCO, right OpenFOAM

Both OpenFOAM and ReFRESCO predict accurately the natural period. The difference to the experimental value is way below 1% and within the numerical uncertainty. Both CFD solutions are over-damped with ReFRESCO having the strongest damping—the calculated damping coefficient exceeds the experimental value by 26%, while for OpenFOAM the difference is only 6%. Again, this lies within the numerical uncertainty of each code, but the large discrepancy between the codes may additionally point to a modelling difference/error. To investigate this further, flow field data of the simulations is analysed and compared: Fig. 6 presents the vorticity magnitude in the water phase seen from the side at different time instances. One can instantly see that ReFRESCO is producing clearly visible vortex structures at the cylinder’s lower edge. In OpenFOAM, the vortices are a lot less pronounced. The difference is equally visible considering the size of the high-flow-speed region (Fig. 7) and the low-pressure region below the cylinder’s edge (Fig. 8). Also the free surface elevation seen from above in Fig. 9 reveals differences between the codes: the waves developing in ReFRESCO are higher than in OpenFOAM. Meanwhile, in OpenFOAM some minor wave reflection seems to occur in a close radius around the cylinder, which may be due to the abrupt change of cell size that is inherent to the methodology how HEXPRESS creates the unstructured meshes. As the same mesh was used for both codes, future work should investigate if OpenFOAM reacts generally more sensitive to such abrupt cell size change or if the reflection issue can be mitigated from the beginning by increasing the dimension of the refinement box around the cylinder. Meanwhile, the wave damping zones at the inlet and outlet are working reliably in both codes, potential wave reflection at the boundaries is not observed. In any case, both the larger vortex structures and the higher wave height may be a cause why ReFRESCO proves to be more dissipative in this test case than OpenFOAM. Further research is necessary to identify the source of this discrepancy, which may well lead to a revision of the numerical setup in future investigations. While the choice of numerical settings in this paper was mainly driven by the effort to have a similar setup for both codes, it is possible that this common setup is not the best for the performance of the codes, especially in the case of ReFRESCO. A more detailed parametric study is currently in elaboration, that will additionally cover decay tests in pitch degree of freedom. A first overview of the work in progress is available in Amaral et al. (2022), where several aspects influencing the hydrodynamic damping are identified. Furthermore, the study unveils a high sensitivity of the cylinder’s behaviour regarding its mechanical input properties.

Table 7 Cylinder natural period \(T_\mathrm{n}\) and linear damping coefficient b in heave decay
Fig. 7
figure 7

Velocity field around cylinder, side view. Left ReFRESCO, right OpenFOAM

Fig. 8
figure 8

Dynamic pressure field around cylinder, side view. Left ReFRESCO, right OpenFOAM

Fig. 9
figure 9

Free surface elevation around cylinder, top view. Left ReFRESCO, right OpenFOAM

4 OC4 semi-submersible floater

The OC4 semi-submersible platform was designed byRobertson et al. (2014) for phase II: hydrodynamic studies for the Offshore Code Comparison Collaboration Continuation project. The original design for the semi-submersible was developed for the DeepCwind project and further optimised in the OC4 project work. This platform, in a scaled-down version (1:72.73), was experimentally studied by Gonçalves et al. (2020) in a towing-tank. In this work, the scaled-down model is numerically studied with OpenFOAM and ReFRESCO and compared to Gonçalves et al. (2020) experimental decay tests in surge and sway.

4.1 Numerical setup

The semi-submersible platform is placed in a cylindrical domain (see Fig. 10) with a height of 28D, and a diameter of 42D, where D is the diameter of the upper column of the scaled-down semi-submersible measuring \(D = 0.165\,\text {m}\). The origin (0, 0, 0) is at the static free-surface at a height of 16D from the bottom and 12D from the top. The scaled-down submersible has a mass of \(36.7\,\text {kg}\) with a moment of inertia of \(I_{zz} = 4\,\text {kg m}^2\). The height of the platform is \(0.44\,\text {m}\) with a draft of \(0.275\,\text {m}\), and a KG of \(0.134\,\text {m}\). The boundary conditions are tabulated in Table 8. No damping zones were applied as in the previous test case. Meanwhile, in ReFRESCO a non-reflecting boundary condition was described at the domain side as already done by Burmester et al. (2020b).

The mesh is created using HEXPRESS with a refinement setup based also on the work of Burmester et al. (2020b), Burmester et al. (2020a) and can be inspected on Fig. 11. The boundary layer is captured with a fine viscous layer mesh conforming to \(y^+<1\). Detail refinement is also carried out on the surface of the platform focusing on sharp edges and intersections. The resultant mesh contains \(\sim 11.5\) million hexahedral cells.

Four mooring lines represented by linear springs are attached to the platform via a rigid plate on top of the platform. The plate is not geometrically modelled in the computational mesh, but considered in the mechanical properties of the platform. In equilibrium conditions, two springs are attached to the anchor and the platform in the \(x = 0\) plane (referred to as front and back springs) and two springs in the \(y = 0\) plane (referred to as left and right springs). The attachment location on the body and anchor points along with the spring parameters are tabulated in Table 9.

Fig. 10
figure 10

OC4 semi-submersible model domain and boundary conditions

The solver setup is identical to the cylinder test cases (Table 1), again with the \(k-\omega \) SST turbulence model activated for modelling the turbulent small scales. The transport properties for the two phases (air and water) are also identical to the cylinder case, given in Table 3. Surge and sway decay simulations are performed for the semi-submersible platform with the two codes. The simulated motion is initially restricted to a single degree of freedom (1 DoF) for each decay test focusing on the primary motion that is to be captured. An initial offset of one upper-column diameter (\(D = 0.165\,\text {m}\)) is enforced on the numerical platform model. Each simulation is run for a total of three periods. In ReFRESCO, a fixed time step of \(0.002\,\text {s}\) is chosen. In OpenFOAM, to achieve a stable simulation, an adjustable time-step hat to be deployed with an initial value of \(0.0025\,\text {s}\) and a maximum Courant number limitation of \(\mathrm{Co} < 2\) and an interface based Courant number limitation of \(\mathrm{Co}_{\alpha } < 0.25\).

Table 8 OC4 semi-submersible boundary conditions

4.2 Validation study

The experimental surge and sway decay validation data supplied by Gonçalves et al. (2020) is depicted on Fig. 12. For each DoF, three decay tests were performed. To determine the linear damping coefficient, the exponential least-squares fitting as described in Sect. 3.2 is utilised again. Figure 13 shows the fitted curves determined over seven oscillations (15 peaks), the initial displacement peak was not considered.

It becomes clear that over the duration of the seven oscillations, linear damping alone is not accurate enough to describe the semi-submersible’s surge and sway decay. The linear model underestimates damping towards the start of the experiment and tends to overestimation in later stages. Alternatively, in literature enhanced decay analyses also considering a quadratic damping component were already conducted for the OC4 platform, see e.g. the \(p-q\) method applied by Burmester et al. (2020b), Wang et al. (2021). Meanwhile, for the current work with the shorter simulation duration of \(30\,\text {s}\) covering only 3 periods, and for the sake of comparison between codes and experiment, the linear damping method is considered sufficient. The experimental damping coefficients presented below are hence determined using only the first six peaks (except initial displacement), and additionally averaged over the three decay tests.

Fig. 11
figure 11

Mesh refinement around the OC4 platform

The decay motions extracted from the CFD simulations are plotted in Fig. 14 together with experimental data, while the numerical values for the natural period and damping coefficient are presented in Table 10.

In surge, the natural periods achieved with the 1 DoF simulations match very well with the experiment, showing less than 1% difference for ReFRESCO and less than 2% in the case of OpenFOAM. Where in the cylinder test case, ReFRESCO was overestimating the damping, it is now underestimating the damping coefficient by 14%. Opposed to that, OpenFOAM overestimates by 36%. The large difference motivated a second OpenFOAM simulation, where platform motion in all 6 DoF was permitted. Indeed, this resulted in a damping coefficient much closer to the experiment (less than 9% difference). Meanwhile, it also affected the natural period of the system, that is less accurately predicted in the case of 6 DoF. The additional degrees of freedom are apparently leading to an overall less stiff system.

Table 9 Semi-submersible mooring line parameters under equilibrium conditions

Looking at the vorticity field (Fig. 15), ReFRESCO reveals a higher level of vorticity around the structure compared to OpenFOAM, as was already the case in the cylinder simulations. But also in between the OpenFOAM simulations with 1 and 6 DoF small differences are visible, which likely contributes to the different results for natural period and damping coefficient in Table 10. In a similar manner the velocity field obtained by ReFRESCO is way more dynamic than in OpenFOAM, as is the 6 DoF simulation compared to the 1 DoF simulation in OpenFOAM (Fig. 16).

In contrast to the cylinder test case, the free surface elevation around the surging platform (Fig. 17) is a lot less pronounced in ReFRESCO than in OpenFOAM. A possible reason is the choice of a non-reflecting Sommerfeld boundary condition in ReFRESCO and numerical wave reflection at the boundaries in OpenFOAM. For a better comparison between codes, future setups should investigate the use of damping zones as was the case in the cylinder study. Meanwhile, the study by Burmester et al. (2020b) suggests that the use of damping zones has only a very small influence on the floater motion and and has rather cosmetic affects on the appearance of the flow solution.

Fig. 12
figure 12

OC4 model experimental decay time series. Data supplied by Gonçalves et al. (2020)

Fig. 13
figure 13

Exponential least-squares fitting of OC4 model decay experiments. The initial displacement peaks seen in Fig. 12 are not considered. Data supplied by Gonçalves et al. (2020)

Fig. 14
figure 14

OC4 model decay motion from OpenFOAM and ReFRESCO compared with experimental data

Table 10 OC4 model natural period and linear damping coefficient in surge and sway decay
Fig. 15
figure 15

Vorticity field around surging OC4 platform, cut in plane \(z = -\,0.1\,\text {m}\) at \(t = 12\,\text {s}\)

Fig. 16
figure 16

Velocity field around surging OC4 platform, cut in plane \(z = -\,0.1\,\text {m}\) at \(t = 12\,\text {s}\)

Fig. 17
figure 17

Free surface elevation around surging OC4 platform, top view at \(t = 12\,\text {s}\)

The shift in natural period for 1 vs 6 DoF already observed for OpenFOAM’s surge decays is also present in the sway decay (Table 10). The OpenFOAM 6 DoF simulation matches the experimentally determined natural period almost spot on. The 1 DoF simulations underestimate the experimental value by around 3%. Regarding the damping coefficient, the 6 DoF setup of OpenFOAM manages to exactly reproduce the experimental value, the 1 DoF simulations are off by around 4–5%. The discrepancy between 1 vs 6 DoF is thus a lot less pronounced than in surge.

Regarding the flow field of the sway decay simulations, the vorticity field (Fig. 18) and the velocity field (Fig. 19) resulting from the two OpenFOAM simulations look more similar than in surge motion. And while in the figures representing ReFRESCO the areas of elevated vorticity and velocity are still considerably larger than compared to OpenFOAM, the difference is less drastic. Altogether those observations match with the results for natural period and damping coefficient in Table 10, which lie closer together across all codes than for the surge decay.

Concerning the free surface elevation in sway decay (Fig. 20), the observations are transferable from the surge decay, with OpenFOAM cases revealing higher waves than in ReFRESCO. Still the spread in the results is less pronounced than in surge, as mentioned in the previous paragraph. This raises the assumption, that the waves only play a minor role in the surge and sway decay motion of the OC4 model.

Fig. 18
figure 18

Vorticity field around surging OC4 platform, cut in plane \(z = -\,0.1\,\text {m}\) at \(t = 12\,\text {s}\)

Fig. 19
figure 19

Velocity field around swaying OC4 platform, cut in plane \(z = -\,0.1\,\text {m}\) at \(t = 12\,\text {s}\)

Fig. 20
figure 20

Free surface elevation around swaying OC4 platform, top view at \(t = 12\,\text {s}\)

To complete the comparison, a 6 DoF setup in ReFRESCO can be considered in future work. In any case, as this analysis has shown and as a general recommendation, the suppression of degrees of freedom should be carefully approached and validated in simulations of floating structures. In doubt, one should rather tend to not restrict the DoF, as effects such as vortex-induced motions may be suppressed. From the point of view of computational effort, the solving of a few additional equations of motion should not significantly weigh in compared to solving the Navier–Stokes equations for millions of cells.

5 Conclusions

In this work, a comparative study of two CFD codes, OpenFOAM and ReFRESCO, has been performed for the hydrodynamic surge and sway decay study of a semi-submersible platform used in floating offshore wind energy. A prior verification and validation study has been undertaken by studying a free-floating single cylinder in heave decay. The natural period was accurately predicted by both codes and numerical uncertainties below 1% were achieved. As a second evaluation parameter, the damping coefficient was considered. A simple linear damping model was found to fit well the decay motion. Meanwhile, both codes predicted higher damping than in the experiment, especially ReFRESCO. The larger radiated waves and dissipated vortices observed in the flow field data were identified as potential contributors. With progressing simulation time, the numerical uncertainties of the heave amplitudes were seen to increase drastically, compromising a close comparison between CFD and experimental results. While in this work as close as possible numerical settings were selected, for future investigations it is suggested to run a broad numerical parametric study with the objective to quantify the uncertainty and sensitivity to these parameters, to improve the individual performance of each code and to decrease the uncertainties attached to the damping.

The study on the OC4 semi-submersible platform was performed with a scaled down (1:72.73) model of the original design. The model was studied experimentally by Gonçalves et al. (2020) equipped with linear spring moorings. Numerical results were compared with these experimental measurements for surge and sway decay tests. A verification study dedicated to the OC4 model was not conducted in this study due to resource limitations but performed in referenced literature for similar setups. The linear damping model turned out to be too inaccurate to describe the decay motion over the long experimental duration, but acceptable for the sake of comparison over the shorter simulation time. The decay tests in ReFRESCO and OpenFOAM were initially performed with restricted body motion (1 DoF). The switch to a 6 DoF setup in OpenFOAM affected the natural period, damping and flow field. Within the present OpenFOAM simulations, the restriction of non-primary body motions led to an increase in both natural period and damping. Ultimately, the 6 DoF setup proved to be the better compromise compared to experimental results. For ReFRESCO, the 6 DoF OC4 simulations are still to be conducted in future.

Overall, the present work suggests that existing numerical codes are capable of predicting the natural period for hydrodynamic decay motions with high accuracy. However, the damping of the motion is more difficult to reproduce and may require careful tuning of the numerical setup. The restriction of motions of a floating body needs to be thoroughly assessed, as a geometrically symmetric model may still produce asymmetric flow and body motion.

Finally, this work intended to highlight the importance of verification studies to determine numerical uncertainties and assess reliability of the CFD results to create a good foundation for the comparison with experimental results.