1 Introduction

The segment method is, in addition to the yet more popular finite element method, one of the discretisation methods for continuous systems used very widely in modelling systems with slender links. Initially, the segment method (SM) was developed by Huston and co-authors for modelling lines and cables and for analysing large deflections of slender links. Winget and Huston in [1] present a nonlinear, spatial model of a cable or chain, in which the continuous system is replaced by a series of links connected to each other by ball-and-socket joints. Closed kinematic sub-chains are left out of consideration. The position of each link is defined in relation to the preceding link. Hydrodynamic forces are included in the equations of motion. The calculations are carried out for a rotary crane with a payload hanging on a cable partly submerged in water. The extension of the method to systems with tree-like structures, still without closed sub-chains, is presented in [2]. In addition to relative angles, Euler parameters with relative angular velocities are also introduced for the description of system kinematics. The equations of motion are developed on the basis of the Lagrange form of d’Alembert’s principle. The method in these formulations does not account for the flexibility of cables. Flexibility of the system is taken into account in [3] by introducing three rotational and three translational springs at the connection point between the segments. The author considers small relative displacements which enable the interacting forces in the connection between two segments to be replaced by one force and one torque.

Paper [4] presents the generalisation and recapitulation of the results presented in [1,2,3], namely calculation of stiffness coefficients of rotary springs as well as derivation of the equations of motion, while the continuity of displacements is ensured. An extensive reference list (158 items) concerned with modelling of rigid and flexible multibody systems is included; however, no calculation example, as in [2, 3], is given.

The validation of the elaborated models is presented in [5] by using as an example a multilink pendulum with a lumped mass at its end. The authors compare their own results with an analytical solution for vibrations with small amplitudes and frequencies of free vibrations. In addition, results are compared with experimental measurements and with SEADYN computer simulation for the displacements of the end of the cable with a spherical body attached and submerged in water. All examples deal with planar models.

A computer program based on the formulations of the segment method was developed for spatial dynamic analysis of bodies and towing or hoisting cables partially or fully submerged in water [1,2,3,4,5].

Analysis of the influence of the water environment with special attention to hydrodynamic forces such as buoyancy, inertial forces and drag forces is discussed in [6]. Two cases are considered: buoy release and anchor drop. The discussion is limited to planar cases.

The application of the segment method to modelling of flexible systems is presented in [7, 8]. The first paper is concerned with theoretical aspects of the method and introduces springs connecting the segments together with a description of stiffness coefficient calculations. The second presents numerical examples and describes planar dynamics of a clamped and rotating beam. A large difference between the results obtained with those obtained using FEM can be seen; for the rotating beam, the differences are about 14%.

Problems connected with winding and unwinding cables with variable lengths are analysed in [9, 10]. Pay-out/reel-in phenomena occurring in many offshore systems are a difficult problem because they require changeable mass and length of segments to be taken into account. In order to eliminate problems with calculation of moments of inertia of the segments with varied lengths, the authors apply the lumped mass method and consider the motion of a cable towed by a vessel. Amirouch [11] describes a procedure for creating a structural matrix of connections of bodies in a tree-like structure when the segment method for dynamic analysis of systems undergoing large base motion is applied. The author uses Kane’s equations presented by Huston and others and describes the advantages of the method for computer implementation especially when the equations of motion are formulated for flexible systems with small relative deflections, yet no numerical examples are presented.

The segment method, due to its simple physical interpretation and easy computer implementation, has also been applied in modelling beams [12, 13], cranes [14], robot manipulators [15], railroad track structures [16, 17] and compliant mechanisms [18]. A variant of the SM called the flexible segment method (FSM) is presented in [19], and its application to dynamic analysis of risers is described in [20, 21].

It is important to note that also a different definition of cables is presented in the literature. Huston and co-authors in papers [1,2,3,4,5,6,7,8,9,10] treat cables as elements with bending and torsional flexibility. Shear and longitudinal flexibility are very rarely considered. A different definition of cables is used in the review paper [22], where cables are treated as elements consisting of helically twisted strands around the core wire. Cables considered in [22] are categorised according to their geometry, the method of considering friction among the wires and the way of formulating equilibrium equations. Three basic groups of models are distinguished. The first group consists of thin-rod models, initially without bending and torsional flexibilities [23, 24], which finally have been included [25, 26] by modelling individual wires as thin rods. Semi-continuous models [27,28,29], in which each layer of a twisted wire is modelled as an orthotropic cylinder, form the second group of models. The third includes beam models [30,31,32], in which solid beam theory is used in order to formulate the equilibrium equations. A review of research concerned with this subject can be found in [33, 34]. Large deflections of cables are considered in [35, 36]. The formulations of the segment method presented in our paper are closest to the third group of models discussed in [22].

Along with the development of the finite segment method, the rigid finite element method (RFEM) similar in approach has been developed in Poland [37, 38]. In both methods (SM and RFEM), a continuous system is replaced by a discrete system of rigid bodies, yet the methods differ above all in their origin and formalism. According to [1, 2], the segment method was initially used for analysis of large deflections of cables and ropes without analysis of flexibility effects. By contrast, the rigid finite element method from the very beginning was formulated for flexible systems with spring–damping elements, although the first research was concerned with small vibrations about the static equilibrium. The classical formulation assumes that each rigid element has six degrees of freedom described by absolute displacements (translational and rotational). The rigid elements are connected by means of three translational springs (limiting longitudinal and transverse displacements) and three rotational springs (limiting relative rotations). Thus, unlike in SM, RFEM does not ensure the continuity of displacements.

Large base motion is introduced in [39, 40] but only for planar systems, while the respective formulation for spatial systems is presented in [41,42,43,44,45]. The formulations described in these papers as well as in [46] also include a modification of the method which ensures the continuity of displacements. This modification can be considered as another formulation of the segment method different in formalism from that presented by Huston and his co-workers, since it uses Lagrange equations of the second order and homogenous transformations.

The rigid finite element method and its modified formulations are applied to dynamic analysis of a wide range of machines and mechanisms including manipulators [41, 42, 45, 47], beams [43, 44], cranes [48, 49], vehicles [50] and band saws [51].

RFEM formulated in joint coordinates is also applied by Szczotka [52,53,54,55] for dynamic analysis of offshore pipeline installations with special emphasis on the following installation techniques: S-lay, J-lay and reel lay.

Modification of the RFEM formulated in absolute coordinates, which takes into account, apart from bending and torsional flexibilities (like SM), also longitudinal flexibility, is applied to analysis of forced vibrations of risers in [56,57,58,59,60]. Paper [61] presents applications of the method to dynamic analysis of risers and a rotating flexible beam.

3D formulation of the segment method in joint coordinates, with consideration of bending flexibility when torsion is omitted, is presented in [62]. Numerical effectiveness of this formalism enabled the method to be applied to the solution of a dynamic optimisation problem of stabilisation of forces in the connection of a riser with a wellhead.

This paper discusses two formulations of the segment method which differ in the choice of generalised coordinates. The first formulation applies absolute coordinates, which means that the motion of each segment is described by means of six generalised coordinates: three translational and three rotational displacements. ZYX Euler angles are used in order to describe the geometry of the system. The second formulation uses joint coordinates; the motion of a segment is defined by three rotation angles about axes of the inertial system and by coordinates of the origin of the local coordinate system. The approach presented in the paper, in comparison with earlier research devoted to the segment method, involves the following new components:

  • Both formulations of the SM consistently use ZYX Euler angles measured in the global coordinate system. Formulations presented by other authors usually use relative angles defining the deflections with respect to the preceding segment.

  • The equations of motion are derived from the Lagrange equations of the second order. The kinetic energy of the flexible link when absolute coordinates are used is formulated by homogenous transformations, similarly to the RFEM [46].

  • The formulation of an original method for calculating moments in the connection of segments reflecting bending and torsion differs from previously published approaches. A special expression for the potential energy of deformation of rotary springs is formulated, which enables mutual interaction of torsion and bending to be considered. The presented formulation enables static and dynamic analysis to be carried out when large differences between the angles of segments occur. It should also be noted that the formulae defining bending and torsional moments are identical for both joint and absolute coordinates.

  • Formulae for consideration of the influence of the sea environment based on Morison equations are given in a compact form for both formulations of SM.

  • An algorithm enabling consideration of the influence of internal fluid flow on equations of motion and vibration of a riser is developed. Because of the step change of inclination angles of segments with respect to local or global reference systems (lack of continuity of the angles’ first derivative), special approximation curves are proposed in order to define the curvature of the riser.

The paper presents validation of the proposed model by means of the comparison of the authors’ own results with those presented by other researchers or obtained from professional FEM software packages for free and forced vibrations of cables and risers.

Moreover, the numerical effectiveness of both formulations of the segment method in riser modelling is compared, and conclusions are formulated.

2 Segment method—geometry of the system

The main idea of the segment method consists in replacing the continuous system with a finite number of rigid bodies—segments connected by means of rotary joints. Mass (inertial) features of the discretised link are assumed by rigid segments, while spring–damping elements are responsible for flexibility and damping. Depending on how the position of a chosen segment is described and thus on the choice of the generalised coordinates, two approaches to the description of the motion of the segment can be distinguished: based on absolute or joint coordinates.

Let us consider a homogenous beam-like link (Fig. 1). Discretisation of the link is carried out, as in the rigid finite element method [46], in two steps. First the link is divided into n elements with equal length \(\Delta \) (Fig. 1a)—points \(B_0 -B_n \), and then, massless and non-dimensional spring–damping elements (sdes) are placed in the middle of the segments—points \(A_{i}\), \(i=1,{\ldots },n\). As a result, a system of \(n+1\) segments (rfe 0 to rfe n) connected by means of n sdes (numbered from 1 to n) is obtained.

Fig. 1
figure 1

Discretisation of the rigid link into segments a primary division b secondary division

A local coordinate system is assigned to each segment, and its origin (Fig. 2) is placed in the preceding sde and treated as a ball-and-socket joint enabling three rotations.

Fig. 2
figure 2

Local coordinate system assigned to segment i

The orientation of the local coordinate system \({x}_{i}^{\prime } {y}_{i}^{\prime } {z}_{i}^{\prime } \) with respect to the system \({x}^{\prime }{y}^{\prime }{z}^{\prime }\), whose axes are parallel to the axes of the inertial system, is defined by means of ZYX Euler angles (Fig. 3).

Fig. 3
figure 3

ZYX Euler angles

The angles \(\psi _i =\varphi _{i,3},\theta _i =\varphi _{i,2},\gamma _i =\varphi _{i,1} \) called yaw, pitch and roll [63] describe rotations of the i-th segment about axes of system \({x}^{\prime }{y}^{\prime }{z}^{\prime }\) as follows. The segment i rotates by the angle \(\psi _i \) about the axis \({z}^{\prime }\), and thus, the system assigned to the segment assumes the position \({x^{\prime \prime }}{y}^{\prime \prime }{z}^{\prime }\). Such a system is rotated about the axis \({y}^{\prime \prime }\) by the angle \(\theta _i \) assuming the position \({x}^{\prime \prime \prime }{y}^{\prime \prime }{z}^{\prime \prime \prime }\). The last rotation by the angle \(\gamma _i \) about the axis \({x}^{\prime \prime \prime }={x}_{i}^{\prime }\) leads to the system associated with segment i with axes \({x}_i^{\prime } {y}_i^{\prime } {z}_i^{\prime }\). The position of the beginning of the segment, according to the choice of the generalised coordinates, is defined either by the coordinates \(x_i,y_i,z_i\) of the origin of the system \({x}_i^{\prime } {y}_i^{\prime } {z}_i^{\prime } \) with respect to the global coordinate system (for absolute coordinates), or depends on coordinates of the preceding segments when joint coordinates are chosen. Continuity of displacements at connecting points of the segments is required, and thus, when absolute coordinates are used, reactions in these connections are externalised and respective constraint equations are formulated. This is unnecessary when joint coordinates are used.

2.1 Absolute coordinates

In this case, the generalised coordinates of the i-th segment are the components of a vector with six elements:

(1)

where \(\mathbf{r}_i =\left[ {{\begin{array}{l} {x_i } \\ {y_i } \\ {z_i } \\ \end{array} }} \right] \) are the coordinates of point \(A_i \) with respect to the global coordinate system, \({\varvec{\upvarphi }}_i =\left[ {{\begin{array}{l} {\gamma _i } \\ {\theta _i } \\ {\psi _i } \\ \end{array} }} \right] =\left[ {{\begin{array}{l} {\varphi _{i,1} } \\ {\varphi _{i,2} } \\ {\varphi _{i,3} } \\ \end{array} }} \right] \) are the Euler angles about axes parallel to the axes of the global system.

The vector of generalised coordinates of the flexible link consists of \(N_A =6({n+1})\) components and takes the following form:

$$\begin{aligned} \mathbf{q}_A =\left[ \mathbf{q}_{A,0}^T \quad \ldots \quad {\mathbf{q}_{A,i}^T }\quad \ldots \quad \mathbf{q}_{A,n}^T \right] ^{T}. \end{aligned}$$
(2)

Transformation of coordinates from the local system \(\left\{ i \right\} ^{\prime }\) to the global system is carried out as follows:

$$\begin{aligned} \mathbf{r}=\mathbf{r}_i +\mathbf{R}_i \mathbf{r}^{{\prime }}, \end{aligned}$$
(3)

