1 Introduction

The field of flexible multibody dynamics considers the study of mechanical systems that consist of multiple deformable bodies. These bodies are connected together or to the fixed world in their interface points. In many situations the deformation of a body remains sufficiently small, such that linear elasticity theory can be used to describe the elastic displacement field locally. However, the joints that are situated at the interface points may allow for large rigid body rotations between different bodies, which causes the kinematics to be of a nonlinear nature.

The floating frame of reference formulation is a flexible multibody dynamics formulation well-suited for these types of problems. Its details are well-documented in standard textbooks such as [1]. In the floating frame formulation, the rigid body motion of a body is described by the absolute coordinates of the floating frame; a coordinate system that moves along with the body. The elastic deformation is described locally, relative to the floating frame, by a set of generalized coordinates that correspond to a specific set of mode shapes. These mode shapes can be obtained from the body’s linear finite element model by means of model order reduction techniques, such as the Craig–Bampton method [2]. The fact that such reduction methods can be applied, makes the floating frame formulation a very efficient multibody formulation for cases in which the local elastic deformation is small indeed.

Because the floating frame formulation uses the floating frame coordinates and the generalized coordinates corresponding to the local mode shapes, the kinematic constraint equations are nonlinear and in general difficult to solve analytically. As a consequence, Lagrange multipliers are required to satisfy the kinematic constraint equations when formulating the equations of motion. This is an important disadvantage of the floating frame formulation, as the Lagrange multipliers cause the constrained equations of motion to be of the differential-algebraic type rather than the differential type. In contrast, formulations in which the absolute interface coordinates are part of the degrees of freedom do not need Lagrange multipliers: because the kinematic constraints are enforced at the interface points, they can be satisfied conveniently by relating the relevant interface coordinates.

In previous work, the authors have presented a new formulation for the simulation of flexible multibody systems [3]. This method is based on the floating frame formulation, but uses the absolute interface coordinates as the degrees of freedom. In this way, this method combines the advantage of the floating frame formulation in describing a body’s local elastic behavior with the advantage of satisfying kinematic constraints without Lagrange multipliers. This is realized by establishing a coordinate transformation that expresses the absolute floating frame coordinates and local elastic coordinates in terms of the absolute interface coordinates. The static Craig–Bampton interface modes are used for describing the local elastic displacement field. In essence, the formulation realizes the desired coordinate transformations by exploiting the fact that the Craig–Bampton modes are able to describe rigid body motion. The global equations of motion of a flexible body were presented and the method was validated in a number of numerical problems.

In this work, a full and complete derivation will be presented of the tangent stiffness matrix associated with this new formulation. Although the correct form of the tangent stiffness matrix was included in all validation problems in [3], its full derivation has not been presented before. Additionally, this work discusses the importance of the tangent stiffness matrix in static and dynamic numerical simulations. To this end, a demonstration of the effects of ignoring or simplifying the tangent stiffness matrix on both simulation accuracy and simulation time are presented.

In static simulations, the equilibrium equations are solved by increasing the externally applied load incrementally. Within each load increment, multiple iterations may be required to obtain a displacement increment that satisfies the equations of equilibrium with sufficient accuracy. For the computation of each displacement increment, the equations of equilibrium are linearized about the current configuration. The tangent stiffness matrix naturally arises in this linearization.

In dynamic simulations, the equations of motion are solved incrementally by means of numerical time integration. For computation of the next time increment, the equations of motion are linearized about the current configuration. For the simulation of the flexible multibody problems in this work, implicit integration schemes, such as the Adams–Moulton scheme, can be used. In those integration schemes, the Jacobian of the equation of motion can be used to improve the corrector step, which requires the tangent stiffness matrix.

For many standard finite elements such as beams, plates and volume elements, expressions for the tangent stiffness are well-documented; see for instance [4, 5]. However, since the new formulation [3] is applicable to reduced order models of arbitrarily shaped three-dimensional flexible bodies, an expression for the tangent stiffness matrix is required for these general circumstances. The most significant contributions of this work are the development of the general expression of the tangent stiffness matrix and a discussion of its relevance in numerical problems.

The remainder of this work contains two theoretical sections, followed by two sections on numerical validations. In Sect. 2, the new floating frame formulation as presented in [3] is summarized. This is restricted to that what is necessary to derive the tangent stiffness matrix. The kinematics of the floating frame formulation is introduced, where local interface coordinates are used to describe local elastic deformation using the Craig–Bampton method. The local interface coordinates, are expressed in terms of the difference between the absolute interface coordinates and the absolute floating frame coordinates. By demanding zero elastic deformation at the location of the floating frame, the floating frame coordinates and local interface coordinates are both expressed in terms of the absolute interface coordinates. In Sect. 3, the full expression for the tangent stiffness matrix is derived. To this end, the equation of equilibrium of a flexible body is derived based on the principle of virtual work. The tangent stiffness matrix is introduced after taking the variation in the equation of equilibrium. This requires the variations in the relevant transformation matrices, which will be provided. It is shown that the tangent stiffness matrix depends on the orientation of the floating frame and the body’s elastic deformation. In Sect. 4, numerical validation problems that show the importance of the tangent stiffness matrix on the simulation convergence of static problems are discussed. In Sect. 5, numerical validation problems that show the importance of the tangent stiffness on the simulation efficiency of dynamic problems are discussed. The paper finalizes with the most important conclusions.

2 A floating frame formulation in terms of absolute interface coordinates using Craig–Bampton modes

The kinematics of a three-dimensional flexible body is considered in the floating frame formulation. The position and orientation of the floating frame is denoted by the pair \(\{ P_{j}, E_{j} \}\), where \(P_{j}\) identifies the material point on the body to which coordinate frame \(E_{j}\) is rigidly attached. The degrees of freedom consist of the 6 absolute coordinates of the floating frame with respect to the inertial frame \(P_{O}\) and the generalized coordinates associated with the mode shapes that describe the body’s elastic deformation. Let \(N\) be the number of interface points on the body. Then the number of interface coordinates is \(6N\). In order to establish a coordinate transformation from the degrees of freedom of the floating frame formulation to absolute interface coordinates, the total number of generalized coordinates in both formulations must be the same. Hence, the number of mode shapes taken into account in the floating frame formulation must be equal to \(6N-6\). In this way, the total number of degrees of freedom of a flexible body equals \(6N\).

