1 Introduction

In modern times, the employment of costly prototypes and physical testing has rendered physics-based simulations a compelling instrument in the industry. These simulations can serve as a viable means for the designing, developing, and operating of engineering systems. Nevertheless, the growing complexity of some systems poses some challenges that cannot be adequately addressed using pre-existing software. Additionally, the complex nature of such systems may preclude the utilization of a single set of formulations to describe the entire system. In the case of mechanical systems, complexity arises primarily due to contact, flexibility, and interactions with non-mechanical components. Therefore, in such systems, it is necessary to divide the entire system into distinct subsystems, with each subsystem modeled using an appropriate simulation approach. Finally, a coupling approach is employed to connect each subsystem to the others.

There are two distinct coupling approaches, namely the monolithic approach (strongly coupled) and the co-simulation approach (weakly coupled). In the monolithic approach, the entire model is assembled as a set of equations that are integrated with the same solver. Therefore, this approach can result in an accurate solution since a single set of equations models the entire system. In contrast, the co-simulation approach solves the equations of motion of each subsystem separately using its corresponding solver. In this approach, coupling variables, such as acceleration, velocity, displacements, or forces are utilized to connect each subsystem to the others. These coupling variables serve as the inputs and outputs of each subsystem. The exchange of these coupling variables can cause stability problems, and the results may not be as accurate as those obtained from the monolithic formulation. This issue stems from the approximation of the input variables during the co-simulation process [1, 2]. In practice, the monolithic approach requires sophisticated software in all engineering domains since all equations are solved with the same software or formulation. However, a co-simulation approach enables the utilization of advanced models, and application-specific simulation environments that have already been developed by experts in each field. These simulations can be adopted for the corresponding subsystem by hiding intellectual property. Furthermore, each model can be modified without significantly affecting other components, thereby facilitating a holistic analysis of the overall product behavior [3, 4]. Nowadays, most simulation software incorporates this interface modality to facilitate co-simulation in industrial applications and to present an accurate prototype of their models.

Fig. 1
figure 1

The configuration of mobile harbor crane

In a co-simulation approach, two distinct time steps exist, namely the macro time step \(\Delta T\) and the micro time step \(\Delta t\). During each macro time step, each subsystem is independently solved based on its corresponding solver and its own micro time step without exchanging information with the other subsystems. The information is then exchanged between subsystems at each macro time step. The information is known as coupling variables which are the inputs and outputs of each subsystem. This exchange is typically performed in a co-simulation manager that can be a standalone program or integrated directly into one of the simulation environments. Different co-simulation methods have been developed based on how coupling variables are updated and solved, including implicit or explicit, sequential or parallel, and fixed or variable macro time step [5, 6].

Fig. 2
figure 2

Co-simulation setup (left: Jacobi method, right: Gauss–Seidel method)

In the explicit or non-iterative coupling method [1], the calculation is performed only once at each macro step. This is relatively straightforward and can be implemented in a variety of simulation environments with minimal interface requirements. However, for certain problems, advanced coupling or simulation methods may be necessary to achieve the desired level of stability and accuracy. In contrast, the implicit coupling approach [7] involves iterative problem-solving at each macro-step to improve the solution. This method typically yields high stability and reduces errors, but it requires a more advanced interface. Additionally, there exists a classification based on whether all solvers are executed simultaneously or sequentially. In the sequential or Gauss–Seidel approach [8], each subsystem is solved one after another, with the inputs of one subsystem being the known outputs of the other. Conversely, in the parallel or Jacobi method [1, 6], both subsystems are executed simultaneously and the inputs of each subsystem are extrapolated based on the previous macro time steps. As a result, the Jacobi method requires more extrapolations. The final category pertains to whether the macro-step size is fixed [1] or variable [9, 10]. Using variable macro-step, a larger time step may be taken. Despite various co-simulation structures, some studies attempt to improve the structures of the co-simulation methods by adding corrective terms or developing a formulation that can reduce the error created during the co-simulation. Most of these studies mainly focus on the co-simulation of the well-known mass-spring-damper systems [11, 12]. A recent detailed research on these studies is given in [13]. The second category of the studies on the co-simulation employs an existing co-simulation method to study complex structures. These studies mainly deal with the parameter analysis of the co-simulation structure for a better modeling [1, 2, 14]. As an example, the co-simulation can be employed to the mechanical systems where some elements can be modeled as rigid while other elements are flexible [15].

Fig. 3
figure 3

Subsystems of the co-simulated wire-rope

The co-simulation analysis is also important for simulating wire ropes in cranes systems. It enables to model wire-rope systems using elaborate methods and connecting them to other parts of the crane as the bucket or motor system. Nevertheless, the accurate and real-time co-simulation of the wire ropes in crane mechanisms poses some challenges. The complexity of co-simulation modeling as different modeling environments and integration techniques, as well as the inaccuracy and instability resulting from coupling variables, are among the primary challenges [2]. Additionally, the wire-rope system, characterized by numerous long and slender wire ropes, represents a stiff mechanical system that may also cause convergence or instability issues within the system [16].

Owing to the aforementioned challenges, the wire-rope system is often simplified as a spring under stretch. This approach involves computing the force simply in terms of the wire-rope elongation and connecting it as a single force to the entire crane formulation [17, 18]. However, this modeling of the wire rope as an external force is not suitable for a real representation of the different characteristics of the wire ropes. There is a a different approach where the wire rope model is added to the whole system of equations as a non-ideal constraint derived from the cable internal energy. This model captures the wire-rope stretching and twisting forces and has been demonstrated efficiency for real-time simulation. However, this formulation includes some limitations and also it does not consider the wire-rope mass and the transverse vibration, which can have significant effects [19]. More detailed methods have been developed for the wire-rope system based on continuum mechanics as 3D nonlinear elements or the Absolute Nodal Coordinate Formula (ANCF) [20, 21]. However, due to the complexity of the formulation and high computational cost, they have not been applied to the simulation of industrial cranes.

This study endeavors to address the issues in modeling real-world wire-rope systems by employing the ALEM formulation to accurately describe all characteristics of a wire-rope system for real-time simulation of mobile harbor cranes. This method was initially employed to study simple reeving systems [22]. Later, a more advanced ALEM formulation was developed to account for the non-constant axial force along the wire rope. This formulation was utilized to study the dynamics of elevators [23]. In this investigation, the efficiency of the ALEM method compared to ALE-ANCF method is provided for a simple beam element. This comparison reveals the capability of the ALEM method to capture the transverse vibration of the wire-rope systems and to show the high frequency content. On the other hand, in a review study, the ALE formula is compared with other methods and highlighted as the most suitable approach for modeling wire-rope systems in cranes [24]. However, the feasibility of employing this method for real-time simulations remained a question in prior studies [22, 24]. This question is answered in this research by real-time simulation of a complex industrial wire-rope system comprising high wire-rope elements. The model is able to account for variable axial and transverse deformations along the wire-rope elements as well as the inertial effect, accurately. Furthermore, to integrate the current formulation into the relevant industrial application, the co-simulation approach is employed so that the current model can be linked as an add-on to the other parts of the crane system already developed within the main software framework. Several analyses are conducted to determine the optimized co-simulation structure for the real-time application. Owing to the high numerical stiffness of the system, a large time step (\(>1\) ms), and the errors inherit in a co-simulated model, the Generalized-Alpha method is employed as the solver to address the stability issues of the system effectively.

