1 Introduction

This paper has developed three different types of numerical models for revolute joints in flexible multibody systems using finite element method. These numerical models are defined in the absolute nodal coordinate systems and therefore can be connected to any rigid or flexible body in a multibody system, featuring high modeling flexibility. The coupling effect between dry clearance joints and flexibility of the links has been studied by simulating the dynamic behaviors of complex flexible multibody systems with two joint clearances. Special attentions have been paid to the way how to improve the modeling efficiency and accuracy of revolute joints.

In traditional analysis of multibody systems, the effects of clearance, friction, wear and lubrication at the revolute joints are neglected to obtain the ideal kinematic joints, which can be represented by a set of kinematic constraints [1]. As described in Ref. [2], Lagrange multipliers are generally applied to enforce the kinematic constraints. This enforcement will lead to infinite frequencies because Lagrange multipliers have associated degrees of freedom that are massless. It becomes the main source where the stiff properties of the multibody systems stems from. The first innovation in this paper is the development of a modified kinematic constraint model to decrease the stiffness of multibody systems. The user-defined description of the relative rotation has been enforced in a new approach, thereby avoiding the definition of the relative rotation angle as an independent variable with massless degree of freedom. Through this improvement, the modified model reduces the number of constraints from four to three as discussed in detail later.

When using the kinematic constraints to model the ideal joints, the governing equations of motion for multibody system with joints will be stiff Differential Algebraic Equations (DAEs) of index 3. In contrast, recursive theory [3] takes advantage of the system topology and applies the joint coordinates to formulate a nonstiff Ordinary Differential Equations (ODEs). Petzold [4] had pointed out that these equations are easier to solve than DAE of index 3. As the second innovation in this paper, the recursive relationship between the bodies connected by a revolute joint is identified to formulate a recursive model. This new type of recursive model introduces the relative rotation angle \(\phi\) as an independent variable to describe the relative rotation of joint. Meanwhile, the Absolute Nodal Coordinate Formulations (ANCF) [5] are applied to model the flexibility of connected bodies. If a multibody system contains only the recursive models of joints, its motion will be controlled by a set of nonstiff ODE.

In fact, the clearances in the joints are inevitable to allow for the assembly of the pair elements. Additionally, manufacturing tolerances [6], wear [7] and thermal effects [8] are also the causes of clearances. In the past few decades, the problems of modeling simple mechanical systems with clearance joints were extensively investigated [913]. A typical problem is the slider–crank mechanism, in which only the radial clearance located in the planar revolute joint is considered. For example, Mukras and the coauthors [14] studied a rigid slider–crank mechanism with a clearance joint. Since modeling the links as rigid will affect the prediction of the system real dynamic behavior, the effect of mechanism flexibility on dynamic behavior needs to be explored. A comprehensive review can be found in Ref. [15], where the commercial software MSC ADAMS was applied to simulate the crank–slider mechanism with rigid/flexible links and planar joint clearances. More recently, the combined influence of the axial and radial clearances in the revolute joint has been studied in Refs. [16, 17]. Meanwhile, Ref. [18] predicts the dynamic behavior of slider–crank mechanism with single and two revolute clearance joints. It concludes that the dynamic response in a mechanism with two clearance joints is not a simple superposition of that in mechanism with one clearance joint, and then proposes that all the joints in a multibody system should be modeled as clearance joints. Even though the effect of mechanism flexibility and one or two joint clearances have been simulated for the crank–slider mechanism [15, 18], the coupling problem of joint clearances and link flexibilities of the complicated mechanism is still an open topic. The third innovation in this paper is the implementation of a contact model for the clearance joint with the purpose of providing a general solution to the coupling problem. Similar to the ideal joint models developed in this paper, the new contact model is also defined in the absolute nodal coordinate systems. It can be used to connect any rigid/flexible bodies with arbitrary topologies.

When modeling a clearance joint, an appropriate contact/impact force model is important. Gilardi and Sharf [19] distinguish the associated force calculation approaches into two different categories, impulse–momentum and continuous. The first approach is only practical if there is only a single contact. A serious disadvantage is that it will stop the simulation when the contact/impact occurs. In a second approach, the simulation is not stopped, and the contact force in each contact pair is predicted at any time during the simulation [20]. Based on a relationship between contact force and penetration, for example, by Flores et al. [21], this approach performs the contact calculation in three steps: contact detection, calculation of the contact normal force, and calculation of the friction force [22]. In this paper, an algorithm based on the continuous approach is developed to evaluate the contact/impact force based on nonlinear model of Hunt and Crossley [23], which is suitable for multiple impact pairs. When the bodies are in contact/impact, the friction force can be predicted from the continuous Coulomb law and the analytical LuGre model [24], respectively.

It is well known that the Coulomb friction law [25] describes the transitions from sticking to sliding and vice versa, but these discrete transitions can cause difficulties for their numerical simulations. Many continuous friction laws [26, 27] have been advised to approximate the discrete transitions. This paper regularizes the friction coefficient of Coulomb law at first to obtain a continuous friction law, which can describe both sliding and rolling/sticking behavior of revolute joints. The continuous Coulomb law is then used as reference for the validation of analytical LuGre model, an innovative friction model. The LuGre model is a type of bristle model that captures micro-slip, a phenomenological description of friction. This model is governed by an ODE to capture experimentally observed phenomena of friction. As the last contribution of this paper, trapezoidal algorithm, featuring second order accuracy, is designed to solve the ODE of LuGre model. In the current implementation, the LuGre friction model has been closely combined with the implicit solvers of the Radau IIA [28, 29]. The instantaneous friction coefficients of LuGre model are predicted at each stage of Radau IIA solvers.

In summary, this paper focuses on studying the coupling effect of joint clearances and link flexibilities of the complicated mechanism. The contributions of the paper include: 1) the classical kinematic constraint model is modified to reduce the number of kinematic constraints from four to three; 2) a new type of recursive model is developed in this paper, and the rotations of revolute joints are described efficiently in a recursive sort of way; 3) the paper has designed a detailed contact model for revolute joint with clearance. The nonlinear Hertz model with energy dissipation describes the relationship between the normal contact force and the inner penetration. The continuous Coulomb law and the analytical LuGre model are implemented for the simulation of friction phenomena.