The fact that the coordinate transformation involves the interface coordinates, suggests that it is convenient to describe the body’s local elastic behavior such that it is uniquely defined by the local interface coordinates. In this aspect, choosing the Craig–Bampton modes as the local mode shapes is a natural choice, because the generalized coordinates corresponding to the Craig–Bampton modes are in fact local interface coordinates. Let \(P_{k}\) identify the interface point with index \(k\). The local generalized coordinates associated with this interface point are denoted by the (\(6\times 1\)) vector \(\mathbf{q} _{k}^{j,j}\), which defines the elastic displacement and rotations of \(P_{k}\) (lower index \(k\)) relative to \(P_{j}\) (second upper index \(j\)) and its components are expressed in the coordinate system \(\{ P_{j}, E_{j} \}\) (first upper index \(j\)). Now, the local elastic deformation at an arbitrary point \(P\) on the body can be expressed as

$$ \mathbf{q}_{P}^{j,j} = \sum_{k=1}^{N} \boldsymbol{\Phi }_{k} \bigl( \mathbf{x}_{P}^{j,j} \bigr) \mathbf{q}_{k}^{j,j}. $$
(2.1)

Here \(\boldsymbol{\Phi }_{k}\) is the (\(6\times 6\)) mode matrix that describes the elastic displacements and rotations due to the six Craig–Bampton modes of \(P_{k}\), which is identified by the position vector \(\mathbf{x}_{P}^{j,j}\) on the undeformed body. Equation (2.1) is written in short as

$$ \mathbf{q}_{P}^{j,j} = [ \boldsymbol{\Phi }_{P} ] \mathbf{q}^{j,j}, $$
(2.2)

where the (\(6\times 6N\)) matrix \([ \boldsymbol{\Phi }_{P} ]\) contains all the Craig–Bampton modes evaluated at \(P\) and the (\(1\times 6N\)) vector \(\mathbf{q}^{j,j}\) contains all local interface coordinates:

$$ [ \boldsymbol{\Phi }_{P} ] \equiv \left [ \textstyle\begin{array}{c@{\quad }c@{\quad }c} \boldsymbol{\Phi }_{1} ( \mathbf{x}_{P}^{j,j} ) & \ldots & \boldsymbol{\Phi }_{N} ( \mathbf{x}_{P}^{j,j} ) \end{array}\displaystyle \right ],\qquad \mathbf{q}^{j,j} \equiv \left [ \textstyle\begin{array}{c} \mathbf{q}_{1}^{j,j} \\ \vdots \\ \mathbf{q}_{N}^{j,j} \end{array}\displaystyle \right ]. $$
(2.3)

Because there are \(6N\) interface coordinates, there will be \(6N\) Craig–Bampton modes, not \(6N-6\). Moreover, the Craig–Bampton modes are able to describe rigid body motion. Since rigid body motion is already described by the floating frame coordinates, taking into account all Craig–Bampton modes will cause problems of non-uniqueness. In order to remove this singularity, six constraints are be imposed on the modes. In its most general form, one needs to demand

$$ \boldsymbol{\mathcal{F}} \bigl( \mathbf{q}^{j,j} \bigr) = \boldsymbol{0}, $$
(2.4)

which are in general six nonlinear equations in terms of \(\mathbf{q} ^{j,j}\). Due to its possible nonlinear nature, this might not be solved analytically. However, it is possible to solve Eq. (2.4) in its tangent space. Taking the variation of Eq. (2.4) yields

$$ \nabla \boldsymbol{\mathcal{F}}\cdot \delta \mathbf{q}^{j,j} = \mathbf{0}. $$
(2.5)

These are 6 linear equations in the virtual displacements \(\delta \mathbf{q}^{j,j}\). If these equations are satisfied, the virtual change in the interface coordinates is such that no rigid body motion occurs.

In the original work [3], the six constraints are defined by demanding that at the location of the floating frame, the elastic deformation is zero. Explicitly this means that the virtual change in interface coordinates should satisfy

$$ [ \boldsymbol{\Phi }_{j} ] \delta \mathbf{q}^{j,j} = \boldsymbol{0}, $$
(2.6)

where \([ \boldsymbol{\Phi }_{j} ]\) now represents the Craig–Bampton mode matrix evaluated at the floating frame. The most straightforward way in which Eq. (2.6) is satisfied, is by choosing the Craig–Bampton modes such that each of them equals zero at the location of the floating frame:

$$ [ \boldsymbol{\Phi }_{j} ] = \boldsymbol{0}. $$
(2.7)

This is the case when the floating frame is located in an interface point and the Craig–Bampton modes of that particular interface point are removed from the set of modes; see e.g. [6]. However, this makes the results dependent on the interface point chosen. Moreover, in general a better accuracy is obtained when the floating frame is close to the body’s center of mass. In that case, the deformed configuration of a body can be described with smaller elastic deformations. Figure 1 illustrates this effect. Alternatively, the Craig–Bampton modes can be determined while keeping the floating frame fixed; see e.g. [7]. This is equivalent to the first method [6] when an auxiliary interface point is introduced at the location of floating frame. In this way, the floating frame can be close to the center of mass. However, it is now required to determine the location of the floating frame, before computing the Craig–Bampton modes. This is not convenient, since the Craig–Bampton modes need to be recomputed if one wants to locate the floating frame on a different location. Moreover, when using an auxiliary interface point at the location of the floating frame, one in fact uses 6 degrees of freedom more than in the method presented in [3]. This is an unnecessary increase of the computational cost.

Fig. 1
figure 1

A flexible body in its deformed configuration and its undeformed configurations (dashed lines) for floating frame locations at an interface point and at the undeformed body’s center of mass. Placing the floating frame close to the center of mass requires a smaller deformation. Figure was made using Adobe Illustrator

It is of course not necessary to demand that each individual mode equals zero at the location of the floating frame. Equation (2.6) only prescribes that a linear combination of modes should be such that there is zero elastic deformation at the location of the floating frame. The general form of this constraint, Eq. (2.6), is more attractive than Eq. (2.7) in the sense that the mathematical formulation is similar for all interface points: all interface points are treated in the same way. That is, the remaining procedure does not depend on what interface point is chosen to locate the floating frame in. The essence of the method [3] is in defining how the absolute floating frame coordinates can be expressed in terms of the absolute interface coordinates while satisfying Eq. (2.6).

