1 Introduction

The trend away from physical towards virtual prototyping as well as increasing industrial demands on reliability and efficiency of modern dynamical engineering devices require advanced modeling techniques during the design process. At present, virtually all such engineering systems are assemblies and, hence, made out of multiple components, which interact with each other during operation. The forces required to execute desired motions are associated with stresses, noise and vibrations of the bodies in the system. Thus, it is insufficient to model multibody systems as rigid bodies and extract boundary forces to perform subsequent standard finite element (FE) analyses. Flexible multibody simulations, where the system is spatially discretized using a finite number of elements, are, therefore, inevitable. However, most FE models of relevant engineering problems contain a huge number of degrees of freedom (DOFs) that cannot be simulated within a reasonable amount of time without employing model reduction techniques.

There are several ways to model flexible multibody systems [19, 24]. Among them the absolute coordinate formulation known as generalized component mode synthesis [16], which is a promising alternative to well-established flexible multibody formalisms, such as the floating frame of reference formulation (FFRF) [15, 20, 21], since the so-called generalized component modes not only describe rigid body motion, but can also represent the deformation modes in any possible orientation, which preserves a linear relationship between the global displacement field and the DOFs of the considered domain; this yields a constant mass matrix, a constant but co-rotated stiffness matrix with one co-rotational frame for each system body only, a trivial quadratic velocity vector and a simple structure of the governing equations. The mass and stiffness matrix are simply the standard linear FE system matrices pre- and post-multiplied with a constant reduction matrix. Hence, the FE system matrices are extracted only once during preprocessing and remain constant during the whole simulation, which is why, the algorithm is fully decoupled from any FE package and easily applicable – it requires just a few lines of code – to any multibody system subjected to large reference motion, but small deformations of the individual components.

Both the FFRF and the generalized component mode synthesis approximate the flexible deformation by a linear combination of component modes. In case of the FFRF, the component modes are, e.g., the eigenmodes of vibration limited to the frequency range of interest, or a combination of eigenmodes and static modes, see, e.g., the pioneering work of [1, 9, 10, 12, 17]. If the deformation is approximated by vibration modes, the reduction matrix containing column-wise the eigenmodes is well-conditioned, since the eigenvectors are linearly independent [2, p. 158] even for repeated eigenvalues – the degeneracy theorem [4, p. 72] allows the generalization of the orthogonality of the eigenvectors in the metrics of the FE mass and stiffness matrices in the case of repeated eigenvalues. Hence, the reduction matrix of the FFRF-based component mode synthesis does not introduce numerical errors; in fact, the condition number is close to one if the eigenvectors are displacement normalized, e.g., smaller than 1.4 for all hereinafter analyzed models, whereas the generalized component mode reduction matrix is in many cases ill-conditioned, e.g., on the order of \(10^{6}\) to \(10^{17}\) for the hereinafter analyzed beam-like models, because of linear dependencies and Euclidean norms that deviate by orders of magnitude from each other between the generalized component modes, which may arise due to the special structure of the reduction basis \(\boldsymbol{\varPhi }\), see Sect. 2.1. It is well known that linear dependencies and high condition numbers may lead to large errors or even unsolvable problems, since they preclude the factorization of the system Jacobian impossible.

There is past work concerned with a continuum-mechanics-based mathematical derivation of the generalized component modes and equations of motion [5, 16], whereas [6] shows how the idea may be employed without model reduction. It is also known from the literature that the inherent properties of the formulation facilitate the construction of energy–momentum-conserving time integration schemes [7]. Also, the formulation has been successfully applied to engineering problems, such as fluid–structure interaction [18] and machine parts with large rotations about one axis only [26], and was extended by means of a nullspace projection approach [25] as well as the global modal parametrization [3, 8, 13]. However, the problem of linear dependencies and ill-conditioned system matrices has not received much attention despite its importance. The issue was marginally reported in [5, 16], but has not been addressed in the available literature. Furthermore, it has been believed that these issues can only arise for symmetric problems, which is, as shown in the present paper, in general not true. Hence, the main objective of this contribution is to analyze this problem associated with the generalized component mode synthesis and to present preprocessing strategies to obtain well-conditioned problems.

The remaining part of the paper is organized as follows: Sect. 2 is devoted to the configuration space – the generalized component modes are derived on a nodal-based level and the linear relationship between the global nodal displacements and DOFs is illustrated. Furthermore, the section contains a traceable and more intuitive derivation of the governing equations of motion with a Lagrangian formulation for a general spatially discretized mechanical system, in contrast to the original continuum-mechanics-based derivation reported in the literature. This novel presentation shall also clarify the idea behind the method to some extent. Section 3 presents a short note on the mathematics of linear dependencies and how to handle them, which is required to analyze and eliminate linear dependencies in the arising reduction matrix; followed by an illustrative presentation of the generalized component modes and the problem of linear dependencies in Sect. 4. Sections 5 and 6 investigate the linear dependencies of the flexible part of the reduction matrix and between the flexible and rigid body motion parts, respectively, with the help of simple FE beam-like 3D models. Section 7 applies the presented theory to an FE model of a crankshaft of a two-cylinder reciprocal combustion engine, and Sect. 8 gives step-by-step preprocessing strategies for handling the inherent problem of the formulation to convert ill-conditioned into well-conditioned problems; followed by a conclusion in Sect. 9.

The present paper is a revised and extended version of the conference paper [27] presented at the Fifth Joint International Conference on Multibody System Dynamics (IMSD) 2018.

2 Generalized component mode synthesis

2.1 Reduction basis

The idea behind the generalized component mode formalism is (i) to define a reduction basis that can represent large rigid body translation and rotation, as well as flexible deformation; and (ii) to obtain a linear relationship between the global FE nodal displacements and the DOFs. As already mentioned, the formulation exploits a modal superposition reduction method, where the flexible deformation is approximated by a linear combination of vibration modes, to reduce the system size from a large number of DOFs to a significantly smaller one. This, of course, restricts its applicability to problems where the deformation of the components remains linear within each body frame.

The so-called generalized component modes not only represent the deformation modes in any possible orientation, but also account for large rigid body motion (translation & rotation), yielding a linear configuration space; see Eq. (22). The generalized component modes are generated from the set of Cartesian unit vectors, the undeformed FE nodal coordinates and the original eigenmodes of vibration in the frequency range of interest. However, the linear relationship between the global displacements and the DOFs, i.e., the generalized coordinates \(\boldsymbol{q}\), is obtained at the expense of a nine-fold increase in the number of flexible modal coordinates \({}^{m\!}{{\zeta }}\), i.e., nine generalized flexible coordinates per original natural mode of vibration \({}^{m\!}{\boldsymbol{\psi }}\) of the bodies in the system, as shown in the following paragraphs.

The formal rules to generate the generalized translational, rotational and flexible component modes are explicitly stated in Eqs. (8), (13) and (20), respectively, according to [16]. It is shown in [16] that these modes may be obtained by rearranging the equations during the derivation of the FFRF-based component mode synthesis and by introducing new coordinates. However, a more intuitive and concise derivation of the generalized component modes is shown in this contribution.

To obtain the desired reduction basis, the global FE nodal displacement \(\boldsymbol{c}\) is split into its translational \(\boldsymbol{c}_{ \mathrm{t}}\), rotational \(\boldsymbol{c}_{\mathrm{r}}\) and flexible \(\boldsymbol{c}_{\mathrm{f}}\) part, i.e.,

$$ \boldsymbol{c}=\boldsymbol{c}_{\mathrm{t}}^{\mathrm{}}+ \boldsymbol{c} _{\mathrm{r}}^{\mathrm{}}+\boldsymbol{c}_{\mathrm{f}}^{\mathrm{}} . $$
(1)

The column matrix \(\boldsymbol{c}\) contains the nodal displacements of all FE nodes and is related to the nodal coordinates in the reference configuration \(\boldsymbol{x}\) and to the current positions of the nodes \(\boldsymbol{r}\) via (Fig. 1)

$$ \boldsymbol{r}=\boldsymbol{x}+\boldsymbol{c} , $$
(2)

where

r= [ r ( 1 ) r ( n n ) ] ,x= [ x ( 1 ) x ( n n ) ] andc= [ c ( 1 ) c ( n n ) ]
(3)

contain the corresponding \(n_{\mathrm{n}}\) nodal vectors.Footnote 1

Fig. 1
figure 1

Spatially discretized domain with global ℱ and body fixed \(\overline{\mathcal{F}}\) frame, related by the rotation matrix \(\boldsymbol{A} \in \mathbb{R}^{3 \times 3}\). The position vector \(\boldsymbol{r}^{(i)}=\boldsymbol{x}^{(i)}+\boldsymbol{c}^{(i)}\) defines the current position of node \(i\), with corresponding undeformed nodal coordinates \(\boldsymbol{x}^{(i)}\) and nodal displacement \(\boldsymbol{c}^{(i)}\)

All nodes share the same displacement for a translational rigid body motion. Hence, any rigid body translation of the FE nodes may be represented as

c t = [ e 1 e 1 ] q t 1 + [ e 2 e 2 ] q t 2 + [ e 3 e 3 ] q t 3
(4)
= [ e 1 e 2 e 3 e 1 e 2 e 3 ] q t
(5)
= [ I I ] q t
(6)
$$\begin{aligned} &=\boldsymbol{\varPhi }_{\mathrm{t}}^{\mathrm{}} \boldsymbol{q}_{ \mathrm{t}}^{\mathrm{}} , \end{aligned}$$
(7)

where \(\boldsymbol{e}_{l} \in \mathbb{R}^{3}\) (\(l=1,2,3\)) denote the orthonormal set of Cartesian base vectors, \(\boldsymbol{I} \in \mathbb{R}^{3 \times 3}\) the identity matrix, \(\boldsymbol{\varPhi } _{\mathrm{t}}^{\mathrm{}} \in \mathbb{R}^{3 n_{\mathrm{n}} \times 3}\) the translational reduction matrix containing column-wise the generalized translational component modes

$$ \boldsymbol{\phi }_{\mathrm{t}l}= \bigl[ \boldsymbol{e}_{l}^{ \mathrm{T}} \quad \boldsymbol{e}_{l}^{\mathrm{T}} \quad \dots \quad \boldsymbol{e}_{l}^{\mathrm{T}} \bigr]^{\mathrm{T}} \quad \text{with} \ l=1,2,3, $$
(8)

and \(\boldsymbol{q}_{\mathrm{t}}^{\mathrm{}}=[q_{\mathrm{t} 1} \ q_{\mathrm{t} 2} \ q_{\mathrm{t} 3}]^{\mathrm{T}}\) the corresponding generalized translational coordinates.

Likewise, any rigid body rotation of the FE nodes of a body in the system may be represented as

$$\begin{aligned} \boldsymbol{c}_{\mathrm{r}}^{\mathrm{}} &= \bigl( \boldsymbol{A}_{ \mathrm{bd}}^{\mathrm{}}-\boldsymbol{I}_{\mathrm{bd}}^{\mathrm{}} \bigr) \boldsymbol{x} \end{aligned}$$
(9)
= [ x 1 ( 1 ) I x 2 ( 1 ) I x 3 ( 1 ) I x 1 ( n n ) I x 2 ( n n ) I x 3 ( n n ) I ] [ A 11 1 A 21 A 31 A 12 A 22 1 A 32 A 13 A 23 A 33 1 ]
(10)
= [ x 1 ( 1 ) I x 2 ( 1 ) I x 3 ( 1 ) I x 1 ( n n ) I x 2 ( n n ) I x 3 ( n n ) I ] [ q r 1 q r 2 q r 3 q r 4 q r 5 q r 6 q r 7 q r 8 q r 9 ]
(11)
$$\begin{aligned} &=\boldsymbol{\varPhi }_{\mathrm{r}}^{\mathrm{}} \boldsymbol{q}_{ \mathrm{r}}^{\mathrm{}} \, , \end{aligned}$$
(12)