The rest of the paper is organized as follows. Section 2 discusses the details of three different models for revolute joints. Section 3 presents three numerical examples to validate the new types of models for revolute joints. Finally, Sect. 4 draws the conclusions.

2 Modified models for revolute joints

In this section, as the kernel of the paper, the basic theories behind three different types of models for revolute joints are introduced.

2.1 Kinematic constraint models for revolute joints

As depicted in Fig. 1, a revolute joint links two rigid or flexible bodies denoted with superscripts \((\cdot)^{k}\) and \((\cdot)^{\ell}\), respectively. The kinematic description of two bodies and joint utilizes three orthogonal triads. The first triad, an inertial triad ℐ, with unit vectors \(\bar{i}_{1}\), \(\bar{i}_{2}\), and \(\bar{i}_{3}\), is defined as a global reference. A second triad, body attached triad \(\mathcal{B}_{0}\), with unit vectors \(\bar{b}_{01}\), \(\bar{b}_{02}\), and \(\bar{b}_{03}\), defines the orientation of body in the reference configuration. Similarly, a third triad ℬ, with unit vectors \(\bar{b}_{1}\), \(\bar{b}_{2}\), and \(\bar{b}_{3}\), describes the orientation of the body in its deformed configuration. The current implementation defines \(\underline{u}_{0}\) and \(\underline{u}\) as the displacement vectors from ℐ to \(\mathcal{B}_{0}\), and \(\mathcal{B}_{0}\) to ℬ, respectively, \(R_{0}\) and \(R\) are the rotation tensors from ℐ to \(\mathcal{B}_{0}\), and \(\mathcal{B}_{0}\) to ℬ, respectively.

Fig. 1
figure 1

Configuration of revolute joint

In the reference configuration, the revolute joint is defined by coincident triads \(\mathcal{B}_{0}^{k}= \mathcal{B}_{0}^{\ell}\). In the deformed configuration, relative displacements are prohibited, \(\underline{u}^{k} = \underline{u}^{\ell}\), and the corresponding triads are allowed to rotate with respect to each other in such a way that \(\bar{b}_{3}^{k}=\bar{b}_{3}^{\ell}\). This kinematic constraint implies the orthogonality of the unit vector \(\bar{b}_{3}^{k}\) to both \(\bar{b}_{1}^{\ell}\) and \(\bar{b}_{2}^{\ell}\), and it can be written equivalently as

$$ \underline{c}= \biggl\vert \textstyle\begin{array}{c} c_{1} \\ c_{2} \end{array}\displaystyle \biggr\vert = \biggl\vert \textstyle\begin{array}{c} \bar{b}_{3}^{kT} \bar{b}_{1}^{\ell} \\ \bar{b}_{3}^{kT} \bar{b}_{2}^{\ell} \end{array}\displaystyle \biggr\vert = 0. $$
(1)

Based on the augmented functional of Hamilton’s principle [29], the current implementation enforces these kinematic constraints by the addition of a constraint potential,

$$ \delta W_{C} = \delta\underline{c}^{T}(k \underline{\lambda}+ 2p\ \underline{c}), $$
(2)

where \(\underline{\lambda}= \lfloor\lambda_{1},\ \lambda_{2}\rfloor ^{T}\) is the Lagrange multipliers, \(k\) and \(p\) the scaling and penalty factors, respectively. The corresponding forces of constraints \(\underline{F}_{c}\) are readily obtained as

$$ \underline{F}_{c} = \biggl\vert \textstyle\begin{array}{c} \widetilde{b_{3}^{k}} \bar{b}_{1}^{\ell}(k\lambda_{1} + 2 p\ c_{1})+ \widetilde{b_{3}^{k}} \bar{b}_{2}^{\ell}(k\lambda_{2} + 2 p\ c_{2}) \\ -\widetilde{b_{3}^{k}} \bar{b}_{2}^{\ell}(k\lambda_{1} + 2 p\ c_{1})- \widetilde{b_{3}^{k}} \bar{b}_{2}^{\ell}(k\lambda_{2} + 2 p\ c_{2}) \end{array}\displaystyle \biggr\vert . $$
(3)

The kinematic constraints, Eqs. (1), imply only the planar rotation is allowed when observed in body \(k\) attached triad \(\mathcal{B}_{k}\). It is not difficult to determine the relative rotation tensor measured in \(\mathcal{B}_{k}\)

$$ R_{\phi} = \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \cos\phi & -\sin\phi & 0 \\ \sin\phi & \cos\phi & 0 \\ 0 & 0 & 1 \end{array}\displaystyle \right ] , $$
(4)

and this relates the orientation of body \(k\) to \(\ell\) like

$$ R^{\ell}R_{0}^{\ell} = R^{k}R_{0}^{k}R_{\phi} . $$
(5)

Once the corresponding triads of revolute joints are given, the rotation tensors \(R^{k}R_{0}^{k}\) and \(R^{\ell}R_{0}^{\ell}\) can be identified alternatively from

$$ R^{k}R_{0}^{k} = \bigl[ \bar{b}_{1}^{k},\ \bar{b}_{2}^{k},\ \bar{b} _{3}^{k} \bigr] \quad \mathrm{and}\quad R^{\ell}R_{0}^{\ell} = \bigl[ \bar{b} _{1}^{\ell},\ \bar{b}_{2}^{\ell}, \ \bar{b}_{3}^{\ell} \bigr] ; $$
(6)

then the relative rotation tensor \(R_{\phi}\) is determined by

$$ R_{\phi} = \bigl(R^{k}R_{0}^{k} \bigr)^{T}R^{\ell}R_{0}^{\ell}, $$
(7)

and, in detail,