In the floating frame formulation, the global position of interface point \(P_{k}\) relative to the inertial frame \(P_{O}\) is expressed in terms of the global position of the floating frame \(P_{j}\) relative to \(P_{O}\) and the local position of \(P_{k}\) relative to \(P_{j}\):

$$ \mathbf{r}_{k}^{O,O} = \mathbf{r}_{j}^{O,O} + \mathbf{R}_{j}^{O} \mathbf{r}_{k}^{j,j}. $$
(2.8)

Here \(\mathbf{r}_{k}^{O,O}\), \(\mathbf{r}_{j}^{O,O}\) and \(\mathbf{r} _{k}^{j,j}\) are position vectors of which the indices follow the convention as introduced above and \(\mathbf{R}_{j}^{O}\) is the (\(3 \times 3\)) rotation matrix that relates the orientation of frame \(P_{j}\) to \(P_{O}\). Figure 2 shows a graphical representation of this relation.

Fig. 2
figure 2

The position of material point \(P_{k}\) relative to \(P_{O}\) using floating frame \(P_{j}\). Figure was made using InkScape

For the virtual displacement \(\delta \mathbf{r}_{k}^{O,O}\)

$$ \delta \mathbf{r}_{k}^{O,O} =\delta \mathbf{r}_{j}^{O,O} +\delta \tilde{\boldsymbol{\pi }}_{j}^{O,O} \mathbf{R}_{j}^{O} \mathbf{r}_{k} ^{j,j} + \mathbf{R}_{j}^{O} \delta \mathbf{r}_{k}^{j,j}, $$
(2.9)

in which \(\delta \tilde{\boldsymbol{\pi }}_{j}^{O,O}\) is the skew symmetric matrix of virtual rotations, defined by the variation of the rotation matrix as

$$ \delta \mathbf{R}_{j}^{O} =\delta \tilde{\boldsymbol{\pi }}_{j}^{O,O} \mathbf{R}_{j}^{O}. $$
(2.10)

For the virtual rotation of interface point \(P_{k}\)

$$ \delta \boldsymbol{\pi }_{k}^{O,O} =\delta \boldsymbol{ \pi }_{j}^{O,O} + \mathbf{R}_{j}^{O} \delta \boldsymbol{\pi }_{k}^{j,j}. $$
(2.11)

Let \(\delta \mathbf{q}_{k}^{O,O}\) denote the variation in the global interface coordinates, which is composed of the virtual displacement \(\delta \mathbf{r}_{k}^{O,O}\) and the virtual rotation \(\delta \boldsymbol{\pi }_{k}^{O,O}\). In compact form, Eq. (2.9) and (2.11) can be combined:

$$ \delta \mathbf{q}_{k}^{O,O} = \bigl[ \mathbf{R}_{j}^{O} \bigr] \delta \mathbf{q}_{k}^{j,j} + \bigl[ \mathbf{R}_{j}^{O} \bigr] \bigl[ - \tilde{ \mathbf{r}}_{k}^{j,j} \bigr] \bigl[ \mathbf{R} _{O}^{j} \bigr] \delta \mathbf{q}_{j}^{O,O}, $$
(2.12)

in which

$$ \bigl[ \mathbf{R}_{j}^{O} \bigr] \equiv \left [ \textstyle\begin{array}{c@{\quad }c} \mathbf{R}_{j}^{O} & \boldsymbol{0} \\ \boldsymbol{0} & \mathbf{R}_{j}^{O} \end{array}\displaystyle \right ], \qquad \bigl[ - \tilde{ \mathbf{r}}_{k}^{j,j} \bigr] \equiv \left [ \textstyle\begin{array}{c@{\quad }c} \boldsymbol{1} & - \tilde{\mathbf{r}}_{k}^{j,j} \\ \boldsymbol{0} & \boldsymbol{1} \end{array}\displaystyle \right ]. $$
(2.13)

By rewriting Eq. (2.12), it is possible to express the local interface coordinates in terms of the global interface coordinates and the floating frame coordinates:

$$ \delta \mathbf{q}_{k}^{j,j} = \bigl[ \mathbf{R}_{O}^{j} \bigr] \delta \mathbf{q}_{k}^{O,O} - \bigl[ - \tilde{\mathbf{r}}_{k}^{j,j} \bigr] \bigl[ \mathbf{R}_{O}^{j} \bigr] \delta \mathbf{q}_{j} ^{O,O}. $$
(2.14)

This can be done for all interface points:

(2.15)

in which

(2.16)

the matrix \([ - \tilde{\mathbf{r}}_{k}^{j,j} ]\) can be interpreted as the displacements of interface point \(P_{k}\) due to a rigid body motion of the floating frame, expressed in the deformed configuration of the body. Hence, the matrix \([ \boldsymbol{\Phi }_{\mathrm{rig}} ]\) represents the displacements of all interface points due to a rigid body motion of the floating frame, expressed in the deformed configuration of the body. Substitution of Eq. (2.15) in the constraint Eq. (2.6) yields

(2.17)

At this point, the floating frame coordinates can be expressed in the absolute interface coordinates:

(2.18)

Back substitution in Eq. (2.15) yields an expression for the local interface coordinates in terms of the global interface coordinates:

(2.19)

Equations (2.18) and (2.19) define the desired transformations that can be used to rewrite the equation of motion or equation of equilibrium in the standard floating frame formulation in terms of the absolute interface coordinates. The full derivation of the equation of motion of a flexible body is presented in [3] and will not be repeated here, because it is not strictly necessary for the derivation of the tangent stiffness matrix. For that purpose, the equations of equilibrium are sufficient.

3 The tangent stiffness matrix

The equation of equilibrium of a flexible body is derived by equating the virtual work due to externally applied forces \(\delta W_{\mathrm{ext}}\) to the virtual work due to the internal elastic forces \(\delta W_{\mathrm{int}}\). The virtual external work is written in terms of the global generalized externally applied forces \(\mathbf{Q}_{\mathrm{ext}}^{O}\) at the interface points:

$$ \delta W_{\mathrm{ext}} = \bigl( \delta \mathbf{q}^{O,O} \bigr)^{\mathrm{T}} \mathbf{Q}_{\mathrm{ext}}^{O}. $$
(3.1)