This paper is structured as follows: The first part explains the co-simulation setup in detail, followed by a detailed description of each subsystem and corresponding formulation. The next part describes a representative example of a real industrial mobile harbor crane, detailing all aspects related to the co-simulation setup. Finally, the paper presents the results of the monolithic and co-simulation approaches. These results examine the validity of the simulation and address the impact of the co-simulation structure on the results. Additionally, the computational cost of both monolithic and co-simulation is addressed in this part.

2 Co-simulation setup

The wire-rope system depicted in Fig. 1 is a co-simulated system utilized in mobile harbor cranes. This system comprises two distinct subsystems: Subsystem 1, which represents the payload component, and Subsystem 2, which includes the set of wire ropes. To establish a connection between these two subsystems, an explicit co-simulation approach is adopted. The resulting co-simulated system can be expressed in a state space format, whereby \(s_i\,(i=1,2)\) indicates Subsystem 1 or 2:

$$\begin{aligned}{} & {} {\dot{{\textbf {x}}}}^{s_1}={{{\varvec{f}}}}_{s_1}({{\textbf {x}}}^{s_1},{\textbf {u}}^{s_1},t), \end{aligned}$$
(1)
$$\begin{aligned}{} & {} {}\left[ \begin{array}{ll} {\dot{{\textbf {x}}}}^{s_2}\\ {\textbf {0}}\end{array}\right] =\left[ \begin{array}{ll}{{\varvec{f}}}_{s_2}({{\textbf {x}}}^{s_2},\varvec{\lambda }^{s_2},{\textbf {u}}^{s_2},t) \\ {{\varvec{h}}}_{s_2}({{\textbf {x}}}^{s_2},{\textbf {u}}^{s_2},t)\end{array}\right] , \end{aligned}$$
(2)
$$\begin{aligned}{} & {} \left[ \begin{array}{ll} {{\textbf {y}}}^{s_1}\\ {{\textbf {y}}}^{s_2}\end{array}\right] = \left[ \begin{array}{ll} {{\varvec{g}}}_{s_1}({{\textbf {x}}}^{s_1},{\textbf {u}}^{s_1},t)\\ {{\varvec{g}}}_{s_2}({{\textbf {x}}}^{s_2},{\textbf {u}}^{s_2},t) \end{array}\right] \end{aligned}$$
(3)

Equation (1) corresponds to the Ordinary Differential Equation (ODE) of Subsystem 1, while Eq. (23) represents a set of Differential Algebraic Equations (DAE) associated with Subsystem 2. The first array in the second equation denotes the dynamics of the mechanical system, whereas the second array indicates the kinematic constraints. The coupling variables are the input vector \({\textbf {u}}^{s_i}\) and output vector \({\textbf {y}}^{s_i}\) of each subsystem. Furthermore, \({\textbf {x}}^{s_i}\) represents the differential part of the state vector, while \(\varvec{\lambda }^{s_2}\) represents the algebraic part of the state vector or the Lagrange multiplier of Subsystem 2. The state vectors encompass all internal state variables, which are updated at each micro time instant. These internal variables are saved within each subsystem and are not directly involved in the co-simulation process.

At each macro time instant \(T_k\), two subsystems interact with each other by exchanging coupling variables using coupling matrix \({\textbf {L}}\). This procedure can be shown using an algebraic equation as:

$$\begin{aligned} {{\textbf {u}}}={\textbf {L}}{{\textbf {y}}}, \end{aligned}$$
(4)

in which vector \({\textbf {L}}\), \({{\textbf {u}}}\), and \({{\textbf {y}}}\) are defined as:

$$\begin{aligned} {\textbf{L}}=\left[ \begin{array}{ll}{\textbf{0}}&{}{\textbf{I}}\\ {\textbf{I}}&{}{\textbf{0}}\end{array}\right] , {\textbf{u}}=\left[ \begin{array}{ll}{{\textbf{u}}^{s_1}}^T&{{\textbf{u}}^{s_2}}^T\end{array}\right] ^T, {\textbf{y}}=\left[ \begin{array}{ll}{{\textbf{y}}^{s_1}}^T&{{\textbf{y}}^{s_2}}^T\end{array}\right] ^T. \end{aligned}$$
(5)

As previously mentioned, the co-simulation procedure can rely on two methods: the Jacobi method and the Gauss–Seidel method. Both of these methods have been investigated in this study. To clarify the procedure for each setup, two subsystems with the same micro time steps as the macro time step have been depicted in Fig. 2. On the left-hand side, the subsystems communicate based on the Jacobi method. According to this method, at each macro time instant \(T_{k}\), Subsystem 1 and Subsystem 2 receive their corresponding inputs, denoted as \({\textbf {u}}^{s_1}_{k}\) and \({\textbf {u}}^{s_2}_{k}\), respectively, based on the previous time step or their initial configuration. Using these inputs, both subsystems simultaneously solve their governing equations for the new macro time instant \(T_{k+1}\) without any knowledge of the other subsystem. Next, the output of each subsystem, denoted as \({\textbf {y}}^{s_1}_{k+1}\) and \({\textbf {y}}^{s_2}_{k+1}\), is sent to the co-simulation manager. After modifying these outputs in the co-simulation manager, they are sent back as input to the other subsystem for the new macro time instant \(T_{k+1}\), denoted as \({\textbf {u}}^{s_1}_{k+1}\) and \({\textbf {u}}^{s_2}_{k+1}\). These modifications are intended to reduce the error due to approximated coupling variables, which will be explained in the following section.

On the other hand, on the right-hand side, the subsystems are connected based on the Gauss–Seidel method. Using this method, at each macro time instant \(T_{k}\), Subsystem 2 computes its output \({\textbf {y}}^{s_2}_{k+1}\) based on its initial configuration or its input at the previous macro time instant \(T_{k}\), denoted as \({\textbf {u}}^{s_2}_{k}\) and sends it to the co-simulation manager. The co-simulation manager then sends this variable as input to the other system \({\textbf {u}}^{s_1}_{k}\) at the current macro time instant \(T_{k}\). Based on this input, Subsystem 2 proceeds to the next macro time step and sends its output at the new macro time instant \(T_{k+1}\), denoted as \({\textbf {y}}^{s_1}_{k+1}\). This output is then used as input to Subsystem 2 at the new macro time step \(T_{k+1}\), denoted as \({\textbf {u}}^{s_2}_{k+1}\). As can be observed, since the input of Subsystem 1 is based on the updated output of Subsystem 2 at the new time instant, it does not need to be approximated. Therefore, the Gauss–Seidel method may lead to more accurate results compared to the Jacobi method [25].

