# An Efficient Model of Tethers for Tethered Satellite Systems

• Ma Shuguang
• Wang Tianshu
Original Paper

## Abstract

This paper concerns about modeling of tethered satellites systems (TSS). In this paper, tethers of TSS are modeled as chains of elastic rods connected by rigid joints. A group of spatial vectors are used to describe displacement, orientation and deformation of the rods, which can avoid the coupling of trigonometric functions of Euler angles. The coordinates of spatial vectors are chosen as the generalized coordinates of system. Equations of motion are derived and written in explicit form. A computationally efficient algorithm is developed to solve equations of motion. Computational complexity of the developed algorithm is reduced to O(n) (n denotes the number of rods). A numerical experiment is performed. Results about energy show energy conservation principle is obeyed. The same numerical experiment is also performed utilizing multibody software ADAMS. Validity of the presented algorithm is demonstrated by comparing numerical results of the two methods.

## Keywords

Tethered satellites systems Model of tether Recursive algorithm Multibody dynamics

## 1 Introduction

Tethers are widely used in various fields of engineering application such as tethered marine systems [1, 2, 3], airborne wind energy systems [4, 5, 6, 7] and tethered satellites systems [8, 9, 10, 11, 12]. Considering a tether performing spatial motion, the motion of tether can be regarded as the integral of two different kinds of motion: small deformation and large rigid body motion. These two kinds of motion are usually studied by different methods.

For small deformation of tether, a typical model is the continuum model [2, 7]. The continuum model considers tether as a system within infinite degrees. Partial differential equations for the system are derived utilizing continuum mechanics. The continuum model is quite accurate for theory, while it is not convenient to be utilized for numerical simulation directly. To do numerical simulation, a common way is to transfer the partial differential equations to ordinary differential equations by numerical methods, such as finite difference method [13] and finite element method [14]. Finite element method is more popular than finite difference method because of the former one’s advantages in accuracy and efficiency.

The finite element method does well for problems where small deformation is mainly considered. While, the coupling of small deformation and large rigid body motion brings difficulties into problems where the tether performs large spatial motion. To model the rigid body motion of tether, some work [1, 3, 4, 5, 6] applies multibody dynamics [15, 16] and uses Euler angles to describe the orientation of reference frame. It is a typical way to use Euler angles in multibody dynamics, however, the coupling of trigonometric functions of the Euler angles makes the form of mass matrix very complex. When doing numerical simulation, much calculation is needed to compute the value of mass matrix, which is harmful to improve the computational efficiency.

Another alternative method to solve the coupling of small deformation and large rigid body motion is the absolute nodal coordinate formulation [17, 18, 19]. The absolute nodal co-ordinate formulation is a non-linear finite element method with floating frame of reference. It uses global slopes instead of Euler angles to define the orientation of the elements. Using this method, the form of equations of motion is quite concise and the mass matrix is a constant matrix. While, it still needs much calculation to compute the value of elastic matrix, even for problems within some simplifications [18].

Besides the coupling of deformation and rigid body motion, another problem for the simulation of tether is the large scale calculation to solve equations of motion. For most of the methods to study tether, the equations of motion can be written as a group of ordinary differential equations $${\mathbf{M}}\ddot{\mathbf{q}} ={\mathbf{f}}\left({ {\mathbf{q,}}\dot{\mathbf{q}},t} \right)$$, where $${\mathbf{q}} \in R^{n}$$ is the generalized coordinates, $${\mathbf{M}} \in R^{n \times n}$$ is the mass matrix, and n is usually the number of degrees of freedom. There are many algorithms to solve ordinary differential equations [20], most of which need to solve the linear equations $${\mathbf{Mx = b}}$$ for each time step. Generally, considering a common non-singular n by n matrix $${\mathbf{M}}$$, the computational complexity of algorithms to solve equations $${\mathbf{Mx = b}}$$ is O(n3) [21]. For a model of tether, the number of degrees of freedom can be quite large, maybe up to one hundred or larger. Using the O(n3) algorithms, it would be too slow for numerical simulation. So a more computationally efficient algorithm is need.

This paper presents a model of tether. The rotation and torsion along the longitudinal axis of tether are assumed to be neglected, so the shape of tether can be simplified as a spatial curve. Additionally, the elastic potential energy of tether is assumed to be mainly made up of tensile potential energy, so only tensile rigidity is considered. A tether performing spatial motion is modeled as a chain of elastic rods which are linked by rigid joints. To avoid the coupling of angles, a group of spatial vectors, which point from one end of a rod to the other one, are used to describe displacement, orientation and deformation of the rods.

The coordinates of the spatial vectors are chosen as the generalized coordinates of system. Lagrange’s equations of motion are derived and written in the matrix form. To improve the computational efficiency of numerical simulation, an algorithm is developed based on factoring the mass matrix. The developed algorithm applies several recursive schemes, computational complexity of the algorithm is reduced to O(n).

A numerical experiment is performed. The numerical experiment is about a hanging tether falling under the influence of gravity. Results for energy of system are presented. By verifying the time dependence of total energy of system, it can be seen that energy conservation principle is obeyed. Multibody software ADAMS is used to compare with the proposed model. Result validity is demonstrated by the comparison of results of the two methods.

## 2 A Discrete Model of Tether

A tether performing spatial motion under the influence of external force is studied. As shown in Fig. 1, the tether is modeled as a chain of n elastic rods connected by n+1 rigid joints. Some assumptions are made for the model. The rod $$O_{i - 1} O_{i}$$ which has two ends $$O_{i - 1}$$ and $$O_{i}$$, is uniform with mass $$m_{i}$$, cross-sectional area $$A_{i}$$ and Young’s modulus $$E_{i}$$. The joints which are set at $$O_{i} \;$$, are massless spherical hinges without friction. One end of the tether $$O_{0}$$ is fixed, while the other end $$O_{n}$$ is free. Distributed spatial force $${\mathbf{f}}_{i}$$ is exerted to rod $$O_{i - 1} O_{i}$$. As the tether moves, rod $$O_{i - 1} O_{i}$$ stays straight, with variable length $$l_{i}$$ and original length $$l_{i0}$$.

An inertial frame of reference $$O_{0} - X - Y - Z$$ is set at $$O_{0}$$. A group of spatial vectors $$\overrightarrow {{O_{i - 1} O_{i} }} \;,\quad i = 1 \ldots n$$ are used to describe the displacement, orientation and deformation of the rods. As shown in Fig. 1, the frame of reference $$O_{i} - X - Y - Z$$ is parallel to the frame of reference $$O_{0} - X - Y - Z$$. $$\left( {x_{i} ,y_{i} ,z_{i} } \right)\;$$ are coordinates of the spatial vector $$\overrightarrow {{O_{i - 1} O_{i} }}$$ in the frame $$O_{i} - X - Y - Z$$, and they are chosen as generalized coordinates of system.