The virtual internal elastic work is written in terms of the local generalized internal elastic forces \(\mathbf{Q}_{\mathrm{int}}^{j}\) that are experienced at the interface points due to the local elastic deformation. When the Craig–Bampton modes are applied in the reduction of the body’s local finite element stiffness matrix, the internal forces can be expressed as the product of the local (reduced) material stiffness matrix \(\mathbf{K}\) times the local interface coordinates \(\mathbf{q}^{j,j}\), the virtual internal work can be expressed as

$$ \delta W_{\mathrm{int}} = \bigl( \delta \mathbf{q}^{j,j} \bigr)^{\mathrm{T}} \mathbf{Q}_{\mathrm{int}}^{j} = \bigl( \delta \mathbf{q}^{j,j} \bigr)^{\mathrm{T}} \mathbf{K q}^{j,j}. $$
(3.2)

Substitution of Eq. (2.19) in Eq. (3.2) yields

(3.3)

The equilibrium equations in the global frame are obtained by equating Eq. (3.3) to Eq. (3.1)

(3.4)

Since \([ \mathbf{T}_{j} ]\) depends on the elastic deformation of the body and depends on the orientation of the floating frame, the equilibrium Eqs. (3.4) are nonlinear in terms of the generalized coordinates. These equations can be solved incrementally using load stepping, which requires one to repeatedly solve a set of linear equations in terms of small increments in the generalized coordinates. Taking the variation of Eq. (3.4) yields

(3.5)

On the left hand side of Eq. (3.5), the terms \(\delta \mathbf{Q}_{\mathrm{int}} ^{j}\), \(\delta [ \mathbf{T}_{j} ]\) and all contain variations in the generalized coordinates. Using the coordinate transformations presented in Sect. 2, these terms can all be expressed as a matrix times a vector of variations in the absolute interface coordinates. Hence, the equation can be rewritten to the following form:

$$ \mathbf{K}_{t} \delta \mathbf{q}^{O,O} =\delta \mathbf{Q}_{\mathrm{ext}}^{O}, $$
(3.6)

where \(\mathbf{K}_{t}\) is the tangential stiffness matrix that depends on the orientation of the floating frame and the elastic deformation of the body.

In static problems, Eq. (3.6) can be solved incrementally for the global position of the interface coordinates. Given a certain load increment \(\delta \mathbf{Q}_{\mathrm{ext}}^{O}\), Eq. (3.6) can be solved for the corresponding displacement increment \(\delta \mathbf{q}^{O,O}\) by applying Newton–Raphson iterations. Then the global position of the interface coordinates can be updated by adding the obtained \(\delta \mathbf{q}^{O,O}\) to the current position of the interface points. After this, the external load can be increased with the next load increment and a possible residual from the current step. This procedure can be repeated until the external load is applied entirely. Clearly, the full expression for the tangential stiffness matrix \(\mathbf{K}_{t}\) is needed for this procedure, which requires the rewriting of all three terms on the right hand side of Eq. (3.5). To this end, the variation of the transformation matrix \([ \mathbf{T}_{j} ]\) must be derived, for which the variation of the transformation matrix \([ \mathbf{Z}_{j} ]\) is required.

3.1 Variations of \([ \mathbf{Z}_{j}]\) and \([\mathbf{T}_{j}]\)

The variation of \([ \mathbf{Z}_{j} ]\) is obtained by taking the virtual change of its definition Eq. (2.18):

$$ \delta [ \mathbf{Z}_{j} ] \equiv \delta \bigl( [ \boldsymbol{\Phi }_{j} ] [ \boldsymbol{\Phi }_{\mathrm{rig}} ] \bigr)^{-1} [ \boldsymbol{\Phi }_{j} ]. $$
(3.7)

For an arbitrary invertible matrix \(\mathbf{A}\) the following holds for the variation of its inverse:

$$ \delta \mathbf{A}^{-1} =- \mathbf{A}^{-1} \delta \mathbf{A} \mathbf{A}^{-1}. $$
(3.8)

Using Eq. (3.8) and the fact that \([ \boldsymbol{\Phi }_{j} ]\) is constant, the variation in \([ \mathbf{Z}_{j} ]\) is expressed as

$$ \delta [ \mathbf{Z}_{j} ] =- \bigl( [ \boldsymbol{\Phi }_{j} ] [ \boldsymbol{\Phi }_{\mathrm{rig}} ] \bigr)^{-1} [ \boldsymbol{\Phi }_{j} ] \delta [ \boldsymbol{\Phi }_{\mathrm{rig}} ] \bigl( [ \boldsymbol{\Phi }_{j} ] [ \boldsymbol{ \Phi }_{\mathrm{rig}} ] \bigr)^{-1} [ \boldsymbol{\Phi }_{j} ], $$
(3.9)

which can be written in compact form as

$$ \delta [ \mathbf{Z}_{j} ] =- [ \mathbf{Z}_{j} ] \delta [ \boldsymbol{\Phi }_{\mathrm{rig}} ] [ \mathbf{Z}_{j} ]. $$
(3.10)

Here, the virtual change in \([ \boldsymbol{\Phi }_{\mathrm{rig}} ]\) is

$$ \delta [ \boldsymbol{\Phi }_{\mathrm{rig}} ] = \left [ \textstyle\begin{array}{c} \delta [ - \tilde{\mathbf{r}}_{1}^{j,j} ] \\ \vdots \\ \delta [ - \tilde{\mathbf{r}}_{N}^{j,j} ] \end{array}\displaystyle \right ],\qquad \delta \bigl[ - \tilde{\mathbf{r}}_{k}^{j,j} \bigr] = \left [ \textstyle\begin{array}{c@{\quad }c} \boldsymbol{0} & -\delta \tilde{\mathbf{r}}_{k}^{j,j} \\ \boldsymbol{0} & \boldsymbol{0} \end{array}\displaystyle \right ]. $$
(3.11)

For the variation in \([ \mathbf{T}_{j} ]\), also the virtual change of its definition Eq. (2.19) is taken:

$$ \delta [ \mathbf{T}_{j} ] =- \delta [ \boldsymbol{\Phi }_{\mathrm{rig}} ] [ \mathbf{Z}_{j} ] - [ \boldsymbol{\Phi }_{\mathrm{rig}} ] \delta [ \mathbf{Z} _{j} ]. $$
(3.12)

Substitution of Eq. (3.10) in Eq. (3.12) yields