where \(\boldsymbol{A}_{\mathrm{bd}}^{\mathrm{}}=\mathrm{diag}( \boldsymbol{A},\dots ,\boldsymbol{A}) \in \mathbb{R}^{3 n_{\mathrm{n}} \times 3 n_{\mathrm{n}}}\) and \(\boldsymbol{I}_{\mathrm{bd}}^{ \mathrm{}}=\mathrm{diag}(\boldsymbol{I},\dots ,\boldsymbol{I}) \in \mathbb{R}^{3 n_{\mathrm{n}} \times 3 n_{\mathrm{n}}}\) denote a block-diagonal matrix with the rotation matrix \(\boldsymbol{A} \in \mathbb{R}^{3 \times 3}\) (relating the global ℱ and local \(\mathcal{\overline{F}}\) frame, see Fig. 1) and the identity matrix on its diagonal, respectively, \(x_{k}^{(i)}\) the \(i\)th nodal coordinate of the \(k\)th coordinate direction of the undeformed FE model, \(\boldsymbol{\varPhi }_{\mathrm{r}}^{\mathrm{}} \in \mathbb{R}^{3 n_{\mathrm{n}} \times 9}\) the rotational reduction matrix containing column-wise the generalized rotational component modes

$$ \boldsymbol{\phi }_{\mathrm{r}kl}= \bigl[ x_{k}^{(1)} \boldsymbol{e} _{l}^{\mathrm{T}} \quad x_{k}^{(2)} \boldsymbol{e}_{l}^{\mathrm{T}} \quad \dots \quad x_{k}^{(n_{\mathrm{n}})} \boldsymbol{e}_{l}^{ \mathrm{T}} \bigr]^{\mathrm{T}} \quad \text{with} \ k,l=1,2,3, $$
(13)

and \(\boldsymbol{q}_{\mathrm{r}}^{\mathrm{}}\) the corresponding generalized rotational coordinates. Equation (10) is nothing but the standard matrix multiplication, where the involved components are rearranged in new matrices; this restructuring will be also employed in the next paragraph to derive the flexible reduction matrix, see Eq. (16).

Finally, the flexible deformation is, as already mentioned, approximated by a linear combination of vibration eigenmodes, i.e.,

$$ \sum_{m}^{n_{\mathrm{m}}} {}^{m \! }{} {\boldsymbol{\psi }} {}^{m \! }{} {\zeta } , $$
(14)

calculated in each body frame \(\mathcal{\overline{F}}\) (Fig. 1). Hence, the flexible nodal displacement in the global frame ℱ reads

$$\begin{aligned} \boldsymbol{c}_{\mathrm{f}}^{\mathrm{}} &=\sum _{m}^{n_{\mathrm{m}}} \boldsymbol{A}_{\mathrm{bd}}^{\mathrm{}} {}^{m \! }{} {\boldsymbol{\psi }} {}^{m \! }{} {\zeta } \end{aligned}$$
(15)
= m n m [ ψ 1 ( 1 ) m I ψ 2 ( 1 ) m I ψ 3 ( 1 ) m I ψ 1 ( n n ) m I ψ 2 ( n n ) m I ψ 3 ( n n ) m I ] [ A 11 A 21 A 31 A 12 A 22 A 32 A 13 A 23 A 33 ] m ζ
(16)
= m n m [ ψ 1 ( 1 ) m I ψ 2 ( 1 ) m I ψ 3 ( 1 ) m I ψ 1 ( n n ) m I ψ 2 ( n n ) m I ψ 3 ( n n ) m I ] [ q f 1 m q f 2 m q f 3 m q f 4 m q f 5 m q f 6 m q f 7 m q f 8 m q f 9 m ]
(17)
$$\begin{aligned} &= \sum_{m}^{n_{\mathrm{m}}} {}^{m \! }{} {\boldsymbol{\varPhi }}_{\mathrm{f}} {}^{m \! }{} {\boldsymbol{q}}_{\mathrm{f}} \end{aligned}$$
(18)
$$\begin{aligned} &= \boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}} \boldsymbol{q}_{ \mathrm{f}}^{\mathrm{}} , \end{aligned}$$
(19)

where \({}^{m \! }{}{\psi }_{k}^{(i)}\) denotes the displacement of the \(i\)th node in the \(k\)th coordinate direction of the \(m\)th natural eigenmode of vibration, \(\boldsymbol{\varPhi }_{\mathrm{f}}^{ \mathrm{}} \in \mathbb{R}^{3 n_{\mathrm{n}} \times 9 n_{\mathrm{m}}}\) the flexible reduction matrix containing column-wise the generalized flexible component modes

$$\begin{aligned} \begin{aligned} {}^{m \! }{} {\boldsymbol{ \phi }}_{\mathrm{f}kl} &= \bigl[ {}^{m \! }{} {\psi }_{k}^{(1)} \boldsymbol{e}_{l}^{\mathrm{T}} \quad {}^{m \! }{} {\psi }_{k}^{(2)} \boldsymbol{e}_{l}^{ \mathrm{T}} \quad \dots \quad {}^{m \! }{} {\psi }_{k}^{(n_{ \mathrm{n}})} \boldsymbol{e}_{l}^{\mathrm{T}} \bigr]^{\mathrm{T}} \quad \text{with} \\ k,l &=1,2,3 \quad \text{and} \quad m=1,\dots , n_{\mathrm{m}} , \end{aligned} \end{aligned}$$
(20)

\(\boldsymbol{q}_{\mathrm{f}}^{\mathrm{}}\) the corresponding generalized flexible coordinates and \(n_{\mathrm{m}}\) the number of vibration eigenmodes included in the reduction basis.

Hence, combining Eqs. (1), (7), (12) and (19) yields

$$ \boldsymbol{c}= \boldsymbol{\varPhi }_{\mathrm{t}}^{\mathrm{}} \boldsymbol{q}_{\mathrm{t}}^{\mathrm{}} + \boldsymbol{\varPhi }_{ \mathrm{r}}^{\mathrm{}} \boldsymbol{q}_{\mathrm{r}}^{\mathrm{}} + \boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}} \boldsymbol{q}_{ \mathrm{f}}^{\mathrm{}} , $$
(21)

which gives the desired linear relationship between the full set of global FE nodal displacements \(\boldsymbol{c}_{\mathrm{}}^{\mathrm{}}\) and the reduced set of generalized coordinates \(\boldsymbol{q}\), i.e.,

$$ \boldsymbol{c}_{\mathrm{}}^{\mathrm{}} \approx \boldsymbol{\varPhi } \boldsymbol{q} \quad \text{with} \ \text{dim}( \boldsymbol{q}) \ll \text{dim}\bigl(\boldsymbol{c}_{\mathrm{}}^{\mathrm{}} \bigr) , $$
(22)

where dim(…) denotes the dimension of the quantity in parentheses; the reduction matrix \(\boldsymbol{\varPhi }\) obviously contains the translational \(\boldsymbol{\varPhi }_{\mathrm{t}}^{ \mathrm{}} \in \mathbb{R}^{3 n_{\mathrm{n}} \times 3}\), the rotational \(\boldsymbol{\varPhi }_{\mathrm{r}}^{\mathrm{}} \in \mathbb{R} ^{3 n_{\mathrm{n}} \times 9}\) and the flexible \(\boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}} \in \mathbb{R}^{3 n _{\mathrm{n}} \times 9 n_{\mathrm{m}}}\) generalized component modes, i.e.,

$$ \boldsymbol{\varPhi }= \bigl[ \boldsymbol{\varPhi }_{\mathrm{t}}^{ \mathrm{}} \quad \boldsymbol{\varPhi }_{\mathrm{r}}^{\mathrm{}} \quad \boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}} \bigr] , $$
(23)

where the order of appearance of the generalized translational, Eq. (8), rotational, Eq. (13), and flexible, Eq. (20), component modes in \(\boldsymbol{\varPhi }_{\mathrm{t}}^{\mathrm{}}\), \(\boldsymbol{\varPhi }_{\mathrm{r}}^{\mathrm{}}\) or \(\boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}}\), respectively, is given by

$$ i=l+3(k-1)+9(m-1), $$
(24)

if \(i\) represents the column index of \(\boldsymbol{\varPhi }_{ \mathrm{t}}^{\mathrm{}}\), \(\boldsymbol{\varPhi }_{\mathrm{r}}^{ \mathrm{}}\) or \(\boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}}\).

The generalized coordinates \(\boldsymbol{q}\) are, of course, also partitioned in a similar manner as the reduction matrix \(\boldsymbol{\varPhi }\), see Eq. (23), i.e.,

q= [ q t T q r T q f T ] T .
(25)

To illustrate the generalized component mode generation procedure, consider a simple hypothetical example of one eigenmode of an FE model with only one node and three DOFs, Eqs. (26) to (28):

[ e 1 T e 2 T e 3 T ] unit vectors Φ t = [ 1 0 0 0 1 0 0 0 1 ] translat. modes
(26)
[ x 1 ( 1 ) x 2 ( 1 ) x 3 ( 1 ) ] nodal coord. Φ r = [ x 1 ( 1 ) 0 0 x 2 ( 1 ) 0 0 x 3 ( 1 ) 0 0 0 x 1 ( 1 ) 0 0 x 2 ( 1 ) 0 0 x 3 ( 1 ) 0 0 0 x 1 ( 1 ) 0 0 x 2 ( 1 ) 0 0 x 3 ( 1 ) ] rotational modes
(27)
[ ψ 1 ( 1 ) m ψ 2 ( 1 ) m ψ 3 ( 1 ) m ] eigenmode Φ f = [ ψ 1 ( 1 ) m 0 0 ψ 2 ( 1 ) m 0 0 ψ 3 ( 1 ) m 0 0 0 ψ 1 ( 1 ) m 0 0 ψ 2 ( 1 ) m 0 0 ψ 3 ( 1 ) m 0 0 0 ψ 1 ( 1 ) m 0 0 ψ 2 ( 1 ) m 0 0 ψ 3 ( 1 ) m ] flexible modes .
(28)

2.2 Equations of motion

In this section the governing equations of motion, originally derived on the basis of the FFRF via a continuum mechanics approach, are derived in a compact and traceable way, starting in the already spatially discretized domain. The semi-discretized equations of motion are derived via Lagrange’s equation, i.e.,

$$ \frac{\mathrm{d}}{\mathrm{d} t} \biggl( \frac{\partial L}{\partial \dot{\boldsymbol{q}}^{\mathrm{T}}} \biggr) - \frac{\partial L}{ \partial \boldsymbol{q}_{\mathrm{}}^{\mathrm{T}}}= \boldsymbol{0} , $$
(29)

with the modified Lagrangian \(L\) [11] for a general mechanical system defined as

$$ L=T-V+W-\boldsymbol{\lambda }_{\mathrm{}}^{\mathrm{\! T}} \boldsymbol{g} , $$
(30)

where \(W\) denotes the work done by applied nodal forces, \(\boldsymbol{\lambda }\) the vector of Lagrange multipliers and \(\boldsymbol{g}(\boldsymbol{c})=\boldsymbol{0}\) the vector of holonomic constraint equations; the product \(\boldsymbol{\lambda }_{\mathrm{}} ^{\mathrm{\! T}} \boldsymbol{g}\) represents the potential energy of the forces that maintain kinematical constraints [11]. The strain energy \(V\), kinetic energy \(T\) and \(W\) written on a semi-discrete level read