The equations of motion can be derived utilizing Lagrange’s equations of the second kind:
$$\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial L}{{\partial {\dot{\mathbf{q}}}}}} \right) - \frac{\partial L}{{\partial {\mathbf{q}}}} = {\mathbf{Q}}$$
(1)
where $$L = T - V$$, $${\mathbf{q}} = [ x_{1} ,y_{1} ,z_{1} \cdots x_{i} ,y_{i} ,z_{i} \cdots , x_{n} , y_{n} , z_{n} ]^{\text{T}}$$ and $${\mathbf{Q}} = \frac{\delta W}{{\delta {\mathbf{q}}}}$$.
As mentioned above, the rods are uniform and stay straight as the tether moves. Considering a point $$P$$ in the rod $$O_{i - 1} O_{i}$$, with the original distance $$l_{0}$$ from $$P$$ to $$O_{i - 1}$$, the coordinates of $$\overrightarrow {{O_{0} P}}$$ in the frame of reference $$O_{0} - X - Y - Z$$ can be approximately written as:
\begin{aligned} x_{P} & = x_{{O_{i - 1} }} + \frac{{l_{0} }}{{l_{i0} }}x_{i} = \sum\limits_{j = 1}^{i - 1} {x_{j} } + \frac{{l_{0} }}{{l_{i0} }}x_{i} \\ y_{P} & = y_{{O_{i - 1} }} + \frac{{l_{0} }}{{l_{i0} }}y_{i} = \sum\limits_{j = 1}^{i - 1} {y_{j} } + \frac{{l_{0} }}{{l_{i0} }}y_{i} \\ z_{P} & = z_{{O_{i - 1} }} + \frac{{l_{0} }}{{l_{i0} }}z_{i} = \sum\limits_{j = 1}^{i - 1} {z_{j} } + \frac{{l_{0} }}{{l_{i0} }}z_{i} . \\ \end{aligned}
(2)
The original mass density of the rod $$O_{i - 1} O_{i}$$ is $${{m_{i} } \mathord{\left/ {\vphantom {{m_{i} } {l_{i0} }}} \right. \kern-0pt} {l_{i0} }}$$, so the kinetic energy of the rod $$O_{i - 1} O_{i}$$ is derived by:
\begin{aligned} T_{i} & = \int {\frac{1}{2}} v_{P}^{2} \, \cdot \,{\text{d}}m \\ & = \frac{1}{2}\int_{0}^{{l_{i0} }} {\left( {\dot{x}_{P}^{2} + \dot{y}_{P}^{2} + \dot{z}_{P}^{2} } \right)\, \cdot \,\frac{{m_{i} }}{{l_{i0} }}} {\text{d}}l_{0} \\ & = \frac{1}{2}\int_{0}^{{l_{i0} }} {\frac{{m_{i} }}{{l_{i0} }}} \left[ \begin{aligned} &\left( {\sum\limits_{j = 1}^{i - 1} {\dot{x}_{j} + \frac{l}{{l_{i0} }}} \dot{x}_{i} } \right)^{2} + \hfill \\ &\left( {\sum\limits_{j = 1}^{i - 1} {\dot{y}_{j} + \frac{l}{{l_{i0} }}} \dot{y}_{i} } \right)^{2} + \left( {\sum\limits_{j = 1}^{i - 1} {\dot{z}_{j} + \frac{l}{{l_{i0} }}} \dot{z}_{i} } \right)^{2} \hfill \\ \end{aligned} \right]{\text{d}}l_{0} \\ & = \frac{{m_{i} }}{2}\left[ \begin{aligned} \left( {\sum\limits_{j = 1}^{i - 1} {\dot{x}_{j} + \frac{{\dot{x}_{i} }}{2}} } \right)^{2} + \left( {\sum\limits_{j = 1}^{i - 1} {\dot{y}_{j} + \frac{{\dot{y}_{i} }}{2}} } \right)^{2} \hfill \\ + \left( {\sum\limits_{j = 1}^{i - 1} {\dot{z}_{j} + \frac{{\dot{z}_{i} }}{2}} } \right)^{2} + \frac{1}{12}\left( {\dot{x}_{i}^{2} + \dot{y}_{i}^{2} + \dot{z}_{i}^{2} } \right) \hfill \\ \end{aligned} \right]. \\ \end{aligned}
(3)
The total kinetic energy of tether is the sum of each rod’s kinetic energy:
\begin{aligned} T & = \sum\limits_{i = 1}^{n} {T_{i} } \\ & = \sum\limits_{i = 1}^{n} {\frac{{m_{i} }}{2}\left[ \begin{aligned} \left( {\sum\limits_{j = 1}^{i - 1} {\dot{x}_{j} + \frac{{\dot{x}_{i} }}{2}} } \right)^{2} + \left( {\sum\limits_{j = 1}^{i - 1} {\dot{y}_{j} + \frac{{\dot{y}_{i} }}{2}} } \right)^{2}\\ + \left( {\sum\limits_{j = 1}^{i - 1} {\dot{z}_{j} + \frac{{\dot{z}_{i} }}{2}} } \right)^{2} + \frac{1}{12}\left( {\dot{x}_{i}^{2} + \dot{y}_{i}^{2} + \dot{z}_{i}^{2} } \right) \hfill \\ \end{aligned} \right]} . \\ \end{aligned}
(4)

Apparently, the kinetic energy of the rod $$O_{i - 1} O_{i}$$ is only depended on the time derivate of generalized coordinates of the first i rods.