$$ R_{\phi} = \left [ \textstyle\begin{array}{c@{\quad}c@{\quad}c} \bar{b}_{1}^{kT}\bar{b}_{1}^{\ell} & \bar{b}_{1}^{kT}\bar{b}_{2}^{\ell} & \bar{b}_{1}^{kT}\bar{b}_{3}^{\ell} \\ \bar{b}_{2}^{kT}\bar{b}_{1}^{\ell} & \bar{b}_{2}^{kT}\bar{b}_{2}^{\ell} & \bar{b}_{2}^{kT}\bar{b}_{3}^{\ell} \\ \bar{b}_{3}^{kT}\bar{b}_{1}^{\ell} & \bar{b}_{3}^{kT}\bar{b}_{2}^{\ell} & \bar{b}_{3}^{kT}\bar{b}_{3}^{\ell} \end{array}\displaystyle \right ] . $$
(8)

Comparing two formulas of the relative rotation tensor, Eqs. (4) and (8), it can be found that

$$ \sin\phi=-\bar{b}_{1}^{kT} \bar{b}_{2}^{\ell}\quad \mathrm{and}\quad \cos \phi= \bar{b}_{1}^{kT}\bar{b}_{1}^{\ell}. $$
(9)

The conventional approach [30] introduces the relative rotation angle \(\phi\) as a new variable, adding a third constraint,

$$ \bar{b}_{1}^{kT} \bar{b}_{1}^{\ell} \sin\phi+ \bar{b}_{1}^{kT} \bar {b}_{2}^{\ell} \cos\phi= 0. $$
(10)

For a user-defined description of the relative rotation \(\phi(t)\), the fourth constraint is enforced,

$$ \phi- \phi(t) = 0 . $$
(11)

Obviously, the conventional approach has to introduce four components of Lagrange multipliers for the enforcement of kinematic constraints, Eqs. (1), (10) and (11). It is well known that these components of Lagrange multipliers produce infinite frequencies since they have associated degrees of freedom that are massless. This becomes the main source where the stiffness of DAE of index 3 stems from. Except for these Lagrange multipliers, careful observations show that the degree of freedom of the relative rotation angle \(\phi\) is also massless and makes the stiff problem worse. The current implementation relieves this bad situation by eliminating relative rotation angle \(\phi\) from the associated kinematic constraints. Once the user-defined description \(\phi(t)\) is given, combination of Eqs. (10) and (11) will lead to

$$ c_{3} = \bar{b}_{1}^{kT} \bar{b}_{1}^{\ell}\sin\phi(t) + \bar {b}_{1}^{kT} \bar{b}_{2}^{\ell}\cos\phi(t) = 0. $$
(12)

Here again, the force of constraint \(\underline{F}_{c}^{3}\), corresponding to the above modified description \(\phi(t)\), is obtained from the associated constraint potential as

$$ \underline{F}_{c}^{3} = \biggl\vert \textstyle\begin{array}{c} [\widetilde{b_{1}^{k}} \bar{b}_{1}^{\ell}{\sin\phi(t)}+\widetilde{b_{1}^{k}} \bar{b}_{2}^{\ell}{\cos\phi(t)}](k\lambda_{3} + 2 p\ c_{3}) \\ -[\widetilde{b_{1}^{k}} \bar{b}_{1}^{\ell}{\sin\phi(t)}+\widetilde{b_{1}^{k}} \bar{b}_{2}^{\ell}{\cos\phi(t)}](k\lambda_{3} + 2 p\ c_{3}) \end{array}\displaystyle \biggr\vert . $$
(13)

If no user-defined description \(\phi(t)\) is given, the kinematic constraint of Eq. (12) will be automatically excluded from the kinematic constraints. When rotation angle and rotation speed, \(\phi\) and \(\dot{\phi}\), are required for torsional spring and dash-pot damper, these quantities can be evaluated in the following post-process. If initial value is given as \(\phi_{n}\) at time step \(t_{n}\), the relative rotation can be rewritten as \(\phi= \phi_{n} + d \phi\), where \(d\phi\) is the incremental rotation and

$$\begin{aligned} \begin{aligned} \sin d\phi &= -\bar{b}_{1}^{kT}\bar{b}_{2}^{\ell}\cos\phi_{n}-\bar{b}_{1}^{kT} \bar{b}_{1}^{\ell}\sin\phi_{n}, \\ \cos d\phi &= -\bar{b}_{1}^{kT} \bar{b}_{2}^{\ell}\sin\phi_{n}+\bar {b}_{1}^{kT}\bar{b}_{1}^{\ell}\cos\phi_{n}, \end{aligned} \end{aligned}$$
(14)

then the relative rotation is predicted from

$$ \phi= \phi_{n} + \mathrm{atan}\,2(\sin d\phi,\cos d\phi). $$
(15)

In the current implementation, the kinematic model for revolute joints is closely related to the stiff integrators of H.H.T. [28] and Radau IIA [29, 31]. When advancing the integration of flexible multibody dynamics by using these stiff integrators, only a small step size \(h\) is used to guarantee the accuracy of solution. In such a situation, the incremental rotation \(d\phi\) remains small, \(d\phi\ll\pi\), and it can be uniquely determined from the function \(\mathrm{atan}\,2(\cdot,\cdot)\). Meanwhile, the relative speed is evaluated by

$$ \dot{\phi} = \bar{b}_{3}^{kT}\bigl(\underline{ \omega}^{\ell} - \underline{ \omega}^{k}\bigr) $$
(16)

Similarly, the variation of the relative rotation can be formulated thus:

$$ \delta\phi= \bar{b}_{3}^{kT}\bigl(\underline{ \delta\psi}^{\ell} - \underline{ \delta\psi}^{k}\bigr) . $$
(17)

If a torsional spring with stiffness \(k_{s}\) is attached to the revolute joint, the variation of the spring energy can be written as \(\delta\phi k_{s}\phi\). With the help of the variation of the relative rotation, Eq. (17), it is not difficult to obtain the torque generated by the elastic spring,