$$\begin{aligned} V &=\frac{1}{2} \boldsymbol{\overline{c}}_{\mathrm{flx}}^{\mathrm{T}} \boldsymbol{K}_{\mathrm{}}^{\mathrm{}} \boldsymbol{\overline{c}}_{ \mathrm{flx}}^{\mathrm{}} , \end{aligned}$$
(31)
$$\begin{aligned} T &=\frac{1}{2} \dot{\boldsymbol{c}}^{\mathrm{T}} \boldsymbol{M}_{ \mathrm{}}^{\mathrm{}} \dot{\boldsymbol{c}} , \end{aligned}$$
(32)
$$\begin{aligned} W &=\boldsymbol{c}_{\mathrm{}}^{\mathrm{T}} \boldsymbol{f} , \end{aligned}$$
(33)

where \(\boldsymbol{\overline{c}}_{\mathrm{flx}}^{\mathrm{}}\) denotes the flexible FE nodal displacements in the body frame, \(\boldsymbol{K}\) and \(\boldsymbol{M}\) the linear FE stiffness and mass matrix, respectively, and \(\boldsymbol{f}\) the applied FE nodal forces. Note that Eq. (31) is stated in terms of \(\boldsymbol{\overline{c}}_{\mathrm{flx}}^{\mathrm{}}\), i.e., only the flexible part of \(\boldsymbol{q}\) contributes to \(V\) – rigid body motion cannot give rise to strains, however, it contributes, of course, to the kinetic energy and work done by applied forces.

The generalized coordinates \(\boldsymbol{q}\) can be split, i.e.,

$$ \boldsymbol{q}=\boldsymbol{q}_{\mathrm{rig}}^{\mathrm{}}+ \boldsymbol{q}_{\mathrm{flx}}^{\mathrm{}} , $$
(34)

into two terms associated with the rigid body displacement \(\boldsymbol{q}_{\mathrm{rig}}^{\mathrm{}}\) and the flexible deformation \(\boldsymbol{q}_{\mathrm{flx}}^{\mathrm{}}\), given by

q rig = [ q t T q r T 0 T ] T and q flx = [ 0 T ( q r q r ) T q f T ] T ,
(35)

respectively, where \(\boldsymbol{q}_{\mathrm{r}}^{\mathrm{\ast }}\) denotes proper rotational coordinates obtained from \(\boldsymbol{q} _{\mathrm{r}}^{\mathrm{}}\) by an appropriate orthonormalization procedure and is therefore a function of \(\boldsymbol{q}_{\mathrm{r}} ^{\mathrm{}}\), i.e., \(\boldsymbol{q}_{\mathrm{r}}^{\mathrm{\ast }}= \boldsymbol{q}_{\mathrm{r}}^{\mathrm{\ast }} (\boldsymbol{q}_{ \mathrm{r}}^{\mathrm{}})\) and no additional DOFs are introduced here. Note that the rotational \(\boldsymbol{q}_{\mathrm{r}}^{\mathrm{}}\), Eq. (12), and flexible \(\boldsymbol{q}_{\mathrm{f}}^{ \mathrm{}}\), Eq. (19), coordinates do not correspond directly to rotational and flexible displacements only, since \(\boldsymbol{q}_{\mathrm{r}}^{\mathrm{}}\) may also contain stretch and shear deformations, see Appendix A. The displacements calculated by Eq. (12), with the rotational generalized component modes \(\boldsymbol{\varPhi }_{\mathrm{r}}^{ \mathrm{}}\), exclusively represent rigid body rotation, only if the rotational coordinates \(\boldsymbol{q}_{\mathrm{r}}^{\mathrm{}}\) are extracted from an orthogonal matrix, i.e., if, see Eqs. (10) to (12),

$$ ( \boldsymbol{Q}_{\mathrm{r}}^{\mathrm{}}+\boldsymbol{I} ) ( \boldsymbol{Q}_{\mathrm{r}}^{\mathrm{}}+\boldsymbol{I} ) ^{\mathrm{T}} = \boldsymbol{I} \quad \leftrightarrow \quad \boldsymbol{Q} _{\mathrm{r}}^{\mathrm{}}=\boldsymbol{Q}_{\mathrm{r}}^{\mathrm{\ast }}, $$
(36)

where

q r = [ q r 1 q r 2 q r 3 q r 4 q r 5 q r 6 q r 7 q r 8 q r 9 ] T Q r = [ q r 1 q r 2 q r 3 q r 4 q r 5 q r 6 q r 7 q r 8 q r 9 ] .
(37)

If the columns of \(\boldsymbol{Q}_{\mathrm{r}}^{\mathrm{}}\) and \(\boldsymbol{Q}_{\mathrm{r}}^{\mathrm{\ast }}\) are (implicitly) defined as, see also Eqs. (9) to (12) and Eq. (37),

( Q r + I ) T =: [ d 1 d 2 d 3 ] and ( Q r + I ) T =: [ d 1 d 2 d 3 ] =A,
(38)

respectively, the proper (orthonormal) rotational DOFs \(\boldsymbol{q}_{\mathrm{r}}^{\mathrm{\ast }}\) are obtained from the orthonormal set \(\lbrace \boldsymbol{d}_{\mathrm{1}}^{\mathrm{ \ast }},\boldsymbol{d}_{\mathrm{2}}^{\mathrm{\ast }},\boldsymbol{d} _{\mathrm{3}}^{\mathrm{\ast }} \rbrace \) calculated from the non-orthonormal set \(\lbrace \boldsymbol{d}_{1},\boldsymbol{d} _{2},\boldsymbol{d}_{3} \rbrace \) through an appropriate orthonormalization procedure, see, e.g., [16].

The original generalized component mode synthesis formulation does not enforce the orthogonality condition, Eq. (36), during simulation, i.e., \(\boldsymbol{Q}_{\mathrm{r}}^{\mathrm{}}+ \boldsymbol{I}\) is in general not orthogonal, and \(\boldsymbol{q}_{ \mathrm{r}}^{\mathrm{}}\) may also contain stretch and shear deformations, see Appendix A. Hence, the proper global flexible nodal displacement \(\boldsymbol{c}_{\mathrm{flx}}^{ \mathrm{}}\), with contributions from \(\boldsymbol{q}_{\mathrm{r}}^{ \mathrm{}}\) and \(\boldsymbol{q}_{\mathrm{f}}^{\mathrm{}}\), reads

$$\begin{aligned} \boldsymbol{c}_{\mathrm{flx}}^{\mathrm{}} &= \boldsymbol{\varPhi }_{ \mathrm{r}}^{\mathrm{}} \bigl( \boldsymbol{q}_{\mathrm{r}}^{ \mathrm{}} - \boldsymbol{q}_{\mathrm{r}}^{\mathrm{*}} \bigr) + \boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}} \boldsymbol{q}_{ \mathrm{f}}^{\mathrm{}} \end{aligned}$$
(39)
$$\begin{aligned} &\stackrel{{\mathrm{\text{(35)}}}}{=} \boldsymbol{\varPhi } \boldsymbol{q}_{\mathrm{flx}}^{\mathrm{}} , \end{aligned}$$
(40)

and is related to the local flexible FE nodal displacements via

$$ \boldsymbol{c}_{\mathrm{flx}}^{\mathrm{}}= \boldsymbol{A}_{\mathrm{bd}} ^{\mathrm{}} \boldsymbol{ \overline{c}}_{\mathrm{flx}}^{\mathrm{}} , $$
(41)

as may be seen from Fig. 1. Therefore, from Eq. (40) and Eq. (41),

$$ \boldsymbol{\overline{c}}_{\mathrm{flx}}^{\mathrm{}} = \boldsymbol{A} _{\mathrm{bd}}^{\mathrm{T}} \boldsymbol{\varPhi } \boldsymbol{q}_{ \mathrm{flx}}^{\mathrm{}} = \boldsymbol{\varPhi } \boldsymbol{\widehat{A}}_{\mathrm{bd}}^{\mathrm{T}} \boldsymbol{q} _{\mathrm{flx}}^{\mathrm{}} , $$
(42)

since

$$ \boldsymbol{A}_{\mathrm{bd}}^{\mathrm{T}} \boldsymbol{A}_{\mathrm{bd}} ^{\mathrm{}} = \boldsymbol{I}_{\mathrm{bd}}^{\mathrm{}} \quad \text{and} \quad \boldsymbol{A}_{\mathrm{bd}}^{\mathrm{T}} \boldsymbol{\varPhi }=\boldsymbol{\varPhi } \boldsymbol{\widehat{A}} _{\mathrm{bd}}^{\mathrm{T}} \,. $$
(43)

The matrices in Eq. (43) commute,Footnote 2 since the reduction matrix \(\boldsymbol{\varPhi }\) consists of blocks that are multiples of the \(3 \times 3\) identity matrix, see Sect. 2.1.

Substituting Eqs. (22), (34) and (42) into Eqs. (31) to (33) yields the strain and kinetic energy, as well as the work done by applied nodal forces in terms of the generalized coordinates, i.e.,

$$\begin{aligned} V &=\frac{1}{2} \bigl(\boldsymbol{q}- \boldsymbol{q}_{\mathrm{rig}}^{ \mathrm{}}\bigr)^{\mathrm{T}} \boldsymbol{\widehat{A}}_{\mathrm{bd}}^{ \mathrm{}} \boldsymbol{\varPhi }_{\mathrm{}}^{\mathrm{T}} \boldsymbol{K} \boldsymbol{\varPhi } \boldsymbol{\widehat{A}}_{ \mathrm{bd}}^{\mathrm{T}} \bigl(\boldsymbol{q}- \boldsymbol{q}_{ \mathrm{rig}}^{\mathrm{}}\bigr) , \end{aligned}$$
(44)
$$\begin{aligned} T &=\frac{1}{2} \dot{\boldsymbol{q}}^{\mathrm{T}} \boldsymbol{\varPhi }_{\mathrm{}}^{\mathrm{T}} \boldsymbol{M}_{ \mathrm{}}^{\mathrm{}} \boldsymbol{\varPhi } \dot{\boldsymbol{q}} , \end{aligned}$$
(45)
$$\begin{aligned} W &=\boldsymbol{q}_{\mathrm{}}^{\mathrm{T}} \boldsymbol{\varPhi }_{ \mathrm{}}^{\mathrm{T}} \boldsymbol{f} . \end{aligned}$$
(46)

The equations of motion are then obtained by combining Eqs. (22), (29), (30), (35), as well as Eqs. (44) to (46), and carrying out differentiation with respect to \(\boldsymbol{q}\), \(\dot{\boldsymbol{q}}\) and \(t\); the individual contributions read