Applying (3) to (4), the total kinetic energy of tether can be written in the matrix form:
\begin{aligned} T & = \sum\limits_{i = 1}^{n} {\frac{{m_{i} }}{2}\left[ \begin{aligned} \left( {\sum\limits_{j = 1}^{i - 1} {\dot{x}_{j} + \frac{{\dot{x}_{i} }}{2}} } \right)^{2} + \left( {\sum\limits_{j = 1}^{i - 1} {\dot{y}_{j} + \frac{{\dot{y}_{i} }}{2}} } \right)^{2} \hfill \\ \;\; + \left( {\sum\limits_{j = 1}^{i - 1} {\dot{z}_{j} + \frac{{\dot{z}_{i} }}{2}} } \right)^{2} + \frac{1}{12}\left( {\dot{x}_{i}^{2} + \dot{y}_{i}^{2} + \dot{z}_{i}^{2} } \right) \hfill \\ \end{aligned} \right]} \\ & = \frac{1}{2}\left[ {{\dot{\mathbf{x}}}^{\text{T}} \left( {{\varvec{\Phi}} - \frac{1}{2}{\mathbf{I}}} \right)^{\text{T}} {\mathbf{D}}\left( {{\varvec{\Phi}} - \frac{1}{2}{\mathbf{I}}} \right){\dot{\mathbf{x}}} + \frac{1}{12}{\dot{\mathbf{x}}}^{\text{T}} {\mathbf{D}}\dot{\mathbf{{x}}}} \right] \\ & \quad + \frac{1}{2}\left[ {{\dot{\mathbf{y}}}^{\text{T}} \left( {{\varvec{\Phi}} - \frac{1}{2}{\mathbf{I}}} \right)^{\text{T}} {\mathbf{D}}\left( {{\varvec{\Phi}} - \frac{1}{2}{\mathbf{I}}} \right){\dot{\mathbf{y}}} + \frac{1}{12}{\dot{\mathbf{y}}}^{\text{T}} {\mathbf{D}}\dot{\mathbf{{y}}}} \right] \\ & \quad + \frac{1}{2}\left[ {{\dot{\mathbf{z}}}^{\text{T}} \left( {{\varvec{\Phi}} - \frac{1}{2}{\mathbf{I}}} \right)^{\text{T}} {\mathbf{D}}\left( {{\varvec{\Phi}} - \frac{1}{2}{\mathbf{I}}} \right){\dot{\mathbf{z}}} + \frac{1}{12}{\dot{\mathbf{z}}}^{\text{T}} {\mathbf{D}}\dot{\mathbf{{z}}}} \right]. \\ \end{aligned}
(5)
In (5), $${\dot{\mathbf{x}}} = \left[ {\dot{x}_{1} , \ldots ,\dot{x}_{n} } \right]^{T} \;\;{\dot{\mathbf{y}}} = \left[ {\dot{y}_{1} , \ldots ,\dot{y}_{n} } \right]^{T} \;\;{\dot{\mathbf{z}}} = \left[ {\dot{z}_{1} , \ldots ,\dot{z}_{n} } \right]^{T}$$,
\begin{aligned} {\varvec{\Phi}} & = \left[ {\begin{array}{*{20}c} 1 & 0 & \cdots & 0 \\ 1 & 1 & \ddots & \vdots \\ \vdots & \ddots & \ddots & 0 \\ 1 & \cdots & 1 & 1 \\ \end{array} } \right],\quad {\mathbf{I}} = \left[ {\begin{array}{*{20}c} 1 & 0 & \cdots & 0 \\ 0 & 1 & \ddots & \vdots \\ \vdots & \ddots & \ddots & 0 \\ 0 & \cdots & 0 & 1 \\ \end{array} } \right], \\ {\mathbf{D}} & = \left[ {\begin{array}{*{20}c} {m_{1} } & 0 & \cdots & 0 \\ 0 & {m_{2} } & \ddots & \vdots \\ \vdots & \ddots & \ddots & 0 \\ 0 & \cdots & 0 & {m_{n} } \\ \end{array} } \right] \\ \end{aligned}
Equation (5) can be written in a more concise form:
$$T = \frac{1}{2}\left( {{\dot{\mathbf{x}}}^{T} {\mathbf{M}}\dot{\mathbf{{x}}} + {\dot{\mathbf{y}}}^{T} {\mathbf{M}}\dot{\mathbf{{y}}} + {\dot{\mathbf{z}}}^{T} {\mathbf{M}}\dot{\mathbf{{z}}}} \right),$$
(6)
$${\mathbf{M}} = \left( {{\varvec{\Phi}} - \frac{1}{2}{\mathbf{I}}} \right)^{T} {\mathbf{D}}\left( {{\varvec{\Phi}} - \frac{1}{2}{\mathbf{I}}} \right) + \frac{1}{12}{\mathbf{D}}.$$
(7)
In (6), $${\mathbf{M}}$$ is a constant symmetric n by n matrix, the values of elements of $${\mathbf{M}}$$ can be calculated by (7), the results are shown as:
\begin{aligned} \mathop {{\mathbf{M}}_{ii} }\limits_{1 \le i \le n} & = \frac{{m_{i} }}{3} + \sum\limits_{k = i + 1}^{n} {m_{k} } ;\quad \mathop {{\mathbf{M}}_{ij} }\limits_{1 \le i < j \le n} = \frac{{m_{j} }}{2} + \sum\limits_{k = j + 1}^{n} {m_{k} } ; \\ \mathop {{\mathbf{M}}_{ij} }\limits_{1 \le j < i \le n} & = \frac{{m_{i} }}{2} + \sum\limits_{k = i + 1}^{n} {m_{k} } ; \\ \end{aligned}
(8)
xi is the coordinate of the spatial vector $$\overrightarrow {{O_{i - 1} O_{i} }}$$ in X direction. Applying (6) and (8), $$\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial T}{{\partial \dot{x}_{i} }}} \right) - \frac{\partial T}{{\partial x_{i} }}$$ is given by:
\begin{aligned} &\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial T}{{\partial \dot{x}_{i} }}} \right) - \frac{\partial T}{{\partial x_{i} }} = \sum\limits_{j = 1}^{n} {{\mathbf{M}}_{ij} \ddot{x}_{j} } \\ &\quad = \sum\limits_{j = 1}^{i - 1} \left( {\frac{{m_{i} }}{2} + \sum\limits_{k = i + 1}^{n} {m_{k} } } \right)\ddot{x}_{j} + \left( {\frac{{m_{i} }}{3} + \sum\limits_{k = i + 1}^{n} {m_{k} } } \right)\ddot{x}_{i}\\ &\qquad+ \sum\limits_{j = i + 1}^{n} {\left( {\frac{{m_{j} }}{2} + \sum\limits_{k = j + 1}^{n} {m_{k} } } \right)\ddot{x}_{j} } . \\ \end{aligned}
(9)
The elastic energy of the rod $$O_{i - 1} O_{i}$$ can be written as:
\begin{aligned} V_{i} & = \frac{1}{2}E_{i} A_{i} l_{i} \left( {\frac{{l_{i} - l_{i0} }}{{l_{i0} }}} \right)^{2} \\ & \approx \frac{1}{2}\frac{{E_{i} A_{i} \left( {\sqrt {x_{i}^{2} + y_{i}^{2} + z_{i}^{2} } - l_{i0} } \right)^{2} }}{{l_{i0} }}. \\ \end{aligned}
(10)
The total elastic energy of tether the sum of each rod’s elastic energy:
$$V = \sum\limits_{i = 1}^{n} {V_{i} }$$
(11)
Applying (10) and (11), $$\frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial V}{{\partial \dot{x}_{i} }}} \right) - \frac{\partial V}{{\partial x_{i} }}$$ is given by:
\begin{aligned} \frac{\text{d}}{{{\text{d}}t}}\left( {\frac{\partial V}{{\partial \dot{x}_{i} }}} \right) - \frac{\partial V}{{\partial x_{i} }} & = \frac{\text{d}}{{{\text{d}}t}}\left( {\frac{{\partial V_{i} }}{{\partial \dot{x}_{i} }}} \right) - \frac{{\partial V_{i} }}{{\partial x_{i} }} \\ & = - \left( {\frac{{E_{i} A_{i} }}{{l_{i0} }} - \frac{{E_{i} A_{i} }}{{\sqrt {x_{i}^{2} + y_{i}^{2} + z_{i}^{2} } }}} \right)x_{i} = - k_{i} x_{i} , \\ \end{aligned}
(12)
where $$k_{i} = \frac{{E_{i} A_{i} }}{{l_{i0} }} - \frac{{E_{i} A_{i} }}{{\sqrt {x_{i}^{2} + y_{i}^{2} + z_{i}^{2} } }}.$$.
Considering a point R in the rod $$O_{i - 1} O_{i}$$, with distance l from P to $$O_{i - 1}$$, the coordinates of $$\overrightarrow {{O_{0} R}}$$ in the frame of reference $$O_{0} - X - Y - Z$$ can be approximately written as:
\begin{aligned} x_{R} & = x_{{O_{i - 1} }} + \frac{l}{{l_{i} }}x_{i} = \sum\limits_{j = 1}^{i - 1} {x_{j} } + \frac{l}{{l_{i} }}x_{i} , \\ y_{R} & = y_{{O_{i - 1} }} + \frac{l}{{l_{i} }}y_{i} = \sum\limits_{j = 1}^{i - 1} {y_{j} } + \frac{l}{{l_{i} }}y_{i} , \\ z_{R} & = z_{{O_{i - 1} }} + \frac{l}{{l_{i} }}z_{i} = \sum\limits_{j = 1}^{i - 1} {z_{j} } + \frac{l}{{l_{i} }}z_{i} . \\ \end{aligned}
(13)
Let $${\mathbf{f}}_{R}$$ denote the force density of $${\mathbf{f}}_{i}$$ at R. To derive the generalized force, two factors related to $${\mathbf{f}}_{R}$$ are defined as:
$$F_{xi} = \int_{0}^{{l_{i} }} {f_{Rx} {\text{d}}l} {\kern 1pt} {\kern 1pt} ;\quad F_{xi}^{*} = \int_{0}^{{l_{i} }} {\frac{{f_{Rx} l}}{{l_{i} }}{\text{d}}l} {\kern 1pt} .$$
(14)
For virtual displacement $$\delta x_{i}$$, the corresponding virtual work $$\delta W_{{x_{i} }}$$ can be written as:
\begin{aligned} \delta W_{xi} & = \sum\limits_{j = 1}^{n} {\left( {\int_{0}^{{l_{j} }} {{\mathbf{f}}_{R} \, \cdot \,\delta \overrightarrow {{O_{0} R}} } } \right)\;} \\ & = \int_{0}^{{l_{i} }} {{\mathbf{f}}_{R} } \, \cdot \,\delta \overrightarrow {{O_{0} R}} + \sum\limits_{j = i + 1}^{n} {\left( {\int_{0}^{{l_{j} }} {{\mathbf{f}}_{R} \, \cdot \,\delta \overrightarrow {{O_{0} R}} } } \right)\;} \\ & = \int_{0}^{{l_{i} }} {\left( {\frac{l}{{l_{i} }}\delta x_{i} \, \cdot \,f_{Rx} {\text{d}}l} \right)} + \sum\limits_{j = i + 1}^{n} {\int_{0}^{{l_{j} }} {\left( {\delta x_{i} \, \cdot \,f_{Rx} {\text{d}}l} \right)} } \\ & = F_{xi}^{*} \, \cdot \,\delta x_{i} + \sum\limits_{j = i + 1}^{n} {F_{xj} } \, \cdot \,\delta x_{i} \\ & = \left( {F_{xi}^{*} + \sum\limits_{j = i + 1}^{n} {F_{xj} } } \right)\, \cdot \,\delta x_{i} . \\ \end{aligned}
(15)
Then, the generalized force $$Q_{{x_{i} }}$$ is given by:
$$Q_{xi} = \frac{{\delta W_{xi} }}{{\delta x_{i} }} = F_{xi}^{*} + \sum\limits_{j = i + 1}^{n} {F_{xj} } .$$
(16)
Applying (9), (12) and (16) to (1), the Lagrange’s equation for $$x_{i}$$ is shown as :
$$\sum\limits_{j = 1}^{n} {{\mathbf{M}}_{ij} \ddot{x}_{j} } + k_{i} x_{i} = F_{xi}^{*} + \sum\limits_{j = i + 1}^{n} {F_{xj} } .$$
(17)
For i from 1 to n, (17) represents n individual equation, these equations can be written in the matrix form:
$${\mathbf{M}}\ddot{\mathbf{{x}}} + {\mathbf{Kx}} = {\mathbf{Q}}_{F} {\mathbf{F}}_{x} + {\mathbf{F}}_{x}^{*} ,$$
(18)
where $${\mathbf{x}} = \left[ {x_{1} , \ldots ,x_{n} } \right]^{T} ,\quad {\ddot{\mathbf{x}}} = \left[ {\ddot{x}_{1} , \ldots ,\ddot{x}_{n} } \right]^{T}$$, $${\mathbf{F}}_{x} = \left[ {F_{x1} , \ldots ,F_{xn} } \right]^{\text{T}} ,\quad {\mathbf{F}}_{x}^{ *} = \left[ {F_{x1}^{ *} , \ldots ,F_{xn}^{ *} } \right]^{T}$$$${\mathbf{K}} = \left[ {\begin{array}{*{20}c} {k_{1} } & 0 & \cdots & 0 \\ 0 & {k_{2} } & \ddots & \vdots \\ \vdots & \ddots & \ddots & 0 \\ 0 & \cdots & 0 & {k_{n} } \\ \end{array} } \right],\quad {\mathbf{Q}}_{\text{F}} = \left[ {\begin{array}{*{20}c} 0 & 1 & \cdots & 1 \\ 0 & 0 & \ddots & \vdots \\ \vdots & \ddots & \ddots & 1 \\ 0 & \cdots & 0 & 0 \\ \end{array} } \right].$$

