Rigid body with three springs

This section provides model details for a rigid-body solver with three massless taut-line “mooring lines”, represented by geometrically nonlinear springs. The model configuration is appropriate for modeling the DeepCWind floating platform.

The generalized model degrees of freedom are

\[\begin{split}\underline{q} = \begin{bmatrix} \underline{u} \\ \underline{\underline{R}} \\ \underline{u}^\mathrm{sp1} \\ \underline{u}^\mathrm{sp2} \\ \underline{u}^\mathrm{sp3} \end{bmatrix} \quad \underline{v} = \begin{bmatrix} \dot{\underline{u}} \\ \underline{\omega} \\ \dot{\underline{u}}^\mathrm{sp1} \\ \dot{\underline{u}}^\mathrm{sp2} \\ \dot{\underline{u}}^\mathrm{sp3} \end{bmatrix}\end{split}\]

\(\underline{u} \in \mathbb{R}^3\) and \(\underline{\underline{R}} \in \mathbb{R}^{3\times 3}\) are rigid body displacement and orientation, respectively, \(\underline{u}^{\mathrm{sp}i} \in \mathbb{R}^6\) is spring i end displacement (2 nodes with 3 DOF each; see Geometrically nonlinear spring) and

\[\begin{split}\underline{u}^{\mathrm{sp}i} = \begin{bmatrix} \underline{u}^{\mathrm{sp}i}_1 \\ \underline{u}^{\mathrm{sp}i}_2 \end{bmatrix}\end{split}\]

The system input parameters include the following:

  • \(\underline{\underline{M}}^* \in \mathbb{R}^{6\times 6}\): Rigid body mass matrix in material coordinate system

  • \(\underline{x}^\mathrm{r} \in \mathbb{R}^3\): Rigid body reference position

  • \(\underline{\underline{R}}^\mathrm{r} \in \mathbb{R}^{3\times3}\): Rigid body reference orientation

  • \(\underline{u}^\mathrm{init} \in \mathbb{R}^3\): Rigid body initial displacement

  • \(\underline{\underline{R}}^\mathrm{init} \in \mathbb{R}^{3\times3}\): Rigid body initial orientation

  • \(\dot{\underline{u}}^\mathrm{init} \in \mathbb{R}^3\): Rigid body initial velocity

  • \(\underline{\omega}^\mathrm{init} \in \mathbb{R}^3\): Rigid body initial angular velocity

  • \(\underline{x}^{\mathrm{sp,r}i} \in \mathbb{R}^6\): Spring \(i\) reference location

  • \(k^{\mathrm{sp}i} \in \mathbb{R}\): Spring \(i\) spring constant

  • \(L^{\mathrm{sp,r}i} \in \mathbb{R}\): Spring \(i\) unstretched length

and where

\[\begin{split}\underline{x}^{\mathrm{sp,r}i} = \begin{bmatrix} \underline{x}^{\mathrm{sp,r}i}_1 \\ \underline{x}^{\mathrm{sp,r}i}_2 \end{bmatrix}\end{split}\]

The constraints for each spring can be written

\[\begin{split}\begin{aligned} \underline{u}_1^{\mathrm{sp}i} &= \underline{u} + \underline{\underline{R}} \underline{r}^{\mathrm{sp,r}i}_1 - \underline{r}^{\mathrm{sp,r}i} = \underline{u} + \left(\underline{\underline{R}}-\underline{\underline{I}}\right) \underline{r}^{\mathrm{sp,r}i}_1 \\ \underline{u}_2^{\mathrm{sp}i} &= 0 \end{aligned}\end{split}\]

where \(\underline{r}^{\mathrm{sp,r}i}_1 = \underline{x}^{\mathrm{sp,r}i}_1 - \underline{x}^\mathrm{r}\).

The full-system residual required for time integration can be written as follows (see Eq. (1)):

\[\begin{split}\underline{R} = \begin{bmatrix} \underline{\underline{M}}\, \dot{\underline{v}} +\underline{g} - \underline{f} + \underline{\underline{B}}^T\underline{\lambda} \\ \underline{\Phi} \end{bmatrix} \in \mathbb{R}^{42}\end{split}\]

where \(\underline{\lambda} \in \mathbb{R}^{18}\), \(\underline{\underline{B}} \in \mathbb{R}^{18 \times 24}\)

\[\begin{split}\underline{\underline{M}} = \begin{bmatrix} \underline{\underline{M}}^\mathrm{rb} & \underline{\underline{0}}_{6\times 18}\\ \underline{\underline{0}}_{18\times 6} & \underline{\underline{0}}_{18\times 18} \end{bmatrix} \in \mathbb{R}^{24\times 24} \,,\quad \underline{g} = \begin{bmatrix} \underline{g}^\mathrm{rb} \\ \underline{g}^\mathrm{sp1} \\ \underline{g}^\mathrm{sp2} \\ \underline{g}^\mathrm{sp3} \end{bmatrix} \in \mathbb{R}^{24} \,,\quad \underline{f} = \begin{bmatrix} \underline{f}^\mathrm{rb}\\ \underline{0}_{18}\\ \end{bmatrix} \in \mathbb{R}^{24}\end{split}\]