Co-simulation modeling involves the integration of multiple subsystem models. Although this process can facilitate the modeling of intricate structures, it can also introduce errors into the system due to data synchronization among different subsystems. To elaborate on this issue, the coupling equations of Subsystem 2 are discretized as an example for a macro time instant \(k=1,2,..n\) as:

$$\begin{aligned} \left[ \begin{array}{ll} \dot{{\textbf {x}}}^{s_2}_k\\ {\textbf {0}}\end{array}\right] =\left[ \begin{array}{ll} {{\varvec{f}}}_{s_2}({{\textbf {x}}}^{s_2}_k,{\textbf {u}}^{s_2}_k, \varvec{\lambda }^{s_2}_k,T_k)\\ {{\varvec{h}}}_{s_2}({{\textbf {x}}}^{s_2}_k,{\textbf {u}}^{s_2}_k,T_k)\end{array}\right] \end{aligned}$$
(6)

By solving the equations of motion at time instant \(T_{k}\), Subsystem 2 can compute its states at the time instant \(T_{k+1}\). Therefore, the output of this subsystem can be obtained at time instant \(T_{k+1}\) using an algebraic equation as:

$$\begin{aligned} {{\textbf {y}}}_{k+1}^{s_2}={{\varvec{g}}}({{\textbf {x}}_{k+1}^{s_2}},{{\textbf {u}}}_{k+1}^{s_2},T_{k+1}) \end{aligned}$$
(7)

As shown in Eq. (7), the output of Sub-system 2 at time instant \(T_{k+1}\) is computed based on the value of its state and input variables at time instant \(T_{k+1}\). However, the value of the input variables at this time instant is unknown. Consequently, an approximate value, denoted as \(\tilde{\textbf{u}}_{k+1}^{s_2}\), must be used to compute the output of this subsystem. This approximated value can be obtained by an extrapolation function in terms of the input variables at the previous macro time instants. There are various methods to extrapolate these unknown coupling variables such as constant extrapolation, linear or quadratic extrapolation, least square approximation, or polynomial approximations [5]. However, since these methods rely solely on the previous macro time step and lack information about the current dynamic state of the system, they may yield an inaccurate input prediction. It is worth noting that since the output \(\tilde{{\textbf {y}}}_{k+1}^{s_2}\) is also obtained based on the approximated input \(\tilde{{\textbf {u}}}_{k+1}^{s_2}\), its resulting value is also an approximated value. These approximated coupling variables are often a significant source of error in the co-simulation process. This error is more significant compared to the common integration error and it may cause some inaccuracy. Therefore, it is essential to analyze the co-simulation setup configuration to mitigate this error in the system.

3 Wire-rope co-simulated system

This part represents the kinematic and dynamic equations of each subsystem. The configuration of each subsystem can be seen in Fig. 3 in an in-plane configuration. It should be noted that, for the sake of clarity, the dimensions in this figure do not reflect those defined in this study. Owing to the different coordinates set of the wire ropes and payload, the kinematics equations are presented separately for each subsystem. However, the dynamics of subsystems are described in a general form for both subsystems.

3.1 Kinematics of subsytem 1: payload part

Subsystem 1 includes 1 rigid body which is the payload of the system. In the real application, the payload is a complicated bucket system, however, herein, it is assumed as a simple rigid body. The coordinate to describe this subsystem, \({\mathbf{{q}}}^{s_1}\), is based on the 3 global transnational coordinates of the center of gravity of the rigid body, Eq. (9), and 4 Euler parameters, Eq. (10). These coordinates are expressed as:

$$\begin{aligned}{} & {} {\mathbf{{q}}}^{s_1} = {\left[ {\begin{array}{*{20}{c}}{{\textbf {r}}^{RB}}^T&{{\varvec{\theta }}^{RB}}^T \end{array}} \right] ^T} \end{aligned}$$
(8)
$$\begin{aligned}{} & {} \begin{array}{l} {{\textbf {r}}^{RB}} = {\left[ {\begin{array}{*{20}{c}} {{r_x}}^{RB}&{{r_y}}^{RB}&{{r_z}}^{RB} \end{array}} \right] ^T} \end{array} \end{aligned}$$
(9)
$$\begin{aligned}{} & {} \begin{array}{l} {{\varvec{\theta }}^{RB}} = {\left[ {\begin{array}{*{20}{c}} {\theta _0}^{RB}&{\theta _1}^{RB}&{\theta _2}^{RB}&{\theta _3}^{RB} \end{array}} \right] ^T} \end{array} \end{aligned}$$
(10)
Table 1 Location of the crane components
Table 2 Crane parameters

3.2 Kinematics of subsystem 2: wire-rope part

To define the kinematics of Subsystem 2, the Arbitrary Lagrangian–Eulerian Modal formulation (ALEM) method [23] has been employed. This formulation considers the axial and bending deformations of the length-varying wire ropes and their dynamic properties with a minimum number of elements. According to this method, each part of the wire rope between two sheaves is described using a single wire-rope element. Therefore, the coordinates required to describe a wire-rope system with ne wire-rope elements can be described as:

$$\begin{aligned} {\mathbf{{q}}}^{s_2} = {\left[ {\begin{array}{*{20}{c}}{\mathbf{{q}}^{WR1}}^T&\ldots&{\mathbf{{q}}^{WRi}}^T&\ldots&{\mathbf{{q}}^{WRne}}^T \end{array}} \right] ^T} \end{aligned}$$
(11)

in which, WRi stands for Wire rope i. Each wire-rope coordinate \({\mathbf{{q}}^{WRi}}\) can be described using a set of the global absolute nodal coordinates \({{\textbf {q}}_a^{i}}\), material arc-length modal coordinates \({{\textbf {q}}_s^{i}}\), and the local modal coordinates \({{\textbf {q}}_m^{i}}\) for \(i=1,2,...,ne\) as:

$$\begin{aligned}{} & {} {{{\textbf {q}}}}^{WRi} = {\left[ {\begin{array}{*{20}{c}}{{\textbf {q}}_a^{i}}^T&{{\textbf {q}}_s^{i}}^T&{{\textbf {q}}_m^{i}}^T \end{array}} \right] ^T} \end{aligned}$$
(12)
$$\begin{aligned}{} & {} {{\textbf {q}}}_a^{i} = {\left[ {\begin{array}{*{20}{c}}{{\mathbf{{r}}_1^{WRi}}^T}&{{\mathbf{{r}}_2^{WRi}}^T} \end{array}} \right] ^T} \end{aligned}$$
(13)
$$\begin{aligned}{} & {} \mathbf{{q}}_s^{i} = {\left[ {\begin{array}{*{20}{c}}{{s_1^i}}&{{s_2^i}}\end{array}} \right] ^T} \end{aligned}$$
(14)
$$\begin{aligned}{} & {} {{\textbf {q}}}_m^{i} = {\left[ {\begin{array}{*{20}{c}}{{q_{x,1}^i}}&{{q_{y,1}^i}}&{{q_{z,1}^i}}\end{array}} \right] ^T} \end{aligned}$$
(15)