In (18), it can be seen that the stiffness matrix K is a diagonal matrix and the coefficient matrix QF is a constant matrix.

For generalized coordinates y and z, the corresponding equations are similar with (18):
\begin{aligned} {\mathbf{M\dddot y + Ky}} & = {\mathbf{Q}}_{{\mathbf{F}}} {\mathbf{F}}_{{\mathbf{y}}} {\mathbf{ + F}}_{{\mathbf{y}}}^{{\mathbf{*}}} , \\ {\mathbf{M}}\ddot{\mathbf{{z}}} + Kz & = {\mathbf{Q}}_{{\mathbf{F}}} {\mathbf{F}}_{{\mathbf{z}}} {\mathbf{ + F}}_{{\mathbf{z}}}^{{\mathbf{*}}} . \\ \end{aligned}
(19)
Then, Lagrange’s equations of motion can be written in the matrix form:
\begin{aligned} \left[ {\begin{array}{*{20}c} {\mathbf{M}} & {\mathbf{0}} & {\mathbf{0}} \\ {\mathbf{0}} & {\mathbf{M}} & {\mathbf{0}} \\ {\mathbf{0}} & {\mathbf{0}} & {\mathbf{M}} \\ \end{array} } \right]{\ddot{\mathbf{q}}} + \left[ {\begin{array}{*{20}c} {\mathbf{K}} & {\mathbf{0}} & {\mathbf{0}} \\ {\mathbf{0}} & {\mathbf{K}} & {\mathbf{0}} \\ {\mathbf{0}} & {\mathbf{0}} & {\mathbf{K}} \\ \end{array} } \right]{\mathbf{q = }} \hfill \\ \left[ {\begin{array}{*{20}c} {{\mathbf{Q}}_{{\mathbf{F}}} } & {\mathbf{0}} & {\mathbf{0}} \\ {\mathbf{0}} & {{\mathbf{Q}}_{{\mathbf{F}}} } & {\mathbf{0}} \\ {\mathbf{0}} & {\mathbf{0}} & {{\mathbf{Q}}_{{\mathbf{F}}} } \\ \end{array} } \right]\left[ \begin{aligned} {\mathbf{F}}_{{\mathbf{x}}} \hfill \\ {\mathbf{F}}_{{\mathbf{y}}} \hfill \\ {\mathbf{F}}_{{\mathbf{z}}} \hfill \\ \end{aligned} \right]{\mathbf{ + }}\left[ \begin{aligned} {\mathbf{F}}_{{\mathbf{x}}}^{{\mathbf{*}}} \hfill \\ {\mathbf{F}}_{{\mathbf{y}}}^{{\mathbf{*}}} \hfill \\ {\mathbf{F}}_{{\mathbf{z}}}^{{\mathbf{*}}} \hfill \\ \end{aligned} \right] \hfill \\ \end{aligned}
(20)
where q is the vector $${\mathbf{q}} = [ x_{1} , \ldots ,x_{n} ,y_{1} , \ldots ,y_{n} ,z_{1} , \ldots ,z_{n} ]^{T} .$$.