$$ \biggl\vert \textstyle\begin{array}{c} \underline{F}_{s}^{k} \\ \underline{F}_{s}^{\ell} \end{array}\displaystyle \biggr\vert = \biggl\vert \textstyle\begin{array}{c} -k_{s}\phi\bar{b}_{3}^{k} \\ k_{s}\phi\bar{b}_{3}^{k} \end{array}\displaystyle \biggr\vert . $$
(18)

When the dash-pot damper with damping \(c_{s}\) is involved, the torque corresponding to the damper is readily obtained from the virtual work of damper, \(\delta\phi\ c_{s}\dot{\phi}\), as

$$ \biggl\vert \textstyle\begin{array}{c} \underline{F}_{d}^{k} \\ \underline{F}_{d}^{\ell} \end{array}\displaystyle \biggr\vert = \biggl\vert \textstyle\begin{array}{c} -c_{s}\dot{\phi}\bar{b}_{3}^{k} \\ c_{s}\dot{\phi}\bar{b}_{3}^{k} \end{array}\displaystyle \biggr\vert . $$
(19)

2.2 Recursive models for revolute joints

Even though the modified constraint model of Sect. 2.1 has reduced the number of kinematic constraints from four to three, the governing equations of motion of multibody system are still DAE of index 3, which features stiff and nonlinearity. As advocated by Petzold [4], solving DAE of index 3 is much harder by stiff integrators than solving system of ODE. The recursive models developed in this section will resolve the stiff problem by formulating the revolute joint in the form of ODE instead of DAE of index 3. This paper has no means to develop recursive formula for flexible multibody system. However, it is a valuable practice modeling revolute joints efficiently based on recursive theory. In the current implementation, the recursive models are valid only in the case of the bodies connected by the revolute joints possess independent degrees of freedom. Recursive theory implies the rotation of body \(\ell\) can be readily described by rotation of body \(k\) and relative rotation angle \(\phi\). The variation of rotation of body \(\ell\) is presented by

$$ \underline{\delta\psi}^{\ell} = \underline{\delta \psi}^{k} + \bar{b}^{k}_{3}\delta{\phi} $$
(20)

and similarly the angular velocity by

$$ \underline{\omega}^{\ell} = \underline{ \omega}^{k} + \bar{b}^{k} _{3}\dot{\phi}. $$
(21)

The time derivative of the angular velocity produces the angular acceleration

$$ \dot{\underline{\omega}}^{\ell} = \bigl[I,\ \bar{b}_{3}^{k} \bigr] \biggl\vert \textstyle\begin{array}{c} \dot{\underline{\omega}}^{k} \\ \ddot{\phi} \end{array}\displaystyle \biggr\vert + \Bigl[ \widetilde{b_{3}^{k}}^{T}\dot{\phi},\ 0 \Bigr] \biggl\vert \textstyle\begin{array}{c} \underline{\omega}^{k} \\ \dot{\phi} \end{array}\displaystyle \biggr\vert . $$
(22)

When the rotation of body \(\ell\) is described independently, the governing equations of rotation of body \(\ell\) are assumed to be

$$ M_{e}^{\ell}\dot{\underline{ \omega}}^{\ell} = \underline{F}_{e} ^{\ell} \bigl(R^{\ell},\underline{\omega}^{\ell}\bigr), $$
(23)

where \(M_{e}^{\ell}\) is the elemental mass matrix of body \(\ell\), and \(\underline{F}_{e}^{\ell}\) the associated elemental right hand side vector. Following the conventional assembling procedure of finite element method, the above elemental equations need to be assembled into the global system. The current implementation will transform elemental equations of body \(\ell\) to the sort of recursive form at first, and then it will be assembled. Substituting angular acceleration, Eq. (22), into the above elemental equation to find

$$ \bar{M}_{e}^{\ell} \biggl\vert \textstyle\begin{array}{c} \dot{\underline{\omega}}^{k} \\ \ddot{\phi} \end{array}\displaystyle \biggr\vert = \left [ \textstyle\begin{array}{c} I \\ \bar{b}_{3}^{kT} \end{array}\displaystyle \right ] \Bigl( \underline{F}_{e}^{\ell}\bigl(R^{\ell},\underline{ \omega} ^{\ell}\bigr)- M_{e}^{\ell}\widetilde{b_{3}^{k}}^{T} \underline{\omega} ^{k}\dot{\phi} \Bigr), $$
(24)

where \(\bar{M}_{e}^{\ell}\) is the transformed mass matrix and

$$ \bar{M}_{e}^{\ell} = \left [ \textstyle\begin{array}{c} I \\ \bar{b}_{3}^{kT} \end{array}\displaystyle \right ] M_{e}^{\ell} \left [ \textstyle\begin{array}{cc} I,\ \bar{b}_{3}^{k} \end{array}\displaystyle \right ] . $$
(25)

Similar transformation needs to be applied to the elemental stiffness and damping matrices, \(K_{e}^{\ell}\) and \(C_{e}^{\ell}\), respectively. With the help of linearization of the angular velocity,

$$ d\underline{\omega}^{\ell} = \bigl[I,\ \bar{b}_{3}^{k} \bigr] \biggl\vert \textstyle\begin{array}{c} d\underline{\omega}^{k} \\ d\dot{\phi} \end{array}\displaystyle \biggr\vert + \Bigl[\widetilde{b_{3}^{k}}^{T} \dot{\phi},\ 0 \Bigr] \biggl\vert \textstyle\begin{array}{c} \underline{d\psi}^{k} \\ d\phi \end{array}\displaystyle \biggr\vert , $$
(26)

and linearization of the angular acceleration,