$$\begin{aligned} \frac{\mathrm{d}}{\mathrm{d} t} \frac{\partial T}{\partial \dot{\boldsymbol{q}}^{\mathrm{T}}} &= \boldsymbol{ \widehat{M}} \ddot{\boldsymbol{q}} , \end{aligned}$$
(47)
$$\begin{aligned} \frac{\partial V}{\partial \boldsymbol{q}_{\mathrm{}}^{\mathrm{T}}} &= \boldsymbol{ \widehat{A}}_{\mathrm{bd}}^{\mathrm{}} \boldsymbol{\widehat{K}} \boldsymbol{\widehat{A}}_{\mathrm{bd}}^{ \mathrm{T}} \boldsymbol{q}_{\mathrm{flx}}^{\mathrm{}} + \boldsymbol{q}_{\mathrm{flx}}^{\mathrm{T}} \boldsymbol{\widehat{A}} _{\mathrm{bd}}^{\mathrm{}} \boldsymbol{\widehat{K}} \, \biggl( \frac{ \partial \boldsymbol{\widehat{A}}_{\mathrm{bd}}^{\mathrm{T}}}{\partial \boldsymbol{q}_{\mathrm{}}^{\mathrm{T}}} \boldsymbol{q}_{\mathrm{flx}} ^{\mathrm{}} \biggr) - \end{aligned}$$
(48)
$$\begin{aligned} &\quad {}- \frac{\partial \boldsymbol{q}_{\mathrm{rig}}^{\mathrm{}}}{\partial \boldsymbol{q}_{\mathrm{}}^{\mathrm{T}}} \boldsymbol{\widehat{A}}_{ \mathrm{bd}}^{\mathrm{}} \boldsymbol{\widehat{K}} \boldsymbol{\widehat{A}}_{\mathrm{bd}}^{\mathrm{T}} \boldsymbol{q} _{\mathrm{flx}}^{\mathrm{}} , \\ \frac{\partial W}{\partial \boldsymbol{q}_{\mathrm{}}^{\mathrm{T}}} &= \boldsymbol{\widehat{f}} , \end{aligned}$$
(49)
$$\begin{aligned} \frac{\partial \boldsymbol{\lambda }_{\mathrm{}}^{\mathrm{\! T}} \! \boldsymbol{g} }{\partial \boldsymbol{q}_{\mathrm{}}^{\mathrm{T}}} &= \boldsymbol{\widehat{G}}_{\mathrm{}}^{\mathrm{T}} \boldsymbol{\lambda } , \end{aligned}$$
(50)

with the reduced system matrices

$$\begin{aligned} \boldsymbol{\widehat{M}} &=\boldsymbol{\varPhi }_{\mathrm{}}^{ \mathrm{T}} \boldsymbol{M} \boldsymbol{\varPhi } , \end{aligned}$$
(51)
$$\begin{aligned} \boldsymbol{\widehat{K}} &=\boldsymbol{\varPhi }_{\mathrm{}}^{ \mathrm{T}} \boldsymbol{K} \boldsymbol{\varPhi } , \end{aligned}$$
(52)
$$\begin{aligned} \boldsymbol{\widehat{f}} &=\boldsymbol{\varPhi }_{\mathrm{}}^{ \mathrm{T}} \boldsymbol{f}, \end{aligned}$$
(53)
$$\begin{aligned} \boldsymbol{\widehat{G}} &=\boldsymbol{G} \boldsymbol{\varPhi } , \end{aligned}$$
(54)

where \(\boldsymbol{G}\) is the standard constraint Jacobian obtained by differentiating the constraints \(\boldsymbol{g}\), defined in terms of the physical FE nodal DOFs \(\boldsymbol{c}\), with respect to \(\boldsymbol{c}_{\mathrm{}}^{\mathrm{}}\). The third term on the right hand side of Eq. (48) vanishes, since the virtual elastic work done by rigid body displacements is zero – rigid body displacements cannot give rise to elastic forces, i.e.,

$$\begin{aligned} \boldsymbol{q}_{\mathrm{flx}}^{\mathrm{T}} \boldsymbol{\widehat{A}} _{\mathrm{bd}}^{\mathrm{}} \boldsymbol{\widehat{K}} \boldsymbol{ \widehat{A}}_{\mathrm{bd}}^{\mathrm{T}} \delta \boldsymbol{q}_{\mathrm{rig}}^{\mathrm{}} &=0 , \end{aligned}$$
(55)
$$\begin{aligned} \boldsymbol{q}_{\mathrm{flx}}^{\mathrm{T}} \boldsymbol{\widehat{A}} _{\mathrm{bd}}^{\mathrm{}} \boldsymbol{\widehat{K}} \boldsymbol{ \widehat{A}}_{\mathrm{bd}}^{\mathrm{T}} \frac{\partial \boldsymbol{q}_{\mathrm{rig}}^{\mathrm{}}}{\partial \boldsymbol{q}} \delta \boldsymbol{q} &=0 , \end{aligned}$$
(56)

which must hold for any virtual displacement; hence,

$$ \boldsymbol{q}_{\mathrm{flx}}^{\mathrm{T}} \boldsymbol{ \widehat{A}} _{\mathrm{bd}}^{\mathrm{}} \boldsymbol{\widehat{K}} \boldsymbol{\widehat{A}}_{\mathrm{bd}}^{\mathrm{T}} \frac{\partial \boldsymbol{q}_{\mathrm{rig}}^{\mathrm{}}}{\partial \boldsymbol{q}}= \boldsymbol{0}_{\mathrm{}}^{\mathrm{T}}, $$
(57)

which is also verified by numerical experiments.Footnote 3 Summing up the contributions of Eqs. (47) to (50) according to Eqs. (29) and (30), yields the governing equations of motion, namely

$$ \boldsymbol{\widehat{M}} \ddot{\boldsymbol{q}} + \boldsymbol{ \widehat{A}}_{\mathrm{bd}}^{\mathrm{}} \boldsymbol{\widehat{K}} \boldsymbol{\widehat{A}}_{\mathrm{bd}}^{ \mathrm{T}} \boldsymbol{q}_{\mathrm{flx}}^{\mathrm{}} + \boldsymbol{\widehat{f}}_{\mathrm{nl}}^{\mathrm{}} + \boldsymbol{ \widehat{G}}_{\mathrm{}}^{\mathrm{T}} \boldsymbol{\lambda } = \boldsymbol{ \widehat{f}} , $$
(58)

where the nonlinear term due to the strain energy is given by

$$ \boldsymbol{\widehat{f}}_{\mathrm{nl}}^{\mathrm{}}:= \boldsymbol{q} _{\mathrm{flx}}^{\mathrm{T}} \boldsymbol{ \widehat{A}}_{\mathrm{bd}} ^{\mathrm{}} \boldsymbol{\widehat{K}} \biggl( \frac{\partial \boldsymbol{\widehat{A}}_{\mathrm{bd}}^{\mathrm{T}}}{\partial \boldsymbol{q}_{\mathrm{}}^{\mathrm{T}}} \, \boldsymbol{q}_{ \mathrm{flx}}^{\mathrm{}} \biggr) \quad \text{with} \ \biggl( \frac{ \partial \boldsymbol{\widehat{A}}_{\mathrm{bd}}^{\mathrm{T}}}{\partial \boldsymbol{q}_{\mathrm{}}^{\mathrm{T}}} \, \boldsymbol{q}_{ \mathrm{flx}}^{\mathrm{}} \biggr)_{\! \! ik} = \frac{\partial \widehat{A}_{\mathrm{bd}ji}}{\partial q_{k}} q_{\mathrm{flx}j} . $$
(59)

3 A short note on linear dependence

3.1 Definition

As already pointed out in Sect. 1, a straightforward generation of \(\boldsymbol{\varPhi }\) according to Eqs. (8), (13), (20) and Eq. (23) may lead to an ill-conditioned system due to linearly dependent generalized component modes, which is why this section is devoted to a short note on the mathematics of linear dependence.

The generalized component modes \(\boldsymbol{\varphi }_{i}\), i.e., the columns of \(\boldsymbol{\varPhi }\), are said to be linearly dependent if

$$ a_{p 1} \boldsymbol{\varphi }_{1} + a_{p 2} \boldsymbol{\varphi }_{2} + \cdots + a_{p (12+9 n_{\mathrm{m}}) } \boldsymbol{\varphi }_{(12+9 n _{\mathrm{m}})}=\boldsymbol{0} , $$
(60)

if the scalars \(a_{pi}\) are not all zero; this may be written in matrix notation asFootnote 4

$$ \boldsymbol{\varPhi } \boldsymbol{a}_{p} = \boldsymbol{0} , $$
(61)

where

Φ=[ φ 1 φ 2 φ ( 12 + 9 n m ) ]and a p = [ a p 1 a p 2 a p ( 12 + 9 n m ) ] T .
(62)

Hence, the generalized component modes are linearly independent, if the nullspace of the reduction matrix \(\boldsymbol{\varPhi }\) contains solely the zero vector, i.e., if \(\text{null}( \boldsymbol{\varPhi })= \lbrace \boldsymbol{0} \rbrace \).

3.2 Singular-value decomposition

To reveal information about the nature of the linear dependencies, the singular value decomposition (SVD) of the real-valued matrix \(\boldsymbol{\varPhi }\), reading [23, p. 25]

$$ \boldsymbol{\varPhi }= \boldsymbol{U} \boldsymbol{\varSigma } \boldsymbol{V}_{\mathrm{}}^{\mathrm{T}} , $$
(63)

may be employed to determine the nullspace of \(\boldsymbol{\varPhi }\). In Eq. (63), \(\boldsymbol{U} \in \mathbb{R}^{3 n_{ \mathrm{n}} \times 3 n_{\mathrm{n}}}\) and \(\boldsymbol{V} \in \mathbb{R}^{(12+9 n_{\mathrm{m}}) \times (12+9 n_{\mathrm{m}})}\) are orthogonalFootnote 5 matrices whose columns are the left \(\boldsymbol{u} _{i}\) and right \(\boldsymbol{v}_{i}\) singular vectors, respectively, and \(\boldsymbol{\varSigma } \in \mathbb{R}^{3 n_{\mathrm{n}} \times (12+9 n _{\mathrm{m}})}\) is a rectangular diagonal matrix with the singular values \(\sigma _{i}\) on its diagonal.

Right multiplying Eq. (63) with \(\boldsymbol{V}\) yields

$$\begin{aligned} \boldsymbol{\varPhi } \boldsymbol{V} &= \boldsymbol{U} \boldsymbol{\varSigma } , \end{aligned}$$
(64)
$$\begin{aligned} \boldsymbol{\varPhi } [ \boldsymbol{v}_{1} \quad \boldsymbol{v} _{2} \; \dots \; \boldsymbol{v}_{(12+9 n_{\mathrm{m}})} ] &= [ \boldsymbol{u}_{1} \quad \boldsymbol{u}_{2} \; \dots \; \boldsymbol{u}_{3 n_{\mathrm{n}}} ] \, \boldsymbol{\varSigma } , \end{aligned}$$
(65)
$$\begin{aligned}{} [\boldsymbol{\varPhi } \boldsymbol{v}_{1} \quad \boldsymbol{\varPhi } \boldsymbol{v}_{2} \; \dots \; \boldsymbol{ \varPhi } \boldsymbol{v}_{(12+9 n_{\mathrm{m}})} ] &= [\sigma _{1} \boldsymbol{u}_{1} \quad \sigma _{2} \boldsymbol{u} _{2} \; \dots \; \sigma _{3 n_{\mathrm{n}}} \boldsymbol{u}_{3 n_{ \mathrm{n}}} ] , \end{aligned}$$
(66)

with \(12+9 n_{\mathrm{m}} \leq 3 n_{\mathrm{n}}\).

Equation (66) shows that the right singular vectors \(\boldsymbol{v}_{p}\) corresponding to vanishing singular values \(\sigma _{p}\) are elements of the nullspace of \(\boldsymbol{\varPhi }\). Hence, the components of \(\boldsymbol{v}_{p}\) are the coefficients \(a_{pi}\) of Eq. (60), i.e., \(\boldsymbol{v} _{p}=\boldsymbol{a}_{p}\), compare Eq. (61) with Eq. (66), and we have identified the nature of the dependencies.

3.3 Matrix condition number