where \({\mathbf{{r}}^{WRi}}\) and \({s^i}\) are the absolute nodal coordinates and the local material coordinate at the ends of wire-rope element i, respectively. Moreover, \(q_{x,1}^i\), \(q_{y,1}^i\), and \(q_{z,1}^i\) are the modal coordinates in the local \(x_i\), \(y_i\), and \(z_i\) directions, where 1 modal coordinate is optionally employed in each direction. Using this set of coordinates, the position of an arbitrary point in the mid-line of a wire rope can be defined in terms of the absolute position vector \({\mathbf{{r}}_a}\) and the deformation vector \(\mathbf{{ u}}\) as:

$$\begin{aligned} \mathbf{{r}} = {\mathbf{{r}}_a} \!+ \! {\mathbf{{u}}} \!= \! \mathbf{{N}}\left( {s,{\mathbf{{q}}_s^i}} \right) \,\,{\mathbf{{q}}_a^i} \!+ \! {\mathbf{{A}}_e}\left( {{\mathbf{{q}}_a^i}} \right) {{\bar{\textbf{u}}}}\left( s,{{\mathbf{{q}}_s^i}},{{\mathbf{{q}}_m^i}}\right) \nonumber \\ \end{aligned}$$
(16)

where \(\mathbf{{N}}\left( {s,{\mathbf{{q}}_s^i}} \right) \) and \({\mathbf{{A}}_e} ({{\mathbf{{q}}_a^i}})\) are the linear-interpolating function matrix and the element rotation matrix, respectively [23]. In addition, the vector \({\bar{\textbf{u}}}\) can be defined as:

$$\begin{aligned} {\bar{\textbf{u}}} = \mathbf{{S}}\left( {s,{\mathbf{{q}}_s^i}} \right) \,\,{\mathbf{{q}}_m^i}, \end{aligned}$$
(17)

in which \(\mathbf{{S}}\left( {s,{\mathbf{{q}}_s^i}} \right) \) is the modal shape functions matrix related to the modal coordinates that have been defined in [23].

Fig. 4
figure 4

Prescribed velocity profile of the motor (\(V^{motor}\))

3.3 Dynamics of subsystems

The equations of motion of each subsystem by considering the nonlinear constraints using the augmented Lagrange method can be written as [26]:

$$\begin{aligned}{} & {} \left[ {\begin{array}{*{20}{c}} ({{\textbf {B}}^{s_i}}^T {\textbf {M}}^{s_i}{} {\textbf {B}}^{s_i})&{}({{{\textbf{C}}_{nl}^{s_i}})_{{\textbf{q}}}^T}\\ {{({\textbf{C}}_{nl}^{s_i})_{{\textbf{q}}}}}&{}{{\textbf{0}}} \end{array}} \right] \left[ {\begin{array}{*{20}{c}} {\ddot{\textbf{q}}}_{R}^{s_i}\\ {\varvec{\lambda }^{s_i}} \end{array}} \right] \nonumber \\{} & {} \quad = \left[ {\begin{array}{*{20}{c}} {{\textbf {B}}^{s_i}}^T({\textbf {Q}}^{s_i}-{\textbf {M}}^{s_i}({\dot{{\textbf {D}}}^{s_i}}+{\dot{{\textbf {B}}}^{s_i}} \dot{\textbf{q}}_{R}^{s_i}))\\ { - ({{\dot{\textbf{C}}_{nl}^{s_i}})_{{\textbf{q}}}}{\dot{\textbf{q}}}_{R}^{s_i} - {{{{{\textbf{C}}}}_t}}} \end{array}} \right] \end{aligned}$$
(18)

where \(({{\textbf{C}}_{nl}^{s_i})_{{\textbf{q}}}}\), \({\textbf {M}}^{s_i}\) and \({\textbf {Q}}^{s_i}\) are the Jacobian matrix of the nonlinear constraints, the mass matrix, and the generalized forces of Subsystem i, respectively. Regarding Subsystem 1, these forces are the gravity force, the quadratic-velocity inertia force, and the wire-rope forces attached to the rigid body. In Subsystem 2, this force term includes the vector of the elastic forces, the gravity force vector, and the vector of the quadratic-velocity inertia force. These terms have comprehensively been defined in [26]. Moreover, \({\textbf {q}}^{s_i}_{R}\) is the vector of the generalized or reduced coordinate of the system. Since the system is often subjected to a set of linear constraints, the equations of motion are expressed in terms of these generalized coordinates using the well-known velocity transformation equation and its derivative as [27]:

$$\begin{aligned}{} & {} \dot{{\textbf {q}}}^{s_i} = {\textbf {B}}^{s_i}{\dot{\textbf{q}}}_{R}^{s_i} + {{\textbf {D}}}^{s_i} \end{aligned}$$
(19)
$$\begin{aligned}{} & {} \ddot{{\textbf {q}}}^{s_i} = {\textbf {B}}^{s_i}{\ddot{\textbf{q}}}_{R}^{s_i}+ \dot{{\textbf {B}}}^{s_i}{\dot{\textbf{q}}}_{R}^{s_i}+ \dot{{\textbf {D}}}^{s_i} \end{aligned}$$
(20)

where the matrices \({\textbf {B}}^{s_i}\) and \({\textbf {D}}^{s_i}\) can be defined according to the configuration of the system and its linear constraints. These matrices are specified for the given example in the appendix part.

Despite the apparent similarity of the final set of equations of each subsystem, they are solved using distinct approaches. In Subsystem 1, the integration process is exclusively computed for independent coordinates, and dependent coordinates are obtained by using constraint equations. As a result, only the differential part of the equation of motion is optimally solved. To solve this set of equations, the explicit Runge–Kutta fourth-order method is selected. Regarding Subsystem 2, the entire DAE form of the equations of motion is solved based on the multi-step Generalized Alpha Method [28]. The primary reason for employing an elaborate implicit method for the wire-rope part is to allow the use of a higher time step.

4 Problem definition

The system under consideration is an industrial mobile harbor crane, with its configuration and mechanical properties presented in Tables 1 and  2, and in Fig. 1. The dimensions and mechanical characteristics of the system are based on those of a real mobile harbor crane that is used for simulators. In Table 1, the positions of all points, except the marked ones, are specified with respect to the global frame that is attached to the crane body, as illustrated in Fig. 1. Moreover, the subscript l stands for the left elements while subscript r denotes the right elements. The wire ropes used in the system are standard \(6\times 19\) wire ropes made of steel. The system is kinetically actuated by a motor installed on the reel to raise or lower the payload. The prescribed velocity profile of this motor is presented in Fig. 4.

4.1 Subsystems setup

In Subsystem 1, the set of generalized or reduced coordinates can be stated as:

$$\begin{aligned}{} & {} \begin{array}{l} {{{\textbf{q}}}^{s_1}_{R}} = {{\textbf{q}}}^{s_1} \end{array} \end{aligned}$$
(21)
$$\begin{aligned}{} & {} \begin{array}{l} {{{\textbf{q}}}^{s_1}_{R}} = {\left[ {\begin{array}{*{20}{c}} {{q_{ind}^{s_1}}}^T&{{q_{dep}^{s_1}}}^T \end{array}} \right] ^T} \end{array} \end{aligned}$$
(22)

in which the independent and dependent coordinates can be defined as:

$$\begin{aligned}{} & {} \begin{array}{l} {{{\textbf{q}}}^{s_1}_{ind}} = {\left[ {\begin{array}{*{20}{c}} {{r_x}}^{RB}&{{r_y}}^{RB}&{{r_z}}^{RB}&{\theta _0}^{RB}&{\theta _1}^{RB}&{\theta _2}^{RB} \end{array}} \right] ^T} \end{array} \end{aligned}$$
(23)
$$\begin{aligned}{} & {} \begin{array}{l} {{{\textbf{q}}}^{s_1}_{dep}} = {\left[ {\begin{array}{*{20}{c}} {\theta _3}^{RB} \end{array}} \right] ^T} \end{array} \end{aligned}$$
(24)

As can be seen, since Subsystem 1 is not subjected to any linear constraint, the reduced set of coordinates \({{{\textbf{q}}}^{s_1}_{RS}}\) is as the total set of coordinates \({{\textbf{q}}}^{s_1}\). In this Subsystem, the nonlinear constraint is related to the Euler parameters as:

$$\begin{aligned} C^{s_1}_{nlin}\!=\!\left( \theta _0^{RB}\right) ^2\!+\!\left( \theta _1^{RB}\right) ^2\!+\!\left( \theta _2^{RB}\right) ^2\!+\!\left( \theta _3^{RB}\right) ^2-1=0 \end{aligned}$$
(25)
Fig. 5
figure 5

Convergence analysis of the time step in the monolithic approach for the rigid-body vibration

Fig. 6
figure 6

Effects of the numerical damping in the Generalized-\(\alpha \) method

Regarding Subsystem 2, as shown in Eq. (11), each wire-rope element is described using 11 coordinates including 6 absolute nodal coordinates, 2 material coordinates, and 3 modal coordinates. Therefore, the total number of coordinates for the whole wire-rope system with 10 wire-rope elements is equal to 110 coordinates. However, these coordinates are subjected to 72 linear constraints as indicated below:

$$\begin{aligned}{} & {} C_{lin1}^{s_2}= {\left[ {\begin{array}{*{20}{c}} {\textbf {r}}_{2}^{WR1}- ({\textbf {R}}^{Boom}+{\textbf {r}}^{BOP}_r) \\ {\textbf {r}}_{2}^{WR2}- {\textbf {R}}^{TFP}_r \\ {\textbf {r}}_{2}^{WR3}- ({\textbf {R}}^{Boom}+{\textbf {r}}^{BIP}_r) \\ {\textbf {r}}_{2}^{WR4}- {\textbf {R}}^{TRP}_r \\ {\textbf {r}}_{2}^{WR5}- {\textbf {R}}^{HR}_r \\ {\textbf {r}}_{2}^{WR6}- ({\textbf {R}}^{Boom}+{\textbf {r}}^{BOP}_l) \\ {\textbf {r}}_{2}^{WR7}- {\textbf {R}}^{TFP}_l \\ {\textbf {r}}_{2}^{WR8}- ({\textbf {R}}^{Boom}+{\textbf {r}}^{BIP}_l) \\ {\textbf {r}}_{2}^{WR9}- {\textbf {R}}^{TRP}_l \\ {\textbf {r}}_{2}^{WR10}- {\textbf {R}}^{HR}_l \\ \end{array}} \right] }={\textbf {0}} \nonumber \\{} & {} C_{lin2}^{s_2}= {\left[ {\begin{array}{*{20}{c}} {\textbf {r}}_{1}^{WR1}-{{{\textbf{u}}}^{s2}\left( 1:3\right) } + {\textbf {A}}^{RB}{} {\textbf {d}}_{1} \\ {\textbf {r}}_{2}^{WR1}- {\textbf {r}}_{1}^{WR2} \\ {\textbf {r}}_{2}^{WR2}- {\textbf {r}}_{1}^{WR3} \\ {\textbf {r}}_{2}^{WR3}- {\textbf {r}}_{1}^{WR4} \\ {\textbf {r}}_{2}^{WR4}- {\textbf {r}}_{1}^{WR5} \\ {\textbf {r}}_{1}^{WR6}-{{{\textbf{u}}}^{s2}\left( 1:3\right) } + {\textbf {A}}^{RB}{} {\textbf {d}}_{6} \\ {\textbf {r}}_{2}^{WR6}- {\textbf {r}}_{1}^{WR7} \\ {\textbf {r}}_{2}^{WR7}- {\textbf {r}}_{1}^{WR8} \\ {\textbf {r}}_{2}^{WR8}- {\textbf {r}}_{1}^{WR9} \\ {\textbf {r}}_{2}^{WR9}- {\textbf {r}}_{1}^{WR10} \\ \end{array}} \right] } ={\textbf {0}} \nonumber \\{} & {} C_{lin3}^{s_2}= {\left[ {\begin{array}{*{20}{c}} {s}_{1}^{1}\\ {s}_{2}^{1}- {s}_{1}^{2}\\ {s}_{2}^{2}- {s}_{1}^{3}\\ {s}_{2}^{3}- {s}_{1}^{4}\\ {s}_{2}^{4}- {s}_{1}^{5}\\ {s}_{2}^{5}-({s}_{20}^{5}+\int V^{motor}dt)\\ {s}_{1}^{6}\\ {s}_{2}^{6}- {s}_{1}^{7}\\ {s}_{2}^{7}- {s}_{1}^{8}\\ {s}_{2}^{8}- {s}_{1}^{9}\\ {s}_{2}^{9}- {s}_{1}^{10}\\ {s}_{2}^{10}-({s}_{20}^{10}+\int V^{motor}dt) \end{array}} \right] }={\textbf {0}} \end{aligned}$$
(26)
$$\begin{aligned}{} & {} \begin{array}{c} C_{lin}^{s_2}= {\left[ {\begin{array}{*{20}{c}} {C_{lin1}^{s_2}}^T&{C_{lin2}^{s_2}}^T&{C_{lin3}^{s_2}}^T \end{array}} \right] }^T = {\textbf {0}} \end{array}\quad \end{aligned}$$
(27)

where \(s_{20}^{5}\) \(s_{20}^{10}\) are the initial values of the arc-length nodal coordinates \(s_{2}^{5}\) and \(s_{2}^{10}\), respectively. The vector \({\textbf{d}}_{1,6}\) also denotes the position vector of the rigid-body points attached to the wire rope 1 and 6 with respect to the rigid-body fixed frame. Meanwhile, matrix \({\textbf {A}}^{RB}\) represents the orientation matrix of the rigid body. Additionally, \({{\textbf{u}}}^{s2}\) is the input vector of Subsystem 2 that is defined in the subsequent part. All other relevant vectors are defined in Table 1. Therefore, the total number of the generalized coordinates or reduced coordinates is equal to \(110-72=38\) as listed in Eq. (29). Furthermore, the wire-rope system is subjected to 8 nonlinear constraints to ensure equal axial loads at the tangent points with the pulleys [23]. These constraints can be expressed by assuming a constant axial load on the wire ropes that are tangent to the pulleys, as follows:

$$\begin{aligned} \begin{array}{l} C_{nlin}^{s_2}= {\left[ {\begin{array}{*{20}{c}} F_{ax_2}^{WR1}-F_{ax_1}^{WR2} \\ F_{ax_2}^{WR2}-F_{ax_1}^{WR3} \\ F_{ax_2}^{WR3}-F_{ax_1}^{WR4} \\ F_{ax_2}^{WR4}-F_{ax_1}^{WR5} \\ F_{ax_2}^{WR6}-F_{ax_1}^{WR7} \\ F_{ax_2}^{WR7}-F_{ax_1}^{WR8} \\ F_{ax_2}^{WR8}-F_{ax_1}^{WR9} \\ F_{ax_2}^{WR9}-F_{ax_1}^{WR10} \\ \end{array}} \right] } = {\textbf {0}} \end{array} \end{aligned}$$
(28)

where the term \( F_{ax_1}^{WRi}\) represents the axial force at the beginning of the wire-rope element i and the term \( F_{ax_2}^{WRi}\) stands for the value of the axial force at the end of the wire-rope element i. Therefore, the total number of degrees of freedom or independent coordinates of this subsystem is 30. The selected reduced set of coordinates and the independent and dependent coordinates are listed as below:

$$\begin{aligned}{} & {} \begin{array}{l} {{{\textbf{q}}}^{s_2}_{R}} = {\left[ {\begin{array}{*{20}{c}} {{q_{ind}^{s_2}}}^T&{{q_{dep}^{s_2}}}^T \end{array}} \right] ^T} \end{array} \end{aligned}$$
(29)
$$\begin{aligned}{} & {} \begin{array}{l} {{{\textbf{q}}}^{s_2}_{ind}} = {\left[ {\begin{array}{*{20}{c}} {{q_{x,1}}}^{i}&{{q_{y,1}}}^{i}&{{q_{z,1}^i}} \end{array}} \right] ^T} \end{array}\quad i=1,...,10 \end{aligned}$$
(30)
$$\begin{aligned}{} & {} \begin{array}{l} {{{\textbf{q}}}^{s_2}_{dep}} = {\left[ {\begin{array}{*{20}{c}} {{{{s_2}}^{1}}}&{{{{s_2}}^{2}}}&{{{{s_2}}^{3}}}&{{{{s_2}}^{4}}}&{{{{s_2}}^{6}}}&{{{{s_2}}^{7}}}&{{{{s_2}}^{8}}}&{{{{s_2}}^{9}}} \end{array}} \right] ^T} \end{array} \end{aligned}$$
(31)

It may be a question that the number of Subsystem 2 coordinates can be decreased by half due to the symmetry of the system; and the system can be described as a 2D system since the system is only subjected to a hoisting motion. This fact is true in the given example, however, for a general case, the system is subjected to different loading conditions necessitating considering all the given degrees of freedom. Therefore, given that the purpose of this paper is to demonstrate the accuracy and efficiency of the presented formulation for a real-time simulation of a general industrial example, the formulation is presented by considering all these degrees of freedom.

4.2 Co-simulation setup

The corresponding inputs, outputs, and state variables of Subsystem 1 are defined as:

$$\begin{aligned}{} & {} \begin{array}{ll} {{{\textbf{u}}}^{s1}} = {\left[ {\begin{array}{*{20}{c}} {{{{{\textbf{F}}}}^{WR1}}}&{{{{{\textbf{F}}}}^{WR6}}} \end{array}} \right] ^T} \end{array}, \begin{array}{ll} {{{\textbf{y}}}^{s1}} = {\left[ {\begin{array}{*{20}{c}} (\mathbf {{q}}^{s_1})^T&(\dot{\textbf{q}}^{s_1})^T \end{array}} \right] ^T} \end{array}\nonumber \\ \end{aligned}$$
(32)
$$\begin{aligned}{} & {} \begin{array}{ll} {{{\textbf{x}}}^{s_1}} = {\left[ {\begin{array}{*{20}{c}} ({\mathbf {{q}}^{s_1}_{ind}})^T&({\dot{\textbf{q}}^{s_1}_{ind}})^T \end{array}} \right] ^T} \end{array} \end{aligned}$$
(33)

where the vector \({\textbf{F}}^{WRi} \left( i=1,6\right) \) is the wire-rope force exerted on the payload that can be computed by extracting the first three elements of the wire-rope elastic force, gravity force, and quadratic-velocity inertia force as [26]:

$$\begin{aligned} {\textbf{F}}^{WRi}={\textbf{Q}}_{elas}^{WRi}+ {\textbf{Q}}_{grav}^{WRi}+{\textbf{Q}}_{v}^{WRi} \end{aligned}$$
(34)

Regarding Subsystem 2, the corresponding inputs, outputs, and state vectors can be defined as:

$$\begin{aligned}{} & {} \begin{array}{l} {{{\textbf{u}}}^{s_2}} = {\left[ {\begin{array}{*{20}{c}} (\mathbf {{q}}^{s_1})^T&(\dot{\textbf{q}}^{s_1})^T \end{array}} \right] ^T} \end{array}, \begin{array}{l} {{{\textbf{y}}}^{s_2}} = {\left[ {\begin{array}{*{20}{c}} {{{{{\textbf{F}}}}^{WR1}}}&{{{{{\textbf{F}}}}^{WR6}}} \end{array}} \right] ^T} \end{array}\nonumber \\ \end{aligned}$$
(35)
$$\begin{aligned}{} & {} \begin{array}{l} {{{\textbf{x}}}^{s_2}} = {\left[ {\begin{array}{*{20}{c}} (\mathbf {{q}}^{s_2}_{R})^T&(\dot{\textbf{q}}^{s_2}_{R})^T \end{array}} \right] ^T} \end{array} \end{aligned}$$
(36)

It is noteworthy that the coordinate system of the wire rope in Subsystem 2 is established according to the coordinate system of Subsystem 1. As a result, it is unnecessary to send the directions of the corresponding coordinates at each time instance.

Fig. 7
figure 7

Comparison of the vibration of the rigid body with respect to the macro time step

Fig. 8
figure 8

Comparison of the vibration of the rigid body with respect to the extrapolation method

5 Results

The following part presents the results of the co-simulated system. Firstly, the configuration of the co-simulation is analyzed by scrutinizing the effects of the different macro time steps, extrapolation methods, and co-simulation approach. Subsequently, a detailed analysis is conducted to examine the behavior of the wire-rope systems in industrial cranes based on the selected co-simulation configuration. Finally, the co-simulation model is evaluated in terms of the computational time. It is important to note that the simulation is conducted using an in-house open source Matlab code [29]. To improve the simulation time, the most callable and time-consuming m-files are converted to Mex files such as the functions that evaluate the mass matrix, elastic force, gravity force, and quadratic velocity force.