$$\begin{aligned} d\dot{\underline{\omega}}^{\ell} =& \bigl[I,\ \bar{b}_{3}^{k} \bigr] \biggl\vert \textstyle\begin{array}{c} d\dot{\underline{\omega}}^{k} \\ d\ddot{\phi} \end{array}\displaystyle \biggr\vert + \widetilde{b_{3}^{k}}^{T} \bigl[\dot{\phi},\ \underline{\omega}^{k} \bigr] \biggl\vert \textstyle\begin{array}{c} d\underline{\omega}^{k} \\ d\dot{\phi} \end{array}\displaystyle \biggr\vert \\ &{}+ \Bigl[\widetilde{b_{3}^{k}}^{T}\ddot{\phi}+ \dot{\phi} \widetilde{\omega}^{k}\widetilde{b_{3}^{k}}^{T} \underline{\omega} ^{k},\ 0 \Bigr] \biggl\vert \textstyle\begin{array}{c} \underline{d\psi}^{k} \\ d\phi \end{array}\displaystyle \biggr\vert , \end{aligned}$$
(27)

the stiffness and damping matrices have been transformed to

$$ \bar{C}_{e}^{\ell} = \left [ \textstyle\begin{array}{c} I \\ \bar{b}_{3}^{kT} \end{array}\displaystyle \right ] \left ( C_{e}^{\ell} \left [ \textstyle\begin{array}{cc} I,\ \bar{b}_{3}^{k} \end{array}\displaystyle \right ] + M_{e}^{\ell} \widetilde{b_{3}^{k}}^{T} \left [ \textstyle\begin{array}{cc} \dot{\phi},\ \underline{\omega}^{k} \end{array}\displaystyle \right ] \right ) $$
(28)

and

$$\begin{aligned} \bar{K}_{e}^{\ell} =& \left [ \textstyle\begin{array}{c} I \\ \bar{b}_{3}^{kT} \end{array}\displaystyle \right ] \left ( K_{e}^{\ell} \left [ \textstyle\begin{array}{cc} I,\ \bar{b}_{3}^{k} \end{array}\displaystyle \right ] + M_{e}^{\ell} \left [ \textstyle\begin{array}{cc} \widetilde{b_{3}^{k}}^{T}\ddot{\phi}+\dot{\phi}\widetilde{\omega} ^{k}\widetilde{b_{3}^{k}}^{T},\ 0 \end{array}\displaystyle \right ] \right ) + \left [ \textstyle\begin{array}{c} I \\ \bar{b}_{3}^{kT} \end{array}\displaystyle \right ] C_{e}^{\ell} \left [ \textstyle\begin{array}{cc} \widetilde{b_{3}^{k}}^{T}\dot{\phi},\ 0 \end{array}\displaystyle \right ] . \end{aligned}$$
(29)

Then the mass, stiffness and damping matrices, \(\bar{M}_{e}^{\ell}\), \(\bar{K}_{e}^{\ell}\) and \(\bar{C}_{e}^{\ell}\), together with transformed right hand side vector, need to be assembled into the global ones. The orthogonality conditions of revolute joints have been automatically satisfied, and kinematic constrains, Eqs. (1) and (12), do not required anymore. Observations of recursive model, Eqs. (24), show that the governing equations are exactly ODE and relative rotation angle \(\phi\) associated degree of freedom are not massless. The recursive model has avoided formulating the stiff DAE of index 3. When torsional spring and dash-pot damper are considered, the torques of spring and damper are easily obtained as \(k_{s}\phi\) and \(c_{s}\dot{\phi}\), respectively.

2.3 Contact models for revolute joints with clearance

With the unilateral contact condition [25], a contact model for revolute joints is developed in this section to capture the phenomena of contact/impact due to clearance.

2.3.1 Contact kinematics of revolute joints with clearance

Except the kinematic constraints, Eqs. (1), an additional constraint needs to be applied to the revolute joints with clearance for the guaranty of planar motion of the inner and outer parts with respect to each other. As depicted in Fig. 2, the relative displacement of the inner and outer parts is defined like

$$ \underline{u}= \underline{u}_{0}^{\ell} + \underline{u}^{\ell} - \underline{u}_{0}^{k} - \underline{u}^{k} $$
(30)

and an additional constraint is written as

$$ c_{4} = \bar{b}_{3}^{kT} \underline{u}= 0 . $$
(31)

The corresponding force of constraint \(\underline{F}_{c}^{4}\) is readily obtained from the associated constraint potential like

$$ \underline{F}_{c}^{4} = \left \vert \textstyle\begin{array}{c} -\bar{b}_{3}^{k} \\ \widetilde{b_{3}^{k}} \underline{u} \\ \bar{b}_{3}^{k} \end{array}\displaystyle \right \vert (k\lambda_{4} + 2 p\ c_{4}). $$
(32)

For the modeling of clearance, the scheme of contact detection should be designed at first. A straightforward strategy is predicting the relative distance between the contact point-pair candidates with the unilateral contact condition and then make a judgment of weather the contact is happened or not. Observation of the geometric configuration of revolute joint with clearance, as depicted in Fig. 2, shows that the contact point-pair candidates could be identified along the normal direction \(\bar{n}\) defined as

$$ \bar{n}= \displaystyle \frac{\underline{u}}{\|\underline{u}\|}, $$
(33)

where \(\|\cdot\|\) presents the 2-norm of vector and \(\|\underline{u} \| = \sqrt{\underline{u}^{T}\underline{u}}\). The positions of contact point-pair candidates on inner and outer races \(k\) and \(\ell\), respectively, are written as

$$ \underline{z}^{k} = \underline{u}_{0}^{k} + \underline{u}^{k} + \rho ^{k}\bar{n}\quad \mathrm{and}\quad \underline{z}^{\ell} = \underline{u}_{0} ^{\ell} + \underline{u}^{\ell} + \rho^{\ell}\bar{n}, $$
(34)

where \(\rho^{k}\) and \(\rho^{\ell}\) are the radii of inner and outer races. The relative distance between the contact candidates is predicted from

$$ q = \bar{n}^{T}\bigl(z^{k} - z^{\ell} \bigr), $$
(35)

in detail,

$$ q = -\bar{n}^{T}\underline{u}+ \rho^{k} - \rho^{\ell}. $$
(36)