The SVD is not only useful to determine the nullspace of a matrix, but may be also used to determine the condition number of a matrix, \(\mathrm{cond}(\dots )\), which defines how accurately a linear system of equations can be solved. The condition number may be considered as an amplification of error and one has to expect to lose \(\log _{10} [ \mathrm{cond}(\boldsymbol{J})]\), see Eq. (69), digits of accuracy on top of all the other errors, such as finite machine precision [23, p. 95]. If the condition number is small, the matrix is said to be well-conditioned, otherwise ill-conditioned.

For a rectangular matrix, such as \(\boldsymbol{\varPhi } \in \mathbb{R}^{3 n_{\mathrm{n}} \times (12+9 n_{\mathrm{m}})}\) with \(12+9 n_{\mathrm{m}} \leq 3 n_{\mathrm{n}}\), the condition number is in general defined as [23, p. 95]

$$ \mathrm{cond}(\boldsymbol{\varPhi }) = \| \boldsymbol{\varPhi } \| \, \| \boldsymbol{\varPhi }^{+} \| , $$
(67)

where \(\boldsymbol{\varPhi }^{+}\) denotes the pseudoinverse; if \(\| \ldots \|= \| \ldots \|_{2}\), Eq. (67) may be written as the ratio of the largest \(\sigma _{\mathrm{max}}\) to the smallest \(\sigma _{\mathrm{min}}\) singular value, i.e.,

$$ \mathrm{cond}(\boldsymbol{\varPhi }) = \frac{\sigma _{\mathrm{max}} ( \boldsymbol{\varPhi } )}{\sigma _{\mathrm{min}} ( \boldsymbol{\varPhi } )} , $$
(68)

which links the SVD and the matrix condition number; and we have obtained a quality measure and an indicator of linear dependence of \(\boldsymbol{\varPhi }\).

If the governing equations of motion, Eq. (58), are integrated with the Newmark method [14], the inverse of the Jacobian reads [5]

$$ \boldsymbol{J}^{-1}=\boldsymbol{A}_{\mathrm{bd}}^{\mathrm{}} \biggl( \boldsymbol{\varPhi }_{\mathrm{}}^{\mathrm{T}} \boldsymbol{{M}} \boldsymbol{\varPhi } + \frac{\tau ^{2}}{4} \boldsymbol{\varPhi }_{ \mathrm{}}^{\mathrm{T}} \boldsymbol{{K}} \boldsymbol{\varPhi } \biggr) ^{-1} \boldsymbol{A}_{\mathrm{bd}}^{\mathrm{T}} , $$
(69)

with the Newmark parameters \(\beta =\frac{1}{4}\) and \(\gamma = \frac{1}{2}\) according to [5] and the time increment \(\tau \). The condition of the reduction matrix \(\boldsymbol{\varPhi }\) is related to the condition of the Jacobian \(\boldsymbol{J}\), which can be estimated by means of matrix norm relations [23, p. 17] and Eq. (67), but is also evident from numerical experiments, i.e.,

$$ \mathrm{cond}(\boldsymbol{J}) \gg \mathrm{cond}(\boldsymbol{\varPhi }) . $$
(70)

For example, the condition number of the part of the Jacobian that needs to be factorized during time integration, see Eq. (69), is between four to eight orders of magnitude higher than the condition number of the corresponding ill-conditioned reduction matrices for the hereinafter analyzed models of Sects. 5 and 6, which is why it is essential to ensure that \(\mathrm{cond} (\boldsymbol{\varPhi })\) is sufficiently small to prevent errors.

3.4 Cosine similarity

A special case of linear dependence appears whenever two columns of \(\boldsymbol{\varPhi }\) are directly proportional to each other, i.e., if \(\boldsymbol{\varphi }_{i}= b \boldsymbol{\varphi }_{j}\) for some nonzero scalar \(b\).

Directly proportional columns fulfill the condition

$$ \cos \theta _{ij} = \frac{\langle \boldsymbol{\varphi }_{i}, \, \boldsymbol{\varphi }_{j} \rangle }{\Vert \boldsymbol{\varphi }_{i} \Vert \, \Vert \boldsymbol{\varphi }_{j} \Vert } = \pm 1 , $$
(71)

where the row \(i\) and column \(j\) indices of \(\boldsymbol{\varPhi }\) correspond to the indices \(k\), \(l\) and \(m\) of Eqs. (8), (13) and (20) in same manner as before, see Eq. (24), and

$$ -1\leq \cos \theta _{ij} \leq 1 $$
(72)

is a measure of similarity between two vectors and known as the Cosine similarity. A value of \(\pm 1\) indicates linear dependence, whereas 0 shows orthogonality.

3.5 Orthogonal reduction basis

Given a set of linearly dependent generalized component modes \(\lbrace \boldsymbol{\varphi }_{1}, \dots , \boldsymbol{\varphi }_{n} \rbrace \) and applying a “shortened” version of the classical Gram–Schmidt process, i.e.,

$$ \boldsymbol{\varphi }_{\kappa }'= \boldsymbol{\varphi }_{\kappa } - \sum_{\iota =1}^{\kappa -1} \frac{\langle \boldsymbol{\varphi }_{ \iota }' , \, \boldsymbol{\varphi }_{\kappa } \rangle }{\langle \boldsymbol{\varphi }_{\iota }', \, \boldsymbol{\varphi }_{\iota }' \rangle } \boldsymbol{\varphi }_{\iota }' , $$
(73)

where the normalization steps are omitted, generates a set orthogonal generalized component modes \(\lbrace \boldsymbol{\varphi }_{1}', \dots , \boldsymbol{\varphi }_{\nu }' \rbrace \) and a set of zero vectors \(\lbrace \boldsymbol{0}_{1}, \dots , \boldsymbol{0} _{(n - \nu )} \rbrace \); the algorithm outputs the zero vector in the \(\kappa \)th step if

$$ \boldsymbol{\varphi }_{\kappa }=\sum _{\lambda =1}^{\kappa -1} b_{ \lambda } \boldsymbol{ \varphi }_{\lambda }' $$
(74)

for some nonzero scalars \(b_{\lambda }\), since substituting Eq. (74) into the inner product in the numerator of Eq. (73) and noting thatFootnote 6

$$ \Biggl\langle \boldsymbol{\varphi }_{\iota }' , \, \sum _{\lambda =1}^{ \kappa -1} b_{\lambda } \boldsymbol{\varphi }_{\lambda }' \Biggr\rangle = b _{\iota } \langle \boldsymbol{\varphi }_{\iota }', \, \boldsymbol{\varphi }_{\iota }' \rangle \quad \text{because}\ \bigl\langle \boldsymbol{\varphi } _{\iota }' , \, \boldsymbol{\varphi }_{\lambda }' \bigr\rangle = 0 \ \text{if}\ \lambda \neq \iota , $$
(75)

yields

(76)

The number of nonzero vectors generated by the algorithm is equal to the dimension of the space spanned by the original set of linearly dependent generalized component modes; hence, all zero vectors must be discarded from the reduction basis to obtain the desired independent set of generalized component modes.

3.6 Remark

It should be noted that the condition number of the translational reduction matrix \(\boldsymbol{\varPhi }_{\mathrm{t}}^{\mathrm{}}\) is always equal to one, since the translational modes are always orthogonal to each other, Eq. (8), and that it is neither possible to remove nor alter the rotational part \(\boldsymbol{\varPhi }_{\mathrm{r}}^{\mathrm{}}\) without changing the formulation. Hence, if linear dependencies arise, only generalized flexible modes may be removed or altered without the need to adopt the formulation. However, it is known from the literature [22] that scaling, i.e., adopting the Euclidean norm of modes to similar values, has a positive effect on the condition of a reduction basis, which is possible for both translational and flexible modes, and will be also employed in here, see Sect. 5.2.

Also, as evident from Sect. 2.1, the reduction basis \(\boldsymbol{\varPhi } \in \mathbb{R}^{3 n_{\mathrm{n}} \times (12+9 n_{\mathrm{m}})}\) contains predominately generalized flexible component modes, which is why the main part of the rest of the present paper is devoted to the investigation of the flexible part of the reduction matrix, since \(\boldsymbol{\varPhi }_{\mathrm{f}}^{ \mathrm{}} \in \mathbb{R}^{3 n_{\mathrm{n}} \times 9 n_{\mathrm{m}}}\) accounts for the majority of linear dependencies and the high condition number in the first place.

4 An illustrative example

In this section, a simple example of a 60 mm square-sectioned 900 mm long steel beam should illustrate the generalized component modes, as well as the inherent problem of linear dependencies, to gain a deeper understanding of the formulation and to show the significance of the current contribution, respectively.

Figure 2 illustrates the generalized translational component modes; all nodes are displaced the same amount in the \(x\)-, \(y\)- or \(z\)-direction. Hence, any rigid body translation of the discretized body can be represented by a proper linear combination of the generalized translational component modes.

Fig. 2
figure 2

Initial FE configuration (IC) of a square-sectioned steel beam and the three corresponding generalized translational component modes \(\boldsymbol{\phi }_{\mathrm{t} l}\) according to Eq. (8); visualized with appropriate scaling factors for presentation purposes (Color figure online)

The generalized rotational component modes of the square beam are depicted in Fig. 3 and, as already addressed in Sect. 2.2 and Appendix A, contain in addition to rotational rigid body motion in general stretch and shear deformations, as may be seen in the figure, i.e., only the right linear combination, Eq. (36), of generalized rotational component modes would exclusively rotate the body.

Fig. 3
figure 3

Initial FE configuration (IC) of a square-sectioned steel beam and the nine corresponding generalized rotational component modes \(\boldsymbol{\phi }_{\mathrm{r} kl}\) according to Eq. (13); visualized with appropriate scaling factors for presentation purposes (Color figure online)

Finally, Fig. 4 depicts the first two bending eigenmodes of vibration with their nine corresponding generalized flexible component modes. It is verified numerically (see Fig. 5), but may be also seen in the figure that the first three generalized component modes of the first and second bending eigenmodes are identical, i.e.,

$$ {}^{1 \! }{} {\boldsymbol{\phi }}_{\mathrm{f}1l} = {}^{2 \! }{} {\boldsymbol{\phi }}_{\mathrm{f}1l} \quad \text{for} \ l=1,2,3. $$
(77)

Moreover, the fourth to sixth generalized component modes of these two eigenmodes are related by the factor of negative one, i.e.,

$$ {}^{1 \! }{} {\boldsymbol{\phi }}_{\mathrm{f}2l} = - {}^{2 \!}{} {\boldsymbol{\phi }}_{\mathrm{f}2l} \quad \text{for} \ l=1,2,3, $$
(78)

and are, therefore, directly proportional. Likewise, the set of the first three generalized component modes within each bending eigenmode is directly proportional to the set of the second three generalized component modes, i.e.,

$$ {}^{m \!}{} {\boldsymbol{\phi }}_{\mathrm{f}1l} \propto {}^{m \!}{} {\boldsymbol{\phi }}_{\mathrm{f}2l} \quad \text{for} \ m=1,2 \ \text{and} \ l=1,2,3, $$
(79)

which shows that it is also possible for linear dependencies to arise within one generalized component mode set. Equations (77) to (79) also imply that

$$\begin{aligned} {}^{1 \!}{} {\boldsymbol{\phi }_{\mathrm{f}1l}} & \propto {}^{2 \!}{} {\boldsymbol{\phi }_{\mathrm{f}2l}} \quad \text{for} \ l=1,2,3, \end{aligned}$$
(80)
$$\begin{aligned} {}^{2 \!}{} {\boldsymbol{\phi }_{\mathrm{f}1l}} & \propto {}^{1 \!}{} {\boldsymbol{\phi }_{\mathrm{f}2l}} \quad \text{for} \ l=1,2,3. \end{aligned}$$
(81)
Fig. 4
figure 4