In the above, \(\underline{\underline{M}}^\mathrm{rb} \in \mathbb{R}^{6 \times 6}\) and \(\underline{g}^\mathrm{rb}\in \mathbb{R}^6\) are defined in Rigid body, \(\underline{f}^\mathrm{rb}\in \mathbb{R}^6\) is the force applied to the rigid-body center of mass, and \(\underline{g}^{\mathrm{sp}i}\in\mathbb{R}^6\) is defined in Geometrically nonlinear spring. The constraints are given by

\[\begin{split}\underline{\Phi} = \begin{bmatrix} \underline{u}_1^{\mathrm{sp}1} - \underline{u} - \left(\underline{\underline{R}}-\underline{\underline{I}} \right) \underline{r}^{\mathrm{sp,r}1} \\ \underline{u}_2^{\mathrm{sp}1} \\ \underline{u}_1^{\mathrm{sp}2} - \underline{u} - \left(\underline{\underline{R}}-\underline{\underline{I}} \right) \underline{r}^{\mathrm{sp,r}2} \\ \underline{u}_2^{\mathrm{sp}2} \\ \underline{u}_1^{\mathrm{sp}3} - \underline{u} - \left(\underline{\underline{R}}-\underline{\underline{I}} \right) \underline{r}^{\mathrm{sp,r}3} \\ \underline{u}_2^{\mathrm{sp}3} \\ \end{bmatrix} \quad \in \mathbb{R}^{18}\end{split}\]

The specific entries of \(\underline{\underline{B}}\) are given by

\[\begin{split}\begin{aligned} \underline{\underline{B}} = \begin{bmatrix} -\underline{\underline{I}}_{3 \times 3} & \widetilde{ \underline{\underline{R}} \underline{r}_1^{\mathrm{sp,r}1} } & \underline{\underline{I}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} \\ % \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{I}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} \\ % -\underline{\underline{I}}_{3 \times 3} & \widetilde{ \underline{\underline{R}} \underline{r}_1^{\mathrm{sp,r}2} } & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{I}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} \\ % \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{I}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} \\ % -\underline{\underline{I}}_{3 \times 3} & \widetilde{ \underline{\underline{R}} \underline{r}_1^{\mathrm{sp,r}3} } & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{I}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3}\\ % \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{I}}_{3 \times 3} \\ \end{bmatrix} \end{aligned}\end{split}\]

The full matrices \(\underline{\underline{C}}\), \(\underline{\underline{K}}\), and \(\underline{\underline{K}}^\Phi\) for the iteration matrix Eq. (4) in Time integration: Generalized-Alpha are given by

\[\begin{split}\underline{\underline{C}} = \begin{bmatrix} \underline{\underline{C}}^\mathrm{rb} & \underline{\underline{0}}_{6 \times 18}\\ \underline{\underline{0}}_{18 \times 6} & \underline{\underline{0}}_{18 \times 18} \end{bmatrix} \in \mathbb{R}^{24 \times 24}\end{split}\]
\[\begin{split}\underline{\underline{K}} = \begin{bmatrix} \underline{\underline{K}}^\mathrm{rb} & \underline{\underline{0}}_{6 \times 6} & \underline{\underline{0}}_{6 \times 6} & \underline{\underline{0}}_{6 \times 6}\\ \underline{\underline{0}}_{6 \times 6} & \underline{\underline{K}}^\mathrm{sp1} & \underline{\underline{0}}_{6 \times 6} & \underline{\underline{0}}_{6 \times 6}\\ \underline{\underline{0}}_{6 \times 6} & \underline{\underline{0}}_{6 \times 6} & \underline{\underline{K}}^\mathrm{sp2} & \underline{\underline{0}}_{6 \times 12}\\ \underline{\underline{0}}_{6 \times 6} & \underline{\underline{0}}_{6 \times 6} & \underline{\underline{0}}_{6 \times 6} & \underline{\underline{K}}^\mathrm{sp3} \end{bmatrix} \in \mathbb{R}^{24 \times 24}\end{split}\]
\[\begin{split}\underline{\underline{K}}^\Phi = \begin{bmatrix} \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 3} & \underline{\underline{0}}_{3 \times 18} \\ \underline{\underline{0}}_{3 \times 3} & \left( \widetilde{\lambda}_2 \widetilde{ \underline{\underline{R}} \underline{r}_1^{\mathrm{sp,r1}}} + \widetilde{\lambda}_4 \widetilde{ \underline{\underline{R}} \underline{r}_1^{\mathrm{sp,r2}}} + \widetilde{\lambda}_6 \widetilde{ \underline{\underline{R}} \underline{r}_1^{\mathrm{sp,r3}}}\right) & \underline{\underline{0}}_{3 \times 18} \\ \underline{\underline{0}}_{18 \times 3} & \underline{\underline{0}}_{18 \times 3} & \underline{\underline{0}}_{18 \times 18} \end{bmatrix} \in \mathbb{R}^{24 \times 24}\end{split}\]