### 2.1 An O(n) Algorithm to Solve Equations

Applying the equations presented in Sect. 2, the motion of tether can be transformed into an initial value problem of (z):
\begin{aligned} {\mathbf{\ddot{q}}} & {\mathbf{ = }}\left[ {\begin{array}{*{20}c} {{\mathbf{M}}^{ - 1} \left( {{\mathbf{Q}}_{{\mathbf{F}}} {\mathbf{F}}_{{\mathbf{x}}} {\mathbf{ + F}}_{{\mathbf{x}}}^{{\mathbf{*}}} - {\mathbf{Kx}}} \right)} \\ {{\mathbf{M}}^{ - 1} \left( {{\mathbf{Q}}_{{\mathbf{F}}} {\mathbf{F}}_{{\mathbf{y}}} {\mathbf{ + F}}_{{\mathbf{y}}}^{{\mathbf{*}}} - {\mathbf{Ky}}} \right)} \\ {{\mathbf{M}}^{ - 1} \left( {{\mathbf{Q}}_{{\mathbf{F}}} {\mathbf{F}}_{{\mathbf{z}}} {\mathbf{ + F}}_{{\mathbf{z}}}^{{\mathbf{*}}} - {\mathbf{Kz}}} \right)} \\ \end{array} } \right] \\ {\dot{\mathbf{q}}}\left( {\mathbf{0}} \right) & {\mathbf{ = \dot{q}}}_{{\mathbf{0}}} {\mathbf{,q}}\left( {\mathbf{0}} \right){\mathbf{ = q}}_{{\mathbf{0}}} . \\ \end{aligned}
(21)

As mentioned in Sect. 1, with $${\mathbf{M}} \in R^{n \times n}$$, the computational complexity of algorithms to solve equations $${\mathbf{Mx = b}}$$ is generally O(n3) (more details can be seen in Ref. [21], Chapt. 1). When $$n$$ increases, the computation scale of O(n3) algorithms becomes too large. To improve the computational efficiency, an O(n) algorithm is developed by factoring the mass matrix $${\mathbf{M}}$$.

From (7), it is known that $${\mathbf{M}} = \left( {{\varvec{\Phi}} - \frac{1}{2}{\mathbf{I}}} \right)^{\text{T}} {\mathbf{D}}\left( {{\varvec{\Phi}} - \frac{1}{2}{\mathbf{I}}} \right) + \frac{1}{12}{\mathbf{D}}$$. The matrix $${\varvec{\Phi}}$$ is a special lower triangular matrix. There are several equations of $${\varvec{\Phi}}$$:
$${\mathbf{\varepsilon \varPhi }} = {\mathbf{\varPhi \varepsilon }} = {\varvec{\Phi}} - {\mathbf{I}}.$$
(22)