First \({}^{1 \! }{}{\boldsymbol{\psi }}\) and second \({}^{2 \! }{}{\boldsymbol{\psi }}\) bending eigenmode of an unconstrained square-sectioned steel beam and the nine corresponding generalized flexible component modes \({}^{1 \!}{}{\boldsymbol{\phi }}_{\mathrm{f}kl}\) and \({}^{2 \!}{}{\boldsymbol{\phi }}_{\mathrm{f}kl}\) according to Eq. (20); visualized with appropriate scaling factors for presentation purposes (Color figure online)

Fig. 5
figure 5

Absolute value of the Cosine similarity according to Eq. (71) of the first 18 generalized flexible component modes \({}^{m \!}{}{\boldsymbol{\phi }}_{\mathrm{f}kl}\) of the square-sectioned beam-like example visualized in Fig. 4; displayed as a lower triangular matrix due to symmetry (Color figure online)

These linear dependencies, Eqs. (77) to (81), are attributed to the symmetric cross-section of the analyzed beam and manifest themselves in a high condition number, \(\mathrm{cond}(\boldsymbol{\varPhi })=9.51 \times 10^{17}\). Note that the first two eigenmodes of vibration form a repeated mode pair with equal eigenfrequencies, where the displacements in the \(x\)- and \(y\)-directions are simply “exchanged” for the first and second bending mode, since any axis through the centroid of a square cross-section is a principal bending axis. Consequently, only nine out of the full set of 18 generalized flexible component modes are, in this case, linearly independent and the system of equations with the initially \(9 n_{ \mathrm{m}}\) generalized flexible coordinates may be further reduced significantly.

The degree of linear dependence of the generalized flexible component modes is dictated by the value of \(\cos \theta _{ij}\), see Eq. (71) and Sect. 3.4. The Cosine similarity may be represented as a two-dimensional array of numbers and visualized with a color array, see, e.g., the plot of \(\vert \cos \theta _{ij} \vert \) of the 18 generalized component modes (Fig. 4) visualized in Fig. 5. The Cosine similarity matrix is symmetric, which is why it is represented with a lower triangular array, hereinafter referred to as heatmap. Every entry of the heatmap represents the absolute value of the Cosine similarity between two generalized flexible component modes; the diagonal entries represent the similarity between a mode with itself and are, therefore, of course, one. The first row and the first column correspond to \({}^{1 \!}{}{\boldsymbol{\phi }}_{\mathrm{f}11}\); increasing the row or column index of the heatmap corresponds to an increase of the indices of \({}^{m \!}{}{\boldsymbol{\phi }} _{\mathrm{f}kl}\) in the following manner, see also Eq. (24) for the formal index mapping expression and Figs. 4 (b)–(j) and (l)–(t) that are depicted in the same order:

  1. 1.

    \(l \; \; =1 \to 3\) for every \(k\) and \(m\)

  2. 2.

    \(k \; =1 \to 3\) for every \(m\)

  3. 3.

    \(m=1 \to n_{\mathrm{m}}\)

Figure 5 proves that the identified dependencies indeed fulfill the condition stated in Eq. (71). Such heatmaps are used for the rest of the analysis to visualize directly proportional columns of \(\boldsymbol{\varPhi }_{\mathrm{f}} ^{\mathrm{}}\).

This example shows the importance of the mode selection process. The systematic investigation of the generalized component modes, which has not been addressed in the available literature, is not only required to obtain an accurate solution or a solvable system of equations, but may also enable a further reduction of the generalized coordinates and, therefore, a gain in efficiency.

5 Dependencies within the flexible reduction matrix

5.1 Detailed analysis of a square-sectioned extruded body

It is clear from the introductory example of Sect. 4 that some linear dependencies between generalized flexible component modes are obvious, for example, it is intuitive that linear dependencies between the generalized component modes obtained from the repeated mode pair (Fig. 4, (a) and (k)) exist, since the displacements of the nodes in the \(x\)- and \(y\)-directions of \({}^{1 \! }{}{\boldsymbol{\psi }}\) and \({}^{2 \! }{}{\boldsymbol{\psi }}\) are simply “exchanged”. However, this is in general, of course, not the case. This section exhibits that linear dependencies of generalized component modes cannot be identified a priori. To this end, a flexible reduction basis is generated from a selection of eight eigenmodes of a 100 mm square-sectioned beam; all the beam-like models subsequently discussed share the following properties [25]:

\(\square \) :

Young’s modulus, \(E=1500~\mbox{MPa}\)

\(\square \) :

Poisson’s ratio, \(\mu =0.3\)

\(\square \) :

Density, \(\rho =1000~\mbox{kg}\,\mbox{m}^{-3}\)

\(\square \) :

Length, \(l=2~\mbox{m}\)

Twenty-noded hexahedrals and 15-noded wedge elements (if necessary) were used for the FE discretization. The flexible reduction basis chosen for the analysis includes the first four bending modes, i.e., the first two bending mode shapes in two perpendicular (⊥) directions (hereinafter distinguished with an asterisk*), as well as the first two torsion and longitudinal eigenmodes, see Fig. 6, which leads to \(8 \times 9=72\) generalized flexible component modes contained in \(\boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}}\) with \(\mathrm{cond}(\boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}}) = 2.97 \times 10^{6}\). In contrast, the condition number of the matrix containing the eight original displacement normalized eigenmodes of vibration (Fig. 6) obtained by an FE solver is equal to 1.00. The high condition number of \(\boldsymbol{\varPhi }_{ \mathrm{f}}^{\mathrm{}}\) indicates that the generalized flexible component modes are not independent, which may be also seen in the Cosine similarity matrix visualized in Fig. 7; the figure depicts the absolute value of the Cosine similarity, Eq. (71), of two generalized component modes in turn. The last 18 columns, corresponding to the repeated mode pair of the first bending eigenmode, show, of course, the same pattern and therefore the same dependencies as Fig. 5, i.e., Eqs. (77) to (81). Not surprisingly, the repeated mode pair of the second bending mode shape, Fig. 6(e)–(f), shows the same pattern as the first one, i.e.,

$$\begin{aligned} {}^{\mathrm{B2} \!}{} {\boldsymbol{\phi }}_{\mathrm{f}1l} & \propto {}^{\mathrm{B2^{*}} \! \! \!}{} {\boldsymbol{\phi }} _{\mathrm{f}1l} \quad \text{for} \ l=1,2,3, \end{aligned}$$
(82)
$$\begin{aligned} {}^{\mathrm{B2} \!}{} {\boldsymbol{\phi }}_{\mathrm{f}2l} & \propto {}^{\mathrm{B2^{*}} \! \! \!}{} {\boldsymbol{\phi }} _{\mathrm{f}2l} \quad \text{for} \ l=1,2,3, \end{aligned}$$
(83)
$$\begin{aligned} {}^{m \!}{} {\boldsymbol{\phi }}_{\mathrm{f}1l} &\propto {}^{m \!}{} {\boldsymbol{\phi }}_{\mathrm{f}2l} \quad \; \text{for} \ l=1,2,3 \ \text{and} \ m=\mathrm{B2}, \mathrm{B2^{*}}, \end{aligned}$$
(84)
$$\begin{aligned} {}^{\mathrm{B2} \!}{} {\boldsymbol{\phi }}_{\mathrm{f}1l} & \propto {}^{\mathrm{B2^{*}} \! \! \!}{} {\boldsymbol{\phi }} _{\mathrm{f}2l} \quad \text{for} \ l=1,2,3, \end{aligned}$$
(85)
$$\begin{aligned} {}^{\mathrm{B2} \!}{} {\boldsymbol{\phi }}_{\mathrm{f}2l} & \propto {}^{\mathrm{B2^{*}} \! \! \!}{} {\boldsymbol{\phi }} _{\mathrm{f}1l} \quad \text{for} \ l=1,2,3, \end{aligned}$$
(86)

compare columns 37 to 54 with 55 to 72 in Fig. 7.

Fig. 6
figure 6

Selected eigenmodes of vibration \({}^{m \! }{}{\boldsymbol{\psi }}\) of a square-sectioned beam, displayed in the order they appear in the flexible part \(\boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}}\) of the reduction matrix \(\boldsymbol{\varPhi }\). The contour plots indicate the magnitude of the nodal displacement (Color figure online)

Fig. 7
figure 7

Absolute value of the Cosine similarity according to Eq. (71) of the generalized flexible component modes \({}^{m \!}{}{\boldsymbol{\phi }}_{\mathrm{f}kl}\) generated from the eigenmode selection displayed in Fig. 6 of a square-sectioned beam. The first nine columns and rows correspond to the eigenmode depicted in Fig. 6(a), the following nine to the eigenmode of Fig. 6(b), and so forth, see Eq. (24) (Color figure online)

Figure 7 also reveals that it is possible for linear dependencies between different kinds of modes to arise. Columns 28 to 36 indicate that there is a strong dependence (\(\vert \cos \theta _{ij} \vert = 0.995\)) between the displacement in the \(x\)- and \(y\)-direction of the first torsion mode and the displacement in the \(z\)-direction of the first bending and perpendicular bending mode, respectively, i.e.,

$$ {}^{\mathrm{T1} \! }{} {\boldsymbol{\phi }}_{\mathrm{f}2l} \propto {}^{\mathrm{B1} \! }{} {\boldsymbol{\phi }}_{\mathrm{f}3l} \quad \text{and} \quad {}^{\mathrm{T1} \! }{} {\boldsymbol{\phi }}_{\mathrm{f}1l} \propto {}^{\mathrm{B1^{*}} \! \! \!}{} {\boldsymbol{\phi }} _{\mathrm{f}3l} \quad \text{with} \ l=1,2,3. $$
(87)

Likewise, there is a correlation, though less significant (\(\vert \cos \theta _{ij} \vert = 0.979\)), between the displacement in the \(z\)-direction of the second longitudinal mode and the displacements in the \(x\)- and \(y\)-directions of the first bending mode pair, i.e.,

$$ {}^{\mathrm{L2} \! }{} {\boldsymbol{\phi }}_{\mathrm{f}3l} \propto {}^{m \! }{} {\boldsymbol{\phi }}_{\mathrm{f}kl} \quad \text{with} \ l=1,2,3, \ k=1,2 \ \text{and} \ m= \mathrm{B1}, \mathrm{B1^{*}}. $$
(88)

After the linear dependencies are identified, it is important to deal with them appropriately. One way to improve the condition number of the flexible reduction basis is to exclude one of the generalized component modes involved in each correlation. This has the advantage that the set of generalized coordinates is reduced by the number of excluded modes, which leads to a further improvement of the efficiency of the formulation. The only drawback is that one has to determine a threshold value of the Cosine similarity \(c_{\mathrm{th}}\), due to the fact that we are dealing with numerical vectors only and a value of exactly one cannot be expected. The generalized component modes are considered to be linearly dependent if \(\vert \cos \theta _{ij} \vert \geq c_{ \mathrm{th}}\). This may be an iterative process that continues as long as the condition number is as low as desired, which depends on the problem to be analyzed and on the system matrices, or until removing correlated columns does not improve the condition number further (Fig. 8).

Fig. 8
figure 8

Condition number of the flexible reduction matrix, generated from the eigenmodes of the square-sectioned beam displayed in Fig. 6, and the number of the removed columns of \(\boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}}\) over the threshold value of the Cosine similarity \(c_{\mathrm{th}}\) (Color figure online)