During contact/impact, the inner and outer bodies will exert tension on one another and the inner penetration will be happened. Obviously, if \(q < 0\), the contact/impact occurs and the inter-penetration between the contacting bodies is denoted by a negative value of \(q\) as \(a =-q\). This work develops a penalty approach by adding spring and damper in the contact interface between inner and outer bodies to the modeling of unilateral contact conditions. Denoting the magnitude of normal contact forces as \(f_{n}\), the virtual work of normal contact forces during contact can be written as

$$ \delta W_{n} = f_{n}\bar{n}^{T} \delta\bigl(z^{k} - z^{\ell}\bigr) $$
(37)

and the normal contact forces applied to bodies \(k\) and \(\ell\) become

$$ \biggl\vert \textstyle\begin{array}{c} \underline{F}_{n}^{k} \\ \underline{F}_{n}^{\ell} \end{array}\displaystyle \biggr\vert = \biggl\vert \textstyle\begin{array}{c} f_{n}\bar{n} \\ -f_{n}\bar{n} \end{array}\displaystyle \biggr\vert . $$
(38)

In the case of friction in the contact interface there are possibilities of sticking and sliding. When sliding occurs, the velocities of material points which coincide with the contact candidates compute from time derivatives of positions, \(\underline{z}^{k}\) and \(\underline{z}^{ \ell}\), as

$$ \dot{\underline{z}}^{k} = \dot{\underline{u}}^{k} + \widetilde{\omega}^{k}\rho^{k}\bar{n}, \qquad \dot{\underline{z}}^{\ell} = \dot{\underline{u}}^{\ell} + \widetilde{\omega}^{\ell} \rho^{\ell}\bar{n}, $$
(39)

and the relative velocity will be

$$ \underline{v}_{r} = \dot{\underline{z}}^{\ell} - \dot{\underline{z}} ^{k}. $$
(40)

The component of the relative velocity in the null space of normal direction \(\bar{n}\) is readily obtained from

$$ \underline{v}_{t} = \bigl(I - \bar{n} \bar{n}^{T}\bigr)\underline{v}_{r} $$
(41)

and the normalization of \(\underline{v}_{t}\) produces the following tangent vector:

$$ \bar{t}= \displaystyle \frac{\underline{v}_{t}}{\|\underline{v}_{t}\|}, $$
(42)

indicating the direction of sliding. The current implementation predicts a magnitude of the friction force, \(f_{t}\), by using the continuous Coulomb law and analytical LuGre models, respectively. The virtual work done by the friction force

$$ \delta W_{t} = f_{t}\bar{t}^{T} \delta\bigl(z^{k} - z^{\ell}\bigr) $$
(43)

is expanded to yield the friction force applied to bodies \(k\) and \(\ell\), respectively, like

$$ \underline{F}_{t}^{k} = f_{t} \biggl\vert \textstyle\begin{array}{c} \bar{t} \\ \rho^{k}\widetilde{n}\bar{t} \end{array}\displaystyle \biggr\vert , \qquad \underline{F}_{t}^{\ell} =-f_{t} \biggl\vert \textstyle\begin{array}{c} \bar{t} \\ \rho^{\ell}\widetilde{n}\bar{t} \end{array}\displaystyle \biggr\vert . $$
(44)
Fig. 2
figure 2

Configuration of revolute joint with clearance

2.3.2 Normal contact force based on Hertz model

For penalty method, the relationship between normal contact force and inner penetration will be given by a constitutive law during contact. Conventional approach applies Hertz model [23], a spring model as the constitutive law, to derive the magnitude of normal contact force \(f_{n}\) from a potential, \(V(a)\), like

$$ f_{n} = \displaystyle \frac{\partial V}{\partial a}. $$
(45)

In a generic sense, this work separates the normal force of contact into its elastic and dissipative components and a suitable expression [23] is given as

$$ f_{n} = f_{e} + f_{c} = \displaystyle \frac{\partial V}{\partial a} \bigl(1 + f_{d}(\dot{a})\bigr), $$
(46)

where \(f_{d}(\dot{a})\) accounts for energy dissipation during contact and is represented by, \(f_{d}(\dot{a}) = \mu\dot{a}\). In the case of a Hertzian contact, the current implementation applies the nonlinear modeling of the elastic contact force,

$$ f_{e} = k_{h}a^{\frac{3}{2}}, $$
(47)

and of the damping contact force,

$$ f_{c} = \mu k_{h}a^{\frac{3}{2}} \dot{a}. $$
(48)

The definitions of stiffness parameter \(k_{h}\) and damping coefficient \(\mu\) can be found in Refs. [23, 32].

2.3.3 Modeling of friction force

This work affords two options for the modeling of friction force, one is the Coulomb friction law and the other the LuGre model. The Coulomb law states the friction force \(f_{t}\) is proportional to the magnitude of the normal contact force \(f_{n}\) like

$$ f_{t} =-\mu_{k}f_{n}, $$
(49)

where \(\mu_{k}\) is the coefficient of dynamic friction. If the relative velocity vanishes, sticking or rolling takes place. In this case, the friction force becomes

$$ |f_{t}| \le\mu_{s} f_{n}, $$
(50)

where \(\mu_{s}\) is the coefficient of static friction. This highly nonlinear phenomenon of friction coefficient switching between sliding and sticking conditions makes it very hard to deal with the classic Coulomb law numerically [33, 34]. In the current implementation, the friction coefficient is regularized to obtain a continuous friction law [35], successfully treat sticking, sliding and transition regions, like

$$ |f_{t}| =- \mu_{k} f_{n} \tanh\biggl(\frac{v_{t}}{v_{c}}\biggr), $$
(51)

where \(v_{c}\) is a characteristic velocity.

The LuGre model is a type of bristle model captures micro-slip and also accounts for the drop in friction force as the sliding speed is increased. This analytical friction model is governed by the following ordinary differential equations:

$$\begin{aligned} \begin{aligned} \dot{z} &= v - \frac{|v|}{g(v)}z, \\ g(v) &= \frac{1}{\sigma_{0}}\mu_{k} + (\mu_{s}-\mu_{k})e^{- \vert v/v_{s} \vert \gamma}, \end{aligned} \end{aligned}$$
(52)