In (22, $${\varvec{\upvarepsilon}} = \left[ {\begin{array}{*{20}c} 0 & 0 & \cdots & \cdots & 0 \\ 1 & \ddots & \ddots & \ddots & \vdots \\ 0 & \ddots & 0 & \ddots & \vdots \\ \vdots & \ddots & \ddots & \ddots & 0 \\ 0 & \cdots & 0 & 1 & 0 \\ \end{array} } \right],\quad {\mathbf{I}} = \left[ {\begin{array}{*{20}c} 1 & 0 & \cdots & \cdots & 0 \\ 0 & \ddots & \ddots & \ddots & \vdots \\ 0 & \ddots & 1 & \ddots & \vdots \\ \vdots & \ddots & \ddots & \ddots & 0 \\ 0 & \cdots & 0 & 0 & 1 \\ \end{array} } \right]$$

Equation (22) indicates that $${\mathbf{I = \varPhi }} - {\mathbf{\varepsilon \varPhi }}$$ and $${\varvec{\Phi}}^{ - 1} = {\mathbf{I}} - {\varvec{\upvarepsilon}}$$. Applying (22), $${\varvec{\Phi}} - \frac{1}{2}{\mathbf{I}}$$ can be written as:
$${\varvec{\Phi}} - \frac{1}{2}{\mathbf{I}} = {\varvec{\Phi}} - \frac{1}{2}\left( {{\varvec{\Phi}} - {\mathbf{\varepsilon \varPhi }}} \right) = \frac{1}{2}\left( {{\mathbf{I}} + {\varvec{\upvarepsilon}}} \right){\varvec{\Phi}}.$$
(23)
Applying (22) and (23), the mass matrix $${\mathbf{M}}$$ can be factored as:
\begin{aligned} {\mathbf{M}} & = \left( {{\varvec{\Phi}} - \frac{1}{2}{\mathbf{I}}} \right)^{\text{T}} {\mathbf{D}}\left( {{\varvec{\Phi}} - \frac{1}{2}{\mathbf{I}}} \right) + \frac{1}{12}{\mathbf{D}} \\ & = \left( {\frac{1}{2}\left( {{\mathbf{I}} + {\varvec{\upvarepsilon}}} \right){\varvec{\Phi}}} \right)^{\text{T}} {\mathbf{D}}\left( {\frac{1}{2}\left( {{\mathbf{I}} + {\varvec{\upvarepsilon}}} \right){\varvec{\Phi}}} \right) + \frac{1}{12}\left( {{\varvec{\Phi}} - {\mathbf{\varepsilon \varPhi }}} \right)^{\text{T}} {\mathbf{D}}\left( {{\varvec{\Phi}} - {\mathbf{\varepsilon \varPhi }}} \right) \\ & = {\varvec{\Phi}}^{\text{T}} \left( {\frac{1}{2}{\mathbf{I}} + \frac{1}{2}{\varvec{\upvarepsilon}}} \right)^{\text{T}} {\mathbf{D}}\left( {\frac{1}{2}{\mathbf{I}} + \frac{1}{2}{\varvec{\upvarepsilon}}} \right){\varvec{\Phi}} + \frac{1}{12}{\varvec{\Phi}}^{\text{T}} \left( {{\mathbf{I}} - {\varvec{\upvarepsilon}}} \right)^{\text{T}} {\mathbf{D}}\left( {{\mathbf{I}} - {\varvec{\upvarepsilon}}} \right){\varvec{\Phi}} \\ & = {\varvec{\Phi}}^{\text{T}} \left( {\left( {\frac{1}{2}{\mathbf{I}} + \frac{1}{2}{\varvec{\upvarepsilon}}} \right)^{\text{T}} {\mathbf{D}}\left( {\frac{1}{2}{\mathbf{I}} + \frac{1}{2}{\varvec{\upvarepsilon}}} \right) + \frac{1}{12}\left( {{\mathbf{I}} - {\varvec{\upvarepsilon}}} \right)^{\text{T}} {\mathbf{D}}\left( {{\mathbf{I}} - {\varvec{\upvarepsilon}}} \right)} \right){\varvec{\Phi}} \\ & = {\varvec{\Phi}}^{\text{T}} \left( {\frac{1}{3}{\mathbf{D}} + \frac{1}{6}{\varvec{\upvarepsilon}}^{\text{T}} {\mathbf{D}} + \frac{1}{6}{\mathbf{D\varepsilon }} + \frac{1}{3}{\varvec{\upvarepsilon}}^{\text{T}} {\mathbf{D\varepsilon }}} \right){\varvec{\Phi}} \\ & = {\varvec{\Phi}}^{\text{T}} {\mathbf{G\varPhi }}. \\ \end{aligned}
(24)
In (24), $${\mathbf{G}} = \frac{1}{3}{\mathbf{D}} + \frac{1}{6}{\varvec{\upvarepsilon}}^{\text{T}} {\mathbf{D}} + \frac{1}{6}{\mathbf{D\varepsilon }} + \frac{1}{3}{\varvec{\upvarepsilon}}^{\text{T}} {\mathbf{D\varepsilon }}$$, the values of elements of $${\mathbf{G}}$$ are shown as:
$${\mathbf{G}} = \left[ {\begin{array}{*{20}c} {\frac{{m_{1} + m_{2} }}{3}} & {\frac{{m_{2} }}{6}} & 0 & 0 & \cdots & 0 \\ {\frac{{m_{2} }}{6}} & \ddots & \ddots & \ddots & \ddots & \vdots \\ 0 & \ddots & {\frac{{m_{i + 1} + m_{i + 1} }}{3}} & {\frac{{m_{i + 1} }}{6}} & 0 & 0 \\ 0 & \ddots & {\frac{{m_{i + 1} }}{6}} & \ddots & \ddots & \ddots \\ \vdots & \ddots & 0 & \ddots & \ddots & {\frac{{m_{n} }}{6}} \\ 0 & \cdots & 0 & \ddots & {\frac{{m_{n} }}{6}} & {\frac{{m_{n} }}{3}} \\ \end{array} } \right].$$
(25)
From (25), it can be seen that $${\mathbf{G}}$$ is a symmetric tridiagonal matrix, the Cholesky decomposition of $${\mathbf{G}}$$ is given by:
$${\mathbf{G}} = {\mathbf{B}}^{\text{T}} {\mathbf{B}}$$
(26)
In (26), $${\mathbf{B}} = \left[ {\begin{array}{*{20}c} {a_{1} } & 0 & \cdots & 0 \\ {b_{1} } & {a_{2} } & \ddots & \vdots \\ \vdots & \ddots & \ddots & 0 \\ 0 & \cdots & {b_{n - 1} } & {a_{n} } \\ \end{array} } \right]$$. Applying (25) and (26), the elements of $${\mathbf{B}}$$ can be derived by a recursive method:
\begin{aligned} & \quad \quad a_{n} = \sqrt {\frac{{m_{n} }}{3}} ; \\ & \quad \quad b_{n - 1} = \frac{{m_{n} }}{{6a_{n} }}; \\ & {\text{for}}\;\;i = n - 1:2 \\ & \quad \quad a_{i} = \sqrt {\frac{{m_{i} + m_{i + 1} }}{3} - b_{i}^{2} } ; \\ & \quad \quad b_{i - 1} = \frac{{m_{i} }}{{6a_{i} }} \\ & {\text{end}}\;{\text{loop}} \\ & \quad \quad a_{1} = \sqrt {\frac{{m_{1} + m_{2} }}{3} - b_{1}^{2} } \\ \end{aligned}
(27)
Now, the mass matrix $${\mathbf{M}}$$ has been factored as $${\mathbf{M}} = {\varvec{\Phi}}^{\text{T}} {\mathbf{B}}^{\text{T}} {\mathbf{B\varPhi }}$$. The inverse of matrix $${\varvec{\Phi}}$$ is $${\varvec{\Phi}}^{ - 1} = {\mathbf{I}} - {\varvec{\upvarepsilon}}$$, and equations $${\mathbf{Bx = b}}$$ can be solved by a simple recursive method. The solution of $${\mathbf{Mx = b}}$$ can be written as:
$${\mathbf{x = M}}^{ - 1} {\mathbf{b = }}\left( {{\mathbf{I}} - {\varvec{\upvarepsilon}}} \right){\mathbf{B}}^{ - 1} {\mathbf{B}}^{\text{ - T}} \left( {{\mathbf{I}} - {\varvec{\upvarepsilon}}} \right)^{\text{T}} {\mathbf{b}}.$$
(28)
Based on (28), there is a more computationally efficient algorithm to solve the equations $${\mathbf{\ddot{x} = M}}^{ - 1} \left( {{\mathbf{Q}}_{{\mathbf{F}}} {\mathbf{F}}_{{\mathbf{x}}} {\mathbf{ + F}}_{{\mathbf{x}}}^{{\mathbf{*}}} {\mathbf{ - Kx}}} \right)$$. The process can be divided into the following steps:
$$\left\{ {\begin{array}{*{20}l} {{\varvec{\upalpha}} = {\mathbf{Q}}_{{\mathbf{F}}} {\mathbf{F}}_{{\mathbf{x}}} ;} \hfill \\ {{\varvec{\upbeta}} = {\varvec{\upalpha}} + {\mathbf{F}}_{{\mathbf{x}}}^{*} - {\mathbf{Kx}};} \hfill \\ {{\varvec{\upgamma}} = \left( {{\mathbf{I}} - {\varvec{\upvarepsilon}}^{\text{T}} } \right){\varvec{\upbeta}};} \hfill \\ {{\mathbf{B}}^{{\mathbf{T}}} {\varvec{\uplambda}} = {\varvec{\upgamma}};} \hfill \\ {{\mathbf{B\eta }} = {\varvec{\uplambda}};} \hfill \\ {{\mathbf{\ddot{x}}} = \left( {{\mathbf{I}} - {\varvec{\upvarepsilon}}} \right){\varvec{\upeta}}.} \hfill \\ \end{array} } \right.$$
(29)
For each step in (29), there is a corresponding $$O\left( n \right)$$ algorithm, then the algorithm to solve $${\mathbf{\ddot{x} = M}}^{ - 1} \left( {{\mathbf{Q}}_{{\mathbf{F}}} {\mathbf{F}}_{{\mathbf{x}}} {\mathbf{ + F}}_{{\mathbf{x}}}^{{\mathbf{*}}} {\mathbf{ - Kx}}} \right)$$ is shown as:
\begin{aligned} & {\text{Loop}}1: \\ & \quad \quad \alpha_{n} = 0; \\ & \quad \quad \beta_{n} = \alpha_{n} + F_{xn}^{*} - K_{nn} x_{n} ; \\ & \quad \quad \gamma_{n} = \beta_{n} ;\; \\ & \quad \quad \lambda_{n} = \gamma_{n} /a_{n} ;\; \\ & {\text{for}}\;\;i = n - 1:1 \\ & \quad \quad \alpha_{i} = F_{i + 1} + \alpha_{i + 1} ; \\ & \quad \quad \beta_{i} = \alpha_{i} + F_{xi}^{*} - K_{ii} x_{i} ; \\ & \quad \quad \gamma_{i} = \beta_{i} - \beta_{i + 1} ; \\ & \quad \quad \lambda_{i} = \left( {\gamma_{i} - b_{i} \lambda_{i + 1} } \right)/a_{i} ;\; \\ & {\text{end}}\;{\text{loop}} \\ \\ & {\text{Loop}}2: \\ & \quad \quad \eta_{1} = \lambda_{1} /a_{1} ; \\ & \quad \quad \ddot{x}_{1} = \eta_{1} ; \\ & {\text{for}}\;\;i = 1:n - 1 \\ & \quad \quad \eta_{i + 1} = \left( {\lambda_{i + 1} - b_{i} \eta_{i} } \right)/a_{i + 1} ; \\ & \quad \quad \ddot{x}_{i + 1} = - \eta_{i} + \eta_{i + 1} ; \\ & {\text{end}}\;{\text{loop}} \\ \end{aligned}
(30)

Equation (30) uses two individual loops to solve $${\mathbf{\ddot{x} = M}}^{ - 1} \left( {{\mathbf{Q}}_{{\mathbf{F}}} {\mathbf{F}}_{{\mathbf{x}}} {\mathbf{ + F}}_{{\mathbf{x}}}^{{\mathbf{*}}} {\mathbf{ - Kx}}} \right)$$. Analyzing the codes in (30), it can be seen that the computational complexity is O(n). The presented O(n) algorithm takes advantages over the O(n3) algorithms, especially when n is very large. As for $${\mathbf{\ddot{y} = M}}^{ - 1} \left( {{\mathbf{Q}}_{{\mathbf{F}}} {\mathbf{F}}_{{\mathbf{y}}} {\mathbf{ + F}}_{{\mathbf{y}}}^{{\mathbf{*}}} {\mathbf{ - Ky}}} \right)$$ and $${\mathbf{\ddot{z} = M}}^{ - 1} \left( {{\mathbf{Q}}_{{\mathbf{F}}} {\mathbf{F}}_{{\mathbf{z}}} {\mathbf{ + F}}_{{\mathbf{z}}}^{{\mathbf{*}}} {\mathbf{ - Kz}}} \right)$$, the solving processes are similar.

## 3 Numerical Experiments

To solve the initial value problem (21), Runge-Kutta method [20] is an alternative numerical method. In this paper, a MATLAB program is used to do the numerical simulation, the “ode45” solver is applied in the simulation program.

Consider a hanging tether falling under the influence of gravity. Apparently, the hanging tether is a conservative system. To verify the proposed method, energy conservation of the system should be examined first.

The tether is modeled as a chain consisting of $$n = 20$$ rods. Simulation parameter are chosen as follows to make the kinetic energy and potential energy in similar scales. All the rods are same with mass $$m_{i} = 0.1\;{\text{kg}}$$, original length $$l_{i0} = 1\;{\text{m}}$$, cross-sectional area $$A_{i} = 1\;{\text{mm}}^{ 2}$$ and Young’s modulus $$E_{i} = 1\;{\text{GPa}}$$. The initial values and initial velocities are $$x_{i} = 0\;{\text{m}};\;\;y_{i} = - 1\;{\text{m}};\;\;z_{i} = 0\;{\text{m}}$$, $$\dot{x}_{i} = 1\;{\text{m/s}};\;\;\dot{y}_{i} = 0\;{\text{m/s}};\;\;\dot{z}_{i} = 0\;{\text{m/s}}$$. The initial shape of tether is like a straight line stretched in Y direction, and the tether rotates along Z direction with an angular velocity $$1\;{\text{rad/s}}$$ at the initial time instant. The total simulation time is 5 s and the time step is 0.0001 s. Gravity acceleration $$g$$ is $$9.81\;{\text{m/s}}^{ 2}$$. In Fig. 2, results show how energy varies with time.
To get a more accurate assessment of the results, a relative error of the total energy is calculated as follows:
$$e_{E} \left( {t_{i} } \right) = \frac{{E\left( {t_{i} } \right) - E\left( {t_{0} } \right)}}{{E\left( {t_{0} } \right)}}.$$
(31)
Figure 3 shows time dependence of the error; its maximum absolute value for the presented time interval is less than $$6 \times 10^{ - 6}$$. From Figs. 2 and 3, it can be seen that energy conservation principle is approximately obeyed.
Motion of the tether is also considered. To verify the proposed model, multibody software ADAMS is applied for comparison. Simulation parameters are chosen as follows for the convenience of modeling of ADAMS. The ADAMS model is a chain of 11 steal cylinder rods. All the rods are same, with density $$\rho_{i} = 7801{\text{kg/m}}^{3}$$, original length $$l_{i0} = 0.1\;{\text{m}}$$, radius $$r_{i} = 0.001\;{\text{m}}$$ and Young’s modulus $$E_{i} = 207\;{\text{GPa}}$$. The initial values and initial velocities of the generalized coordinates are $$x_{i} = 0\;{\text{m}};\;\;y_{i} = - 0.1\;{\text{m}};\;\;z_{i} = 0\;{\text{m}}$$, $$\dot{x}_{i} = 0\;{\text{m/s}};\;\;\dot{y}_{i} = 0\;{\text{m/s}};\;\;\dot{z}_{i} = 0\;{\text{m/s}}$$. The initial shape of tether is like a straight line stretched in -Y direction, and the tether is static at the initial time instant. The total simulation time is 1 s and the time step is still 0.0001 s. Results for the location of the free end of tether $$O_{n}$$, which are derived from the proposed model, are shown in Fig. 4.
To compare the proposed model with ADMS, a location error of $$O_{n}$$ is calculated as follows:
$$e_{L} \left( {t_{i} } \right) = \left| {{\mathbf{r}}_{{O_{0}}} {{O_{n}}}^{A} \left( {t_{i} } \right) - {\mathbf{r}}_{{O_{0}}}{ {O_{n}}}^{P} \left( {t_{i} } \right)} \right|.$$
(32)
In (32), $${\mathbf{r}}_{{O_{0} O_{n} }}^{A} \left( {t_{i} } \right)$$ is the vector from $$O_{0}$$ to $$O_{n}$$ at simulation time $$t_{i}$$ in the ADMS model, while $${\mathbf{r}}_{{O_{0} O_{n} }}^{P} \left( {t_{i} } \right)$$ is the vector from $$O_{0}$$ to $$O_{n}$$ at simulation time $$t_{i}$$ in the proposed model. Results for location error of $$O_{n}$$ is shown in Fig. 5, its maximum absolute value is less than $$8 \times 10^{ - 3} {\text{m}}$$, which is less than 1% of the length of tether. From Fig. 5, it can be seen that results of ADAMS and the proposed model are approximately the same.

## 4 Conclusions

This paper presents a discrete model of tether to study the dynamics of tethered satellites systems. A tether is modeled as a chain of elastic rods. Lagrange’s equations of motion are derived and presented in the explicit matrix form. By factoring the mass matrix, an O(n) algorithm is developed to improve the computational efficiency of numerical simulation. A numerical experiment is performed. Numerical results for energy show energy conservation principle is obeyed. Comparison of ADAMS and the proposed model demonstrates the result validity.

The presented method is somehow similar with finite element method. In view of finite element method, the rod of presented model can be regarded as a special kind of low order element. However, the presented method can deal the coupling of small deformation and large rigid body motion well, while finite element method may not. Besides, equations of the presented model are quite concise. And the proposed O(n) algorithm is more computationally efficient.

The proposed model could be improved by considering the flexural rigidity. Terms for flexural rigidity could be derived from the second derivative of spatial vectors conveniently. And it would not take much complexity into the present model.

## Notes

### Acknowledgements

This paper is supported by the National Science Foundation of China (Grant No. 11672145).

## References

1. 1.
Buckham B, Nahon M, Seto M, Zhao X, Lambert C (2003) Dynamics and control of a towed underwater vehicle system, part I: model development. Ocean Eng 30(4):453–470
2. 2.
Muttin F (2011) Umbilical deployment modeling for tethered UAV detecting oil pollution from ship. Appl Ocean Res 33(4):332–343
3. 3.
Zhu X, Yoo WS (2017) Suggested new element reference frame for dynamic analysis of marine cables. Nonlinear Dyn 87(1):489–501
4. 4.
Argatov I, Rautakorpi P, Silvennoinen R (2011) Apparent wind load effects on the tether of a kite power generator. J Wind Eng Ind Aerodyn 99(10):1079–1088
5. 5.
Milutinović M, Kranjčević N, Deur J (2014) Multi-mass dynamic model of a variable-length tether used in a high altitude wind energy system. Energy Convers Manag 87:1141–1150
6. 6.
Fechner U, van der Vlugt R, Schreuder E, Schmehl R (2015) Dynamic model of a pumping kite power system. Renew Energy 83:705–716
7. 7.
Hembree B, Slegers N (2016) Comparison of experimental and simulated motion for discrete tether models. Multibody Syst Dyn 41(3):1–26
8. 8.
Dobrowolny M, Stone NH (1994) A technical overview of TSS-1: the first tethered-satellite system mission. IL Nuovo Cimento C 17(1):1–12
9. 9.
Cartmell MP, Mckenzie DJ (2008) A review of space tether research. Progress Aerosp Sci 44(1):1–21
10. 10.
Chen Y, Huang R, Ren X, et al (2017) History of the tether concept and tether missions: a review. ISRN Astronomy Astrophys 2013(2013):i1–i7Google Scholar
11. 11.
Kumar KD (2006) Review on dynamics and control of nonelectrodynamic tethered satellite systems. J Spacecr Rockets 43(4):705–720
12. 12.
Williams P (2008) Deployment/retrieval optimization for flexible tethered satellite systems. Nonlinear Dyn 52(1–2):159–179
13. 13.
Smith GD (1985) Numerical solution of partial differential equations: finite difference methods. Oxford University Press, OxfordGoogle Scholar
14. 14.
Dhatt G, Lefrançois E, Touzot G (2012) Finite element method. Wiley, New York
15. 15.
Shabana AA (2013) Dynamics of multibody systems. Cambridge University Press, Cambridge
16. 16.
Hoang NQ, Kreuzer E (2008) Modelling and adaptive control of an underwater vehicle system: a multibody system approach. Solid Mech Appl 8:105–116
17. 17.
von Dombrowski S (2002) Analysis of large flexible body deformation in multibody systems using absolute coordinates. Multibody Syst Dyn 8(4):409–432
18. 18.
Gerstmayr J, Shabana AA (2006) Analysis of thin beams and cables using the absolute nodal co-ordinate formulation. Nonlinear Dyn 45(1):109–130
19. 19.
Gerstmayr J, Sugiyama H, Mikkola A (2013) Review on the absolute nodal coordinate formulation for large deformation analysis of multibody systems. J Comput Nonlinear Dyn 8(3):031016
20. 20.
Butcher JC (2016) Numerical methods for ordinary differential equations. Wiley, New York
21. 21.
Björck Å (2015) Numerical methods in matrix computations. Springer, New York