To model the wire-rope system based on the co-simulation approach, the same micro and macro time steps are utilized. Additionally, to determine the proper numerical damping value for the analysis, in Fig. 6, the effect of the numerical damping value is investigated on the axial force value acting on the payload, that is, \(F_{ax1}^{WR1} + F_{ax1}^{WR6}\). The resulting plot is obtained by subtracting the axial force in the co-simulation for different damping values from the axial force in the monolithic with no numerical damping. To demonstrate the effects of numerical damping, the same simulation is performed for 20 s. The system is only actuated during the first 9 s. The plots are generated for the co-simulation employing the Jacobi method, utilizing a time step of \(\Delta T = 25\) ms, and exploring damping coefficients \(\alpha _n\) equal to 0.9, 0.5, and 0.1. As can be seen, by increasing the numerical damping value, implying less numerical damping, the results become more unstable where the results for damping value equal to \(\alpha _n = 0.9\) are unrealistic. Conversely, it is evident that the numerical damping coefficient equal to \(\alpha _n = 0.1\) can effectively mitigates the high-frequency oscillations within the system. Consequently, this damping coefficient is deemed suitable for subsequent analyses.

Fig. 9
figure 9

Comparison of the vibration of the rigid body for different co-simulation approaches

To evaluate the accuracy of the co-simulation, the given results are compared with the reference solution. The reference solution is a simulation based on the monolithic approach. To analyze the convergence of the monolithic approach, in Fig. 5, the vibration of the rigid body is shown for different time steps as \(\Delta t =\) 25, 50, 100 ms. This vibration is computed by subtracting the rigid body displacement from the prescribed motion of the motor in the Y direction. Accordingly, it can be seen that for the simulation with the time step \(\Delta t =50\) ms, the system converges to the real solution, and by decreasing the time step, the results are not affected. Therefore, the reeving system simulated using a monolithic approach with \(\Delta t =50\) ms is considered as the reference solution to analyze the accuracy of the co-simulated system.

5.1 Effects of the co-simulation set-up

This part assesses the effects of the co-simulation set-up such as the macro time step, extrapolation method, and co-simulation method on the accuracy of the results. To accomplish this, the vibration of the system is compared with the reference solution at the position and velocity levels.

5.1.1 Effects of the macro time step

Figure 7 depicts the effect of the macro time step on the vibration of the system for the co-simulation approach based on the Zero-Order Hold (ZOH) and First-Order Hold (FOH) extrapolations. Using the ZOH method, the constant extrapolation is employed to approximate the input of Subsystem 2 at macro time instant \(T_k\), represented as \({\textbf {x}}^{s_2}_{k}\), based on the outputs of Subsystem 1 at the previous time instant, denoted as \({\textbf {y}}^{s_1}_{k-1}\). On the other hand, the FOH method utilizes a linear approximation to extrapolate this input based on the outputs of Subsystem 1 at the two most recent time instants, namely \({\textbf {y}}^{s_1}_{k-1}\) and \({\textbf {y}}^{s_1}_{k-2}\). As shown, reducing the macro time step leads to an increase in the accuracy of the system, in particular for ZOH extrapolation. Furthermore, the utilization of FOH extrapolation methods yields results that align closely with the reference solution. It can be inferred that the resulting accuracy using the extrapolation method based on the FOH is much higher than that achieved based on the ZOH extrapolation and using 2.5 times smaller macro time steps. The main reason for this disparity is a constant extrapolation that is employed to approximate the input of Subsystem 2 at each macro time instant for the co-simulation based on the ZOH extrapolation.

On the other hand, on the right-hand side, it can be seen that the disparity between macro time steps \(\Delta T = 10\) ms and \(\Delta T = 25\) ms is small using FOH extrapolation, however, opting for \(\Delta T = 25\) ms enables the establishment of a real-time simulation, which is demonstrated in the last part. Consequently, the subsequent sections of this study are conducted using a macro time step of \(\Delta T = 25\) ms.

Fig. 10
figure 10

Time history of the rigid-body velocity

Fig. 11
figure 11

Axial force and the modal coordinate of the wire-rope attached to the rigid body

5.1.2 Effects of extrapolation method

To evaluate the effects of the extrapolation method on the accuracy of the results, Fig. 8 depicts the co-simulation results obtained based on the ZOH, FOH, and Second-Order Hold (SOH) extrapolation methods for a macro time step of \(\Delta T=25\) ms. Using the SOH method, a second-order polynomial is employed to extrapolate the input of Subsystem 2 at macro time instant \(T_k\) denoted as \({\textbf {x}}^{s_2}_{k}\) in terms of the outputs of Subsystem 1 at previous time instants, as \({\textbf {y}}^{s_1}_{k-1}\), \({\textbf {y}}^{s_1}_{k-2}\), and \({\textbf {y}}^{s_1}_{k-3}\). It can be observed that the implementation of a higher order extrapolation as the SOH extrapolation method does not significantly affect the accuracy of the vibration results as previously demonstrated by other studies [1]. The right-hand side of the figure compares the vibration velocity for co-simulation utilizing different extrapolation techniques by subtracting the velocity of the rigid body in the Y direction from the prescribed velocity of the motor. It can be seen that the general vibration pattern agrees with the monolithic approach; however, using ZOH extrapolation results in more oscillatory behavior. This plot indicates the oscillation of the wire-rope system resulting from the elasticity of the wire ropes. The oscillation period can be determined by modeling the crane as a simple spring-mass system using the formula \(2\pi \sqrt{\frac{mL}{EA}}\), where L, m, and EA represent the total length of the wire-rope system, rigid-body mass, and wire-rope stiffness, respectively [30]. According to the given properties of the system, the computed period is approximately 1.6 s as can be perceived in this plot.

Fig. 12
figure 12

Lateral deformation in wire ropes

Table 3 Transverse period of wire ropes \(T=2l_i \sqrt{\frac{\rho A}{\text {P}_i}}\) (\(i=2,...,4\)) [26]

5.1.3 Comparison with the Jacobi method

In order to assess the impact of the co-simulation method on the accuracy and stability of the results, the vibration and velocity of the vibration of the rigid body are compared with the Jacobi method, as depicted in Fig. 9. The results are presented for the co-simulation system using FOH extrapolation and a macro time step of \(\Delta T=25\) ms. As is evident in the vibration plots, the Gauss–Seidel method leads to more accurate results. The difference is primarily attributed to the utilization of fewer approximations in the Gauss–Seidel method.

After examining the impacts of multiple parameters in the co-simulation process, it can be concluded that the setup employing Gauss–Seidel and FOH extrapolation using a macro time step of \(\Delta T = 25\) ms yields the most favorable results for this wire-rope system. Consequently, the subsequent section elaborates on the behavior of the wire-rope system using this setup.