where \(v\) is the magnitude of the relative velocity component in tangent plane, \(v = |\underline{v}_{t}|\), and \(v_{s}\) the Stribeck velocity, \(\gamma\) a model parameter, which is often selected as \(\gamma= 2\). The instantaneous friction coefficient computes from

$$\begin{aligned} \mu= \sigma_{0}z + \sigma_{1}\dot{z} + \sigma_{2}v, \end{aligned}$$
(53)

where \(\sigma_{0}\) is the stiffness and \(\sigma_{1}\) and \(\sigma_{2}\) the damping coefficients. The friction force is still proportional to the magnitude of normal contact force

$$ f_{t} =- \mu f_{n} . $$
(54)

When Radau IIA algorithms [29, 31] with stage number \(s = 2\) and 3 are used to solve the contact problem, the stage quantities, \(z_{i}\) and \(\dot{z}_{i}\) for \(i = 1,2,\ldots,s\) at each time integral duration, \(t\in[t_{n}, t_{n+1}]\), needs to be solved from Eqs. (52) before computing friction contact force. This work applies a trapezoidal algorithm, \(\dot{z} _{i} + \dot{z}_{i-1} = 2/h (z_{i} - z_{i-1})\), featuring second order accuracy, to approximate these quantities,

$$ z_{i} = \frac{v_{i} + \dot{z}_{i-1} + \frac{2}{h}z_{i-1}}{\frac{2}{h} + \frac{\sigma_{0}|v_{i}|}{g(v_{i})}}, \qquad \dot{z}_{i} = v_{i} - \frac{|v_{i}|}{g(v_{i})}z_{i}, $$
(55)

where \(v_{i}\) is the \(i{\mathrm{th}}\) stage value of \(v\), and \(z_{0}\) and \(\dot{z}_{0}\) are the given values at initial time \(t_{n}\).

3 Numerical examples

Three numerical examples are presented to validate the developed models for revolute joints in flexible multibody systems.

3.1 Bio-inspired flight flapping wing

The first example deals with the kinetic problem of a stick model of flying robot, which is designed to simulate the flapping motion of birds. The internal structure of wing has been simplified to the four-bar linkages for stick model. Due to symmetry, only a half of the basic geometric configuration is depicted in Fig. 3. Note that 16 points are numbered in the figure to determine the geometric topology of the four-bar linage, where the left linkage will connect to the right one through points 13 and 16. The whole structure is clamped at point 16. The coordinates of all the points are given in Table 1 with the unit of length cm. In the current implementation, the numerical model of four-bar linkage is consisted of beam elements [36] and revolute joints. A user-defined function, \(\phi(t) = \omega t\) with constant angular speed \(\omega= 12.56\mbox{ rad}/\mbox{s}\), prescribes rotation of crank shaft, and the kinematic constraint, Eq. (12), is enforced to the kinematic model for revolute joint located at point 1. The beam elements have shared the same material properties as following: mass per unit length, \(\rho= 0.1032~\mbox{kg}/\mbox{m}\), bending stiffness, \(I_{22} = I_{33} = 29.856~\mbox{N}\,\mbox{m}^{2}\), torsional stiffness, \(J = 23.303~\mbox{N}\,\mbox{m}^{2}\). Three different test cases have been performed. For case ℐ, all the revolute joints have been modeled by using kinematic constraints, Eq. (1). The governing equations of motion for discrete model will be DAE of index 3 with degrees of freedom, \(N = 1368\), containing 42 Lagrange multipliers. The 2-stage Radau IIA algorithm [29] is applied to integrate the governing equations and the predicted trajectory of four-bar linkage is shown in Fig. 4. The cyclic flapping of four-bar linkage apparently mimics the flapping motion of birds. As depicted in Fig. 5, the time histories of relative rotations for revolute joint located at points 8 and 9 are sensed and compared with the results of DYMORE [38], in which all the revolute joints are modeled by using the classical formula. The relative error between these two predictions for \(\phi_{8}\) is computed as \(\epsilon_{8} = 5.04\times 10^{-6}\). For case \(\mathcal{II}\), the kinematic constraints at point 2 and point 4 for both left and right linkages are replaced by four recursive models, with the rest remaining unchanged. The relative rotation of recursive model located at point 4 is described in Fig. 6. The time history has been compared with this of case ℐ. The relative error between the responses of \(\phi_{4}\) for these two different models, \(\epsilon_{4} = 1.44\times 10^{-8}\), shows that the recursive model has the same accuracy as the kinematic constraint model. For case \(\mathcal{III}\), the kinematic constraints at point 4 for both left and right linkages are replaced by two contact models, leaving the rest unchanged. The contact models with the same properties have been applied, and their physical properties are defined as the radii of inner and outer races are 50 and \(50.1~\mbox{mm}\), respectively. The stiffness parameter for Hertz model is \(k_{h} = 1 \times10^{9}~\mbox{N}/\mbox{m}^{3/2}\). The Coulomb law has been applied to predict the friction force, where \(\mu_{k}=0.6\), and \(v_{c} = 2~\mbox{m}/\mbox{s}\). The numerical simulation results show that the clearance joints seriously affect the dynamic response of the flexible linkage and degrade the dynamic performance of connected bodies. Figure 7, presents the time histories of dynamic response of point 11 located at the tip of linkage. The simulation result of case \(\mathcal{III}\) has been compared with that of case ℐ. The apparent deviation can be observed from the figure.

Fig. 3
figure 3

Configuration of four-bar linkage

Fig. 4
figure 4

Trajectory of four-bar linkage

Fig. 5
figure 5

Relative rotations of revolute joints at points 8 and 9, current implementation: \(\Diamond\), results of DYMORE: \(\Box\)

Fig. 6
figure 6

Relative rotations of revolute joints at point 4, recursive model: \(\Diamond\), kinematic constraints: \(\Box\)

Fig. 7
figure 7

Time histories of position for point 11 at the tip of linkage, contact model: ∘, kinematic constraints: \(\Diamond\)

Table 1 Coordinates of the four-bar linages control points