$$ \delta [ \mathbf{T}_{j} ] =-\delta [ \boldsymbol{\Phi }_{\mathrm{rig}} ] [ \mathbf{Z}_{j} ] + [ \boldsymbol{\Phi }_{\mathrm{rig}} ] [ \mathbf{Z}_{j} ] \delta [ \boldsymbol{\Phi }_{\mathrm{rig}} ] [ \mathbf{Z}_{j} ]. $$
(3.13)

In compact form, this can be rewritten:

$$ \delta [ \mathbf{T}_{j} ] =- [ \mathbf{T}_{j} ] \delta [ \boldsymbol{\Phi }_{\mathrm{rig}} ] [ \mathbf{Z}_{j} ]. $$
(3.14)

3.2 First tangent stiffness term: \([ \mathbf{K}_{1} ]\)

The expressions for \(\delta [ \mathbf{Z}_{j} ]\) and \(\delta [ \mathbf{T}_{j} ]\) as established in Eq. (3.10) and Eq. (3.14) will now be used for the derivation of the tangent stiffness matrix. For the first term in Eq. (3.5), the virtual change in internal forces \(\delta \mathbf{Q}_{\mathrm{int}}^{j}\) is required. Since the local material stiffness matrix \(\mathbf{K}\) is constant, this can simply be written as

$$ \delta \mathbf{Q}_{\mathrm{int}}^{j} = \mathbf{K} \delta \mathbf{q}^{j,j}. $$
(3.15)

Using Eq. (2.19), the virtual change in local interface coordinates is expressed in terms of the virtual change in global interface coordinates:

(3.16)

And so the first term in Eq. (3.5) can be expressed as

(3.17)

\([ \mathbf{K}_{1} ]\) can be recognized as the transformed local material stiffness matrix. The transformation matrices \([ \mathbf{T}_{j} ]\) remove the rigid body component from the local material stiffness matrix \(\mathbf{K}\) and the rotation matrices transform the local material stiffness matrix to the global frame.

3.3 Second tangent stiffness term: \([\mathbf{K}_{2}]\)

In order to rewrite the second term in Eq. (3.5), the following notation is introduced first:

$$ \hat{\mathbf{Q}}_{\mathrm{int}}^{j} = [ \mathbf{T}_{j} ]^{\mathrm{T}} \mathbf{Q}_{\mathrm{int}}^{j}. $$
(3.18)

The virtual change in \([ \mathbf{T}_{j} ]\) is required in Eq. (3.5). Substitution of Eq. (3.14) and Eq. (3.18), this can be written as

(3.19)

The multiplication of \(\delta [ \boldsymbol{\Phi }_{\mathrm{rig}} ] ^{\mathrm{T}} \hat{\mathbf{Q}}_{\mathrm{int}}^{j}\) can be expanded as

$$ \delta [ \boldsymbol{\Phi }_{\mathrm{rig}} ]^{\mathrm{T}} \hat{\mathbf{Q}} _{\mathrm{int}}^{j} = \left [ \textstyle\begin{array}{c@{\quad }c@{\quad }c} \left [ \textstyle\begin{array}{c@{\quad }c} \boldsymbol{0} & \boldsymbol{0} \\ \delta \tilde{\mathbf{r}}_{1}^{j,j} & \boldsymbol{0} \end{array}\displaystyle \right ] & \dots & \left [ \textstyle\begin{array}{c@{\quad }c} \boldsymbol{0} & \boldsymbol{0} \\ \delta \tilde{\mathbf{r}}_{N}^{j,j} & \boldsymbol{0} \end{array}\displaystyle \right ] \end{array}\displaystyle \right ] \left [ \textstyle\begin{array}{c} \left [ \textstyle\begin{array}{c} \hat{\mathbf{F}}_{\mathrm{int},1}^{j} \\ \hat{\mathbf{M}}_{\mathrm{int},1}^{j} \end{array}\displaystyle \right ] \\ \vdots \\ \left [ \textstyle\begin{array}{c} \hat{\mathbf{F}}_{\mathrm{int},N}^{j} \\ \hat{\mathbf{M}}_{\mathrm{int},N}^{j} \end{array}\displaystyle \right ] \end{array}\displaystyle \right ]. $$
(3.20)

In this, the generalized forces \(\hat{\mathbf{Q}}_{\mathrm{int},k}^{j}\) of interface point \(k\) are decomposed in the forces \(\hat{\mathbf{F}} _{\mathrm{int},k}^{j}\) and moments \(\hat{\mathbf{M}}_{\mathrm{int},k}^{j}\). Equation (3.20) can be rewritten:

$$ \delta \bigl[ \boldsymbol{\Phi }_{\mathrm{rig}}^{j} \bigr]^{\mathrm{T}} \hat{\mathbf{Q}}_{\mathrm{int}}^{j} = \bigl[ \hat{\mathbf{F}}_{\mathrm{int}}^{j} \bigr] ^{\mathrm{T}} \delta \mathbf{q}^{j,j}, \qquad \bigl[ \hat{\mathbf{F}}_{\mathrm{int}}^{j} \bigr] \equiv \left [ \textstyle\begin{array}{c} \left [ \textstyle\begin{array}{c@{\quad }c} \boldsymbol{0} & \tilde{\hat{\mathbf{F}}}_{\mathrm{int},1}^{j} \\ \boldsymbol{0} & \boldsymbol{0} \end{array}\displaystyle \right ] \\ \vdots \\ \left [ \textstyle\begin{array}{c@{\quad }c} \boldsymbol{0} & \tilde{\hat{\mathbf{F}}}_{\mathrm{int}, N}^{j} \\ \boldsymbol{0} & \boldsymbol{0} \end{array}\displaystyle \right ] \end{array}\displaystyle \right ]. $$
(3.21)

With this, the second term in Eq. (3.5) becomes

(3.22)

At this point, the transformation from the local interface coordinates to the global interface coordinates can again be made using Eq. (2.19):

(3.23)

In short form, this can be written as

(3.24)

3.4 Third tangent stiffness term: \([ \mathbf{K}_{3}]\)

For the third term in Eq. (3.5), the variation of the rotation matrix is rewritten with Eq. (2.10) and for the internal forces Eq. (3.18) is used:

(3.25)

In this, \(\delta \boldsymbol{\pi }_{j}^{j,O}\) and \(\hat{\mathbf{Q}} _{i}^{j}\) can be interchanged by considering the following:

$$ \delta \tilde{\boldsymbol{\pi }}_{j}^{j,O} \hat{ \mathbf{Q}}_{i}^{j} = \left [ \textstyle\begin{array}{c@{\quad }c@{\quad }c} \delta \tilde{\boldsymbol{\pi }}_{j}^{j,O} & & \\ & \ddots & \\ & & \delta \tilde{\boldsymbol{\pi }}_{j}^{j,O} \end{array}\displaystyle \right ] \left [ \textstyle\begin{array}{c} \hat{\mathbf{Q}}_{i,1}^{j} \\ \vdots \\ \hat{\mathbf{Q}}_{i,N}^{j} \end{array}\displaystyle \right ] =- \left [ \textstyle\begin{array}{c} \left [ \textstyle\begin{array}{c@{\quad }c} \boldsymbol{0} & \tilde{\hat{\mathbf{F}}}_{i,1}^{j} \\ \boldsymbol{0} & \tilde{\hat{\mathbf{M}}}_{i,1}^{j} \end{array}\displaystyle \right ] \\ \vdots \\ \left [ \textstyle\begin{array}{c@{\quad }c} \boldsymbol{0} & \tilde{\hat{\mathbf{F}}}_{i,N}^{j} \\ \boldsymbol{0} & \tilde{\hat{\mathbf{M}}}_{i,N}^{j} \end{array}\displaystyle \right ] \end{array}\displaystyle \right ] \bigl[ \mathbf{R}_{O}^{j} \bigr] \left [ \textstyle\begin{array}{c} \delta \mathbf{r}_{j}^{O,O} \\ \delta \boldsymbol{\pi }_{j}^{O,O} \end{array}\displaystyle \right ]. $$
(3.26)

This can be written in compact form as

$$ \delta \tilde{\boldsymbol{\pi }}_{j}^{j,O} \hat{ \mathbf{Q}}_{i}^{j} =- \bigl( \bigl[ \hat{ \mathbf{F}}_{\mathrm{int}}^{j} \bigr] + \bigl[ \hat{ \mathbf{M}}_{\mathrm{int}}^{j} \bigr] \bigr) \bigl[ \mathbf{R}_{O} ^{j} \bigr] \left [ \textstyle\begin{array}{c} \delta \mathbf{r}_{j}^{O,O} \\ \delta \boldsymbol{\pi }_{j}^{O,O} \end{array}\displaystyle \right ],\qquad \bigl[ \hat{\mathbf{M}}_{\mathrm{int}}^{j} \bigr] \equiv \left [ \textstyle\begin{array}{c} \left [ \textstyle\begin{array}{c@{\quad }c} \boldsymbol{0} & \boldsymbol{0} \\ \boldsymbol{0} & \tilde{\hat{\mathbf{M}}}_{i,1}^{j} \end{array}\displaystyle \right ] \\ \vdots \\ \left [ \textstyle\begin{array}{c@{\quad }c} \boldsymbol{0} & \boldsymbol{0} \\ \boldsymbol{0} & \tilde{\hat{\mathbf{M}}}_{i,N}^{j} \end{array}\displaystyle \right ] \end{array}\displaystyle \right ]. $$
(3.27)

Substitution of Eq. (3.27) and using the transformation Eq. (2.18) to express the virtual position of the floating frame in terms of the virtual position of the interface coordinates yields for the third term in Eq. (3.5):

(3.28)

And so the third term in Eq. (3.5) can be expressed as

(3.29)

Combining Eqs. (3.17), (3.24) and (3.29) yields an expression for the virtual change in the equilibrium equation in terms of the variation in global interface coordinates:

(3.30)

And thus the expression for the tangential stiffness matrix is obtained:

(3.31)

It can be seen that it consists of a local stiffness matrix, rotated to the global frame. The local tangential stiffness matrix contains the local material stiffness matrix. The matrices \([ \mathbf{K}_{2} ]\) and \([ \mathbf{K}_{3} ]\) together form the geometric stiffness matrix \(\mathbf{K}_{g}\). They depend explicitly on the internal forces by means of \([ \hat{\mathbf{F}}_{\mathrm{int}}^{j} ]\) and \([ \hat{\mathbf{M}}_{\mathrm{int}}^{j} ]\). Moreover, the geometric stiffness matrix depends on the deformation of the body by means of the transformation matrices \([ \mathbf{Z}_{j} ]\) and \([ \mathbf{T}_{j} ]\).

4 Numerical validation: equilibrium analysis

In order to investigate the effect of the tangent stiffness matrix in equilibrium analysis, a static validation problem is used. In this static problem, a cantilever beam with circular cross section is considered. The total length of the beam is 1 m. The outer radius of the cross section is 0.01 m with a wall thickness of 0.001 m. The Young modulus is 70.0E9 Pa. The beam subjected to a vertical tip force that is applied with 100 N increments. Within each load increment, Newton–Raphson iterations are performed until the numerical solution satisfies equilibrium within a certain error margin.

Figure 3 shows the beam’s deformed configuration for applied loads of 300, 1000 and 10000 N when using one, three and ten bodies. For each body, only the 12 Craig–Bampton boundary modes are taken into consideration. For each body, the floating frame is attached to the center of mass. In [3], it was already shown that results obtained with the new method are in good agreement with results obtained with finite element software Ansys and multibody software Spacar [8]. In this analysis, it was observed that, for low values of the applied load, exactly the same solutions were obtained when only the material stiffness matrix \([ \mathbf{K}_{1} ]\) was used instead of the full tangential stiffness matrix. However, for high values of the applied load, simulations in which only the material stiffness matrix is used do not converge. In these cases, increasing the number of load increments does not work: \([ \mathbf{K}_{2} ]\) and \([ \mathbf{K}_{3} ]\) must be included. In this example, convergence was reached for loads up to approximately 500 N when only the material stiffness matrix was used. Moreover, it was observed that when using one body, the simulation up to a load of 10 000 N did not converge. More than one body is required to reach such high loads.

Fig. 3
figure 3

Deflected beam configuration, using 1, 3 and 10 bodies. Graphs were plotted using Matlab and the figure was created using Adobe Illustrator