where \(\mathbf{r}\) is the vector of coordinates of a chosen point of segment i in the global system { }, \(\mathbf{r}^{\prime }\) is the coordinate vector of this point with respect to the local coordinate system \(\{i\}'\)\(\mathbf {R}_i=\mathbf {R}_i^{(3)}\mathbf {R}_i^{(2)}\mathbf {R}_i^{(1)}\) is the rotation matrix, \(\mathbf {R}_i^{(3)} =\left[ \begin{array}{lll} {c\varphi _{i,3}}&{}\quad {-s\varphi _{i,3} }&{}\quad 0\\ {s\varphi _{i,3} }&{}\quad {c\varphi _{i,3} }&{}\quad 0 \\ 0&{}\quad 0&{}\quad 1 \\ \end{array} \right] ,\mathbf {R}_i^{(2)} =\left[ \begin{array}{lll} {c\varphi _{i,2} }&{}\quad 0&{}\quad {s\varphi _{i,2} } \\ 0&{}\quad 1&{}\quad 0 \\ {-s\varphi _{i,2} }&{}\quad 0&{}\quad {c\varphi _{i,2} } \\ \end{array} \right] ,\)\(\mathbf {R}_i^{(1)} =\left[ \begin{array}{lll} 1&{}\quad 0&{}\quad 0 \\ 0&{}\quad {c\varphi _{i,1} }&{}\quad {-s\varphi _{i,1} } \\ 0&{}\quad {s\varphi _{i,1} }&{}\quad {c\varphi _{i,1} } \\ \end{array} \right] \), \(c\varphi _{i,j} ={\cos }\varphi _{i,j}, s\varphi _{i,j} ={\sin }\varphi _{i,j}\) for \(j=1,2,3\).

When using homogenous transformations, formula (3) can be written in compact form as

$$\begin{aligned} {\bar{\mathbf{r}}} =\mathbf{B}_i {\bar{\mathbf{r}}}^{{\prime }}, \end{aligned}$$
(4)

where \({\bar{\mathbf{r}}}=\left[ {{\begin{array}{l} \mathbf{r} \\ 1 \\ \end{array} }} \right] \), \({\bar{\mathbf{r}}}^{\prime }=\left[ {{\begin{array}{l} {\mathbf{r}^{\prime }} \\ 1 \\ \end{array} }} \right] \), \(\mathbf{B}_i =\left[ {{\begin{array}{ll} {\mathbf{R}_i }&{}\quad {\mathbf{r}_i } \\ 0&{}\quad 1 \\ \end{array} }} \right] \).

2.2 Joint coordinates

Vectors of the generalised coordinates of segments take the following form:

$$\begin{aligned} \mathbf{q}_{J,i} ={\varvec{\upvarphi }}_i, \end{aligned}$$
(5)

where \({\varvec{\upvarphi }}_i \) is defined in (1) and the vector of generalised coordinates of the whole link has \(N_J =3+3({n+1})\) components:

$$\begin{aligned} \mathbf{q}_J =\left[ {\mathbf{r}_0^T }\quad {\mathbf{q}_{J,0}^T } \quad \ldots \quad \quad {\mathbf{q}_{J,i}^T }\quad \ldots \quad {\mathbf{q}_{J,n}^T } \right] ^{T}, \end{aligned}$$
(6)

where \(\mathbf{r}_0 =\left[ {x_0 }\quad {y_0 }\quad {z_0 } \right] ^\mathrm{T}\) are the coordinates of point \(A_0\) with respect to the system { } (Fig. 4).

Fig. 4
figure 4

Flexible link as a system of \(n+1\) rfes and n sdes

The coordinates \(\mathbf{r}_i \) of point \(A_i \) can be calculated from the relation

$$\begin{aligned} \mathbf{r}_i =\mathbf{r}_0 +\mathop \sum \limits _{j=0}^{i-1} \mathbf{R}_j \left[ {{\begin{array}{l} {l_j } \\ 0 \\ 0 \\ \end{array} }} \right] =\mathbf{r}_0 +\mathop \sum \limits _{j=0}^{i-1} l_j {\varvec{\upphi }} _j, \end{aligned}$$
(7)

and the vector \({\varvec{\upphi }}_j =\left[ {{\begin{array}{l} {c\varphi _{j,2} c\varphi _{j,3} } \\ {c\varphi _{j,2} s\varphi _{j,3} } \\ {-s\varphi _{j,2} } \\ \end{array} }} \right] \) is the first column of the matrix \(\mathbf{R}_i \).

Having taken into account these relations in formula (3), the following formula for transformation of coordinates, when joint coordinates are used, is obtained:

$$\begin{aligned} \mathbf{r}=\mathbf{r}_0 +\mathop \sum \limits _{j=0}^{i-1} l_j {\varvec{\upphi }}_j +\mathbf{R}_i \mathbf{{r}'}, \end{aligned}$$
(8)

It can be easily seen that the number of generalised coordinates for absolute coordinates is almost twice the number of coordinates when joint coordinates are used (\(N_A =2N_J -6)\). However, the transformation of coordinates from system \(\{i\}^{{\prime }}\) to system { } can be simply carried out for absolute coordinates (formula (4)—one multiplication of a matrix by a vector), while in the case of joint coordinates it is more complex (formula (8)).

3 Lagrange operators, kinetic energy

The equations of motion are derived from the Lagrange equations of the second order in the form

$$\begin{aligned} \varepsilon _j (T)+\frac{\partial V}{\partial q_j }+\frac{\partial {D}}{\partial {\dot{q}}_j}=Q_{j},\quad j=1,\ldots ,N, \end{aligned}$$
(9)

where \(\varepsilon _j (T)=\frac{\hbox {d}}{\hbox {d}t}\frac{\partial T}{\partial {q}_j}\) is the Lagrange operator, T is the kinetic energy of the link, V is the potential energy of the link, D is the function describing dissipation of energy (damping), \(q_j,\dot{q}_j\) are generalised coordinates and velocities, respectively, \(Q_j\) are generalised forces, and N is the number of generalised coordinates.

In order to formulate the equations of motion, the kinetic and potential energies of the flexible link have to be defined, the dissipation function when damping is considered has to be formulated, and generalised forces resulting from gravity and external forces together with those reflecting the sea environment when the link is fully or partially submerged in the sea have to be introduced.

Due to the different way of defining the position of a chosen point according to the choice of the generalised coordinates, the kinetic energy and thus the Lagrange operators are defined differently. The kinetic energy of segment i can be presented in one of two equivalent forms:

$$\begin{aligned} T_i= & {} \int \limits _{m_i} {\dot{\mathbf{r}}}^{T}{\dot{\mathbf{r}}}\hbox {d}m, \end{aligned}$$
(10a)
$$\begin{aligned} T_i= & {} \int \limits _{m_i } \hbox {tr}\left\{ {{\dot{\bar{\mathbf{r}}}} {\dot{\bar{\mathbf{r}}}}^{T}} \right\} \hbox {d}m, \end{aligned}$$
(10b)

where \(\hbox {tr}(\mathbf{A})\) means the trace of matrix \(\mathbf{A}\), \({\dot{\mathbf{r}}}=\frac{d\mathrm{r}}{dt}'\), \({\dot{\bar{\mathbf{r}}}}= \frac{d {\bar{\mathbf{r}}}}{dt}'\), \(m_i \) is the mass of i-th element.

Form (10a) will be used when the kinetic energy is calculated in joint coordinates and (10b) when absolute coordinates are used.

Thus, the respective transformations are presented separately for each type of generalised coordinates.

When calculating the kinetic energy from formulae (10), not only the mass of segment i but also added mass and mass of the internal fluid can be taken into account by introducing the following substitute linear density:

$$\begin{aligned} {\bar{\rho }}=\rho _r A_r +\rho _f A_\mathrm{inn} +\rho _w \left( {1-c_M } \right) A_\mathrm{out} \end{aligned}$$
(11)

where \(A_r =A_\mathrm{out} -A_\mathrm{inn} \), \(A_\mathrm{inn},A_\mathrm{out}\) are cross-sectional areas of the inner and outer riser, respectively, \(\rho _r,\rho _f,\rho _w \) are material density of the riser, internal fluid and water, respectively, \(c_M\) is a coefficient.

3.1 Absolute coordinates

Having carried out transformations described in [46], the kinetic energy of the i-th segment can be written in the form

$$\begin{aligned} T_{i} = \frac{1}{2}{\text {tr}}\left\{ {{\dot{\mathbf {B}}}_{i} {\mathbf {H}}_{i} {\dot{\mathbf {B}}}_{i}^{T} } \right\} , \end{aligned}$$
(12)

where \({\dot{\mathbf{B}}}=\frac{d\mathrm{B}_{i}}{dt}\), \(\mathbf{H}_i \) is the pseudo-inertial matrix of segment i,

$$\begin{aligned} {\mathbf {H}}_{i} = \left[ {\begin{array}{*{20}c} {{\mathbf {J}}_{i} } &{}{}\quad {{\mathbf {S}}_{i} } \\ {{\mathbf {S}}_{i}^{T} } &{}{}\quad {m_{i} ~} \\ \end{array} } \right] ,\quad {\mathbf {J}}_{i} = \left[ {\begin{array}{lll} {\displaystyle \int \limits _{{m_{i} }} x^{{{{'}}2}} \text{ d }m} &{}{}\quad {\displaystyle \int \limits _{{m_{i} }} x^{\prime }y^{\prime }\text{ d }m} &{}{}\quad {\displaystyle \int \limits _{{~m_{i} }} x^{\prime }z^{\prime }\text{ d }m} \\ {} &{}{}\quad {\displaystyle \int \limits _{{m_{i} }} y^{{{{'}}2}} \text{ d }m} &{}{}\quad {\displaystyle \int \limits _{{m_{i} }} y^{\prime }z^{\prime }\text{ d }m} \\ {{\text{ SYM }}.} &{}{}\quad {} &{}{} {\displaystyle \int \limits _{{m_{i} }} z^{{{{'}}2}} \text{ d }m} \\ \end{array} } \right] ,\quad {\mathbf {S}}_{i} = \left[ {\begin{array}{l} {\displaystyle \int \limits _{{~m_{i} }} x^{\prime }\text{ d }m} \\ {\displaystyle \int \limits _{{m_{i} }} y^{\prime }\text{ d }m} \\ {\displaystyle \int \limits _{{~m_{i} }} z^{\prime }\text{ d }m} \\ \end{array} } \right] . \end{aligned}$$

The integrals occurring in the above formulae can account not only for the mass of the riser but also for internal fluid and the added mass of water as in (11). When the procedure from [46] is applied, and bearing in mind that the matrices \({\dot{\mathbf{B}_i}}\) depend on the vectors \(\mathbf{q}_{A,i} \) and \({\dot{\mathbf{q}}}_{A,i}\), the Lagrange operator can be written in the following matrix form:

$$\begin{aligned} {{\varvec{\varepsilon }}}_{{{\mathbf {q}}_{{A,i}} }} \left( {T_{i} } \right) = \frac{\hbox {d}}{{\hbox {d}t}}\frac{{\partial T_{i} }}{{\partial {\dot{\mathbf {q}}}_{{A,i}} }} - \frac{{\partial T_{i} }}{{\partial {\mathbf {q}}_{{A,i}} }} = {\mathbf {A}}_{i} {\ddot{\mathbf {q}}}_{{A,i}} + {\mathbf {h}}_{{A,i}}, \end{aligned}$$
(13)

where \(\mathbf{A}_i =\left( {a_{i,k,j} } \right) _{k,j=1,\ldots ,6} \), \(a_{i,k,j} =\hbox {tr}\left\{ {\mathbf{B}_{i,k} \mathbf{H}_i \mathbf{B}_{i,j} ^{T}} \right\} \),

$$\begin{aligned} {\mathbf {h}}_{{A,i}} = \left( {h_{{A,i,k}} } \right) _{{k = 1, \ldots ,6}},h_{{A,i,k}} = \mathop \sum \limits _{{j = 1}}^{6} \mathop \sum \limits _{{l = 1}}^{6} b_{{i,k,j,l}} \dot{q}_{{i,j}} \dot{q}_{{i,l}},~b_{{i,k,j,l}} = {\text {tr}}\left\{ {{\mathbf {B}}_{{i,k}} {\mathbf {H}}_{i} {\mathbf {B}}_{{i,j,l}} ^{T} } \right\} . \end{aligned}$$

The following notation is used:

$$\begin{aligned} \mathbf{B}_{i,k}= & {} \frac{\partial \mathbf{B}_i }{\partial q_{A,i,k}}, \end{aligned}$$
(14a)
$$\begin{aligned} \mathbf{B}_{i,k,l}= & {} \frac{\partial ^{2}{} \mathbf{B}_i }{\partial q_{A,i,k} \partial q_{A,i,l} }. \end{aligned}$$
(14b)

The calculation of elements of the matrices \(\mathbf{A}_i \left( {\mathbf{q}_{A,i} } \right) \) and vectors \(\mathbf{h}_{A,i} \left( \mathbf{q}_{A,i} ,{\dot{\mathbf{q}}}_{A,i} \right) \) according to formula (13) can be easily algorithmised. Many of the elements are equal to zero.

The Lagrange operator of the whole flexible link can be written in the form

$$\begin{aligned} {{{\varvec{\upvarepsilon }}}}_{{{\mathbf {q}}_{A} }} (T) = {\mathbf {M}}_{A} {\ddot{\mathbf {q}}}_{A} + {\mathbf {h}}_{A}, \end{aligned}$$
(15)

where \(\mathbf{M}_A =\hbox {diag}\left\{ {\mathbf{A}_0 \ldots \mathbf{A}_i \ldots \mathbf{A}_n } \right\} \), \(\mathbf{h}_A =\left[ {\mathbf{h}_0^T \ldots \mathbf{h}_i^T \ldots \mathbf{h}_n^T } \right] ^{T}\), and the matrices \(\mathbf{A}_i \) and vectors \(\mathbf{h}_i \) are defined in (13).

3.2 Joint coordinates

The kinetic energy of segment i is presented in form (10a). Bearing in mind (8), the following is obtained:

$$\begin{aligned} T_{i}= & {} \frac{1}{2}m_{i} {\dot{\mathbf {r}}}_{0}^{T} {\dot{\mathbf {r}}}_{0} + {\dot{\mathbf {r}}}_{0}^{T} m_{i} \mathop \sum \limits _{{j = 0}}^{{i - 1}} l_{j} {\varvec{\dot{\upphi }}}_{j} + {\dot{\mathbf {r}}}_{0}^{T} \left( {{\dot{\mathbf {R}}}_{i} {\mathbf {S}}_{i} } \right) ~ \nonumber \\&+ \frac{1}{2}m_{i} \left[ {\mathop \sum \limits _{{j = 0}}^{{i - 1}} l_{j} {\varvec{\dot{\upphi }}}_{j}^{T} } \right] \left[ {\mathop \sum \limits _{{j = 0}}^{{i - 1}} l_{j} {\varvec{\dot{\upphi }}}_{j} } \right] + \left( {{\dot{\mathbf {R}}}_{i} {\mathbf {S}}_{i} } \right) ^{T} \mathop \sum \limits _{{j = 0}}^{{i - 1}} l_{j} {\varvec{\dot{\upphi }}}_{j} + \frac{1}{2}\,tr\left\{ {{\dot{\mathbf {R}}}_{i} {\mathbf {J}}_{i} {\dot{\mathbf {R}}}_{i}^{T} } \right\} . \end{aligned}$$
(16)

After transformations, the kinetic energy of the link can be written in the form

$$\begin{aligned} T= & {} \mathop \sum \limits _{{i = 0}}^{n} T_{i} = \frac{1}{2}m{\dot{\mathbf {r}}}_{0}^{T} {\dot{\mathbf {r}}}_{0} + {\dot{\mathbf {r}}}_{0}^{T} \mathop \sum \limits _{{i = 0}}^{{n - 1}} d_{i} {\varvec{\dot{\upphi }}}_{i} + {\dot{\mathbf {r}}}_{0}^{T} \mathop \sum \limits _{{i = 0}}^{n} {\dot{\mathbf {R}}}_{i} {\mathbf {S}}_{i} + \frac{1}{2}\mathop \sum \limits _{{i = 0}}^{{n - 1}} {\varvec{\dot{\upphi }}}_{j}^{T} \mathop \sum \limits _{{j = 0}}^{{n - 1}} {\varvec{\dot{\upphi }}}_{j} d_{{i,j}} \nonumber \\&+ \mathop \sum \limits _{{i = 0}}^{n} \left( {{\dot{\mathbf {R}}}_{i} {\mathbf {S}}_{i} } \right) ^{T} \mathop \sum \limits _{{j = 0}}^{{i - 1}} l_{j} {\varvec{\dot{\upphi }}}_{j} + \frac{1}{2}\mathop \sum \limits _{{i = 0}}^{n} tr\left\{ {{\dot{\mathbf {R}}}_{i} {\mathbf {J}}_{i} {\dot{\mathbf {R}}}_{i}^{T}} \right\} , \end{aligned}$$
(17)

where \(d_{i} = l_{i} \sum \nolimits _{{j = i + 1}}^{n} m_{j} ;d_{{i,j}} = l_{i} l_{j} \sum \nolimits _{{l = {{\max }}\left\{ {i,j} \right\} + 1}}^{n} m_{i}\); \(m=\sum _{i=0}^{n} m_i\) is constant, and the Lagrange operators are as follows:

$$\begin{aligned} {\varvec{{\upvarepsilon }}}_{{{\mathbf {r}}_{0} }} (T)= & {} \,m{\ddot{\mathbf {r}}}_{0} + \mathop \sum \limits _{{i = 0}}^{n} \mathop \sum \limits _{{p = 1}}^{3} \ddot{\varphi }_{{i,p}} {\mathbf {a}}_{{r,i,p}} + {\mathbf {h}}_{r}, \end{aligned}$$
(18a)
$$\begin{aligned} \varepsilon _{{{{{\varvec{\upvarphi }}}}_{{i,j}} }} (T)= & {} \,{\mathbf {a}}_{{r,i,j}}^{T} {\ddot{\mathbf {r}}}_{0} + {\varvec{\upphi }} _{{i,j}}^{T} \mathop \sum \limits _{{k = 0}}^{{n - 1}} d_{{i,k}} \mathop \sum \limits _{{p = 1}}^{3} \ddot{\varphi }_{{k,p}} {\varvec{\upphi }} _{{k,p}} + l_{i} {\varvec{\upphi }} _{{i,j}}^{T} \mathop \sum \limits _{{k = i + 1}}^{n} \mathop \sum \limits _{{p = 1}}^{3} \ddot{\varphi }_{{k,p}} {\mathbf {R}}_{{k,p}} {\mathbf {S}}_{k}\nonumber \\&+ \left( {{\mathbf {R}}_{{i,j}} {\mathbf {S}}_{i} } \right) ^{T} \mathop \sum \limits _{{k = 0}}^{{i - 1}} l_{k} \mathop \sum \limits _{{p = 1}}^{3} \ddot{\varphi }_{{k,p}} {\varvec{\upphi }}_{{k,p}}\nonumber \\&+ \mathop \sum \limits _{{p = 1}}^{3} \ddot{\varphi }_{{k,p}} {\text {tr}}\left\{ {{\mathbf {R}}_{{i,j}} {\mathbf {J}}_{i} {\mathbf {R}}_{{i,p}}^{{T}}} \right\} + h_{{J,i,j}}, \end{aligned}$$
(18b)

where \(i=0,1,\ldots ,n;j=1,2,3\);

$$\begin{aligned} h_{{J,i,j}}= & {} {\varvec{\upphi }}_{{i,j}}^{T} \mathop \sum \limits _{{k = 0}}^{{n - 1}} d_{{i,k}} {\dot{\mathbf {U}}}_{k} + l_{i} {\varvec{\upphi }} _{{i,j}}^{T} \mathop \sum \limits _{{k = i + 1}}^{n} {\dot{\mathbf {V}}}_{k} {\mathbf {S}}_{k} + \left( {{\mathbf {R}}_{{i,j}} {\mathbf {S}}_{i} } \right) ^\mathrm{T} \mathop \sum \limits _{{k = 0}}^{{i - 1}} l_{k} {\dot{\mathbf {U}}}_{k} + tr\left\{ {{\mathbf {R}}_{{i,j}} {\mathbf {J}}_{i} {\dot{\mathbf {V}}}_{i}^{T} } \right\} , \\ {\mathbf {a}}_{{r,i,j}}= & {} \left( {1 - \delta _{{in}} } \right) d_{i} {\varvec{\upphi }} _{{i,p}} + {\mathbf {R}}_{{i,p}} {\mathbf {S}}_{i} ,~{\mathbf {h}}_{r} = \mathop \sum \limits _{{j = 0}}^{{n - 1}} d_{i} {\dot{\mathbf {U}}}_{{\mathbf {i}}} + {\dot{\mathbf {V}}}_{i} {\mathbf {S}}_{i},~{\varvec{\upphi }} _{{i,j}} = \frac{{\partial {\varvec{\upphi }} _{i} }}{{\partial \varphi _{{i,j}} }}, \\ {\dot{\mathbf {U}}}_{i}= & {} \mathop \sum \limits _{{j = 1}}^{3} {{\dot{\varphi }}}_{{i,j}} \mathop \sum \limits _{{k = 1}}^{3} {{\dot{\varphi }}}_{{i,k}} {\varvec{\upphi }} _{{i,j,k}},{\dot{\mathbf {V}}}_{i} = \mathop \sum \limits _{{j = 1}}^{3} {{\dot{\varphi }}}_{{i,j}} \mathop \sum \limits _{{k = 1}}^{3} {{\dot{\varphi }}}_{{i,k}} {\mathbf {R}}_{{i,j,k}},~{\varvec{\upphi }} _{{i,j,k}} = \frac{{\partial {\varvec{\upphi }} _{{i,j}} }}{{\partial \varphi _{{i,k}} }}. \end{aligned}$$

The formulae are easy to program, and by summing the respective elements, the following is obtained:

$$\begin{aligned} {{\varvec{\upvarepsilon }}}_{\mathbf{q}_j } (T)=\left[ {{\begin{array}{l} {{{\varvec{\upvarepsilon }}}_{\mathbf{r}_0 } } \\ {{{\varvec{\upvarepsilon }}}_{{\varvec{\upvarphi }}_0 } } \\ \vdots \\ {{{\varvec{\upvarepsilon }}}_{{\varvec{\upvarphi }}_i } } \\ \vdots \\ {{{\varvec{\upvarepsilon }}}_{{\varvec{\upvarphi }}_n } } \\ \end{array} }} \right] =\mathbf {M}_J \left( {\mathbf {q}_J } \right) {\ddot{\mathbf {q}}_J } + \mathbf {h}_J \left( {{\mathbf {q}}_J } {\dot{\mathbf {q}}}\right) , \end{aligned}$$
(19)

where \(\mathbf{\varepsilon }_{{\varvec{\upvarphi }}_i } =\left[ {{\begin{array}{l} {\varepsilon _{i,1} } \\ {\varepsilon _{i,2} } \\ {\varepsilon _{i,3} } \\ \end{array} }} \right] \), \(\mathbf{M}_J \), \(\mathbf{h}_J \) are generated in the loop realising formulae (18a) and (18b).

4 Energy of spring deformation

The energy of spring deformation of sde i placed between segments \(i-1\) and i can be calculated from the formula

$$\begin{aligned} V_{s,i} =\frac{1}{2}\Delta {\varvec{\upphi }} _i^T \mathbf{C}_i \Delta {\varvec{\upphi }}_i, \end{aligned}$$
(20)

where \(\Delta {\varvec{\upphi }}_i^ =\left[ {{\begin{array}{l} {\Delta \gamma _i } \\ {\Delta \theta _i } \\ {\Delta \psi _i } \\ \end{array} }} \right] =\left[ {{\begin{array}{l} {\Delta \varphi _{i,1} } \\ {\Delta \varphi _{i,2} } \\ {\Delta \varphi _{i,3} } \\ \end{array} }} \right] \) is the vector of rotation angles for transformation from the coordinate system \(\left\{ {i-1} \right\} ^{\prime }\) to \(\left\{ i \right\} ^{{\prime }},\mathbf{C}_i =\hbox {diag}\left\{ {C_{i,1} C_{i,2} C_{i,3} } \right\} \), \(C_{i,1}\) is the torsional stiffness coefficient, \(C_{i,2},C_{i,3} \) are bending stiffness coefficients.

The angles \(\Delta \varphi _{i,j} \) occurring in (20) (Fig. 5) defining the transformation from system \(\{i\}^{\prime }\) to system \(\{{i-1}\}^{\prime }\) can be calculated from the following formulae:

$$\begin{aligned} \Delta \phi _{{i~,1}}= & {} {\text {arctg}}\frac{{\left( {{\mathbf {R}}_{{i,\Delta \phi }} } \right) _{{3,2}} }}{{\left( {{\mathbf {R}}_{{i,\Delta \phi }} } \right) _{{3,3}} }}, \end{aligned}$$
(21a)
$$\begin{aligned} \Delta \varphi _{{i~,2}}= & {} - {\text {arcsin}}\left( {{\mathbf {R}}_{{i,\Delta \phi }} } \right) _{{3,1}}, \end{aligned}$$
(21b)
$$\begin{aligned} \Delta \varphi _{{i~,3}}= & {} {\text {arctg}}\frac{{\left( {{\mathbf {R}}_{{i,\Delta \phi }} } \right) _{{2,1}} }}{{\left( {{\mathbf {R}}_{{i,\Delta \phi }} } \right) _{{1,1}} }}, \end{aligned}$$
(21c)

where \(\left( {\mathbf{R}_{i,\Delta \phi } } \right) _{i,j} \) denotes the element of the i-th row and j-th column of the matrix \(\mathbf{R}_{i,\Delta \phi }\):

$$\begin{aligned} \mathbf{R}_{i,\Delta \varphi } =\mathbf{R}_{i-1}^T \mathbf{R}_i =\left[ {{\begin{array}{lll} {c\Delta \varphi _{i,2} c\Delta \varphi _{i,3} }&{}\quad \cdots &{}\quad \cdots \\ {c\Delta \varphi _{i,2} s\Delta \varphi _{i,3} }&{}\quad \cdots &{}\quad \cdots \\ {-s\Delta \varphi _{i,2} }&{}\quad {s\Delta \varphi _{i,1} c\Delta \varphi _{i,2} }&{}\quad {c\Delta \varphi _{i1} c\Delta \varphi _{i,2} } \\ \end{array} }} \right] . \end{aligned}$$
(21d)

Thus, the following expressions are introduced in the equations of motion of the segments \(i-1\) and i:

$$\begin{aligned} \frac{{\partial V_{{s,i}} }}{{\partial \varphi _{{i - 1,~j}} }}= & {} \left[ {\frac{{\partial \Delta {\varvec{\upphi }} _{i} }}{{\partial \varphi _{{i - 1,~j}} }}} \right] ^\mathrm{T} {\mathbf {C}}_{i} \Delta {\varvec{\upphi }}_{i}, \end{aligned}$$
(22a)
$$\begin{aligned} \frac{{\partial V_{{s,i}} }}{{\partial {\varvec{\varphi }} _{{i,~j}} }}= & {} \left[ {\frac{{\partial \Delta {\varvec{\upphi }}_{i} }}{{\partial \varphi _{{i,~j}} }}} \right] ^\mathrm{T} {\mathbf {C}}_{i} \Delta {\varvec{\upphi }} _{i}, \end{aligned}$$
(22b)

for \(i=1,\ldots ,n;j=1,2,3\).

Fig. 5
figure 5

Notation for calculations of moments caused by bending and torsion

The derivatives \(\frac{\partial \Delta {\varvec{\upphi }} _i }{\partial \varphi _{i-1,j} }\) and \(\frac{\partial \Delta {\varvec{\upphi }}_i}{\partial \varphi _{i,j} }\) can be calculated as follows:

$$\begin{aligned} \frac{{\partial \Delta \varphi _{{i,~2}} }}{{\partial \varphi _{{i - 1,~j}} }} = \alpha _{{i,2}} \mathop \sum \limits _{{k = 1}}^{3} \left( {{\mathbf {R}}_{{i - 1,j}} } \right) _{{k,3}} \left( {{\mathbf {R}}_{i} } \right) _{{k,1}} = \bar{d} _{{i,j,2}}, \end{aligned}$$
(23a)
$$\begin{aligned} \frac{{\partial \Delta \varphi _{{i,~2}} }}{{\partial \varphi _{{i,~j}} }} = \alpha _{{i,2}} \mathop \sum \limits _{{k = 1}}^{3} \left( {{\mathbf {R}}_{{i - 1}} } \right) _{{k,3}} \left( {{\mathbf {R}}_{{i,j}} } \right) _{{k,1}} =\bar{\bar{d}} _{{i,j,2}}, \end{aligned}$$
(23b)

where \(\alpha _{i,2} =-\frac{1}{c\Delta \varphi _{i,2} }\), and then:

$$\begin{aligned} \frac{\partial \Delta \varphi _{i,1} }{\partial \varphi _{i-1,j} }=\alpha _{i,1} \left[ {\mathop \sum \limits _{k=1}^3 \left( {\mathbf{R}_{i-1,j} } \right) _{k,2} \left( {\mathbf{R}_i } \right) _{k,1} +\beta _{i,1} {\bar{d}}{i,j,2} } \right] ={{\bar{d}}}_{i,j,1}, \end{aligned}$$
(24a)
$$\begin{aligned} \frac{\partial \Delta \varphi _{i,1} }{\partial \varphi _{i,j} }=\alpha _{i,1} \left[ {\mathop \sum \limits _{k=1}^3 \left( {\mathbf{R}_{i-1} } \right) _{k,3} \left( {\mathbf{R}_{i,j} } \right) _{k,2} +\beta _{i,1} {\bar{\bar{d}}} _{i,j,2} } \right] ={\bar{\bar{d}}}_{i,j,1}, \end{aligned}$$
(24b)

as well as:

$$\begin{aligned} \frac{{\partial \Delta \varphi _{{i,~3}} }}{{\partial \varphi _{{i - 1,~j}} }} = \alpha _{{i,3}} \left[ {\mathop \sum \limits _{{k = 1}}^{3} \left( {{\mathbf {R}}_{{i - 1,j}} } \right) _{{k,3}} \left( {{\mathbf {R}}_{i} } \right) _{{k,2}} + \beta _{{i,3}} \overline{d} _{{i,j,2}} } \right] = \overline{d} _{{i,j,3}}, \end{aligned}$$
(25a)
$$\begin{aligned} \frac{{\partial \Delta \varphi _{{i,~3}} }}{{\partial \varphi _{{i,~j}} }} = \alpha _{{i,3}} \left[ {\mathop \sum \limits _{{k = 1}}^{3} \left( {{\mathbf {R}}_{{i - 1}} } \right) _{{k,2}} \left( {{\mathbf {R}}_{{i,j}} } \right) _{{k,1}} + \beta _{{i,3}} \overline{\overline{d}} _{{i,j,2}} } \right] = \overline{\overline{d}} _{{i,j,3}}, \end{aligned}$$
(25b)

where \(\alpha _{i,1} =\frac{1}{c\Delta \varphi _{i,1} c\Delta \varphi _{i,2} }\), \(\beta _{i,1} =s\Delta \varphi _{i,1} s\Delta \varphi _{i,2} \), \(\alpha _{i,3} =\frac{1}{c\Delta \varphi _{i,2} c\Delta \varphi _{i,3} }\), \(\beta _{i,3} =s\Delta \varphi _{i,2} s\Delta \varphi _{i,3}.\)

After the necessary transformations, the derivatives (22) can be written as:

$$\begin{aligned} \frac{{\partial V_{{s,i}} }}{{\partial {{{\varvec{\upvarphi }} }}_{{i - 1}} }}= & {} \overline{{\mathbf {D}}} _{i} \overline{{\mathbf {M}}} _{i}, \end{aligned}$$
(26a)
$$\begin{aligned} \frac{{\partial V_{{s,i}} }}{{\partial {\varvec{\upvarphi }}_{i} }}= & {} \overline{\overline{{\mathbf {D}}}} _{i}, \overline{{\mathbf {M}}} _{i}, \end{aligned}$$
(26b)

where \(\mathop {\overline{\mathbf {M}}}_i =\left[ {{\begin{array}{l} {C_{i,1} \Delta \varphi _{i,1} } \\ {C_{i,2} \Delta \varphi _{i,2} } \\ {C_{i,3} \Delta \varphi _{i,3} } \\ \end{array} }} \right] \), \({\overline{\mathbf {D}}}_i =\left[ {{\begin{array}{l} {{\bar{\mathbf {d}}}_{i,1} } \\ {{\bar{\mathbf {d}}}_{i,2} } \\ {{\bar{\mathbf {d}}}_{i,3} } \\ \end{array} }} \right] \), \({\overline{\overline{\mathbf {D}}}}_i =\left[ {{\begin{array}{l} {\bar{\bar{\mathbf {d}}}}_{i,1} \\ {\bar{\bar{\mathbf {d}}}}_{i,2} \\ {\bar{\bar{\mathbf {d}}}}_{i,3} \\ \end{array} }} \right] \), \({\bar{\mathbf {d}}}_{i,j} =\left[ {{\begin{array}{l} {\bar{d}} _{i,j,1} \\ {\bar{d}} _{i,j,2} \\ {\bar{d}} _{i,j,3} \\ \end{array} }} \right] ^T\), \({\bar{\bar{\mathbf {d}}}}_{i,j} =\left[ {{\begin{array}{l} {\bar{\bar{{ d}}}}_{i,j,1} \\ {\bar{\bar{{ d}}}}_{i,j,2} \\ {\bar{\bar{{ d}}}}_{i,j,3} \\ \end{array} }} \right] ^T\).

It is important to stress that in both formulations of the segment method the expressions for the derivatives of energy of rotational springs have identical form (26) although their assignment to the respective equations of motion depends on the choice of the generalised coordinates.

In the case of absolute coordinates, the following expressions have to be added to the left sides of the equations of motion of segments \(0\ldots n\):

  1. A.

    Segment 0

    $$\begin{aligned} \mathbf {F}_{s,0}^{\left( A \right) } =\left[ {{\begin{array}{c} 0 \\ {{\overline{\mathbf {D}}}_1 {\overline{\mathbf {M}}}_1 } \\ \end{array} }} \right] \end{aligned}$$
    (27a)
  2. B.

    Segments \(1\ldots n-1\)

    $$\begin{aligned} \mathbf {F}_{s,i}^{\left( A \right) } =\left[ {{\begin{array}{c} 0 \\ {\overline{\overline{\mathbf {D}}}_i {\overline{\mathbf {M}}}_i +{\overline{\mathbf {D}}}_{i+1} {\overline{\mathbf {M}}}_{i+1} } \\ \end{array} }} \right] \end{aligned}$$
    (27b)
  3. C.

    Segment n

$$\begin{aligned} \mathbf {F}_{s,n}^{\left( A \right) } =\left[ {{\begin{array}{c} 0 \\ {\overline{\overline{\mathbf {D}}}}_n {\overline{\mathbf {M}}}_n \\ \end{array} }} \right] \end{aligned}$$
(27c)

When joint coordinates are used, the following expressions occur in the left sides of the Lagrange equations for the respective segments:

  1. A.

    Segment 0

    $$\begin{aligned} \mathbf {F}_{s,0}^{(J)} ={\overline{\mathbf {D}}}_1 {\overline{\mathbf {M}}}_1 \end{aligned}$$
    (28a)
  2. B.

    Segments \(1\ldots n-1\)

    $$\begin{aligned} \mathbf {F}_{s,i}^{(J)} ={\overline{\overline{\mathbf {D}}}}_i {\overline{\mathbf {M}}}_i+{\overline{\mathbf {D}}}_{i+1} {\overline{\mathbf {M}}}_{i+1} \end{aligned}$$
    (28b)
  3. C.

    Segment n

    $$\begin{aligned} \mathbf {F}_{s,n}^{(J)} = {\overline{\overline{\mathbf {D}}}}_n {\overline{\mathbf {M}}}_n \end{aligned}$$
    (28c)

The procedure for calculation of moments (vectors \({\overline{\mathbf {M}}}_i )\) acting on segments \(i-1\) and i is different from the approaches used in previous papers [52,53,54] and [58,59,60].

5 Gravity and buoyancy forces

The potential energy of gravity and buoyancy forces for segment i can be written as follows:

$$\begin{aligned} V_{g,i} =g\left( {\rho _r V_{r,i} +\rho _f V_{f,i} -\rho _w V_{w,i} } \right) y_{c,i} =g{\overline{m}}_i y_{c,i}, \end{aligned}$$
(29)

where \({\overline{m}}_i =\rho _r V_{r,i} +\rho _f V_{f,i} -\rho _w V_{w,i} \) is the substitute mass, \(\rho _r,V_{r,i} \) are the density and volume of the riser segments, respectively, \(\rho _f,V_{f,i} \) are the density and volume of the internal fluid, respectively, \(\rho _w ,V_{w,i} \) are the density and volume of the buoyancy water, \(y_{c,i} \) is the coordinate y of the centre of mass of segment i with respect to the system { }, g is the acceleration of gravity.

When the riser cross section is circular, then

$$\begin{aligned}&\displaystyle V_{{r,i}} = \frac{\pi }{4}\left( {D_{{{\text {out}}}}^{2} - D_{{{\text {inn}}}}^{2} } \right) l_{i}, \end{aligned}$$
(30a)
$$\begin{aligned}&\displaystyle V_{{f,i}} = \frac{\pi }{4}D_{{{\text {inn}}}}^{2} l_{i}, \end{aligned}$$
(30b)
$$\begin{aligned}&\displaystyle V_{{w,i}} = \frac{\pi }{4}D_{{{\text {out}}}}^{2} l_{i}, \end{aligned}$$
(30c)

where \(D_{\mathrm{inn}} \) is the inner diameter of the riser, and \(D_{\mathrm{out}}\) is the outer diameter of the riser.

Let \(\mathbf{r}_{c,i}^{\prime } \) be the vector defining the position of the centre of mass \({\overline{m}}_i \) with respect to the local coordinate system of segment i;  thus, the coordinate \(y_{c,i} \) can be calculated as follows:

$$\begin{aligned} y_{c,i}= & {} {{\varvec{\updelta }}}_2^T \left( \mathbf{r}_i +\mathbf{R}_i \mathbf{r}_{c,i}^{\prime } \right) \text{ for } \text{ absolute } \text{ coordinates }, \end{aligned}$$
(31a)
$$\begin{aligned} y_{c,i}= & {} {{\varvec{\updelta }}}_2^T \left( \mathbf{r}_0 +\mathop \sum \limits _{j=0}^{i-1} l_j {\varvec{\upphi }}_j +\mathbf{R}_i \mathbf{r}_{c,i}^{\prime } \right) \text{ for } \text{ joint } \text{ coordinates }, \end{aligned}$$
(31b)

where \({{\varvec{\updelta }}}_2^T =\left[ 0\quad 1\quad 0 \right] \).

Therefore, the derivatives of (29) with respect to generalised coordinates are as follows:

  1. A.

    when absolute coordinates are used:

    $$\begin{aligned} \frac{\partial V_{g,i} }{\partial \mathbf{q}_{A,i} }={\overline{m}}_i g\left[ {{\begin{array}{l} {\mathbf{\delta }_2 } \\ {\mathbf{G}_{c,i} } \\ , \end{array} }} \right] =-\mathbf{Q}_{A,i}^{(g)}, \end{aligned}$$
    (32)

    where \(\mathbf{G}_{c,i} =\left[ {{\begin{array}{lll} {{{\varvec{\updelta }}}_2^T \mathbf{R}_{i,1} \mathbf{r}_{c,i}^{\prime } } \\ {{{\varvec{\updelta }}}_2^T \mathbf{R}_{i,2} \mathbf{r}_{c,i}^{\prime } } \\ {{{\varvec{\updelta }}}_2^T \mathbf{R}_{i,3} \mathbf{r}_{c,i}^{\prime } } \\ \end{array} }} \right] \);

  2. B.

    when joint coordinates are used:

$$\begin{aligned}&\displaystyle \frac{{\partial V_{{g,i}} }}{{\partial {\mathbf {r}}_{0}}} = {\overline{m}}_{i} g{{{\varvec{\updelta }}}}_{2} = - {\mathbf {Q}}_{{J,i,{\mathbf {r}}_{0} }}^{{(g)}}, \end{aligned}$$
(33a)
$$\begin{aligned}&\displaystyle \frac{{\partial V_{{g,i}} }}{{\partial {{{\varvec{\upvarphi }}}}_{j} }} = \overline{m} _{i} gl_{j} \left[ {\begin{array}{*{20}c} {{{{\varvec{\updelta }}}}_{2}^{T} \varphi _{{j,1}} } \\ {{{{\varvec{\updelta }}}}_{2}^{T} \varphi _{{j,2}} } \\ {{\varvec{\updelta }}_{2}^{T} \varphi _{{j,3}} } \\ \end{array} } \right] = - {\mathbf {Q}}_{{J,i,{{{\varvec{\upvarphi }}}}_{j} }}^{{(g)}} ~~{\text {for}}~j = 0, \ldots ,i - 1, \end{aligned}$$
(33b)
$$\begin{aligned}&\displaystyle \frac{{\partial V_{{g,i}} }}{{\partial {{{\varvec{\upvarphi }}}}_{i} }} = \overline{m} _{i} g{\mathbf {G}}_{{c,i}} = - {\mathbf {Q}}_{{J,i,{{{\varvec{\upvarphi }}}}_{i} }}^{{(g)}}. \end{aligned}$$
(33c)

Thus, in case A due to gravity and buoyancy forces, the vector \(\mathbf{Q}_{A,i}^{(g)}\) occurs on the right side of the Lagrange equations of segment i, while in the case of joint coordinates on the right side of the equations corresponding to \(\mathbf{r}_0 \) there is a component \(\mathbf{Q}_{J,i,\mathbf{r}_0 }^{(g)}\), but in the equations corresponding to the segments \(0\ldots i\), there are vectors \(\mathbf{Q}_{J,i,{\varvec{\upvarphi }}_0 }^{(g)} \),..., \(\mathbf{Q}_{J,i,{\varvec{\upvarphi }}_j }^{(g)} \),..., \(\mathbf{Q}_{J,i,{\varvec{\upvarphi }}_i }^{(g)} \), respectively.

6 Drag forces

The Morison equation is used in order to take into account the hydrodynamic drag. The elementary drag force acting on a section with length \(\Delta \xi \)of segment i (Fig. 6) can be presented in the following form:

$$\begin{aligned} d{\mathbf {F^{\prime }}} = {\mathbf {S}}_{i}^{{\prime }} \text{ d }\xi , \end{aligned}$$
(34)

where \(\mathbf{S}_i^{{\prime }} =e_H \left[ {{\begin{array}{l} {D_x \left| {v_x^{{\prime }} } \right| v_x^{{\prime }} } \\ {D_{yz} v_y^{{\prime }} v_{yz}^{{\prime }} } \\ {D_{yz} v_z^{{\prime }} v_{yz}^{{\prime }} } \\ \end{array} }} \right] \),\(\hbox {}e_H =-\frac{1}{2}\rho _w D_\mathrm{out} \), \(v_{yz}^{{\prime }} =\sqrt{v_y^{{{\prime }}2} +v_z^{{{\prime }}2} }\), \(\mathbf{v}^{{\prime }} =\left[ {{\begin{array}{l} {v_x^{{\prime }} } \\ {v_y^{{\prime }} } \\ {v_z^{{\prime }} } \\ \end{array} }} \right] =\mathbf{R}_i^T \left( {\mathbf{v}-\mathbf{v}_w } \right) \), \(\mathbf{v}={\dot{\mathbf{r}}}\), \(\mathbf{{r}'}=\mathbf{{r}'}(\xi )\), \(\left[ {{\begin{array}{l} {\xi } \\ {\bar{y}} \\ {\bar{z}} \\ \end{array} }} \right] \)\({\bar{y}} ={\bar{y}}(\xi )\), \({\bar{z}}={\bar{z}} (\xi ), D_x \) is the coefficient of tangential drag, and \(D_{yz}\) is the coefficient of normal drag, and \(\mathbf{v}_w\) is the vector of water velocity.

Fig. 6
figure 6

Hydrodynamic drag force

The velocity vector \(\mathbf{v}\) with respect to the global system { } is expressed by the formulae:

$$\begin{aligned} {\mathbf {v}}= & {} {\dot{\mathbf {r}}}_{i} + {\dot{\mathbf {R}}}_{i} {\mathbf {r^{\prime }}}(\xi )\,\,{-} \,\,\hbox {for absolute coordinates}, \end{aligned}$$
(35a)
$$\begin{aligned} {\mathbf {v}}= & {} {\dot{\mathbf {r}}}_{0} + \mathop \sum \limits _{{j = 0}}^{{i - 1}} l_{j} {\varvec{\dot{\upphi }}}_{j} + {\dot{\mathbf {R}}}_{i} {\mathbf {r^{\prime }}}(\xi )-\,\,\hbox {for joint coordinates}. \end{aligned}$$
(35b)

The force (36) with respect to system { } can be written in the form

$$\begin{aligned} d{\mathbf {F}} = {\mathbf {R}}_{i} d{\mathbf {F^{\prime }}} = {\mathbf {R}}_{i} {\mathbf {S}}_{i}^{{\prime }} (\xi )\text{ d }\xi \end{aligned}$$
(36)

The generalised force resulting from the force \(d\mathbf{F}\) with respect to the generalised coordinate \(q_k \) is as follows:

$$\begin{aligned} dQ_{k} = \left( {\frac{{\partial {\mathbf {r}}}}{{\partial q_{k} }}} \right) ^{T} {\mathbf {R}}_{i} {\mathbf {S}}_{i}^{\prime } \left( \xi \right) d\xi . \end{aligned}$$
(37)

The further approach depends on the generalised coordinates used.

6.1 Hydrodynamic drag in absolute coordinates

From (3), it follows that:

$$\begin{aligned} \frac{{\partial {\mathbf {r}}}}{{\partial {\mathbf {r}}_{i} }} = \left[ {\begin{array}{*{20}c} {{\varvec{{\updelta }}}_{1}^{T} } \\ {{{{\varvec{\updelta }} }}_{2}^{T} }\\ {{{{\varvec{\updelta }}}}_{3}^{T} }\\ \end{array} } \right] = {\mathbf {I}}, \end{aligned}$$
(38a)
$$\begin{aligned} \frac{{\partial {\mathbf {r}}}}{{\partial q_{{A,j + 3}} }} = {\mathbf {R}}_{{i,j}} {\mathbf {r}}_{i}^{\prime } (\xi ). \end{aligned}$$
(38b)

The velocity \(\mathbf{v}\) is calculated in this case from formula (35a).

Bearing in mind (34), (35) and (36), generalised forces corresponding to drag forces can be calculated in the following way:

$$\begin{aligned} {\mathbf {Q}}_{{{\mathbf {r}}_{i} }}^{{(H)}}= & {} \mathop \int \limits _{0}^{{l_{i} }} {\mathbf {S}}_{i} \left( {{\mathbf {q}}_{{A,i}},~{\dot{\mathbf {q}}}_{{A,i}},~\xi } \right) d\xi , \end{aligned}$$
(39a)
$$\begin{aligned} {\mathbf {Q}}_{{\varphi _{{i,j}} }}^{{(H)}}= & {} \mathop \int \limits _{0}^{{l_{i} }} {\mathbf {r}}_{i}^{{{'}}} (\xi )^\mathrm{T} {\mathbf {R}}_{{i,j}}^{T} {\mathbf {S}}_{i} \left( {{\mathbf {q}}_{{A,i}},~{\dot{\mathbf {q}}}_{{A,i}},~\xi } \right) d\xi , \end{aligned}$$
(39b)

where \(\mathbf{S}_i^ =\mathbf{R}_i \mathbf{S}_i^{\prime } \), and they can be written in compact form as follows:

$$\begin{aligned} \mathbf{Q}_{\mathbf{q}_{A,i} }^{(H)} =\left[ {{\begin{array}{l} {\mathbf{Q}_{\mathbf{r}_i }^{(H)} } \\ {\mathbf{Q}_{{\varvec{\upvarphi }}_i }^{(H)} } \\ \end{array} }} \right] , \end{aligned}$$
(40)

where \(\mathbf{Q}_{{\varvec{\upvarphi }}_i }^{(H)} =\left[ {{\begin{array}{lll} {Q_{\varphi _{i,1} }^{(H)} }&{} {Q_{\varphi _{i,2} }^{(H)} }&{} {Q_{\varphi _{i,3} }^{(H)} } \\ \end{array} }} \right] ^{T}\).

This vector will be included in the right side of the equations of motion of segment i.

6.2 Hydrodynamic drag in joint coordinates

In this case, the velocity \(\mathbf{v}\) is calculated according to formula (35b). From (8), it follows that:

$$\begin{aligned}&\displaystyle \frac{{\partial {\mathbf {r}}}}{{\partial {\mathbf {r}}_{0} }} = {\mathbf {I}}, \end{aligned}$$
(41a)
$$\begin{aligned}&\displaystyle \frac{{\partial {\mathbf {r}}}}{{\partial \varphi _{{k,j}} }} = l_{k} {\varvec{\upphi }} _{{k,j}} \quad {\text {for }}k = 0,1, \ldots ,\,\,i - 1;\,\,j = 1,2,3, \end{aligned}$$
(41b)
$$\begin{aligned}&\displaystyle \frac{{\partial {\mathbf {r}}}}{{\partial \varphi _{{i,j}} }} = {\mathbf {R}}_{{i,j}} {\mathbf {r^{\prime }}}(\xi )\,\,{\text {for }}j = 1,2,3. \end{aligned}$$
(41c)

Taking into consideration the above formulae, the generalised forces can be calculated according to the following:

$$\begin{aligned} {\mathbf {Q}}_{{i,{\mathbf {r}}_{0} }}^{{(H)}}= & {} \mathop \int \limits _{0}^{{l_{i} }} {\mathbf {S}}_{i} \left( {{{{\varvec{\varphi }}}}_{i},~{{{\varvec{\dot{\upvarphi }}}}}_{i},~\xi } \right) d\xi , \end{aligned}$$
(42a)
$$\begin{aligned} Q_{{i,\varphi _{{k,j}} }}^{{(H)}}= & {} l_{k} {\varvec{\upphi }} _{{k,j}}^{T} \mathop \int \limits _{0}^{{l_{i} }} {\mathbf {S}}_{i} \left( {{{{\varvec{\upvarphi }}}}_{i} ,~{{{\varvec{\dot{\upvarphi }}}}}_{i},~\xi } \right) d\xi \quad {\text {for~}}k = 0,1, \ldots ,i - 1;\,\,j = 1,2,3, \end{aligned}$$
(42b)
$$\begin{aligned} Q_{{i,\varphi _{{i,j}} }}^{{(H)}}= & {} \mathop \int \limits _{0}^{{l_{i} }} {\mathbf {r^{\prime }}}(\xi )^{T} {\mathbf {R}}_{{i,j}}^{T} {\mathbf {S}}_{i} \left( {{{{\varvec{\varphi }}}}_{i},~{{{\varvec{\dot{\upvarphi }}}}}_{i},~\xi } \right) {d}\xi \quad {\text { for}} \,j = 1,2,3. \end{aligned}$$
(42c)

Hydrodynamic drag forces acting on segment i are reflected in the equations of motion by the following vectors occurring on the right hand side of the equations of motion:

  1. A.

    Vector \(\mathbf{Q}_{i,\mathbf{r}_0 }^{(H)} \) from (42a) in equations corresponding to \(\mathbf{r}_0 \).

  2. B.

    Vectors \(\mathbf{Q}_{i,{\varvec{\upvarphi }}_k }^{(H)} \), whose components are defined by (42b), in equations corresponding to \({\varvec{\upvarphi }}_k\) (\(k=0,{\ldots },i-1\)).

  3. B.

    Vectors \(\mathbf{Q}_{i,{\varvec{\upvarphi }}_i }^{(H)} \), defined by (42c), in equations corresponding to \({\varvec{\upvarphi }}_i \).

6.3 Internal fluid flow in the riser

An inertial force acts on a segment dS of the riser (Fig. 7a), as presented in [49, 50]:

$$\begin{aligned} {\mathbf {q}}\left( {s,t} \right) = - \rho _{f} A_{\mathrm{inn}} \left[ {\frac{{\partial ^{2} {\mathbf {r}}}}{{\partial t^{2} }} + 2u\frac{{\partial ^{2} {\mathbf {r}}}}{{\partial s\partial t}} + \dot{u}\frac{{\partial {\mathbf {r}}}}{{\partial t}} + u^{2} \frac{{\partial ^{2} {\mathbf {r}}}}{{\partial s^{2} }}} \right] ds, \end{aligned}$$
(43)

where s is the Lagrange coordinate defined in Fig. 7a, r is the vector of coordinates with respect to the inertial system { }, u is the velocity of the internal fluid with relation to the riser, \({\dot{\mathbf{u}}}\) is the acceleration of the fluid with relation to the riser.

Quantities r and s are defined in the segment method by the following formulae:

$$\begin{aligned} {\mathbf {r}}= & {} {\mathbf {r}}_{i} + \xi {\varvec{\upphi }}_{i}, \end{aligned}$$
(44a)
$$\begin{aligned} s= & {} \mathop \sum \limits _{{j = 0}}^{{i - 1}} l_{j} + \xi , \end{aligned}$$
(44b)

where \(\mathbf{r}_i \), \({\varvec{\upphi }}_i \) are defined in (1) and (7), \(\xi \) is the local coordinate along the direction of the \(x_i^{\prime } \) axis (Fig. 7b).

Fig. 7
figure 7

Load on the riser from internal flow

Having taken into account (44), the force due to the internal fluid flow in the riser acting on segment i can be presented in the form

$$\begin{aligned} {\bar{\mathbf{F}}}_i^u =-\rho _f A_\mathrm{inn} \mathop \int \limits _0^{l_i } \left[ {\ddot{\mathbf{r}}}+2u{\dot{{\varvec{\upphi }}}}_{i} +{\dot{\mathbf{u}}}\dot{\mathbf{r}}+u^{2}\frac{\partial {\varvec{\upphi }}_i}{\partial \xi }\right] d\xi \end{aligned}$$
(45)

According to (11), the component \(\rho _{f} A_\mathrm{inn} \mathop \int \nolimits _{0}^{l_{i}} {\ddot{\mathbf{r}}}\, {d}\xi \) has to be considered in the expression for the kinetic energy of segment i and is then included in Eq. (15) or (19). Therefore, only three other components have to be considered in the formula defining the force \({\bar{\mathbf{F}}}_i^u \) caused by the internal flow.

When it is additionally assumed that the velocity of the flow is constant u (\({\dot{\mathbf{u}}}=0)\), the following force has to be applied at the centre of the mass of segment i:

$$\begin{aligned} {\mathbf {F}}_{i}^{u} = - \rho _{f} A_{\mathrm{inn}} \mathop \int \limits _{0}^{{l_{i} }} \left[ {2u{\varvec{\dot{\upphi }}}_{i} + u^{2} \left( {\frac{{\partial {\varvec{\upphi }} _{i} }}{{\partial \xi }}} \right) } \right] {d}\xi = - m_{i}^{f} \left[ {2u{\varvec{\dot{\upphi }}}_{i} + u^{2} \left( {\frac{{\partial {\varvec{\upphi }}_{i} }}{{\partial \xi }}} \right) _{{\left| {\xi = \frac{{l_{i} }}{2}} \right. }} } \right] , \end{aligned}$$
(46)

where \(m_i^f =\rho _f A_\mathrm{inn} l_i \) is the mass of the fluid inside segment i.

Bearing in mind (44a), one would obtain the following relation: \(\frac{\partial {\varvec{\upphi }}_i }{\partial \xi }=0\), which eliminates the second component of \(\mathbf{F}_i^u \) from the considerations. Thus, in the paper we propose the following approach which enables us to calculate \(\left( {\frac{\partial {\varvec{\upphi }}_i }{\partial \xi }} \right) _{\left| {\xi =\frac{l_i }{2}} \right. } \). Let us consider the situation in which the values \({\varvec{\upphi }}_i \) are known at three neighbouring points (Fig. 8) along the riser.

Fig. 8
figure 8

Notation used for calculating \(\frac{\partial \varphi _i }{\partial \xi }\)

A polynomial of the second order can be constructed through the points \(P_L,\;P_M,\;P_R\):

$$\begin{aligned} {\varvec{\upphi }} = {\mathbf {a}}\left( {s - s_{L} } \right) ^{2} + {\mathbf {b}}\left( {s - s_{L} } \right) + {\mathbf {c}} \end{aligned}$$
(47)

From the following:

$$\begin{aligned} {\varvec{\upphi }} \left( {s_{L} } \right)= & {} {\varvec{\upphi }} _{L} \end{aligned}$$
(48a)
$$\begin{aligned} {\varvec{\upphi }} \left( {s_{M} } \right)= & {} {\varvec{\upphi }} _{M} \end{aligned}$$
(48b)
$$\begin{aligned} {\varvec{\upphi }} \left( {s_{R} } \right)= & {} {\varvec{\upphi }} _{R} \end{aligned}$$
(48c)

the coefficients a, b, c can be determined, and then, the following can be calculated:

$$\begin{aligned} \frac{\partial {\varvec{\upphi }} }{\partial s}=2\mathbf{a}\left( {s-s_L } \right) +\mathbf{b}, \end{aligned}$$
(49)

In order to calculate the curvature \(\left( {\frac{\partial {\varvec{\upphi }}_i }{\partial \xi }} \right) _{\left| {\xi =\frac{l_i }{2}} \right. } =\mathbf{k}_i \) inside the segments, the following is assumed:

for \(i=0\):

$$\begin{aligned} s_L= & {} \frac{l_0 }{2},\quad {\varvec{\upphi }} _L ={\varvec{\upphi }} _0, \\ s_M= & {} l_0 +\frac{l_1 }{2},\quad {\varvec{\upphi }} _M ={\varvec{\upphi }} _1, \\ s_R= & {} l_0 +l_1 +\frac{l_2 }{2},\quad {\varvec{\upphi }} _R ={\varvec{\upphi }} _2,\\ \mathbf{k}_0= & {} \left( {\frac{\partial {\varvec{\upphi }} }{\partial s}} \right) _{\left| {s=s_L } \right. }; \end{aligned}$$

for \(i=1,2,\ldots ,n-1\):

$$\begin{aligned} s_L= & {} \mathop \sum \limits _{j=0}^{i-2} l_j +\frac{l_{i-1} }{2},\quad {\varvec{\upphi }} _L ={\varvec{\upphi }} _{i-1}, \\ s_M= & {} \mathop \sum \limits _{j=0}^{i-1} l_j +\frac{l_i }{2},\quad {\varvec{\upphi }} _M ={\varvec{\upphi }} _i, \\ s_R= & {} \mathop \sum \limits _{j=0}^i l_j +\frac{l_{i+1} }{2},\quad {\varvec{\upphi }} _R ={\varvec{\upphi }} _2, \\ \mathbf{k}_i= & {} \left( {\frac{\partial {\varvec{\upphi }} }{\partial s}} \right) _{\left| {s=s_M } \right. }; \end{aligned}$$

for \(i=n\):

$$\begin{aligned} s_L= & {} \mathop \sum \limits _{j=0}^{n-3} l_j +\frac{l_{n-2} }{2},\quad {\varvec{\upphi }} _L ={\varvec{\upphi }} _{n-2}, \\ s_M= & {} \mathop \sum \limits _{j=0}^{n-2} l_j +\frac{l_{n-1} }{2},\quad {\varvec{\upphi }} _M ={\varvec{\upphi }} _{n-1}, \\ s_R= & {} \mathop \sum \limits _{j=0}^{n-1} l_j +\frac{l_n }{2},\quad {\varvec{\upphi }} _R ={\varvec{\upphi }} _n, \\ \mathbf{k}_n= & {} \left( {\frac{\partial {\varvec{\upphi }} }{\partial s}} \right) _{\left| {s=s_R } \right. }. \end{aligned}$$

Bearing in mind that

$$\begin{aligned} \mathbf{r}_{l_i }= & {} \mathbf{r}_i +\frac{l_i }{2}{\varvec{\upphi }} _i \quad \hbox {- for absolute coordinates}, \end{aligned}$$
(50a)
$$\begin{aligned} \mathbf{r}_{l_i }= & {} \mathbf{r}_0 +\mathop \sum \limits _{j=0}^{i-1} \frac{\partial {\varvec{\upphi }}_i }{\partial \varphi _i }+\frac{l_i }{2}{\varvec{\upphi }} _i \quad \hbox {- for joint coordinates}, \end{aligned}$$
(50b)

the following formulae defining the generalised forces resulting from force \(\mathbf{F}_i^u \) are obtained:

A. for absolute coordinates, for \(i=0,1,{\ldots },n\):

$$\begin{aligned} \mathbf{Q}_{q_i }^{\left( u \right) } =\left[ {{\begin{array}{l} {\mathbf{F}_i^{\left( u \right) } } \\ {\frac{l_i }{2}\frac{\partial {\varvec{\upphi }} _i }{\partial {\varvec{\upvarphi }}_i }{} \mathbf{F}_i^{\left( u \right) } } \\ \end{array} }} \right] , \end{aligned}$$
(51)

where

$$\begin{aligned} \frac{\partial {\varvec{\upphi }} _i }{\partial {\varvec{\upvarphi }}_i }=\left[ {{\begin{array}{l} {{\varvec{\upphi }} _{i,1}^T } \\ {{\varvec{\upphi }} _{i,2}^T } \\ {{\varvec{\upphi }} _{i,3}^T } \\ \end{array} }} \right] . \end{aligned}$$

B. for joint coordinates, for \(i=0,1,{\ldots },n\):

$$\begin{aligned} \mathbf{Q}_{J,i}^{\left( u \right) } =\left[ {\mathbf{Q}_{J,i,\mathbf{r}_0 }^{\left( u \right) T} \quad \mathbf{Q}_{J,i,{\varvec{\upvarphi }}_0 }^{\left( u \right) T}\quad \ldots \quad \mathbf{Q}_{J,i,{\varvec{\upvarphi }}_{i-1} }^{\left( u \right) T} \quad \mathbf{Q}_{J,i,{\varvec{\upvarphi }}_i }^{\left( u \right) T} } \right] , \end{aligned}$$
(52)

where

$$\begin{aligned} {\mathbf {Q}}_{{J,i,~{\mathbf {r}}_{0} }}^{{\left( u \right) T}}= & {} {\mathbf {F}}_{i}^{{\left( u \right) }}, \\ {\mathbf {Q}}_{{J,i,~{{{\varvec{\upvarphi }}}}_{j} }}^{{\left( u \right) T}}= & {} l_{j} \frac{{\partial {\varvec{\upphi }} _{j} }}{{\partial {{{\varvec{\upvarphi }}}}_{j} }}{\mathbf {F}}_{i}^{{\left( u \right) }} \quad \hbox {for} j=0,1 , \ldots , n-1,\\ {\mathbf {Q}}_{{J,i,~{{{\varvec{\upvarphi }}}}_{i} }}^{{\left( u \right) T}}= & {} \frac{{l_{i} }}{2}\frac{{\partial {\varvec{\upphi }}_{i} }}{{\partial {{{\varvec{\upvarphi }}}}_{i} }}{\mathbf {F}}_{i}^{{\left( u \right) }}. \end{aligned}$$

7 Constraints and synthesis of equations

Applications of the SM which will be presented in further sections require constraint equations reflecting the connection of both ends of the riser with the environment to be formulated. Moreover, when absolute coordinates are used, constraints have to be imposed on the connections between segments. The procedure that introduces constraint reactions into equations and formulates constraint equations for both types of coordinates is described below.

7.1 Absolute coordinates

In this case, generalised coordinates describing the motion of segments are independent. In order to connect segments at points \(A_i \) (Fig. 9), it is necessary to consider constraint reactions and to formulate constraint equations which eliminate translational relative motion of segments.

Fig. 9
figure 9

Constraint reactions: a general view of the riser, b reactions due to discretisation

Two reactions \(\mathbf{F}_i,\mathbf{F}_{i+1} \) for \(i=0,1,{\ldots },n\) act on each segment. \(\mathbf{F}_0 \) and \(\mathbf{F}_{n+1} \) represent external forces, \(\mathbf{F}_0 \) acts at the connection of the top end of the riser with a platform or a vessel, while \(\mathbf{F}_{n+1} \) reflects forces acting at the connection of the other end of the riser with the bottom of the sea. The following generalised forces are introduced in the equations of motion of segment i:

$$\begin{aligned} \mathbf{Q}_i \left( {\mathbf{F}_i,\mathbf{F}_{i+1} } \right) =\left( {\frac{\partial \mathbf{r}_{A_i } }{\partial \mathbf{q}_i }} \right) ^{T}{} \mathbf{F}_i -\left( {\frac{\partial \mathbf{r}_{A_{i+1} } }{\partial \mathbf{q}_i }} \right) ^{T}{} \mathbf{F}_{i+1}, \end{aligned}$$
(53)

where \(\frac{\partial \mathbf{r}_{A_i } }{\partial \mathbf{q}_i }=\left[ {{\begin{array}{l} {\mathbf{I}_{3x3} } \\ \mathbf{0_{3x3} } \\ \end{array} }} \right] =\mathbf{D}_{i,i} \); \(\frac{\partial \mathbf{r}_{A_{i+1} } }{\partial \mathbf{q}_i }=\left[ {{\begin{array}{l} {\mathbf{I}_{3x3} } \\ {{\varvec{\upphi }}_i^{\prime } } \\ \end{array} }} \right] =\mathbf{D}_{i,i+1} \); \({\varvec{\upphi }}_i^{\prime } =l_i \left[ {{\begin{array}{l} {{\varvec{\upphi }} _{i,1}^T } \\ {{\varvec{\upphi }} _{i,2}^T } \\ {{\varvec{\upphi }} _{i,3}^T } \\ \end{array} }} \right] \).

Thus, the equations of motion of the system of segments \(0\ldots n\) take the following form:

$$\begin{aligned} {\mathbf {M}}_{A} {\ddot{\mathbf {q}}}_{A} + {\mathbf {D}}_{A} {\mathbf {F}}_{A} = {\mathbf {f}}_{A}, \end{aligned}$$
(54)

where \(\mathbf{M}_A =\hbox {diag}\left\{ {\mathbf{A}_0^{\left( A \right) } \ldots \mathbf{A}_i^{\left( A \right) } \ldots \mathbf{A}_n^{\left( A \right) } } \right\} \),

$$\begin{aligned} {\mathbf {D}}_{A}= & {} \left[ {\begin{array}{llllllllllll} {-{\mathbf {D}}_{{0,0}} } &{}\quad {{\mathbf {D}}_{{0,1}} } &{}\quad 0 &{}\quad \cdots &{}\quad 0 &{}\quad 0 &{}\quad 0 &{}\quad 0 &{}\quad \cdots &{}\quad 0 &{}\quad 0 &{}\quad 0\\ \vdots &{}\quad \vdots &{}\quad \vdots &{}\quad &{}\quad \vdots &{}\quad \vdots &{}\quad \vdots &{}\quad \vdots &{}\quad &{}\quad \vdots &{}\quad \vdots &{}\quad \vdots \\ 0&{}\quad 0 &{}\quad 0 &{}\quad \cdots &{}\quad 0 &{}\quad { - {\mathbf {D}}_{{i,i}} } &{}\quad {{\mathbf {D}}_{{i,i + 1}} } &{}\quad 0 &{}\quad \cdots &{}\quad 0 &{}\quad 0 &{}\quad 0\\ \vdots &{}\quad \vdots &{}\quad \vdots &{}\quad &{}\quad \vdots &{}\quad \vdots &{}\quad \vdots &{}\quad \vdots &{}\quad &{}\quad \vdots &{}\quad \vdots &{}\quad \vdots \\ 0&{}\quad 0 &{}\quad 0 &{}\quad \cdots &{}\quad 0 &{}\quad 0 &{}\quad 0 &{}\quad 0 &{}\quad \cdots &{}\quad 0 &{}\quad -{\mathbf {D}}_{{n,~n}} &{}\quad {\mathbf {D}}_{{n,~n + 1}}\\ \end{array}}\right] ,\\ \mathbf{F}_A= & {} \left[ {{\begin{array}{l} {\mathbf{F}_0 } \\ \vdots \\ {\mathbf{F}_i } \\ \vdots \\ {\mathbf{F}_n } \\ {\mathbf{F}_{n+1} } \\ \end{array}}}\right] , \quad \mathbf{f}_A =\left[ {{\begin{array}{l} {\mathbf{f}_{A,0} } \\ \vdots \\ {\mathbf{f}_{A,i} } \\ \vdots \\ {\mathbf{f}_{A,n} } \\ \end{array}}} \right] , \quad \mathbf{f}_{A,0} =-\mathbf{h}_{A,0} -{\bar{\mathbf{D}}}_1 {\bar{\mathbf{M}}}_1 +\mathbf{Q}_{A,0}^{(g)} +\mathbf{Q}_{q_{A,0} }^{(H)} +\mathbf{Q}_{q_0 }^{\left( u \right) },\\ \mathbf {f}_{A,i}= & {} {} -\mathbf {h}_{A,i} -{\overline{\overline{\mathbf {D}}}}_i {\overline{\mathbf {M}}}_i -{{\overline{\mathbf {D}}}}_{i+1} {\overline{\mathbf {M}}}_{i+1} +\mathbf {Q}_{A,i}^{(g)} +\mathbf {Q}_{q_{A,i} }^{(H)} +\mathbf {Q}_{q_i }^{\left( u \right) },\\ \mathbf {f}_{A,n}= & {} {} -\mathbf {h}_{A,n} -{\overline{\overline{\mathbf {D}}}}_n {\overline{\mathbf {M}}}_n +\mathbf {Q}_{A,n}^{(g)} +\mathbf {Q}_{q_{A,n} }^{(H)} +\mathbf {Q}_{q_n }^{\left( u \right) }. \end{aligned}$$

The segments have to be connected with the environment—at points \(A_0 \) and \(A_{n+1} \), as well as between themselves. The constraint equations are assumed as follows:

$$\begin{aligned} {\mathbf {r}}_{0}= & {} \overline{{\mathbf {r}}} _{0} (t), \end{aligned}$$
(55a)
$$\begin{aligned} {\mathbf {r}}_{{i - 1}} + l_{{i - 1}} {\varvec{\upphi }} _{{i - 1}}= & {} {\mathbf {r}}_{i} \quad {\text {for}}i = 1, \ldots ,n, \end{aligned}$$
(55b)
$$\begin{aligned} {\mathbf {r}}_{{n + 1}}= & {} {\mathbf {r}}_{n} + l_{n} {\varvec{\upphi }} _{n}= \overline{{\mathbf {r}}} _{{n + 1}} (t), \end{aligned}$$
(55c)

where \({\bar{\mathbf{r}}}_0 (t)\) and \({\bar{\mathbf{r}}}_{n+1} (t)\) are known functions of time.

Having twice differentiated equations (55) with respect to time t, they can be presented in the acceleration form:

$$\begin{aligned} \left( {{\mathbf {D}}_{A} } \right) ^\mathrm{T} {\ddot{\mathbf {q}}}_{A} = {\mathbf {g}}_{A}, \end{aligned}$$
(56)

where \({\mathbf {g}}_{A} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {{\ddot{\mathbf {r}}}_{0} } \\ \vdots \\ \end{array} } \\ {{\mathbf {g}}_{{A,i}} } \\ {\begin{array}{*{20}c} \vdots \\ {{\mathbf {g}}_{{A,n}} } \\ {{\mathbf {g}}_{{A,n + 1}} +\ddot{\bar{\mathbf {{r}}}}_{{n + 1}} } \\ \end{array} } \\ \end{array} } \right] ,\qquad {\mathbf {g}}_{{A,i}} = - l_{i} \displaystyle \mathop \sum \nolimits _{{j = 1}}^{3} \mathop \sum \nolimits _{{k = 1}}^{3} {\varvec{\upphi }}_{{i,j,k}} {{\dot{\varphi }}}_{{i,j}} {{\dot{\varphi }}}_{{i,k}}\)   for \(i=1,\ldots ,n+1\).

7.2 Joint coordinates

In this case, constraint equations refer only to points \(A_0\) and \(A_{n+1} \) because the choice of generalised coordinates ensures continuity of displacements at points \(A_1,{\ldots },A_n\).

Generalised forces resulting from external forces \(\mathbf{F}_0 \) and \(\mathbf{F}_{n+1} \) can be calculated according to the formulae:

$$\begin{aligned} {\mathbf {Q}}_{{{\mathbf {r}}_{0} }}^{{(J)}} \left( {{\mathbf {F}}_{0} } \right)= & {} {\mathbf {F}}_{0} \end{aligned}$$
(57a)
$$\begin{aligned} {\mathbf {Q}}_{{{\mathbf {r}}_{0} }}^{{(J)}} \left( {{\mathbf {F}}_{{n + 1}} } \right)= & {} - \left( {\frac{{\partial {\mathbf {r}}_{{A_{{n + 1}} }} }}{{\partial {\mathbf {r}}_{0} }}} \right) ^{T} {\mathbf {F}}_{{n + 1}} = - {\mathbf {IF}}_{{n + 1}} \end{aligned}$$
(57b)
$$\begin{aligned} {\mathbf {Q}}_{{{{{\varvec{\upvarphi }}}}_{i} }}^{{(J)}} \left( {{\mathbf {F}}_{{n + 1}} } \right)= & {} - \left( {\frac{{\partial {\mathbf {r}}_{{A_{{n + 1}} }} }}{{\partial {{\varvec{\upvarphi }}}_{i} }}} \right) ^{T} {\mathbf {F}}_{{n + 1}} = - {\varvec{\upphi }} _{i}^{'} {\mathbf {F}}_{{n + 1}} \end{aligned}$$
(57c)

Due to the following relation:

$$\begin{aligned} \mathbf{r}_{A_{n+1} } =\mathbf{r}_0 +\mathop \sum \limits _{j=0}^n l_j {\varvec{\upphi }} _j, \end{aligned}$$
(58)

the reaction vector can be presented as follows:

$$\begin{aligned} \mathbf{Q}_J \left( {\mathbf{F}_0,\mathbf{F}_{n+1} } \right) =-\mathbf{D}_J \mathbf{F}_J, \end{aligned}$$
(59)

where \(\mathbf{D}_J =\left[ {{\begin{array}{ll} {-\mathbf{I}}&{}\quad \mathbf{I} \\ 0&{}\quad {{\varvec{\upphi }}_0^{\prime } } \\ \vdots &{} \quad \vdots \\ 0&{}\quad {{\varvec{\upphi }}_i^{\prime } } \\ \vdots &{} \quad \vdots \\ 0&{} \quad {{\varvec{\upphi }}_n^{\prime } } \\ \end{array} }} \right] \), \(\mathbf{F}_J =\left[ {{\begin{array}{c} {\mathbf{F}_0 } \\ {\mathbf{F}_{n+1} } \\ \end{array} }} \right] \), \({\varvec{\upphi }}_i^{\prime } \) are defined in (53).

The constraint equations take the following form:

$$\begin{aligned} \mathbf{r}_0= & {} {\bar{\mathbf{r}}}_0 (t), \end{aligned}$$
(60a)
$$\begin{aligned} \mathbf{r}_{n+1}= & {} {\bar{\mathbf{r}}}_{n+1} (t). \end{aligned}$$
(60b)

In view of (56), the constraint equations can be written in the acceleration form as follows:

$$\begin{aligned} \left[ {\mathbf{D}_J } \right] ^{T}{\ddot{\mathbf{q}}}_j=\mathbf{g}_{j}, \end{aligned}$$
(61)

where \({\mathbf {g}}_{J} = \left[ {\begin{array}{c} {{\mathbf {g}}_{{J,{\mathbf {r}}_{0} }} } \\ {{\mathbf {g}}_{{J,n + 1}} + \ddot{\bar{\mathbf {r}}}_{{n + 1}} } \\ \end{array} } \right] ,{\mathbf {g}}_{{J,{{{\mathbf {r}}}}_{0} }} = {\ddot{\mathbf {r}}}_{0}, {\mathbf {g}}_{{J,n + 1}} = \displaystyle {\mathop {\sum }\nolimits _{i = 0}^{n}} {\mathbf {g}}_{{A,i}}\).

Taking into account previous relations, the equations of motion can be written in the form

$$\begin{aligned}&{\mathbf {M}}_{J} {\ddot{\mathbf {q}}}_{J} + {\mathbf {D}}_{J} {\mathbf {F}}_{J} = {\mathbf {f}}_{J}, \end{aligned}$$
(62a)
$$\begin{aligned}&\left[ {{\mathbf {D}}_{J} } \right] ^\mathrm{T} {\ddot{\mathbf {q}}}_{J} = {\mathbf {g}}_{J}, \end{aligned}$$
(62b)

where \({\mathbf {M}}_j\) is defined in (20),

$$\begin{aligned} {\mathbf {f}}_{J}= & {} \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} {{\mathbf {f}}_{{J,{\mathbf {r}}_{0} }} }\\ {{\mathbf {f}}_{{J,0}} } \\ \end{array} } \\ \vdots \\ {\begin{array}{*{20}c} {{\mathbf {f}}_{{J,i}} } \\ \vdots \\ {{\mathbf {f}}_{{J,n}} } \\ \end{array} } \\ \end{array} } \right] ,\quad {\mathbf {f}}_{{J,{\mathbf {r}}_{0} }} = - {\mathbf {h}}_{r} + \mathop \sum \limits _{{i = 0}}^{n} {\mathbf {Q}}_{{J,i,{\mathbf {r}}_{0} }}^{{(g)}} + \mathop \sum \limits _{{i = 0}}^{n} {\mathbf {Q}}_{{J,i,{\mathbf {r}}_{0} }}^{{(H)}} + \mathop \sum \limits _{{i = 0}}^{n} {\mathbf {Q}}_{{J,i,{\mathbf {r}}_{0} }}^{{\left( u \right) }}.\\ {\mathbf {f}}_{{J,{{{\varvec{\upvarphi }}}}_{i} }}= & {} - {\mathbf {h}}_{{I,i}} + \mathop \sum \limits _{{j = i}}^{n} {\mathbf {Q}}_{{J,{{{\varvec{\upvarphi }}}}_{i} }}^{{(g)}} - \left( {1 - \delta _{{i,0}} } \right) {\overline{\overline{\mathbf {D}}}} _{i} {\mathbf {M}}_{i} \left( {1 - \delta _{{i,n}} } \right) {\overline{\mathbf {D}}}_{i} {\overline{\mathbf {M}}}_{{i + 1}} + \mathop \sum \limits _{{j = i}}^{n} {\mathbf {Q}}_{{J,{{{\varvec{\upvarphi }}}}_{i} }}^{{(H)}} + \mathop \sum \limits _{{j = i}}^{n} {\mathbf {Q}}_{{J,{{\varvec{{\upvarphi }}}}_{j} }}^{{\left( u \right) }}\\ {\mathbf {h}}_{{J,i}}= & {} \left[ {\begin{array}{*{20}c} {h_{{J,i,1}} } \\ {h_{{J,i,2}} } \\ {h_{{J,i,3}} } \\ \end{array} } \right] ,\quad {\mathbf {Q}}_{{J,{{{\varvec{\upvarphi }}}}_{i} }}^{{(H)}} = \left[ {\begin{array}{*{20}c} {Q_{{J,{{{\varvec{\upvarphi }}}}_{i},1}}^{{(H)}} } \\ {Q_{{J,{{{\varvec{\upvarphi }}}}_{i},2}}^{{(H)}} } \\ {Q_{{J,{{{\varvec{\upvarphi }}}}_{i},3}}^{{(H)}} } \\ \end{array} } \right] , \quad \delta _{i,0} \hbox { and } \delta _{i,n} \hbox { are Kronecker deltas}. \end{aligned}$$

8 Model validation

Both formulations of the segment method should give identical numerical results for the same data. The numerical experiments carried out confirm this compatibility. Some small differences may occur when coefficients for the constraint stabilisation method are not chosen carefully enough (for absolute coordinates). Calculation times are different for simulations of identical problems of dynamics of risers, and the next section is devoted to these problems.

Validation is carried out in three steps: first, the results of the authors’ own simulations dealing with forced vibrations of a cable (beam) without consideration of the sea environment are compared with the results obtained by means of the software Abaqus. The next two steps of validation concerned with free vibrations of the riser with internal fluid flow are compared with those obtained by means of the finite element method (COMSOL program) presented in [64], and subsequently, the frequencies of free and forced vibrations are compared with the experimental measurements and calculations by means of the finite element method (RIFLEX program) presented in [65].

8.1 Vibrations of a cable

As mentioned above, the first validation example is concerned with forced vibrations of beams (cables) when no hydrodynamic forces are considered. Figure 10 shows the model of a beam and the load imposed on the beam considered.

Fig. 10
figure 10

Beam considered: a the model of the beam b course of the vertical force

The beam is loaded at its middle point M with a vertical force \(F_y \), the course of which is presented in Fig. 10b. Geometrical and mechanical properties of the beam are presented in Table 1.

Table 1 Parameters of the beam

Comparison of the authors’ own results obtained by SM for \(n=50\) elements with results obtained using Abaqus (3-node quadratic beam in space, hybrid formulation, B32H elements, \(n=50\)) is presented in Fig. 11.

Fig. 11
figure 11

Courses of displacements

Gravity forces have been omitted for numerical simulations, and the equations of motion have been integrated using the Runge–Kutta method with constant integration step \(h=0.0001\,\hbox {s}\). Very good compatibility of the results obtained by means of SM and FEM (Abaqus) can be observed.

Fig. 12
figure 12

Influence of the number of elements on the results obtained

The results presented in Fig. 12 show the influence of the number of segments into which the beam is discretised. It is important to note that already for \(n=10\) the results obtained differ from those obtained for \(n=50\) only by 1%. Differences between both formulations of SM are negligible.

The second example is concerned with analysis of forced vibrations with large amplitude of a line, shown in Fig. 13a, loaded with forces applied at its end (at point E). Forces in directions x and z act during 10 s, each in the way shown in Fig. 13b, while the force acting in the y direction during 50 s is constant and equals − 5000 N.

Fig. 13
figure 13

Line considered a model of the line b courses of forces acting at the end of the line

Parameters of the line considered are shown in Table 2.

Table 2 Parameters of the line

Numerical simulations, using both the authors’ program and Abaqus, have been carried out for discretisation into \(n=50\) segments in the primary division. Comparison of the trajectory of point E is presented in Fig. 14, while Fig. 15 presents displacements of point E in the x, y and z directions.

Fig. 14
figure 14

Trajectory of point E calculated using Abaqus and SM in both formulations

Fig. 15
figure 15

Displacements of point E in respective directions: a\(x_E (t)\), b\(y_E (t)\), c\(z_E (t)\)

The equations of motion have been integrated using the Runge–Kutta method of the fourth order with constant integration step \(h=0.002\,\hbox {s}\). Analysis of the results presented in Figs. 15 and 16 shows very good compatibility of the results. Table 3 contains times of calculations (integration of the equations of motion) for both formulations of SM in relation to the number of discretisation segments. The following notation is used in the table: joint coordinates are denoted by “J”, and absolute coordinates are denoted by “A”. The influence of torsion is also examined for both formulations, and in order to compare the results, the case in which torsion is included is denoted by “3”, while “2” means that torsion is omitted. When joint coordinates “J” are used, the vector of generalised coordinates is in the form:

(63)

while for the absolute coordinates “A” the following takes place:

(64)
Table 3 Comparison of times of calculations

Times of calculations for SM in absolute coordinates (“A”) for \(n\le 50\) are longer than in joint coordinates (“J”). However, for \(n>50\) there is a reverse dependency, which means that then SM in absolute coordinates is more effective numerically.

8.2 Frequencies of free vibrations with consideration of internal fluid flow

Zhang et al. [64] discuss vibrations of risers subjected to axial tension, and among others, they analyse free vibrations of a straight vertical riser simply supported at both ends, with the parameters given in Table 4.

Table 4 Parameters of the riser with internal fluid

The coefficient \(i_T\) defines reinforcement of the pretension of the upper end of the riser:

$$\begin{aligned} T=i_T gm^{\prime }, \end{aligned}$$
(65)

where \({m}^{\prime }=\mathop \sum \nolimits _{i=0}^{n} m_i, m_i\) is defined by (28), \(g{m}^{\prime }\) is the force counterbalancing the weight of the riser and internal fluid in the sea.

Table 5 presents values of the first two frequencies of free vibrations of the riser analysed.

Table 5 Comparison of free vibration frequencies

Results presented in [49] are obtained for the riser divided into 1500 elements (the authors do not give information about the type of elements, but presumably either shell or solid elements are used), and our results are obtained by means of the segment method (SM) with discretisation into \(n=50\) elements. It is important to note that the differences do not exceed 0.1%.

Table 6 presents the influence of the number of elements n on the results obtained only for \(i_T=1\).

Table 6 Influence of n on first two frequencies of free vibrations

8.3 Comparison of the results with those from experimental measurements and FEM calculations

Validation of the segment method is carried out on the basis of well-documented results of experimental measurements and numerical calculations presented in [66, 67]. The model of the riser analysed is shown in Fig. 16.

Fig. 16
figure 16

Models of the riser for validation a and c models used for frequencies of free vibrations, b model used for forced vibrations

Frequencies of free vibrations are calculated for cases (a) and (c), while in case (b) the top end of the riser performs a harmonic motion. Table 7 gives the parameters of the riser.

Table 7 Parameters of the riser

Table 8 presents the first three frequencies of free vibrations of the riser from Fig. 16a obtained by experimental measurements (E), the Riflex program (R) as in [66], the segment method (S), and calculated analytically (A) from the following formula:

$$\begin{aligned} \omega _i =\frac{i\pi }{L}\sqrt{\frac{T}{m^{*}}+\frac{i^{2}\pi ^{2}}{L^{2}}\frac{EI}{m^{*}}}\quad \hbox {for}\;i=1,2,3, \end{aligned}$$
(66)

where L is the length of the riser, i is the number of the free frequency. Using this formula, it is assumed that buoyancy forces act along the whole length of the riser.

Table 8 Frequencies of free vibrations of the riser (Fig. 16a)

Differences between values \(\omega _1\), \(\omega _2\), \(\omega _3\) from experimental measurements and calculated with the segment method are not larger than 5%.

Figure 17 presents the results of comparison of the forced vibrations for a riser from Fig. 16b when the upper end of the riser (point \(A_0\)) moves harmonically in a horizontal direction. The amplitude of the motion equals \(0.013\,\hbox {m}\) and its frequency is \(\omega _2 (E)=1.4771/\hbox {s}\). Good compatibility of the results of calculations and experimental measurements has been obtained both in the range of displacement and curvature amplitudes.

Fig. 17
figure 17

Amplitudes of: a displacements, b curvature of the forced harmonic motion

Table 9 presents vibration frequencies of the riser shown in Fig. 16c.

Table 9 Frequencies of free vibrations of the riser from Fig. 16c

It can be seen that the differences, as in the case of using the Riflex package, are smaller than 10.5%.

In summary, the validation process has proved that the results obtained during the analysis of both free and forced vibrations are compatible with experimental measurements and the calculation results presented in [66] and [67]. Formulation of the segment method in joint coordinates has been used, and in order to calculate frequencies of free vibrations a procedure presented in [60] has been applied. Calculations were carried out on a mid-level PC with a 3.6 GHz processor, and the programs were written in Delphi.

9 Numerical simulations and effectiveness of SM

The dynamic problem for the riser presented in Fig. 18 is solved in order to compare the effectiveness of both formulations of the segment method.

Fig. 18
figure 18

Model of the riser

The top end of the riser moves in the xz plane along a trajectory similar to an ellipse (Fig. 19).

Fig. 19
figure 19

Motion of the top end of the riser: a trajectory, b\(x_0 (t),z_0 (t)\)

The translational motion of the bottom end of the riser (point \(A_{n+1})\) is not allowed. Parameters of the riser and environment are given in Table 10.

Table 10 Parameters of the riser

Notation is used as described in Sect. 8.1 (Eqs. (6364)). It is assumed that the riser is loaded with the sea current along the z axis with constant velocity \(v_c =1\,\hbox {m}/\hbox {s}\). Figure 20 presents the shape of the riser and courses x(s) and z(s) for \(t=24\,\hbox {s}\). Courses for “J2” and “A2” as well as “J3” and “A3” coincide since the results obtained by both formulations are almost identical.

Fig. 20
figure 20

Shape of the riser for \(t=24\,\hbox {s}\): a 3D, bx(s), z(s)

Figures 21 and 22 present the influence of torsion on stresses in the middle of the riser length. The torsion influence is significant for stress, while its influence on displacements is negligible.

Fig. 21
figure 21

Bending stress in the middle of the riser: a\(\sigma _{xy} =M_3^{{\prime }}/wB\), b\(\sigma _{xz} =M_2^{{\prime }} /wB\), c\(\sigma _b =\sqrt{\sigma _{xy}^2 +\sigma _{xz}^2 }\), \(wB=\frac{\pi }{32}\left[ D_\mathrm{out}^4 -D_\mathrm{inn}^4 \right] D_\mathrm{out} \)

Fig. 22
figure 22

Stress \(\sigma _t =M_1^{\mathrm{{\prime }}} /wT\) due to torsion in the middle of the riser,

\(wT=\frac{\pi }{16}D_\mathrm{out}^3 \left[ {1-\left( {\frac{D_\mathrm{inn} }{D_\mathrm{out} }} \right) ^{4}} \right] ,\; M_1^{\mathrm{{\prime }}} ,M_2^{\mathrm{{\prime }}},M_3^{\mathrm{{\prime }}} \) are coordinates of the vector \({\bar{\mathbf{M}}}_i \) from (26). The bending and torsional stresses for \(t=24\,\hbox {s}\) along the riser are presented in Fig. 23.

Fig. 23
figure 23

Bending and torsional stresses for \(t = 24\)  s a\(\sigma _{xy} \), b\(\sigma _{xz} \), c\(\sigma _t \)

The results presented in the above graphs are obtained for \(n=100\). The number of segments n into which the riser is divided is important, and thus, its influence on the bending stress in the middle of the riser is presented in Fig. 24.

Fig. 24
figure 24

Influence of n on bending stress \(\sigma _b \) at L / 2

The choice of generalised coordinates (“J” or “A”), and the decision whether the torsion is considered or not, directly influence the calculation time. Table 11 presents calculation times for different numbers of segments n for all four cases “J2”, “J3”, “A2” and “A3”.

Table 11 Calculation times

The equations of motion were integrated by the Runge–Kutta method of the fourth order with constant integration step \(h=0.002\,\hbox {s}\) over time period \(\langle 0,36\,\hbox {s}\rangle \). Dependence of calculation time on number n is presented in Fig. 25.

Fig. 25
figure 25

Calculation time versus n

Having analysed the results presented in Table 11 and Fig. 25, it can be seen that shorter calculation times for \(n\ge 20\) are obtained when absolute coordinates are chosen. This effect is even larger when torsion is omitted.

9.1 Final remarks

The paper presents two formulations of the segment method: by means of joint and absolute coordinates. Analysis of published research shows that the formulation which uses joint coordinates is more frequent; however, formulation of the segment method for dynamic analysis of risers is simpler when absolute coordinates are applied.

Validation of the methods presented in Sect. 8 confirms the correctness of the formulated algorithms. The frequencies of free vibrations of the riser with consideration of the internal fluid flow calculated by means of the segment method are closely compatible with those obtained using the finite element method. Even for \(n\ge 25\), the differences are less than 0.1%. Also, a comparison of the authors’ own results with those obtained from experimental measurement and calculations carried out with the Riflex software package shows that the differences in frequencies of free vibrations are less than 5% for the riser of 9 m and 10.5% for the riser of 9.5 m with a spring at its bottom end. Equally good compatibility of results is obtained when vibrations forced by the harmonic motion of the top end are analysed.

Both formulations differ in numerical effectiveness. The calculations presented in Sect. 9 show that shorter calculation times are required when absolute coordinates are used. When the number of segments \(n\ge 40\), the calculation time for joint coordinates is almost 50% longer than when absolute coordinates are used.

Essential differences in both formulations of the segment method are presented in Table 12.

Table 12 Differences in formulations of the SM (absolute vs joint coordinates)

An important conclusion from the analysis of the numerical results is that when displacements and bending stress are analysed for typical risers, it is possible to leave torsion out of consideration. Neglecting torsion would result in further considerable shortening of calculation time. However, this can be done only when torsional vibrations are not important for fatigue analysis.

Results shown in Tables 3, 11 and 12 indicate that when n is large (dense discretisation), the formulation of the segment method in absolute coordinates (SM/A) is more effective than the formulation in joint coordinates (SM/J). When the sea environment is omitted, the effectiveness of MS/A is seen for \(n\ge 50\); this holds true even for \(n\ge 25\) when the sea environment is included. This dependency can be explained as follows. Times of calculations considerably depend on two factors:

  • dimension of the mass matrix \(N_A =6\left( {n+1} \right) \) for SM/A and \(N_J =3+3\left( {n+1} \right) \) for SM/J. In order to calculate the vector \({{\ddot{\mathbf{q}}}}\), it is necessary to solve either \(N_A +3\left( {n+1} \right) \) or \(N_J \) linear algebraic equations at each integration step. Therefore, calculation times are considerably shorter when the smaller number of equations in SM/J is solved.

  • number of arithmetic operations connected with generation of mass matrices, constraint equations and the vector of right hand sides of equations. In this case, SM/A is superior especially when the sea environment is considered. This is due to the fact that forces acting at segment i (also inertial forces) in SM/J also influence all preceding segments and thus lengthen the time of generation of the equations of motion.

Due to the reciprocal influence of both factors, the indication of numerical effectiveness of both formulations is equivocal. For a small number of n, the dimension of linear algebraic equations is more influential and thus SM/J is more effective, while for large n the generation times of the equations of motion are more influential and thus SM/A is more effective.

Whenever possible, it is more reasonable to apply formulation of the segment method in absolute coordinates and neglect torsion. A further reduction in calculation time can be expected if the specific form of the matrix \(\mathbf{D}\) (of reactions and constraints) is used in generating the equations of motion in absolute coordinates.