Quasi-static mooring solver implemented in SPH

  • A. Barreiro
  • A. J. C. Crespo
  • J. M. Dominguez
  • O. Garcia-Feal
  • I. Zabala
  • M. Gomez-Gesteira
Research Article


The correct simulation of moored floating objects is key to save time and money in the design stage of new off-shore devices. DualSPHysics is a graphics processing unit implementation of the weakly compressible smoothed particle hydrodynamics (SPH) method successfully validated with different free-surface problems and already applied to real engineering problems with accuracy, reliability and high performance. A new implementation to simulate the behaviour of moored lines is presented for SPH models. This new approach allows reproducing the forces on floating bodies, such as vessels, boats, wave energy devices and other off-shore structures moored to the seabed. More precisely, the implementation is focused on continuous ropes and wires that can be described by the catenary function. Some validations are provided for floating bodies and moored lines showing good agreement with experiments and other numerical solutions. Finally, a working case of a wind turbine base moored by three lines is simulated to show the capabilities of the code.


SPH Moorings GPU Off-shore Floating objects 

1 Introduction

Due to the increasing energy demand and the environmental awareness of today’s society, more renewable energy resources are exploited. Some of the energy harvesting devices, such as wave and tide energy converters and floating wind turbines, are located at sea. Some of these devices are fixed to the sea bed but in other cases, due to sea depth, sea conditions or the nature of the device, they are moored. A proper implementation of mooring lines in a numerical model with high performance will help engineers and scientists to design energy converters and its platforms.

Numerical modelling is employed as a very useful tool in the engineering and science fields to solve complex problems. The main advantage of using numerical methods is the capability to simulate any scenario regardless its complexity. This avoids the need to build multiple very expensive physical models. Also, numerical modelling may provide physical data that could be very difficult, or even impossible, to measure in a real or scaled model. Numerical methods will not replace physical modelling but will reduce the number of scale models and these will be closer to the final design which will save money and time for companies and administrations.

Traditional computational fluid dynamics (CFD) techniques such as volume-of-fluid methods (VOF) have been used in different aspects of coastal engineering such as wave-structure interactions studies (Kleefsman et al. 2005) and breakwater design (Higuera et al. 2013; Vanneste and Troch 2012). However, Eulerian numerical methods usually require expensive mesh generation and have severe technical challenges associated with the nonlinearities associated with rapidly moving geometries. On the other hand, meshless schemes provide an alternative to the most established mesh-based methods and meshfree methods, such as Monte Carlo methods (Geeraerts et al. 2009) or the particle finite element method (PFEM) (Oñate et al. 2011), are gaining popularity. Within the meshless methods now available, smoothed particle hydrodynamics (Violeau 2012) is, possibly, the most popular and is attaining the required level of maturity to be used for engineering purposes. Hence, SPH is an ideal technique to simulate free-surface flows.

SPH has been used to describe a variety of free-surface flows (wave propagation over a beach, plunging breakers, impact on structures and dam breaks). Monaghan (1994) presented the first attempt to study free-surface flows with the SPH model. Monaghan also studied the behaviour of gravity currents, solitary waves and wave arrival at a beach. Later on, the model was applied to the study of the wave–structure interaction such as in Colagrossi and Landrini (2003) that considered the study of interfacial flows. The classical dam-break problem is also studied in 3D by Gómez-Gesteira and Dalrymple (2004). In the field of coastal engineering, SPH has been employed to the study of the wave–breakwater interaction in Gotoh et al. (2004), to the prediction of wave impact pressure due to sloshing waves in Khayyer and Gotoh (2009), and to study floating bodies (Bouscasse et al. 2013; Amicarelli et al. 2015; Sun et al. 2015).

The DualSPHysics code has been developed to use SPH for real engineering problems with software that can be run on either CPUs or graphics processing units (GPUs with powerful parallel computing). GPUs offer now a higher computing power than CPUs and they are an affordable option to accelerate SPH with a low economic cost. Thereby, the simulations can be performed using a GPU card installed on a personal computer. DualSPHysics is open source and can be freely downloaded from http://www.dual.sphysics.org. This package includes pre-processing tools that allow creating any type of complex geometry, loading actual topographies or bathymetries and importing geometries directly from files such as .cad, .3ds, .max, .stl, .dwg, etc Post-processing tools are also provided to visualise data and to measure interesting physical magnitudes such as vorticity, velocity and exerted forces.

The first rigorous validation of the GPU implementation of DualSPHysics code was presented in Crespo et al. (2011) and more details about the implementation of DualSPHysics can be found in Crespo et al. (2015). Recently the DualSPHysics code was applied to coastal engineering problems; the study of the run-up on a real armour block coastal breakwater in Altomare et al. (2014), the computation of forces exerted by large waves onto coastal structures (Barreiro et al. 2013) and the estimation of sea wave impacts on dikes (Altomare et al. 2015) . In addition, numerical results in (Altomare et al. 2015) are validated with a experimental campaign that studied the response of new coastal defences proposed for the Belgian coast.

Mooring line design is an important topic in coastal and marine engineering. Faltinsen (1993) introduced the basic mathematics for this kind of phenomena. Many approximations have been developed during the past years to solve mooring dynamics, such as MDD (Dewey 1999), SEAWAY (Journee and Adegest 2003), Orcina/OrcaFlex (Randolph and Quiggin 2009), Moody (Ferri and Palm 2015) and MoorDyn (Hall and Goupee 2015). However, some of these methods only model the mooring line and the do not solve the dynamics of the moored floating object. On the other hand, mesh-based models fail to study the survivability of floating devices under extreme wave conditions (including also overtopping and breaking waves). DualSPHysics is suitable to deal with these problems but only implements, in a first approximation, a basic approach of mooring lines. The quasi-static approach proposed by Faltinsen (1993) is implemented where the tension of the mooring line is properly solved but the hydrodynamic and elastic contributions of the mooring are neglected.

The implementation of the quasi-static mooring formulation presents a novelty on the SPH methods implemented on GPU. In this way, DualSPHysics allows reproducing the forces on floating bodies moored to the seabed. The presented approach deals with continuous ropes and wires that can be described by the catenary function. The formulation presented here is a first step to a more complete implementation where the moored lines will present properties such as elasticity, interaction with the fluid particles and more complex mooring lines.