Figure 4 shows the relative error of the tip displacement as a function of the number of bodies for applied loads of 300, 1000 and 10 000 N. To this end, the simulation with ten bodies is used as a reference. The difference in tip displacement with respect to the simulation with ten bodies is computed and divided by the total tip displacement of the simulation with ten bodies. From this figure, it can be seen that the difference in tip position when using ten bodies instead of nine is less than 1%. Also, it can be seen that when one is willing to accept a relative error of 5%, one needs one, two and four bodies for loads up to 300, 1000 and 10 000 N, respectively.

Fig. 4
figure 4

Convergence of the solution when increasing the number of bodies. The graphs were plotted using Matlab and the figure was created using Adobe Illustrator

Figures 5 and 6 show the convergence of the solution with increasing iterations for an applied load of 500 N, using the full tangent stiffness matrix and material stiffness matrix, respectively. In these figures, the vertical axes display the magnitude of the iteration’s displacement increment. From both figures it can be seen that 5 load increments are used and that within each load increment multiple iterations are used to reach equilibrium. It can be seen that when the full tangent stiffness matrix is used, the required number of iterations is lower. Moreover, the number of required iterations per load increment remains constant, even at higher loads. If only the material stiffness matrix is used, the required number of iterations per load step increases significantly at higher loads.

Fig. 5
figure 5

Increment in the generalized coordinates for increasing iterations when using the full tangent stiffness matrix. The graph was plotted using Matlab and the figure was created using Adobe Illustrator

Fig. 6
figure 6

Increment in the generalized coordinates for increasing iterations when using the material stiffness matrix only. The graph was plotted using Matlab and the figure was created using Adobe Illustrator

From this static validation problem it is learned that, for high values of the applied load, taking full tangent stiffness matrix into account is essential for convergence. For low values of the applied load, the material stiffness matrix is sufficient to guarantee convergence, but more iterations are required to reach this convergence. For this reason, the full tangent stiffness matrix is always advised, even when performing simulations in which the applied loads remain small.

5 Numerical validation: dynamic analysis

In order to investigate the effect of the tangent stiffness matrix in dynamic analysis, multiple dynamic validation problems are used. Those problems consist of a cantilever beam subjected to a dynamic tip load, a rotating beam and 2D and 3D slider-crank mechanisms. In all simulations, only the 12 Craig–Bampton boundary modes are taken into account for each body. For each body, the floating frame is attached to the center of mass. The Adams–Moulton implicit time integration is used. In this section, simulation results are be presented in which simulations with and without the use of the Jacobian are compared. The Jacobian is based on either the full tangent stiffness matrix or based on the material stiffness matrix only. In all simulations, it was observed that not the accuracy of the numerical solution is influenced by which form of the Jacobian is used, but only the simulation time required to obtain this solution.

5.1 Cantilever beam

In the dynamic cantilever beam problem, the same cantilever beam is used as in the static problem described in the previous section. However, in this case, a transient vertical tip force is applied. In 0.05 s, the force is increased linearly from 0 to 2500 N and maintained constant at this value after 0.05 s. A simulation was performed using ten bodies and validated with multibody software Adams and Spacar, from which it was concluded that the new method yields reliable results. Then simulations were performed with a varying number of bodies, according to the new method. Figure 7 shows the vertical tip position as a function of time when using one, three and ten bodies.

Fig. 7
figure 7

Vertical tip position of the beam using 1, 3 and ten bodies. The graphs were plotted using Matlab and the figure was created using Adobe Illustrator

Figure 8 shows the relative error of the vertical tip displacement as a function of the number of bodies. To this end, the simulation with ten bodies is used as a reference and the root mean square error of the entire time simulation is used for comparison. The difference in tip position when using ten bodies instead of nine is less than 1%.

Fig. 8
figure 8

Convergence of the solution when increasing the number of bodies. The graph was plotted using Matlab and the figure was created using Adobe Illustrator

Figure 9 shows the effect of including the Jacobian in the numerical time integration scheme on the simulation time. In order to compare the effects of simulations when using a varying number of bodies, the vertical axis displays the simulation time of a simulation in which the Jacobian is used relative to the simulation time when no Jacobian is used. This is done such that when this relative measure equals 1, both simulations were equally fast. When the relative measure is lower or higher than 1, including the Jacobian made the simulation faster or higher, respectively. From this figure, it can be seen that the use of the Jacobian is only beneficial when a small number of bodies is used. Simulations with two or four bodies showed that using a Jacobian saves approximately 40% of simulation time. However, when six or more bodies are used, up to 50% more simulation time is required when using the Jacobian. Slightly shorter simulation times are obtained when using the full tangent stiffness matrix instead of the material stiffness matrix.

Fig. 9
figure 9

Effect of including a Jacobian based on the full tangent stiffness matrix or material stiffness matrix only on simulation time. The graphs were plotted using Matlab and the figure was created using Adobe Illustrator

5.2 Rotating beam

In the rotating beam problem, again the same beam properties are used as in the previous problems. The beam is hinged at its left interface point and given a constant angular velocity of 100 rad/s. During the first 0.01 s of the simulation, a constant tip force of 50 N is applied perpendicular to the beam, in the plane of rotation. Figure 10 shows a graphical representation of the problem. Figure 11 shows the tip deflection as a function of time when using one, three and ten bodies. Figure 12 shows the relative error of the tip deflection as a function of the number of bodies. To this end, the simulation with ten bodies is used as a reference and the root mean square error of the entire time simulation is used for comparison. The difference in tip position when using ten bodies instead of nine is less than 1%. Figure 13 shows the effect of including the Jacobian in the time integration on the simulation time. From this figure it can be seen that when using four bodies or more, using the Jacobian requires up to 50% more simulation time than when no Jacobian is used. There is little difference between using the full tangential stiffness matrix and using the material stiffness matrix only.

Fig. 10
figure 10

Graphical representation of the rotating beam problem, subjected to a transient perpendicular tip force. The figure was made using InkScape

Fig. 11
figure 11

Deflection of the tip of the beam, measured relative from its dynamic equilibrium position, using 1, 3 and ten bodies. The graphs were plotted using Matlab and the figure was created using Adobe Illustrator

Fig. 12
figure 12

Convergence of the solution when increasing the number of bodies. The graph was plotted using Matlab and the figure was created using Adobe Illustrator

Fig. 13
figure 13

Effect of including a Jacobian based on the full tangent stiffness matrix or material stiffness matrix only on simulation time. The graphs were plotted using Matlab and the figure was created using Adobe Illustrator

