2.3.7. Body dynamics

2.3.7.1. Dynamic equations (small rotations)

Integrating the pressure over the bodies’ surface, the resulting forces and moments are obtained. On the other hand, the body dynamics is given by the equation of motion:

(2.581)\[\begin{aligned} & \overline{\overline{\boldsymbol{M}}} \boldsymbol{\ddot{X}} + \overline{\overline{\boldsymbol{K}}} \boldsymbol{X} = \boldsymbol{F} \end{aligned}\]

SeaFEM uses an implicit alpha modified Bossak-Newmark´s algorithm [2]:

(2.582)\[\begin{aligned} & \left( 1 - α \right) \boldsymbol{X}_{tt}^{n+1} + α \boldsymbol{X}_{tt}^n = \overline{\overline{\boldsymbol{M}}}^{-1} \left( \boldsymbol{F}^{n+1} - \overline{\overline{\boldsymbol{K}}} \boldsymbol{X}^{n+1} \right) \end{aligned}\]
(2.583)\[\begin{aligned} & \boldsymbol{X}_t^{n+1} = \boldsymbol{X}_t^n + ∆t \left[ \left(1-\Gamma \right)\boldsymbol{X}_{tt}^{n+1} + \Gamma \boldsymbol{X}_{tt}^n \right] \end{aligned}\]
(2.584)\[\begin{aligned} & \boldsymbol{X}^{n+1} = \boldsymbol{X}^n + ∆t \boldsymbol{X}_t^n + \frac{∆t^2}{2} \left[ \left(1-2β \right) \boldsymbol{X}_{tt}^{n+1} + 2β \boldsymbol{X}_{tt}^n \right] \end{aligned}\]

In the above integration algorithm, \(α\) is the parameter defining the numerical damping added in the integration. This damping creates a desirable stabilizing effect in the body dynamics integration. \(α\) is usually set to between \(0\) (no damping) and \(-0.1\). In SeaFEM, \(\Gamma ` and :math:`β\) are calculated as \(\Gamma = 0.5 - α\) and \(β = 0.5\Gamma + 0.025α\).

2.3.7.2. Dynamic equations (large rotations)

In case large rotations are expected, the Euler equations are used to integrate the body dynamics. Each body accelerations are solved respect to a local frame of reference attached to the gravity center of the body, and with axis parallel to the global frame of reference.

../../../_images/fig6.png

Fig. 2.21 Global and local frame of reference used in SeaFEM

The dynamic equations for each body are the Newton´s and Euler´s equations:

(2.585)\[\begin{aligned} & M_i \ddot{\boldsymbol{x}} = \boldsymbol{f}_i \end{aligned}\]
(2.586)\[\begin{aligned} & \overline{\overline{\boldsymbol{I}}}_i \ddot{\boldsymbol{r}}_i = \boldsymbol{m}_i - \dot{\boldsymbol{r}}_i ∧ \left( \overline{\overline{\boldsymbol{I}}}_i \cdot \dot{\boldsymbol{r}}_i \right) \end{aligned}\]

where \(\overline{\overline{\boldsymbol{I}}}_i ` is the instantaneous inertia tensor of body :math:`i\) respect to the local frame. The Euler equations are derived in a rotating reference frame fixed to the body, and therefore, the inertia has to be updated. It is important to remark that, in equation (7-6), \(\boldsymbol{F}\) and \(\boldsymbol{M}\) must be evaluated in the local reference frame.

2.3.7.4. Body dynamics iterative solver

The dynamic solver is implemented in SeaFEM by means of three nested loops. A relaxation algorithm based on the Aitken´s method [6] is used to speed up convergence within each loop.

2.3.7.4.1. Time marching loop

The time marching loop is the outer loop marching in time. Information from the previous time step is used as initial guests of the iterative procedure.

2.3.7.4.2. Solver loop

The solver loop is where the hydrodynamic loads are calculated. In each iteration within this loop, the linear system corresponding to the wave diffraction-radiation problem is to be solved. Iterations is carried out until convergence of hydrodynamic loads along with body kinematics is reached. Should non-linear mooring lines be defined, stiffness linearization will be carried out for each iteration, and the updated stiffness matrix will be passed on to the body dynamics loop.

2.3.7.4.3. Body dynamics loop

The body dynamics loop is the inner loop. Within this loop, wave diffraction and radiation loads remain unchanged, hydrostatic forces are updated based on body position, and the rest of loads will be updated in each iteration.

../../../_images/fig7.png

Fig. 2.22 Scheme of the dynamic integration solver of SeaFEM