3.2 The ground resonance problem

The second example solves a problem of ground resonance by using the finite element method. As described in Fig. 8, a four-bladed rotor mounted on a rigid block of mass \(m_{t} = 30~\mbox{kg}\). The block is connected to the ground by a spring of stiffness constant \(K_{t} = 12~\mbox{kN}/\mbox{m}\) and dash-pot of constant \(C_{t} = 150~\mbox{N}\,\mbox{s}/\mbox{m}\). The four-bladed rotor is connected to the block by means of a revolute joint. Each uniform blade of length \(4.25\mbox{ m}\) has a mass of \(12.75~\mbox{kg}\) and soft bending stiffness [29]. The blade root hinge is located at distance \(0.25\mbox{ m}\) from the bub. In the current implementation, the rotor-block system, a typical flexible multibody system, has been discretized into geometrically nonlinear beams [36], rigid bodies and revolute joints. Each blade is discretized with three cubic beam elements. A revolute joint located at the rigid block prescribes rotation of the rotor, and four revolute joints model the lead-lag hinges of the blades. Both kinematic constraint and recursive models for revolute joints developed in this work will be tested for their efficiency and accuracy.

Fig. 8
figure 8

Ground resonance problem

At first, ground resonance is simulated by using the finite element model involving five modified kinematic constraints for revolute joints. The initial rotor speed sets as \(20.01~\mbox{rad}/\mbox{s}\), an unstable rotor speed as pointed in Ref. [37]. The governing equations of motion for this discrete model are also a DAE system of index 3. The number of total degrees of freedom is 199, containing 10 Lagrange multipliers. Here again, the 2-stage Radau IIA algorithm [29] is used to integrate the DAE of index 3. Second, the modified constraint models for revolute joints are replaced by the recursive models and the other elements keep unchanged. The governing equations of motion of system have been assembled into an easily solved ODE system. The total number of degrees of freedom of system has been decreased to 179. The statistic information of simulation shows that it runs faster for 2-stage Radau IIA algorithm to solve ODE by 17 s of CPU times than solving DAE of index 3, 21 s of CPU times. All the simulations are performed on the desktop with Intel(R) Celeron(R) CPU G1620 2.70 GHz. Figure 9 shows the time histories of lag angles, \(\phi_{i}\) for \(i=1,2,\ldots,4\), predicted by kinematic constraints and recursive model, respectively. The relative error of \(\phi_{1}\) between predictions of two different models for revolute joint is evaluated as \(\epsilon_{1} = 4.66\times10^{-6}\), indicates the recursive model for revolute joints has the same accuracy as modified constraint model.

Fig. 9
figure 9

Time history of lag angles. Results of recursive models: solid line, results of constraint model: dashed line. \(\phi _{1}\) (⋄), \(\phi_{2}\) (∘), \(\phi_{3}\) (\(\square\)), \(\phi_{4}\) (⋆)

3.3 Clearance rotor with flexible anisotropic bearings

As depicted in Fig. 10, the last example validates the contact model for revolute joint by solving a contact problem of clearance rotor. The rotor is consisted of a flexible shaft with a midspan rigid disk. The shaft is connected to the end flexible couplings, represented by concentrated springs. At point R, a revolute joint is connected to the ground by concentrated spring; at point T, the finite stiffness end bearing is consists of a revolute joint with clearance and a concentrated spring. The contact model for revolute joint at point T describes the relative planar motion of inner and outer races of joint. For this example, the radii of inner and outer races are 80 and \(80.8\mbox{ mm}\), respectively. The geometric size and properties of rotor can be found in Ref. [29]. For finite element modeling, the shaft has been discretized into six geometrically exact beam elements [36], the rigid disk has been modeled by rigid body, a kinematic model for revolute joint located at point R describes the rotation of rotor with a constant angular velocity \(\varOmega= 24\mbox{ rad}/\mbox{s}\). The dynamic response of rotor was simulated with the application of 2-stage Radau IIA algorithm. As shown in Fig. 11, the trajectory of inner race center respected to the outer race is predicted. The nonlinear phenomena of contact and penetration between the inner and outer races are observed. The accuracies of the Coulomb friction law and the LuGre model are compared with respect to each other when contact/impact occurs. Figure 12 shows the time history of friction forces predicted by using these two models. A good curve fitting is observed.

Fig. 10
figure 10

Clearance rotor with flexible anisotropic bearings

Fig. 11
figure 11

Trajectory of inner race respected to the outer race, the Coulomb law: solid line; the LuGre model: dashed line

Fig. 12
figure 12

Time history of friction force, the Coulomb law: solid line; the LuGre model: dashed line

4 Conclusion

Three different types of numerical models for revolute joints in flexible multibody systems are developed by finite element method. These models can be used to connect rigid or flexible bodies in multibody system with arbitrary topology, featuring high modeling flexibility. The following conclusions have been drawn:

  1. 1.

    The first model is a modified kinematic constraint model that reduces the number of constraints from four to three by dealing with relative rotation in an efficient manner. The numerical simulation shows that this model behaviors more stable than the classical constraint model with four constraints because the stiff properties of multibody systems have been degraded.

  2. 2.

    The second recursive model introduces the relative rotation angle \(\phi\) as an isolated variable to avoid the stiff phenomena of multibody systems caused by the kinematic constraints. This recursive model has a higher efficiency and is more reliable than the constraint model.

  3. 3.

    The third model includes a set of dry clearance joint and flexible links to simulate the coupling effect between clearance joint and links’ flexibility. Similar to the recursive model, the clearance model does not impose kinematic constraints to the multibody system. The dynamical behaviors of revolute joints are controlled by contact forces from the force models. It can be concluded the clearance joints seriously affect the dynamic response of the flexible multibody systems.

Finally, three numerical models of revolute joints have been validated by using three numerical examples of flexible multibody systems. All of these models have good accuracy, of which the recursive model is more efficient. In addition, the clearance model strengthens the dynamical nonlinearity of flexible multibody system because the joint clearance leads to the jump in contact forces.