5.3 D slider-crank

The 2D slider-crank problem is adopted from [9] and shown in Fig. 14. The rigid crank with length of 0.15 m is rotating with a constant angular velocity of 150 rad/s. The flexible connector with length of 0.3 m has a uniform circular cross section with a diameter of 0.006 m and is made of steel. In the simulation a Young’s modulus of 0.2E12 Pa and a mass density of 7.87E3 kg/m3 is used. The end of the connector is connected to a slider with a mass half the mass of the connector. The slider is able to translate without friction on its base. The angular velocity of the crank introduces an initial linear velocity and an angular velocity of the connector, assuming no deformation. Figure 15 shows the transverse deflection of the midpoint of the flexible connector when using two, four and ten bodies. Figure 16 shows the relative error of the midpoint deflection as a function of the number of bodies. To this end, the simulation with ten bodies is used as a reference and the root mean square error of the entire time simulation is used for comparison. The difference in tip position when using ten bodies instead of nine is less than 1%. Figure 17 shows the effect of including the Jacobian in the time integration on the simulation time. From this figure, it can be seen that using the Jacobian always reduces the simulation time by approximately a factor 2. There is little difference between using the full tangential stiffness matrix and using the material stiffness matrix only.

Fig. 14
figure 14

2D Slider-crank mechanism with flexible connector. Figure was made using InkScape

Fig. 15
figure 15

Midpoint deformation of the connector, using 2, 4 and 10 bodies. Graphs were plotted using Matlab and the figure was created using Adobe Illustrator

Fig. 16
figure 16

Convergence of the solution when increasing the number of bodies. The graph was plotted using Matlab and the figure was created using Adobe Illustrator

Fig. 17
figure 17

Effect of including a Jacobian based on the full tangent stiffness matrix or material stiffness matrix only on simulation time. The graphs were plotted using Matlab and the figure was created using Adobe Illustrator

5.4 3D slider-crank

The dynamic 3D slider-crank mechanism is adopted from [10] and shown in Fig. 18. The physical properties of the mechanism are the same as in the 2D case described above. The horizontal position of the rotation axis \(d\) is 0.1 m. In the initial configuration, the crank is oriented vertically upward. Figure 19 shows the deflection of the midpoint of the flexible connector in its local \(y\)-direction when using two, four and ten bodies. Figure 20 shows the relative error of the midpoint deflection as a function of the number of bodies. To this end, the simulation with ten bodies is used as a reference and the root mean square error of the entire time simulation is used for comparison. The difference in tip position when using ten bodies instead of nine is less than 1%. Figure 21 shows the effect of including the Jacobian in the time integration on the simulation time. It can be seen that for this problem the effect of using the Jacobian on the simulation times is only small. Depending on the number of bodies and on which stiffness matrix is used, simulation times are in the order of 10% shorter or longer compared to the simulation in which no Jacobian is used. The simulation of ten bodies using the material stiffness matrix did not converge.

Fig. 18
figure 18

3D Slider-crank mechanism with flexible connector. The figure was made using InkScape

Fig. 19
figure 19

Midpoint deformation of the connector, using 2, 4 and 10 bodies. The graphs were plotted using Matlab and the figure was created using Adobe Illustrator

Fig. 20
figure 20

Convergence of the solution when increasing the number of bodies. The graph was plotted using Matlab and the figure was created using Adobe Illustrator

Fig. 21
figure 21

Effect of including a Jacobian based on the full tangent stiffness matrix or material stiffness matrix only on simulation time. The graphs were plotted using Matlab and the figure was created using Adobe Illustrator

6 Conclusion

The floating frame formulation has the advantage that model order reduction methods can be applied on the linear finite element models of individual bodies. In the newly presented floating frame formulation, the use of Craig–Bampton interface modes as local shape functions is crucial. The fact that the Craig–Bampton modes are able to describe six rigid body motions is exploited to establish a relation between the floating frame coordinates and the absolute interface coordinates. In this way, the equilibrium equations and equations of motion of a flexible multibody system can be expressed in terms of the absolute interface coordinates. As a consequence, no Lagrange multipliers are required in order to enforce kinematic constraints between bodies.

The use of the full tangent stiffness matrix can be of importance in both static and dynamic analysis, because of the fact that incremental solution procedures are used. Moreover, for some applications the importance of the tangent stiffness matrix is based on physical grounds, in particular when deformations become large. In this work, the tangent stiffness matrix for the new absolute interface coordinates floating frame formulation was developed. To this end, the variation in the equation of equilibrium was taken. The resulting expressions were rearranged such that the global tangent stiffness matrix can be written as a local tangent stiffness matrix, rotated to the global frame. The local tangent stiffness matrix consists of the material stiffness matrix, which is based directly on the linear finite element model, and a geometric stiffness matrix, which is based on the internal elastic forces, experienced by the interface points. Hence, the tangent stiffness matrix depends both on the orientation of the floating frame and on the local elastic deformation of the body.

Validation by means of numerical problems has shown that in the case of high loads and/or large deformations, the full tangent stiffness matrix must be taken into account in order to guarantee convergence. In dynamic simulations, the use of a Jacobian in the numerical time integration of the equation of motion shows mixed results. For some problems, the simulation times reduced when using the Jacobian, whereas for other problems the simulation times increased. In all simulations it was seen that simplifying the tangent stiffness by the material stiffness only does not result in a significant reduction of the simulation time. For some problems, simulations using the material stiffness only failed to converge. Therefore, it is recommended that if the Jacobian is used, the full tangential stiffness is implemented. It is concluded that in the new formulation, taking into account the full tangential stiffness matrix has no influence on the accuracy of the solution and little influence on the simulation times. Based on the many dynamic problems studied in the work, no generally applicable advise can be given about whether to include or not to include the Jacobian.

The absolute interface coordinates floating frame formulations as previously published is an important step in creating efficient superelements of arbitrarily shaped three-dimensional bodies, based on the bodies’ linear finite element models. With the developments presented in this paper, the inclusion of the tangent stiffness matrix is realized, which can be taken into account directly when creating those superelements. It is advised to implement the full tangent stiffness matrix at all times, because its expression is readily available, it may be required for convergence and does not influence the computational costs significantly. In this sense, this work is also a contribution to the further development of reduction methods suitable for geometrically nonlinear flexible multibody systems.