The paper is organised as follows: first the SPH formulation and the equations implemented to simulate moorings are described; then several validations show the agreement between numerical and experimental results for the movement of fluid-driven objects and tension experienced by different mooring configurations; finally, a case of application shows the capabilities of the implementation to deal with interactions between waves and a wind turbine base moored by three lines.

2 SPH method

Only the basic formulation is presented in this section; for a more complete description of the equations and corrections the reader is referred to Gómez-Gesteira et al. (2010, (2012).

Smoothed particle hydrodynamics is a meshless method that describes a fluid by dividing it into a set of discrete elements (named particles). Each particle has an area of influence over which its physical magnitudes are known. The physical quantities of a particle can be computed as an interpolation of the values of the nearest neighbouring particles. Mathematically, the contribution of the neighbouring particles is weighted according to their distance for particle a using a kernel function and a smoothing length.

2.1 Interpolant

SPH is based on the interpolant theory. This principle states that any given function A(r) can be approximated by
$$\begin{aligned} A(\mathbf{r})=\int \limits _{\Omega } A( {\mathbf{r}^{\prime }})W( {\mathbf{r}}-\mathbf{r }^{\prime },h)d{\mathbf{r}}^{\prime }, \end{aligned}$$
where r is the position vector; W the weighting function or kernel; h is a measure of the radius of the kernel.
The Eq. 1, in discrete notation, leads to the following approximation function at a particle a:
$$\begin{aligned} A_a =\mathop \sum \limits _b m_b \frac{A_b }{\rho _b }W_{ab}, \end{aligned}$$
where the summation is carried out over all the neighbour particles, b,  that can be found in the region where the kernel is non zero. The mass and density of the neighbour particles are denoted as \(m_{b}\) and \(\rho _{b}\), respectively, and \(W_{ab}=W\)(r\(_{a}-\)r\(_{b},h)\) is the weighting function or kernel.
One advantage of using the SPH kernel is that the function derivative is calculated analytically, and the derivatives can be obtained by ordinary differentiation:
$$\begin{aligned} {\nabla } A_a ( {{{\varvec{r}}}})=\mathop \sum \limits _b m_b \frac{A_b }{\rho _b }{\nabla } W_{ab} \end{aligned}$$

2.2 Kernel function

The efficiency of the SPH technique (in terms of computational time) depends on the selection of the weighting functions. These functions have to satisfy different conditions such as positivity, compact support and normalization. Also, \(W_{ab}\) must be monotonically decreasing with increasing distance from the particle a and behaves like a delta function as h,  the smoothing length, tends to zero. The kernel function depends on the smoothing length, h, and the nondimensional distance between particles given by \(q=\)r\(_\mathrm{ab}\)/h, where r\(_\mathrm{ab}\) is the distance between particles a and b, (r\(_\mathrm{ab}\)=r\(_\mathrm{a}\)-r\(_\mathrm{b})\). There is a wide variety of kernel functions. In general, the accuracy of the SPH interpolation increases with the order of the polynomials used to define the kernel. The kernel functions implemented in DualSPHysics are the cubic-spline (Monaghan and Lattanzio 1985) and the Wendland kernel (Wendland 1995).

2.3 Momentum equation

The equation of momentum conservation in a continuous field can be expressed as
$$\begin{aligned} \frac{\mathrm{d}{{v}}_a }{\mathrm{d}t}=-\frac{1}{\rho }{\nabla } P+{{g}}+{\Gamma }, \end{aligned}$$
where v is the velocity and P and \(\rho \) are pressure and density, respectively, \({g} = (0,0,-9.81)\) ms\(^{-2}\) is the gravitational acceleration and \(\varTheta \) represents the diffusion terms.
The gradient term of pressure in symmetrical form is expressed in SPH notation as
$$\begin{aligned} -\frac{1}{\rho }{\nabla } P=-\mathop \sum \limits _b m_b \left( {\frac{P_a }{\rho _a^2 }+\frac{P_b }{\rho _b^2 }+{\Gamma }}\right) {\nabla } _a W_{ab}, \end{aligned}$$
where \(P_{b}\) and \(\rho _{b}\) are pressure and density of neighbour particles b. \(\Gamma \) represents viscous and dissipative terms. Therefore, the equation of the momentum conservation will be written in SPH notation as (Monaghan 1992):
$$\begin{aligned} \frac{\mathrm{d}{{v}}_a }{\mathrm{d}t}=-\mathop \sum \limits _b m_b \left( {\frac{P_a }{\rho _a^2 }+\frac{P_b }{\rho _b^2 }+{\Gamma }}\right) {\nabla } _a W_{ab} +{{g}} \end{aligned}$$
Different approximations, based on existing formulations of diffusive terms, may be considered in the SPH method to describe \(\Gamma \) in the momentum equation. The viscosity in DualSPHysics is treated as an artificial viscosity proposed by Monaghan (1992) or as Laminar with SPS turbulence (Morris et al. 1997; Gotoh et al. 2001; Lo and Shao 2002). The artificial viscosity treatment is used in this work.

2.4 Continuity equation

The changes on the fluid density are calculated by
$$\begin{aligned} \frac{\mathrm{d}\rho _a }{\mathrm{d}t}=\mathop \sum \limits _b m_b {{v}}_{ab} {\nabla } _a W_{ab} \end{aligned}$$
A time differential is used instead of a weighted summation of the mass terms (Monaghan 1992) since the weighted summation results in a decrease of the density in the interface between fluids, near the free surface and in the proximity of the boundaries.

2.5 Equation of state and compressibility

The fluid in the standard SPH formalism is treated as compressible, which allows the use of an equation of state to determinate fluid pressure. However, the compressibility is adjusted to slow the speed of sound so that the time step in the model (dependent of the speed of sound) has a reasonable value. This facilitates the use of an equation of state to determinate the pressure of the fluid since this is faster than solving the Poisson’s equation that appears in the incompressible approach. Following Monaghan (1992) and Batchelor (1974), the relationship between pressure and density follows the Tait’s equation of state. It should be noted that a small oscillation in density will generate a large variation in pressure.
$$\begin{aligned} P=B\left[ {\left( {\frac{\rho }{\rho _0 }}\right) ^\gamma -1} \right] \end{aligned}$$
The parameter B is related to the compressibility of the fluid; \(\rho _{0} =1000.0\)  kg m\(^{-3 }\) is the reference density, taken as the density of the fluid at the surface, and \(\gamma \) is the polytrophic constant that usually ranges from 1 to 7.

The choice of B plays a key role since it determines the speed of sound. Using a value corresponding to the real value of the speed of sound in water, a very small time step must be chosen for numerical modelling, based on the Courant–Friedrichs–Lewy condition. Monaghan showed that the speed of sound could be slowed significantly in an artificial way for fluids without affecting the fluid motion; however, Monaghan (1994) suggests that the minimum sound speed should be about ten times greater than the maximum expected flow speeds.

2.6 Boundary conditions

Dynamic boundaries were first introduced by Dalrymple and Knio (2000) and further studied by Crespo et al. (2007). Dynamic boundaries consist of a set of boundary particles that satisfies the same continuity equation, Eq. 7, as the fluid particles; thus their density and pressure also evolve creating a repulsive mechanism when a fluid particle approaches a boundary particle. However their position is not given by integrating velocity in time; a static boundary will have zero velocity and a moving boundary will have a prescribed motion.

Validations with dam-break flows have been published with good results (Crespo et al. 2011) and these BCs have also been shown to be suitable to reproduce complex geometries (Altomare et al. 2014).

2.7 Fluid driven objects

Not all the bodies and boundaries in DualSPHysics are fixed or have an imposed movement. It is also possible to derive the movement of an object by considering its interaction with fluid particles and using these forces to drive its motion. This can be achieved by summing the force contributions for an entire body. By assuming that the body is rigid, the net force on each boundary particle is computed according to the sum of the contributions of all surrounding fluid particles according to the designated kernel function and smoothing length. Each boundary particle k, therefore, experiences a force per unit mass given by
$$\begin{aligned} \varvec{f}_{k} =\mathop \sum \limits _{a\in \mathrm{WPs}} \varvec{f}_{ka}, \end{aligned}$$
where the summation only considers the contribution of fluid particles \(({\mathrm{WPs}}), \varvec{f}_{ka}\) is the force per unit mass exerted by the fluid particle a on the boundary particle k, which is given by
$$\begin{aligned} m_k \varvec{f}_{ka} =-m_a \varvec{f}_{ak} \end{aligned}$$
For the motion of the moving body, the basic equations of rigid body dynamics can then be used:
$$\begin{aligned} M\frac{\mathrm{d}\varvec{V}}{\mathrm{d}t}=\mathop \sum \limits _{k\in \mathrm{BPs}} m_k \varvec{f}_{k} \end{aligned}$$
$$\begin{aligned} \varvec{I}\frac{\mathrm{d}{\varvec{\Omega }} }{\mathrm{d}t}=\mathop \sum \limits _{k\in \mathrm{BPs}} m_k({\varvec{r}_k -\varvec{R}_0 })\times \varvec{f}_{k}, \end{aligned}$$
where M is the mass of the object, I the moment of inertia, V the velocity, \({\varOmega }\) the rotational velocity and \(R_{0}\) the centre of mass; in this case the summation only is conducted over the boundary particles (BPs). Equations 11 and 12 are solved at each time step to predict the values of V and \(\Omega \). Each boundary particle within the body then has a velocity given by
$$\begin{aligned} \varvec{u}_k =\varvec{V}+ {\varvec{\Omega }} \times ({\varvec{r}_k -\varvec{R}_0}) \end{aligned}$$
Finally, the boundary particles within the rigid body are moved by integrating Eq. 13 in time. The work of Monaghan (2005) and Monaghan et al. (2003) shows that this technique conserves both linear and angular momentum.

3 Mooring implementation

This section describes the implementation of the quasi-static mooring solver.

Moorings are defined as the lines that hold in position a vessel or any kind of floating object. More precisely, this implementation is focused on continuous ropes and wires. The shape of this kind of lines, hanging between two points, can be described by the catenary function \(y=\xi \,\text{ cosh }( {\frac{x}{\xi }})\) where y and x are vertical and horizontal coordinates, respectively, and \(\xi \) is a parameter that defines the curvature of the line.

3.1 Static approach

Figure 1 presents an element of a mooring line and all the forces acting on it.
Fig. 1

Diagram of the different forces acting on an element of a mooring line

Fig. 2

Definition of the symbols of the mooring line

The different quantities shown in Fig. 1 need to be defined: T is the line tension, A is the cross-section area of the line, E represents the elasticity modulus, F and D correspond to the drag or mean hydrodynamic forces both normal and tangential direction, respectively, and \(\omega \) is the submerged weight per unit length. Also the quantities in Fig. 2 must be explained: s is the length of the chain in the point of study, \(\varphi \) is the angle at the study point, (\(\varphi =0\) is assumed at the bottom, \(\varphi _{w}\) represents the angle at the water surface), \(h_{w}\) is the water depth and \(x_{B}\) is the portion of the line resting in the sea bed (dashed line).

In the following section the basic mathematics of the mooring implementation are presented. This implementation will relate the relative position of anchoring point, fairlead point and cable properties with the force exerted by the moored line on the floating body. Following the work of Faltinsen (1993),
$$\begin{aligned} \mathrm{d}T-\rho gA\,\mathrm{d}z=\left[ \omega \sin \,\varphi -F\left( 1+T/(AE)\right) \right] \mathrm{d}s \end{aligned}$$
$$\begin{aligned} T\,\mathrm{d}\varphi -\rho gAz\,\mathrm{d}\varphi =\left[ \omega \cos \, \varphi +D(1+T/(AE))\right] \mathrm{d}s\nonumber \\ \end{aligned}$$

These equations are non-linear and do not have an explicit solution. To simplify the analysis some approximations were taken: neglecting the effect of the current forces (D and F both equal to 0), the chain has no elasticity \((E=0)\), and the weight per unit of length remains constant in the entire chain (\(\omega \) constant).

Thus, the solution for the inelastic catenary equations is presented. First, it is important to make some assumption, such as constant weight per unit of length, elasticity effects and forces on the chain are neglected, and the definition of \(T'\) as:
$$\begin{aligned} T^{\prime }=T-\rho gzA \end{aligned}$$
using Eq. 15 in Eqs. 14a and 14b, the following expressions can be written
$$\begin{aligned} \text{ d }T^{\prime }=\omega \sin \varphi \;\text{ d }s \end{aligned}$$
$$\begin{aligned} T^{\prime }\text{ d }\varphi =\omega \cos \varphi \;\text{ d }s \end{aligned}$$
by dividing Eqs. 16 by 17, these two equations become
$$\begin{aligned} \frac{\text{ d }T'}{T'}=\frac{\text{ sin }\varphi }{\cos \varphi }\text{ d }\varphi \end{aligned}$$
which integrating gives
$$\begin{aligned} T^{\prime }=T_0^{\prime } \frac{\cos \varphi _0 }{\cos \varphi } \end{aligned}$$
by integrating \(T^{\prime }\)d\(\varphi \) \(=\)  \(\omega \)  cos \(\varphi \)ds, note that \(\varphi _{0}\) is defined as the angle at the contact point between the line and the sea bed,
$$\begin{aligned} s-s_0= & {} \frac{1}{\omega }\int _{\varphi _0 }^\varphi \frac{T_0^{\prime } }{\cos {\Xi }}\frac{\cos \varphi _0 }{\cos {\Xi }}\text{ d }\Xi \nonumber \\= & {} \frac{T_0^{\prime } \cos \varphi _0}{\omega }\left[ {\tan \varphi -\tan \varphi _0} \right] \end{aligned}$$
with d\(x =\) cos \(\varphi \) ds
$$\begin{aligned} x-x_0&=\frac{1}{\omega } \int _{\varphi _0 }^\varphi \frac{T_0^{\prime } \cos \varphi _0 }{\cos {\Xi }}\text{ d }\Xi \nonumber \\&=\frac{T_0^{\prime } \cos \varphi _0 }{\omega } \left( \ln \left( {\frac{1}{\cos \varphi }+\tan \varphi }\right) \right. \nonumber \\&\left. \quad -\ln \left( {\frac{1}{\cos \varphi _0 }+\tan \varphi _0}\right) \right) ; \end{aligned}$$
also it is known that d\(z=\) sin \(\varphi \) ds
$$\begin{aligned} z - {z_0}= & {} \frac{1}{\omega }\int _{{\varphi _0}}^\varphi {\frac{{T_0^\prime \cos {\varphi _0}\sin \theta }}{{{{\cos }^2}\Xi }}} \mathrm{d}\Xi \nonumber \\= & {} \frac{{T_0^\prime \cos {\varphi _0}}}{\omega }\left[ {\frac{1}{{\cos \varphi }} - \frac{1}{{\cos {\varphi _0}}}} \right] , \end{aligned}$$
where \(\varphi _{0}\) is defined as the contact point of the moored line with the seabed (\(\varphi _{0}=0\)), so Eq. 19 can now be rewritten as
$$\begin{aligned} T_0^{\prime } =T^{\prime }\cos \varphi \end{aligned}$$
The horizontal tension at the contact point with the floating body, usually at water surface, can be written as
$$\begin{aligned} T_H =T\cos \varphi _w, \end{aligned}$$
where \(\varphi _{w}\) is the angle of the moored chain with the water surface.
By merging Eqs. 15, 23 and 24 at the water surface
$$\begin{aligned} T_0^{\prime } =T_H \end{aligned}$$
Other assumptions were \(x_{0}\) \(=\) 0 and \(z_{0}\) \(=\) - h. In addition, \(s_0 =0\mathop \rightarrow \varphi _0 =0\); the angle \(\varphi _{0}\) can be eliminated from Eqs. 20, 22 by Eq. 21 which now can be written as
$$\begin{aligned} \frac{x\omega }{T_H }=\ln \left( {\frac{1+\sin \varphi }{\cos \varphi }}\right) , \end{aligned}$$
that is
$$\begin{aligned} \sinh \left( {\frac{x\omega }{T_H }}\right)= & {} \frac{1}{2}\left( {\frac{1+\sin \varphi }{\cos \varphi }-\frac{\cos \varphi }{1+\sin \varphi }}\right) =\tan \varphi \nonumber \\ \cosh \left( {\frac{x\omega }{T_H }}\right)= & {} \frac{1}{2}\left( {\frac{1+\sin \varphi }{\cos \varphi }+\frac{\cos \varphi }{1+\sin \varphi }}\right) =\frac{1}{\cos \varphi } \end{aligned}$$
Equations 20 and 22 can be now written as
$$\begin{aligned} s=\frac{T_H }{\omega }\sinh \left( {\frac{\omega }{T_H }x}\right) \end{aligned}$$
$$\begin{aligned} z+h_w =\frac{T_H }{\omega }\left[ {\cosh \left( {\frac{\omega }{T_H }x}\right) -1} \right] , \end{aligned}$$
so the line tension can be found as the combination of Eqs. 15, 22, 23 and 25.
$$\begin{aligned} T-\rho gzA=\frac{T_H }{\cos \varphi }=T_H +\omega (z+h), \end{aligned}$$
$$\begin{aligned} T=T_H +\omega h+( {\omega +\rho gA})z \end{aligned}$$
$$\begin{aligned} \text{ d }T_z^{\prime } =\text{ d }( {T^{\prime }\sin \varphi })= & {} \text{ d }T^{\prime }\sin \varphi +T^{\prime }\,\cos \, \varphi \,\mathrm{d}\varphi \nonumber \\= & {} \omega \sin ^2\varphi \text{ d }s+\omega \cos ^2\varphi \, \mathrm{d}s; \end{aligned}$$
this translates as \(T_{z}^{\prime }=\omega s\), and at the water surface is
$$\begin{aligned} T_z =\omega s \end{aligned}$$
In order to simulate properly the moorings, a function is needed to determine the horizontal tension (\(T_{H})\) generated by the moored line. This function will depend on the relative position of the link point in the floating body and the anchoring point in the sea bed. Parameters to define a moored line are presented in Fig. 3.
Fig. 3

Diagram with the parameters that define a mooring line

$$\begin{aligned} a=\frac{T_H }{\omega } \end{aligned}$$
Equations 30 and 31 are rewritten as
$$\begin{aligned} l_s =a\sinh \left( {\frac{x}{a}}\right) \end{aligned}$$
$$\begin{aligned} h_w =a\left[ {\cosh \left( {\frac{x}{a}}\right) -1} \right] , \end{aligned}$$
where \(l_{s}\) is the lifted chain length, combining Eqs. 35 and 36
$$\begin{aligned} l_s^2 =h_w ^2+2h_w a \end{aligned}$$
According to Fig. 3, horizontal distance, X, can be written as
$$\begin{aligned} X=l-l_s +x, \end{aligned}$$
where\( l_{s}\) is expressed as shown in Eqs. 35 and 36 is used to express x, and \(l-l_{s}\) is the portion of the line resting in the bed.
$$\begin{aligned} X=l-h_w \left( {1+2\frac{a}{h_w }}\right) ^{\frac{1}{2}}+a\cosh ^{-1}\left( {1+\frac{h_w }{a}}\right) \end{aligned}$$
the relationship between X and \(T_{H}\) is obtained as \(a=T_{H}/ \omega \).
Now a spread mooring system is described. Usually vessels, ships and other floating devices are not held in position by a single line. The implementation can be generalized for multiple lines. Thus, the total effect of multiple lines will be the summation of each one of them separately acting on the same body. Forces cannot be aligned with the Cartesian axis as Fig. 4 shows. All the forces affecting a floating body must be referred to the Cartesian coordinate system to calculate the movement.
Fig. 4

Zenith view of a spread mooring system on a vessel

Since both link and anchor point are known, the direction of the moored lines and T\(_{Hi}\) projection are easy to find. Therefore, the forces in x and y axes can be written as \(F_{x}\) \(=\) \(T_{Hi}\) \(cos~\varPsi _{i}\) and \(F_{y}\) \(=\) \(T_{Hi}\) \(sin~ \varPsi _{i};\) these forces will be applied to the link point in the body. The floating body will move as the result of summation of buoyancy force, wave forces and the forces of all the moored lines. The force of the mooring lines must be properly applied to mimic the pulls and spins that the cables can cause.

3.2 Mooring classification

Normal conditions for moorings are already covered (panels b and c of Fig. 5) but there are two different states of the moored chain not covered yet. These two states are the resting chain, and the fully extended chain (panels a and d of Fig. 5).
Fig. 5

Different states of a moored line, a totally resting, b partially lifted, c totally lifted and d totally extended

In the non-extended case (panel a in Fig. 5), the horizontal force will be zero and the vertical force will be proportional to the mass of the chain hanging towards the sea bed.

The fourth case consists of the moored line totally extended (panel d of Fig. 5). The main force exerted by the chain is a reaction force; this force is equal to the main force of the floating object, but in the opposite direction. The reaction force will have the chain direction and the modulus of the projection in the direction of the chain. This force will prevent the body from going any further from the anchoring point but will not prevent spins and rotations around the anchoring point.

This is simple for only one moored line but for a set of moored lines in a totally extended disposition is not straight-forward. In order to solve properly this situation, the summation of the forces generated by all the fully extended moored lines must cancel the forces acting on the body. The projections and angles must be defined in the Cartesian coordinate system as can be seen in Fig. 6. A new set of equations must be solved:
$$\begin{aligned}&F_T =F_1 +F_2 +F_3 +F_4 \cdot \cdot \cdot \nonumber \\&F_{Tx} =F_T \cdot \cos \theta _T \cdot \cos \varphi _T \nonumber \\&F_{Ty} =F_T \cdot \cos \theta _T \cdot \sin \varphi _T \nonumber \\&F_{Tz} =F_T \cdot \sin \theta _T\nonumber \\&\mathrm{Force}\,\mathrm{for}\,i\,\mathrm{mooring} \left\{ \begin{array}{lll} F_{ix} &{}=&{}\displaystyle \frac{F_{Tx} \cdot \cos \varphi _i }{\mathop \sum \nolimits _j^{n} \cos \varphi _{j}} \\ F_{iy} &{}=&{}\displaystyle \frac{F_{Ty} \cdot \sin \varphi _i }{\mathop \sum \nolimits _j^{n} \sin \varphi _{j} } \\ F_{iz} &{}=&{}\displaystyle \frac{F_{Tz} \cdot \sin \theta _i }{\mathop \sum \nolimits _j^{n} \sin \theta _{j}} \end{array} \right. \end{aligned}$$
Fig. 6

Definition of angles and projections

where \(F_{T}\) is the total force, \(F_{Tx}, F_{Ty}, F_{Tz,}\) are the forces projections, \(\varphi \) and \(\theta \) are the angles with X-axis and XY plane, respectively, and \(F_{ix}, F_{iy},F_{iz}\) are the total forces in each direction for each i mooring.

Once solved, the formulation for the moored lines is complete and covers all the range of cases that can be found both in normal conditions and most extreme cases.

4 Model validation

4.1 Validation of floating bodies

Two validation cases are presented in this section to prove the correct behaviour of the floating objects.

In the first case the buoyancy-driven motion of a floating cylinder is validated. DualSPHysics simulates the 2-D system of a sinking cylinder with a \(r=1\) m radius and density \(\rho =1200\) kg m\(^{-3}\) that is half submerged. Figure 7 shows the case at different instants where the colour of the particles corresponds to the velocity magnitude.
Fig. 7

Different instants of the sinking cylinder

Fekken (2004) compared these results with those of a numerical model based on a volume of fluid (VOF) discretization technique. Figure 8 plots the vertical displacement and velocity of the cylinder. The SPH results are close to the VOF solution, particularly in the initial instants.
Fig. 8

Comparison of numerical data of Fekken (2004) and DualSPHysics results for displacement of the sinking cylinder (top panel) and vertical velocity (bottom panel)

More validations about buoyancy-driven motion are performed in Canelas et al. (2015), where the model is tested for solid objects larger than the smallest flow scales and with various densities. Simulations are compared with analytical solutions, other numerical methods (Fekken 2004) and experimental measurements.

The second validation studies a floating body under the action of wave packet. The floating body is a rectangular prism 10 cm long, 5 cm high and 29 cm wide, with density relative to water being 0.68 (680 kg m\(^{-3})\). The mass of the body is 0.986 kg in 3D, but the simulation is performed in 2D. The setup of the experiment is shown in Fig. 9. The experiment is fully described in Haădzić et al. (2005).
Fig. 9

Set-up of the experiment described in Haădzić et al. (2005)

The time history of the flap wavemaker angle used to generate the wave packet is plotted in the first row of Fig. 10. At the focusing point the wave packet is quite steep and has a height equal to the body. Then, a nonlinear behaviour is observed in both the resulting wave evolution and the body motion. During the experiments the wave elevation was recorded by two fixed probes; one before the location of the body (\(x=1.16\) m) and other after the body (\(x=2.66\) m) and the comparison with numerical results is also shown in Fig. 10, confirming the correct generation and propagation of the wave packet.
Fig. 10

Flap angles during the experiment and experimental and numerical time series of the free-surface elevation

Figure 11 presents the experimental time series of the floating body motions, heave and sway, compared with numerical results obtained with DualSPHysics, and a good agreement is also observed.
Fig. 11

Experimental and numerical time series of the floating body motions (heave and sway)

Table 1

Moored line configuration in Johanning et al. (2007)




2.651 m

\(\omega \)

1.036 N m\(^{-1}\)


6.98 m

Minimum extension

5.735 m

Maximum extension

6.367 m

Fig. 12

Experimental set up for one line mooring validation

Fig. 13

Comparison of experimental data, axial loading data and DualSPHysics results for horizontal tension

4.2 Validation of the mooring implementation

In this section three different validations are presented to verify the implementation carried out in DualSPHysics. These validations are taken from Johanning et al. (2006, (2007) and provide different scenarios, different scales and multiple line problems.

4.2.1 Validation of one-line problems

Experimental data from Johanning et al. (2007) are used to validate the one line case. This publication provides data for a single moored line in stationary conditions. The experimental set-up is described in Johanning et al. (2007) but the main parameters of the moored line are summarised in Table 1. The experiment consists of a body with a line attached. The body is moved to 16 different positions relative to the anchoring point in the x direction, all of them at water surface level, and a charge cell provides the value of the tension for the different positions. Figure 12 represents the experimental set-up; the mooring is anchored at \(x=0\) m and moved from the initial position at \(x=5.5\) m to \(x=6.4\) m.

In Fig. 13 the results of horizontal tension experimented by the mooring from Johanning et al. (2007) are compared with the tensions provided by DualSPHysics. The axial loading data come from other numerical model presented in Johanning et al. (2006).

Numerical results are in good agreement with experimental data. Small differences are observed and the point where the three lines begin to separate match with the point where the chain transitions from part resting in the bottom of the tank (panel b in Fig. 5) and totally lifted (panel c in Fig. 5). The divergence can be caused for two different reasons, the lack of the elasticity treatment in the Quasi-Static formulation and the algorithm used to obtain the solution since the equation for the tension (Eq. 39) has not a straightforward solution and numerical methods must be employed.
Table 2

Moored line configuration in Johanning et al. (2006)




50 m

\(\omega \)

918.75 N  m\(^{-1}\)


150 m

Minimum extension

102 m

Maximum extension

140 m

Fig. 14

Comparison of experimental data and DualSPHysics results for the horizontal tension of a moored line

Another single mooring line test validation was performed. The configuration of the moored line is presented in Johanning et al. (2006) and the line configuration is summarised in the Table 2. This new configuration has a completely different scale and this new scenario is closer to a real situation. The experimental set-up is similar to the one in Fig. 12; the only difference is the scale, and this time the anchor point is still at \(x=0\) m but the body is at \(x=103\) m and moved to \(x=138\) m.

Figure 14 shows the horizontal tension obtained with DualSPHysics and the experimental data and it can be observed how both data are in good agreement.

4.2.2 Validation of problems with two lines

The last case is used to validate the force exerted on a floating body by two mooring lines. The configuration of the chains, the set-up, and the reference data are taken from Johanning et al. (2006) and summarised in Table 3. Figure 15 represents the initial configuration (left panel) and the evolution of the experiment (right panel). One of the chain transitions forms a semi-extended position to a fully lifted position and the opposite chain increases its resting portion. The resting position of the object is at \(x=0\) m and chains are anchored at \(x=-55\) m and \(x=55\) m. These two chains have the same physical properties.
Table 3

Configuration of chains for two moored lines experiment




50 m


50 kN


75 m

Minimum extension from resting point

\(-15\) m

Maximum extension from resting point

15 m

Fig. 15

Case evolution for two mooring line validation

Fig. 16

Comparison of experimental data with numerical results from DualSPHysics; horizontal tension for Line A and B, and the resultant tension exerted on the body. DualSPHysics Merge represents the summation of the forces of both mooring lines acting on the floating body

Fig. 17

Setup of numerical tank and the wind turbine base

Fig. 18

Time series of the numerical motions (surge, sway and heave) and angles (roll, pitch and yaw) of the wind turbine base

Figure 16 compares experimental data with numerical results obtained by the Quasi-Static mooring approach that has been implemented in DualSPHysics. Results for validation are the horizontal tension for Line A and B and the resultant tension from both chains exerted on the body when it is moved from equilibrium position (towards the anchoring point of Line B). The \(x=0\) in Fig. 16 is referred to the resting position of the floating body. Once again, a good agreement with the data from Johanning et al. (2006) is achieved with the quasi-static approach implemented in DualSPHysics.

5 Application

A case of application of the new implementation in DualSPHysics is presented here; the case represents a base of an off-shore wind turbine. This floating object is secured to the bottom of the sea by 3 moored lines and exposed to the interaction with waves that force the moorings to work in extreme regimes. The main parameters of the three mooring lines are described in Table 4. The dimensions of the object (with a mass of 16,000 kg) and the numerical tank are shown in Fig. 17. Note that the anchoring points of the mooring are at outside the numerical domain to reduce the domain size. The movement of the wavemaker generates regular waves with height \(H=0.7\) m and period \(T=20\) s.
Table 4

Mooring parameters of the three lines simulating a wind turbine base




20 m

\(\omega \)

442 kg  m\(^{-1}\)

Break load

1400 kN


45 m

Submerged density

7850 kg m\(^{-3}\)

In order to analyse the behaviour of the mooring lines, some quantitative results are numerically computed. The numerical time histories of the motions of the floating structure are shown in Fig. 18. The surge and heave components present simple harmonic oscillations, while small sway motion in the lateral direction can be seen. This is thanks to the role of the catenary moorings that limit the displacement of the floating base. The device is always aligned with the direction of the incident waves (roll and yaw angles presents very low values). Therefore, the mooring lines work to keep the vertical position of the wind turbine base.

Different instants of the simulation can be observed in Fig. 19. Colour of the surface indicates the velocity field. It can be seen how the two front moored lines are totally extended at 71.10 and 81.10 s. This state matches panel d of Fig. 5. In this way, the summation of both front mooring forces cancel the wave drag.
Fig. 19

Different instants of an off-shore wind turbine base moored with three spread lines under the action of waves

6 Conclusions

New functionalities have been implemented in the SPH code DualSPHysics to simulate floating moored structures. The new implementation is able to reproduce the tension of the chain and the movement of floating bodies that are moored with different configurations. The approach covers all the possible states of a moored line, taking into account parameters such as relative position of anchoring and link points, moored line weight and shape of the catenary function.

The buoyancy of the floating bodies was first validated against numerical data from VOF showing a really good agreement. The interaction of non-linear waves with a floating body was also validated with experimental data. Then the mooring implementation was validated with experiments also including configurations with multiple lines. Numerical and experimental results were in good agreement.

A case of application was presented to prove that the proposed implementation is capable of dealing with interactions between extreme waves and moored floating structures and it can also reproduce a configuration with multiple mooring lines. The working case consists of a wind-turbine base with three moorings under the effect of extreme waves where the catenary moorings help to reduce the heave, surge and roll motion of the floating device. Hence, this new functionality extends the application range of the DualSPHysics code to a whole new set of scenarios.


  1. Amicarelli A, Albano R, Mirauda D, Agate G, Sole A, Guandalini R (2013) A smoothed particle hydrodynamics model for 3D solid body transport in free surface flows. In: Computers & fluids, vol 116, pp. 205–228, 15 August 2015Google Scholar
  2. Altomare A, Crespo AJC, Rogers BD, Domínguez JM, Gironella X, Gómez-Gesteira M (2014) Numerical modelling of armour block sea breakwater with smoothed particle hydrodynamics. Comput Struct 130:34–45. doi:10.1016/j.compstruc.2013.10.011 CrossRefGoogle Scholar
  3. Altomare C, Crespo AJC, Domínguez JM, Gómez-Gesteira M, Suzuki T, Verwaest T (2015) Applicability of smoothed particle hydrodynamics for estimation of sea wave impact on coastal structures. Coast Eng 96:1–12. doi:10.1016/j.coastaleng.2014.11.001 CrossRefGoogle Scholar
  4. Barreiro A, Crespo AJC, Domínguez JM, Gómez-Gesteira M (2013) Smoothed particle hydrodynamics for coastal engineering problems. Comput Struct 120(16):96–106. doi:10.1016/j.compstruc.2013.02.010 CrossRefGoogle Scholar
  5. Batchelor GK (1974) Introduction to fluid dynamics. Cambridge University Press, CambridgeGoogle Scholar
  6. Bouscasse B, Colagrossi A, Marrone S, Antuono M (2013) Nonlinear water wave interaction with floating bodies in SPH. J Fluids Struct 42(2013):112–129CrossRefGoogle Scholar
  7. Canelas RB, Domínguez JM, Crespo AJC, Gómez-Gesteira M, Ferreira RML (2015) A smooth particle hydrodynamics discretization for the modelling of free surface flows and rigid body dynamics. Int J Numer Meth Fl 78:581–593. doi:10.1002/fld.4031 MathSciNetCrossRefGoogle Scholar
  8. Colagrossi A, Landrini M (2003) Numerical simulation of interfacial flows by smoothed particle hydrodynamics. J Comput Phys 191:448–475CrossRefMATHGoogle Scholar
  9. Crespo AJC, Gómez-Gesteira M, Dalrymple RA (2007) Boundary conditions generated by dynamic particles in SPH methods. Cmc-Comput Mater Con 134:313–320MathSciNetMATHGoogle Scholar
  10. Crespo AJC, Dominguez JM, Barreiro A, Gómez-Gesteira M, Rogers BD (2011) GPUs, a new tool of acceleration in CFD: efficiency and reliability on smoothed particle hydrodynamics methods. Plos One 6(6):e20685. doi:10.1371/journal.pone.0020685 CrossRefGoogle Scholar
  11. Crespo AJC, Domínguez JM, Rogers BD, Gómez-Gesteira M, Longshaw S, Canelas R, Vacondio R, Barreiro A, García-Feal O (2015) DualSPHysics: open-source parallel CFD solver on smoothed particle hydrodynamics (SPH). Comput Phys Commun 187:204–216. doi:10.1016/j.cpc.2014.10.004 CrossRefGoogle Scholar
  12. Dalrymple RA, Knio O (2000) SPH modelling of water waves. Coast Dyn 01:779–787Google Scholar
  13. Dewey R (1999) Mooring desing & dynamics-a matlab package for designing and analyzing oceanographic Moorings. Marine Models 1(1999):103–157CrossRefGoogle Scholar
  14. Faltinsen OM (1993) Sea loads on ships and offshore structures. Cambridge University Press, Cambridge (1993)Google Scholar
  15. Fekken G (2004) Numerical simulation of free surface flow with moving rigid bodies. PhD Thesis. University of GroningenGoogle Scholar
  16. Ferri F, Palm J (2015) Implementation of a dynamic mooring solver (MOODY) into a wave to wire model of a simple WEC: deliverable D4.6. Department of Civil Engineering, Aalborg University. (DCE Technical Reports; No. 185), AalborgGoogle Scholar
  17. Geeraerts J, Kortenhaus A, Gonález-Escrivá JA, De Rouck J, Troch P (2009) Effects of new variables on the overtopping discharge at steep rubble mound breakwaters—the Zeebrugge case. Coast Eng 56:141–153. doi:10.1016/j.coastaleng.2008.03.013 CrossRefGoogle Scholar
  18. Gómez-Gesteira M, Dalrymple RA (2004) Using a 3D SPH method for wave impact on a tall structure. J Waterw Port C-ASCE 130(2):63–69CrossRefGoogle Scholar
  19. Gómez-Gesteira M, Rogers BD, Dalrymple RA, Crespo AJC (2010) State-of-the-art of classical SPH for free-surface flows. J Hydraul Res 48(Extra Issue):6–27Google Scholar
  20. Gómez-Gesteira M, Rogers BD, Crespo AJC, Dalrymple RA, Narayanaswamy M, Domínguez JM (2012) SPHysics—development of a free-surface fluid solver—part 1: theory and formulations. Comput Geosci 48:289–299. doi:10.1016/j.cageo.2012.02.029 CrossRefGoogle Scholar
  21. Gotoh H, Shibihara T, Hayashii M (2001) Subparticle-scale model for the MPS method-lagrangian flow model for hydraulic engineering. Comput Fluid Dyn J 9:339–347Google Scholar
  22. Gotoh H, Songdong S, Tetsu M (2004). SPH-LES model for numerical investigation of wave interaction with partially immersed breakwater. Coast. Eng. J. 46:39 (2004). doi:10.1142/S0578563404000872
  23. Haădzić I, Hennig J, Peric M, Xing-Kaeding Y (2005) Computation of flow-induced motion of floating bodies. Appl Math Modell 29:1196–1210CrossRefMATHGoogle Scholar
  24. Hall M, Goupee A (2015) Validation of a lumped-mass mooring line model with DeepCwind semisubmersible model test data. Ocean Eng 104:590–603. doi:10.1016/j.oceaneng.2015.05.035 CrossRefGoogle Scholar
  25. Higuera P, Lara JL, Losada IJ (2013) Simulating coastal engineering processes with OpenFOAM. Coast Eng 71:119–134. doi:10.1016/j.coastaleng.2012.06.002
  26. Johanning L, Smith GH, Wolfram J (2006) Mooring design approach for wave energy converters. Proceedings of the Institution of Mechanical Engineers, part M. J Eng Marit Environ 220(4):159–174Google Scholar
  27. Johanning L, Smith GH, Wolfram J (2007) Measurements of static and dynamic mooring line damping and their importance for floating WEC devices. Ocean Eng 34:1918–1934CrossRefGoogle Scholar
  28. Journee JMJ, Adegest LJM (2003) Theoretical manual of strip theory program “SEAWAY” for Windows Report 1370 Sept. 2003, Delft University of Technology. http://www.shipmotions.nl/DUT/PapersReport/1370-StripTheory-03.pdf
  29. Khayyer A, Gotoh H (2009) Modified moving particle semi-implicit methods for the prediction of 2D wave impact pressure. Coast Eng 56(4):419–440CrossRefGoogle Scholar
  30. Kleefsman KMT, Fekken G, Veldman AEP, Iwanowski B, Buchner B (2005) A volume-of-fluid based simulation method for wave impact problems. J Comput Phys 206(1):363–393MathSciNetCrossRefMATHGoogle Scholar
  31. Lo E, Shao S (2002) Simulation of near-shore solitary wave mechanics by an incompressible SPH method. Appl Ocean Res 24:275–286CrossRefGoogle Scholar
  32. Monaghan JJ (1992) Smoothed particle hydrodynamics. Annu Rev Astron Appl 30:543–574MathSciNetCrossRefGoogle Scholar
  33. Monaghan JJ (1994) Simulating free surface flows with SPH. J Comput Phys 110:399–406CrossRefMATHGoogle Scholar
  34. Monaghan JJ, Lattanzio JC (1985) A refined particle method for astrophysical problems. Astron Astrophys 149:135MATHGoogle Scholar
  35. Monaghan JJ, Kos A, Issa A (2003) Fluid motion generated by impact. J Waterw Port C-ASCE 129:250–259CrossRefGoogle Scholar
  36. Monaghan JJ (2005) Smoothed particle hydrodynamics. Rep Prog Phys 68:1703–1759MathSciNetCrossRefMATHGoogle Scholar
  37. Morris J, Fox P, Zhu Y (1997) Modeling low Reynolds number incompressible flows using SPH. J Comput Phys 136:214–226CrossRefMATHGoogle Scholar
  38. Oñate E, Celigueta MA, Idelsohn SR, Salzar F, Suarez B (2011) Possibilities of the particle finite element method for fluid–soil-structure interaction problems. Comput Mech 48(3):307–318MathSciNetCrossRefMATHGoogle Scholar
  39. Randolph M, Quiggin P (2009) Non-linear hysteretic seabed model for catenary pipeline contact. In: OMAEO Committee (ed) Proceedings of the ASME 2009 28th international conference on ocean, offshore and arctic engineering (OMAE2009), vol CD. ASME Press, Hawaii, pp OMAE2009-79259Google Scholar
  40. Sun P, Ming F, Zhang A (2015) Numerical simulation of interactions between free surface and rigid body using a robust SPH method. Ocean Eng 98:32-49. doi:10.1016/j.oceaneng.2015.01.019
  41. Vanneste D, Troch P (2012) Validation of a numerical model for wave interaction with a rubble-mound breakwater. In: 33rd international conference on coastal engineering, ASCEGoogle Scholar
  42. Violeau D (2012) Fluid mechanics and the SPH method: theory and applications (1\(^{st}\), ed edn. Oxford University Press, OxfordCrossRefMATHGoogle Scholar
  43. Wendland H (1995) Piecewise polynomial, positive definite and compactly supported radial functions of minimal degree. Adv Comput Math 4:389–396MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  1. 1.Environmental Physics LaboratoryUniversidade de VigoOurenseSpain
  2. 2.SENER, Structures and Mechanisms SectionGetxoSpain

Personalised recommendations