Figure 8(a) shows the matrix condition number of the flexible reduction matrix \(\mathrm{cond}(\boldsymbol{\varPhi } _{\mathrm{f}}^{\mathrm{}})\) generated from the eight eigenmodes of vibration displayed in Fig. 6 over the threshold value \(c_{\mathrm{th}}\) of the Cosine similarity. Figure 8(b) depicts the corresponding number of removed columns of \(\boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}}\) over \(c_{\mathrm{th}}\). The figures indicate that a threshold value relatively close to one (\(c_{\mathrm{th}}=0.999\)) suffices to reduce the condition number by three orders of magnitude; such a sharp drop can be generally expected if columns are directly proportional, as evident from all analyzed beam-like models discussed in this paper. Further reducing the threshold (\(c_{\mathrm{th}}=0.995\)) leads to a minor improvement by a factor of approximately two. After that, the condition number remains constant within the considered range and removing more columns (from 24 to 27 at \(c_{\mathrm{th}}=0.980\)) does not lower the condition number further. Hence, if the Cosine similarity is employed to eliminate linear dependencies, “convergence” of \(\mathrm{cond}(\boldsymbol{\varPhi } _{\mathrm{f}}^{\mathrm{}})\) should always be checked prior time integration to avoid numerical errors. Similar numerical experiments on the influence of weak “dependencies” on the reduction matrix’s condition number were conducted for all herein analyzed models, see Sect. 5.2, and indicated that a Cosine similarity (absolute) value below 0.950 may be considered as extremely low. In fact, a value of \(c_{\mathrm{th}} = 0.993\) yielded sound results throughout the investigations presented in this paper,Footnote 7 which is why only entries with \(\vert \cos \theta _{ij} \vert \geq 0.993\) in the Cosine similarity matrix are further discussed in here.

The initial threshold value may be chosen to be one, or as the Cosine similarity (absolute) value calculated from a pair of generalized component modes where linear dependence is a priori known, which is the case between the generalized component modes obtained from \({}^{\mathrm{B1} \! }{}{\boldsymbol{\psi }}\) and \({}^{\mathrm{B1^{*}} \! \! \! }{}{\boldsymbol{\psi }}\) (Fig. 6) for the here considered example.

Another and a very elegant possibility to eliminate the linear dependencies within \(\boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}}\) is to apply the “shortened” version of the Gram–Schmidt process, introduced in Sect. 3.5, to the dependent set of modes. This provides an (virtually) orthogonal flexible reduction basis if the arising zero vectors are omitted, as already described in Sect. 3.5. This has the advantage that no threshold value needs to be determined, since the norm of the arising (virtually) zero vectors is by several orders of magnitude smaller than the average norm of the full set of the arising vectors. Another advantage is that the algorithm is only required once, i.e., no iterations, and no user interaction is required at all to obtain a perfectly well-conditioned flexible reduction basis. This algorithm is also faster, not only because no iterations are required, but also since no SVD needs to be performed to estimate the condition number, since the condition of the generated “nonzero set” is a priori sufficiently small. The only drawback is that the arising reduction basis is in general larger than that obtained with a neat Cosine similarity preconditioning. Hence, there is a trade-off between preprocessing and “online” cost, however, the “shortened” Gram–Schmidt process (Sect. 3.5) should be, in general, preferred, due to dispensable user intervention.

5.2 Extruded bodies with different cross-sections

The analysis described in Sect. 5.1 was also conducted for bodies with the same properties, as outlined in the first paragraph of the section, and with the same eigenmodes included in the reduction basis, see Fig. 6, but with different cross-sections, see Fig. 9. The main findings are summarized in the following paragraphs and in Table 1.

Fig. 9
figure 9

Different cross-sections with FE mesh of the beam-like models used to analyze the linear dependencies of the flexible reduction matrix \(\boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}}\) (Color figure online)

Table 1 Comparison of the effect of the Cosine similarity (\(c_{ \mathrm{th}}=0.993\)) and the Gram–Schmidt preconditioning on the condition number \(\mathrm{cond} (\boldsymbol{\varPhi }_{ \mathrm{f}}^{\mathrm{}} )\) of the flexible reduction matrix generated from the eigenmode selection, Fig. 6, of the beam-like models, Fig. 9. The table shows the number of excluded modes \(n_{\mathrm{x}}\), the condition number of the reduced reduction matrix \(\mathrm{cond_{x}} ( \boldsymbol{\varPhi } _{\mathrm{f}}^{\mathrm{}} )\) and of the reduced reduction matrix with scaled columns \(\mathrm{cond_{xs}} ( \boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}} )\), for both methods. The modes are scaled after the Cosine similarity or Gram–Schmidt preconditioning

The condition number of the flexible reduction matrices of the analyzed beams ranges from the order of \(10^{5}\) to \(10^{11}\), where the “best” condition number belongs to the arbitrary beam, Fig. 9(e), and the “worst” one to the circular beam, Fig. 9(c). This clearly emphasizes the importance of the present investigations, since one has to expect to lose at least eleven digits of accuracy on top of all the other errors, if the linear dependencies are not handled appropriately.

Removing linearly dependent modes with a Cosine similarity equal to or higher than \(c_{\mathrm{th}}=0.993\) lowers the condition number between two to four orders of magnitude, whereas the “shortened” Gram–Schmidt process (with excluded zero vectors) between two and almost nine orders of magnitude. A subsequent scaling of the columns of \(\boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}}\), i.e., converting all flexible modes to the same Euclidean norm (length), lowers \(\mathrm{cond}(\boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}})\) of all beam-like models down to the order of \(10^{1}\) to \(10^{2}\) after the Cosine similarity preprocessing, or down to virtually one after the “shortened” Gram–Schmidt process. Scaling is a crucial preprocessing step for the formulation, as can be seen especially for the circular-sectioned beam, where scaling lowers the condition number by seven orders of magnitude!

The exclusion of linearly dependent modes with \(\vert \cos \theta _{ij} \vert \geq 0.993\), reduces the initially 72 generalized flexible coordinates by 33% in the best case and by at least 25%, even though only eight eigenmodes of vibration are included in the flexible reduction basis here. Hence, the gain in efficiency may be essential especially for larger problems. This shows that a neat preprocessing is not only important for accuracy, but may also for efficiency, due to the significant reduction of the DOFs. However, as already mentioned, the Gram–Schmidt preprocessing yields in general to a smaller reduction in the number of flexible DOFs, which is also reflected here, i.e., only between 4% and 16%, see Table 1.

The FE meshes for the beam-like models were chosen in order to preserve the lines of symmetry of the cross-sections, Fig. 9, except for the circle, where the infinite number of symmetry lines is reduced to four, due to the discretization. The arbitrary-shaped beam’s cross-section, Fig. 9(e), was generated such that the geometry itself and the FE mesh do not exhibit any symmetries. Nevertheless, the flexible reduction matrices of the circular, the square and the arbitrary-shaped beam show the same linear dependencies, except that the correlations between the first torsion mode and the first bending mode pair, see Eq. (87), are slightly stronger for the square beam. Also, the Cosine similarity matrix of the arbitrary-shaped beam show additionally some very weak correlations, yet with negligible values. Therefore, it seems that “small” deviations from symmetric geometries and the design of FE meshes have a minor influence on the dependencies of the flexible reduction matrices, and that not the shape but the number of symmetry lines dictates the dependencies. Finally, the rectangular and equilateral triangular beam exhibit the same correlations as the square beam, except for the dependencies within each generalized mode set generated from the bending modes, see Eq. (79).

6 Dependencies between the flexible and the rigid body motion part

6.1 General results

It is possible that the condition number of the reduction matrix \(\mathrm{cond}(\boldsymbol{\varPhi })\) is still unacceptably high after preconditioning its flexible part. This happens whenever linear dependencies between the flexible \(\boldsymbol{\varPhi }_{\mathrm{f}} ^{\mathrm{}}\) and rigid body motion part \([\boldsymbol{\varPhi } _{\mathrm{t}}^{\mathrm{}} \ \boldsymbol{\varPhi }_{\mathrm{r}} ^{\mathrm{}} ]\) of the reduction basis arise. Such dependencies usually appear as linear combinations, i.e., if Eq. (60) is fulfilled with more than two vectors involved. The Cosine similarity fails to identify such linear combinations – also we cannot apply the “shortened” Gram–Schmidt process to the full reduction matrix, since the generalized translational and rotational component modes must remain unchanged (\(\boldsymbol{\varPhi }_{\mathrm{t}}^{\mathrm{}}\) may be scaled). Which is why we have to resort to the SVD, briefly introduced in Sect. 3.2, to determine the nullspace of \(\boldsymbol{\varPhi }\). The nullspace identifies the generalized component modes involved in linear combinations. Therefore, we can iteratively (i) determine \(\mathrm{null}(\boldsymbol{\varPhi })\), (ii) remove one of the generalized flexible component modes involved, and (iii) start with (i) again, as long as the condition number is as low as desired.Footnote 8

As mentioned in Sect. 3.2, it is in general required to distinguish between vanishingFootnote 9 and non-vanishing singular values \(\sigma _{i}\) to determine the nullspace of a matrix. However, there is a sharp drop (several orders of magnitude) visible in the plot of the singular values of \(\boldsymbol{\varPhi }\), see Fig. 10, if linear dependencies exist.

Fig. 10
figure 10

Singular values \(\sigma _{i}\) of the unmodified reduction matrix \(\boldsymbol{\varPhi }\) of the circular beam-like model, Fig. 9(c), in descending order

Figure 10 shows the singular values \(\sigma _{i}\) of the unmodified reduction matrix \(\boldsymbol{\varPhi }\) of the circular beam-like model, Fig. 9(c), in descending order; the especially distinctive singular value drop by almost six orders of magnitude occurs for the depicted example between the 72nd and 73rd singular value. The vanishing singular values after the drop indicate that Eq. (60) is fulfilled for nonzero coefficients \(a_{pi}\), i.e., the components of the right singular vectors \(\boldsymbol{v}_{p}\) of \(\boldsymbol{\varPhi }\), see Sect. 3. If \(\boldsymbol{\varPhi }_{ \mathrm{f}}^{\mathrm{}}\) is already well-conditioned (Cosine similarity or Gram–Schmidt preconditioning), linear dependencies between the rigid body motion and flexible part of the reduction matrix exist. These linear dependencies between \(\boldsymbol{\varPhi }_{\mathrm{f}}^{ \mathrm{}}\) and \([\boldsymbol{\varPhi }_{\mathrm{t}}^{\mathrm{}} \ \boldsymbol{\varPhi }_{\mathrm{r}}^{\mathrm{}} ]\) manifest themselves as a sharp drop between two subsequent singular values, which is why no threshold for vanishing singular values needs to be determined, i.e., right singular vectors corresponding to singular values after the drop (here, 73 to 84) compose the nullspace of \(\boldsymbol{\varPhi }\), see Eq. (66). The corresponding right singular vectors indicate the columns of \(\boldsymbol{\varPhi }\) involved in linear dependencies.

If linear dependencies arise, always a full set of three – for 3D problems – generalized flexible component modes \({}^{m \!}{}{\boldsymbol{\phi }}_{\mathrm{f}kl}\) with \(l=1,2,3\), see Eq. (20), must be removed, since the number of generalized component modes must be a multiple of three, so that the introduction of \(\boldsymbol{\widehat{A}}_{ \mathrm{bd}}^{\mathrm{}}\) is feasible, see Sect. 2.2. This is because the size of \(\boldsymbol{\widehat{A}}_{\mathrm{bd}}\) is also a multiple of three for 3D problems, because the \(3 \times 3\) rotation matrix is placed on its diagonal. The matrix multiplications involved in the term