Fig. 13
figure 13

Vibration analysis of the payload

5.2 Behavior of the co-simulated wire-rope system

Following an assessment of the optimal co-simulation scheme, this section proceeds to investigate the intricate behavior of the wire-rope system. Building on the preceding observations, Fig. 10 displays the rigid-body displacement and velocity for both co-simulation and monolithic approaches. The left-hand side shows the time history of the rigid-body position. It is evident that the differences between the results are imperceptible, as only one line is visible. Furthermore, the velocity of the rigid body is illustrated on the right-hand side. It is observed that the difference between the co-simulation and monolithic approaches is not also discernible in this plot. Nonetheless, as previously demonstrated, a slight difference of 5 mm for 7 m hoisting operation was seen in the vibration of the system in Fig. 7. This level of error can indicate the accuracy of the formulation, which is important in load positioning.

Table 4 Comparison of the average simulation time (s) at different time steps for a 9 sec ride

On the left-hand side of Fig. 11, the axial force at the end of the wire ropes attached to the rigid body is depicted. The resulting force is the summation of the forces acting on the two wire ropes attached to the rigid body. Accordingly, the axial force value exhibits good agreement between the co-simulation approach and the monolithic approach, with a maximum error of approximately 4 kN (or less than 0.6%) observed for a payload weighing 70 tons. Furthermore, it can be seen that the difference between the co-simulation and monolithic approach can increase during the simulation time. On the right-hand side, the change in the modal coordinate in the x direction is illustrated for both co-simulation and monolithic approaches. The incorporation of this modal coordinate enables the consideration of the wire-rope weight in the resulting axial force field. However, due to the substantial weight of the payload, the impact of this modal coordinate for this wire rope is negligible. This plot can only present the axial deformations due to the modal coordinates. However, the wire ropes also undergo a large initial linear axial deformation at the static equilibrium position due to the substantial payload weight. It should be pointed out that since the value of the modal coordinates of Wire rope 1 in the \(y_i\) and \(z_i\) directions are almost zero, the corresponding plots have not been presented.

As previously mentioned, one of the objectives of this study is the detailed examination of the wire-rope system in cranes while utilizing a minimal number of elements. This thorough analysis is made possible by including the modal coordinates in the local \(x_i\), \(y_i\), and \(z_i\) directions of wire ropes. By including these modal coordinates, it is possible to consider the lateral deformation in the wire-rope systems. The time history of this deformation at the midpoint of each wire rope is presented in the corresponding local lateral direction in Fig. 12. In all the plots, the oscillation period of wire-ropes can be seen with a period approximately equal to 1.5 sec. This oscillation can be attributed to the elasticity of the wire ropes (as reported previously) and the transverse vibration as is noted in Table 3 with \(l_i\) and \(P_i\) as the length and the axial force at Wire rope i, respectively. Additionally, it is evident that the lateral deformation can reach up to 157 mm, highlighting the significant impact of the lateral deformation of wire ropes in the analysis of wire-rope systems - a factor that has been overlooked in prior studies. This deformation is mainly due to the weight of the wire ropes. Accordingly, a general concurrence between the co-simulation and monolithic approaches is also observed in these plots.

To show other nonlinear dynamics effects of the system, the vibration of the payload is graphically presented for a 50-sec simulation. This vibration is computed by subtracting the payload velocity from the prescribed motor velocity. The analysis is conducted using the co-simulation model with the Gauss–Seidel approach and \(\Delta T = 25\) ms. According to the left-had side of Fig. 13, during this simulation, the payload is lowered over a distance of 60 m, following the velocity profile outlined in this figure. Evidently, as the payload descends, there is a corresponding decrease in its frequency. To further elucidate these variations, the Fast Fourier Transform (FFT) of the vibration is showcased at two distinct time intervals, namely (5–15 s) and (30–40 s), as depicted on the right-hand side of Fig. 13. This analysis reveals that at the initial time instances, the system experiences higher frequencies attributable to the shorter length of the wire rope. Subsequently, these frequencies decrease during the later time intervals as a consequence of the longer length of the wire rope.

5.3 Real-time co-simulation of crane wire-rope system

This part examines the ability of the current formulation for real-time analysis. This topic was raised as an open question about ALE formulation in a recent paper [24]. In this research, by optimization of the code, the real-time simulation is achieved for a complex reeving system solved using ALEM formulation. As shown in Table 4, the simulation time for the wire-rope subsystem using \(\Delta T = 25\) ms is approximately 8.8 s for a hoisting operation of 9 s. However, it can be observed that this simulation time for a non-optimized monolithic code is more than ten times higher. As already shown, using this macro time step, acceptable results have been obtained. It can also be observed that the simulation time in the optimized monolithic approach is significantly smaller than in the co-simulation approach. This difference can mainly be attributed to errors created during the co-simulation so that the system requires more iterations to result in a stable solution. Smaller simulation time can be obtained using \(\Delta T = 50\) ms, however, since the results were less accurate, this time step was not selected. These results can demonstrate that the given formulation can deal with real-world industrial wire-rope systems.

6 Conclusion

This paper introduces a real-time co-simulation modeling approach for wire-rope reeving systems utilized in mobile harbor cranes. The co-simulated system consists of Subsystem 1, representing the payload component, and Subsystem 2, representing the wire-rope system. Due to the presence of numerous long-length wire ropes with low bending stiffness and high axial stiffness, the recently developed ALEM formulation is employed. The governing equations of each subsystem is solved using distinct solvers with the same micro time step as the macro time step. The co-simulation setup is addressed, taking into account the effects of the macro time step, extrapolation method, and co-simulation approach. Through an investigation of these setup parameters, the optimal configuration for achieving real-time simulation and accuracy is identified.

The results show that the co-simulation method based on the Gauss–Seidel scheme can lead to more accurate results. Moreover, it was also seen that using an extrapolation method based on FOH and SOH can significantly increase the accuracy and stability of the system. However, the differences between FOH and SOH methods are small. It was also observed that the resulting accuracy using the extrapolation method based on the FOH is much higher than that achieved based on the ZOH extrapolation and using 2.5 times smaller macro time steps. It was seen that the effects of the detailed analysis of wire ropes in the reeving system are of importance since the deformation of the wire rope is notable. Both co-simulation and monolithic approaches can lead to accurate results using a high macro time step, in particular the monolithic approach. It was observed that the co-simulation approach with the macro time step as \(\Delta T = 25\) ms results in the maximum error of less than 0.6% in the axial force. However, the motion of the rigid body for this time step was totally aligned with the monolithic approach. Finally, although co-simulation modeling can generally improve the simulation of complex systems, it can also increase the simulation time compared to the monolithic approach.

The presented modeling of wire-rope crane mechanisms using a co-simulation approach is applicable for real-time simulations of wire-rope systems across diverse reeving systems applications, including industrial cranes, mine hoisting, and elevators. This methodology is beneficial for designing simulators and controllers tailored to these systems.