$$ \boldsymbol{\widehat{A}}_{\mathrm{{bd}}}^{\mathrm{}} \boldsymbol{{\varPhi }}_{\mathrm{}}^{\mathrm{T}} \boldsymbol{K} \boldsymbol{{\varPhi }} \boldsymbol{\widehat{A}}_{\mathrm{bd}}^{ \mathrm{T}} \boldsymbol{q}_{\mathrm{flx}} $$
(89)

in the equation of motion, Eq. (58), make only sense if the inner dummy indices between, e.g., \(\boldsymbol{{\varPhi }}\) and \(\boldsymbol{\widehat{A}}_{\mathrm{bd}}^{\mathrm{T}}\) match, which is only true if the number of generalized flexible coordinates/modes is a multiple of three. It should be noted that this requirement is no restriction or problem, but will be satisfied a priori, because linear dependencies between, e.g., modes of the set \(\lbrace {}^{m \!}{}{\boldsymbol{\phi }} _{\mathrm{f}kl} \rbrace \) with, say, \(l=1\) can only arise between another mode set with \(l=1\), since modes from a set with, say, \(l=1\) are always orthogonal to any other set where \(l=2,3\), and if \(\lbrace {}^{m \!}{}{\boldsymbol{\phi }} _{\mathrm{f}kl} \rbrace \) with, say, \(l=1\) is involved in a linear dependency, so is the corresponding mode set with \(l=2,3\). This may be seen from the hypothetical one node and one mode example depicted in Eq. (28), which is restated with additional information below for a better understanding:

Φ f = [ ϕ f 11 m ϕ f 12 m ϕ f 13 m ϕ f 21 m ϕ f 22 m ϕ f 23 m ϕ f 31 m ϕ f 32 m ϕ f 33 m ]
(90)
= [ ψ 1 1 m 0 0 ψ 2 1 m 0 0 ψ 3 1 m 0 0 0 ψ 1 1 m 0 0 ψ 2 1 m 0 0 ψ 3 1 m 0 0 0 ψ 1 1 m 0 0 ψ 2 1 m 0 0 ψ 3 1 m ] .
(91)

In other words, the only possible dependencies for this example are

$$\begin{aligned} b_{1} {}^{m \!}{} {\boldsymbol{\phi }_{\mathrm{f11}}^{\mathrm{}}} + b _{2} {}^{m \!}{} {\boldsymbol{\phi }_{\mathrm{f21}}^{\mathrm{}}} + b _{3} {}^{m \!}{} {\boldsymbol{\phi }_{\mathrm{f31}}^{\mathrm{}}} &= \boldsymbol{0} , \end{aligned}$$
(92)
$$\begin{aligned} b_{4} {}^{m \!}{} {\boldsymbol{\phi }_{\mathrm{f12}}^{\mathrm{}}} + b _{5} {}^{m \!}{} {\boldsymbol{\phi }_{\mathrm{f22}}^{\mathrm{}}} + b _{6} {}^{m \!}{} { \boldsymbol{\phi }_{\mathrm{f32}}^{\mathrm{}}} &= \boldsymbol{0} , \end{aligned}$$
(93)
$$\begin{aligned} b_{7} {}^{m \!}{} {\boldsymbol{\phi }_{\mathrm{f13}}^{\mathrm{}}} + b _{8} {}^{m \!}{} {\boldsymbol{\phi }_{\mathrm{f23}}^{\mathrm{}}} + b _{9} {}^{m \!}{} {\boldsymbol{\phi }_{\mathrm{f33}}^{\mathrm{}}} &= \boldsymbol{0} , \end{aligned}$$
(94)

but no “cross-dependencies” between modes with unequal \(l\) are possible, because of the null entries, see Eq. (91).

6.2 Further results for the beam-like models

For all analyzed beam-like models (Fig. 9), \(\mathrm{cond}(\boldsymbol{\varPhi })\) is one order of magnitude larger than the condition number of the well-conditioned flexible reduction matrix. As already mentioned, it is not possible to scale the rotational part \(\boldsymbol{\varPhi }_{\mathrm{r}}^{\mathrm{}}\) of the reduction matrix, however, it is important to ensure that the generalized component modes have similar norms. This is why the generalized translational and flexible component modes are scaled to the mean value of the norms of the columns of \(\boldsymbol{\varPhi }_{\mathrm{r}} ^{\mathrm{}}\), which lowers the overall condition number of the already preconditioned total reduction matrix down to the order of \(10^{2}\), and no dependencies between the rigid body motion and flexible part emerged for these examples.

7 Analysis of a crankshaft – a relevant engineering example

The previously analyzed beam-like examples (Sects. 45 and 6.2) appear less often in practical applications, which is why this section is devoted to the analysis of a (steel) crankshaft of a reciprocal two-cylinder combustion engine. The crankshaft was discretized with 31 999 ten-noded tetrahedrals, yielding 50 289 nodes in total. The first 12 eigenmodes of vibration, covering the frequency range up to 10 000 Hz, are included in the flexible reduction basis and are visualized in Fig. 11.

Fig. 11
figure 11

First 12 displacement normalized eigenmodes of vibration of the analyzed crankshaft of a reciprocal two-cylinder combustion engine; the contour plots indicate the magnitude of the nodal displacement (Color figure online)

The Cosine similarity matrix of \(\boldsymbol{\varPhi }_{\mathrm{f}} ^{\mathrm{}}\) obtained from the crankshafts’ eigenmodes of vibration is depicted in Fig. 12. The only dark-red entries are present in the upper corner of the heatmap with Cosine similarity values of approximately 0.97, which is, as already covered in Sect. 5.1, considered too low to exclude generalized modes involved in these correlations. This is also confirmed by the “shortened” Gram–Schmidt process, since no zero vectors are generated. Hence, there are no linear dependencies within the flexible reduction matrix, which is relatively well-conditioned with \(\mathrm{cond}(\boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}})\) in the order of \(10^{2}\). It may be orthonormalized by the standard Gram–Schmidt process to obtain a condition number of one.

Fig. 12
figure 12

Absolute value of the Cosine similarity according to Eq. (71) of the generalized flexible component modes \({}^{m \! }{}{\boldsymbol{\phi }}_{\mathrm{f}kl}\) generated from the eigenmode selection displayed in Fig. 11 of a crankshaft. The first nine columns and rows correspond to the eigenmode depicted in Fig. 11(a), the following nine to the eigenmode of Fig. 11(b), and so forth (Color figure online)

In addition, there is no significant drop between subsequent singular values \(\sigma _{i}\) of \(\boldsymbol{\varPhi }\), as shown in Fig. 13. Numerical experiments showed that the drop after \(\sigma _{9}\) by approximately one order of magnitude is not caused by linear combinations between the flexible and rigid body motion part of \(\boldsymbol{\varPhi }\), i.e., no improvement in \(\mathrm{cond}(\boldsymbol{\varPhi })\) is reached if the right singular vectors \(\boldsymbol{v}_{i}\) with \(i>9\) are considered to be in \(\mathrm{null}(\boldsymbol{\varPhi })\) and the “pretended” linear combinations are removed via column exclusion. The condition number of the total reduction matrix \(\boldsymbol{\varPhi }\) of the crankshaft is in the order of \(10^{4}\), in contrast to the condition number of approximately 1.40 of the eigenmodes of vibration matrix generated from the modes depicted in Fig. 11. However, scaling of the generalized translational and flexible component modes to the mean value of the norms of the generalized rotational component modes, lowers the overall condition number of the reduction matrix \(\boldsymbol{\varPhi }\) of the crankshaft down to the order of \(10^{2}\) and if the Gram–Schmidt process is applied to \(\boldsymbol{\varPhi }_{\mathrm{f}}^{\mathrm{}}\) prior scaling down to approximately 41. The results are also summarized in Table 2.

Fig. 13
figure 13

Singular values \(\sigma _{i}\) of the unmodified reduction matrix \(\boldsymbol{\varPhi }\) of the analyzed crankshaft, Fig. 11, in descending order

Algorithm 1
figure 14

Pseudocode to obtain well-conditioned system matrices. For Cosine similarity preconditioning omit red instructions and for Gram–Schmidt preconditioning the blue ones (color version online)

Table 2 Comparison of the condition numbers of the reduction matrices generated from the eigenmode selection of the crankshaft, Fig. 11. The table shows the condition of the flexible, \(\mathrm{cond} ( \boldsymbol{\varPhi }_{\mathrm{f}} )\), and full, \(\mathrm{cond} (\boldsymbol{\varPhi } )\), reduction matrices, the number of excluded modes \(n_{\mathrm{x}}\), the condition of the scaled flexible reduction matrix \(\mathrm{cond_{s}} ( \boldsymbol{\varPhi }_{\mathrm{f}} )\), of the full reduction matrix with scaled translational and flexible part (mean value of the norms of the rotational part), of the Gram–Schmidt orthonormalized flexible reduction matrix \(\mathrm{cond_{gs}} ( \boldsymbol{\varPhi }_{\mathrm{f}} )\) and of the full reduction matrix with scaled and orthonormalized flexible and scaled translational part

8 Step-by-step strategies to handle ill-conditioned reduction matrices

The algorithm shown in the present section state strategies how to handle linear dependencies within the reduction matrix \(\boldsymbol{\varPhi }\) and how to improve the overall condition number to convert ill-conditioned into well-conditioned problems.

The pseudocodeFootnote 10 contains the two different strategies discussed in detail in the previous sections, where one employs the Cosine similarity preconditioning (omit red instructions) and the other the “shortened” version of the Gram–Schmidt process (omit blue instructions). As already mentioned, the latter one should be preferred for practical applications, whereas the former allows more freedom during the mode selection process and provides more insight into the nature of the dependencies.

9 Conclusions

The present paper makes a contribution to the understanding and applicability of a promising 3D flexible multibody dynamics formulation known as generalized component mode synthesis. The novel nodal-based derivations of the governing equations of motion and the reduction basis in the already spatially discretized domain, in contrast to the standard continuum-mechanics-based derivation available in the literature, are presented in a traceable and intuitive way.

The main part of this contribution identified and resolved the weakness of the formulation, i.e., the possibility of ill-conditioned reduction matrices, which may introduce large errors or even lead to unsolvable problems – condition numbers up to nearly \(10^{18}\) – if not handled appropriately. The high condition numbers are caused by linear dependencies and Euclidean norms that deviate by orders of magnitude from each other of the generalized component modes – the reduction matrix’s columns – generated from original linearly independent FE eigenmodes of vibration, undeformed FE nodal coordinates and the set of Cartesian base vectors.

It was shown by numerical experiments of simple extruded bodies with different cross-sections that such linear dependencies may also arise for fully asymmetric geometries and FE meshes, which is why it is impossible to identify these dependencies a priori. It was shown how the singular value decomposition, the matrix condition number, the Cosine similarity and a “shortened” version of the classical Gram–Schmidt process may be used to identify and eliminate these linear dependencies, yielding not only sufficiently well-conditioned systems, but may also less DOFs and, therefore, a further gain in efficiency. The crankshaft example suggests that complex real-world engineering systems are potentially less likely to result in ill-conditioned reduction matrices, however, a neat preprocessing is suggested in any case to avoid unexpected errors.

Finally, step-by-step preprocessing procedures were derived to convert ill- into well-conditioned problems, which shall improve the formulation’s applicability.