1 Introduction

Classical modeling strategies concentrate on mass afflicted bodies. Rigid bodies are typically described by ordinary differential equations or differential-algebraic equations, whereas bodies with distributed mass like beams or plates are governed by partial differential equations and appropriate boundary conditions. In order to model flexible multibody systems composed of both types of elements, approximation strategies like finite elements and mode shapes have to be applied [1] to bring them down to pure differential equations. However, the solutions of these resulting equations are then only approximations of the real vibration behavior where approximation quality is associated with the degrees of freedom being used. Only in very simple cases as, e.g., cantilever beams carrying lumped masses or spring-mass systems [2], the dynamic stiffness matrix can be formulated analytically and analyzed with the well-known Wittrick–Williams algorithm [3].

The transfer matrix method (TMM) resolves this problem differently by treating all kind of elements, rigid and flexible bodies, springs and dampers, in the same way [4]. On an element level, the governing partial and ordinary differential or algebraic equations are transformed to algebraic transfer equations, where the output state results from a product of the input state and an element specific transfer matrix, which may be considered as impedance matrix. As long as general solutions are available, like for Euler–Bernoulli and Timoshenko beams, the result is exact. These element transfer matrices are then assembled according to the topology of the flexible multibody system ending up with a system of linear, algebraic equations for the vibration modes, where the coefficient matrix needs to be singular [5]. Typically, singularity of a matrix is checked by its determinant Δ to be zero [6]. Thus, the precision of the solution is only related to the ability of finding zeros for highly nonlinear functions of vibration frequencies ω or complex numbers s=−δ± summarizing damping and frequency.

If the determinant is a real function of vibration frequency, as it is the case for conservative systems, zero search is typically based on the sign change of Δ(ω). If an interval of sign change is known, Newton–Raphson type strategies or more sophisticated strategies like Brent’s method [7] may be applied. However, finding the sign change by scanning an interesting frequency range [0,Ω] is the bottleneck and requires a high amount of enumeration effort. Especially, if zeros are very close, as in a coupled beam problem proposed by Kulka [8], sample density is governed by the marginal splitting ΔωΩ of neighboring zeros, Fig. 1a. Finding the zero change requires at least N=Ω/Δω≫1 sample points, which is often unrealistic, and typically this kind of zeros will be missed. In case of multiple roots, there may be no sign change at all, Fig. 1b. In structural dynamics, these problems are typically resolved with the Wittrick–Williams algorithm [3], which delivers precise information about how many eigenfrequencies are lying below any given frequency value. However, this algorithm exploits the symmetry properties of the dynamic stiffness matrix and cannot be applied in the context of TMM where the overall system transfer matrix has no special structure. Further, in case of damping the determinant |Δ(s)| is even a complex function of a complex argument where to the knowledge of the authors no such elegant strategy exists.

Fig. 1
figure 1

Problems for classical root search strategies in case of (a) dense zeros and (b) double roots

A second problem is that determinants may grow to very high numbers and they may drop almost suddenly from positive to negative values with high derivatives hampering derivative based root finding strategies. Therefore, typically derivatives are approximated by finite differences, requiring a proper choice of step size, and the problem is scaled [9].

All these problems can be overcome by switching from zero search for Δ to minimization of the absolute value |Δ| of the determinant, which is equally well applicable to both the real and the complex case. As will be seen in the paper, it is much easier to recognize craters in |Δ| than sign changes in Δ. This function is also rather user friendly, as conical breaking-ins of |Δ(ω)| or |Δ(s)| only happen in the neighborhood of singularities of the overall transfer matrix.

In principle, any of the well-known global optimization strategies like PSO [10] or GA [11] may be applied to the minimization problem, however, they typically concentrate on one global optimum only, whereas here multiple, equally important local minima have to be found. Therefore, a recursive enumeration type scanning strategy is proposed only requiring value comparisons, which is why high function values are no problem and there is no need for scaling. Firstly, the algorithm will be introduced by a one-dimensional frequency search problem, and later it will be extended to the two-dimensional search for complex roots.

In order to demonstrate the concept, three basic example problems are defined in Fig. 2. The coupled beam problem according to [8] serves as an example showing double roots and marginal frequency splitting, where the search is restricted to a one-dimensional search for natural vibration frequencies only. In order to investigate the two-dimensional search for complex roots, a simple two-degree-of-freedom (2-DOF) vibration chain consisting of two lumped masses interconnected by springs and a damper is used. Since it involves discrete elements only, this example also allows a direct precision comparison with results from classical modeling and QR-algorithms. As one of the most simple examples for a flexible multibody system, a rod connected with lumped mass and damper is investigated, which cannot be solved by classical eigenvalue computation.

Fig. 2
figure 2

Basic examples for concept demonstration: (a) coupled beams, (b) 2-DOF system with damping, and (c) flexible multibody system

2 One-dimensional search algorithm for undamped vibrations

A typical example for one-dimensional search is the single Euler–Bernoulli beam with length l. Its transfer equation reads as [4]

$$\mathbf{Z}_{O} = \mathbf{U}_{B}\mathbf{Z}_{I}, $$

where

$$\begin{aligned} \begin{aligned} \mathbf{U}_{B} &= \left [ \begin{array}{c@{\quad}c@{\quad}c@{\quad}c} S & T/\lambda & U/ EI \lambda^{2} & V/ EI \lambda^{3} \\ \lambda V & S & T/ EI \lambda & U/ EI \lambda^{2} \\ EI \lambda^{2}U & EI \lambda V & S & T/\lambda \\ EI \lambda^{3}T & EI \lambda^{2}U & \lambda V & S \end{array} \right ] \\ S &= \frac{\mathit{ch} + c}{2},\quad T = \frac{\mathit{sh} + s}{2}, \quad U = \frac{\mathit{ch} - c}{2},\quad V = \frac{\mathit{sh} - s}{2} \\ \mathit{ch} &= \cosh \lambda l, \quad \mathit{sh} = \sinh \lambda l,\quad c = \cos \lambda l,\quad s = \sin \lambda l, \end{aligned} \end{aligned}$$
(1)

where \(\lambda = \sqrt[4]{\rho A\omega^{2} / EI }\) summarizes material density ρ, cross section area A, Young’s modulus E, area moment of inertia I, and natural vibration frequency ω. The transfer matrix U B can be derived from the beam differential equation \(\rho A \ddot{y} + EI y^{\mathit{IV}} = 0\) [12] by using the product ansatz y(x,t)=Y(x)e iωt consisting of a shape function Y(x) and a complex representation of undamped vibrations. Further included are the linearized angle relation θ=y′ and definitions m=EIy″ and q=m′ for bending moment and shear force, all transformed to shape functions by products similar to the one shown for y(x,t). These shape functions, denoted by associated capital letters, are summarized in a state vector Z(x)=[Y(x) Θ(x) M(x) Q(x)]T where input and output states are given as Z I =Z(0) and Z O =Z(l), respectively, Fig. 3a.

Fig. 3
figure 3

State definitions for (a) a single beam and (b) coupled beams

For a cantilever beam, the boundary states Z I =[0 0 M I Q I ]T and Z O =[Y O Θ O 0 0]T are partly known and partly unknown. Summarizing the unknowns in an overall state Z all and eliminating the zeros from Eq. (1) yields a system of linear equations:

$$ \mathbf{U}_{\mathrm{all}}\mathbf{Z}_{\mathrm{all}}:= \left [ \begin{array}{c@{\quad}c@{\quad}c@{\quad}c} - 1 & 0 & U/ EI \lambda^{2} & V/ EI \lambda^{3} \\ 0 & - 1 & T/ EI \lambda & U/ EI \lambda^{2} \\ 0 & 0 & S & T/\lambda \\ 0 & 0 & \lambda V & S \end{array} \right ] \left [ \begin{array}{c} Y_{O} \\ \varTheta_{O} \\ M_{I} \\ Q_{I} \end{array} \right ] = \mathbf{0}. $$
(2)

Nontrivial solutions require singularity of the coefficient matrix U all, which can be expressed by a vanishing determinant

$$ \varDelta ( \omega ): = \det \mathbf{U}_{\mathrm{all}} = \biggl( \frac{\mathit{ch} + \mathrm{c}}{2} \biggr)^{2} - \biggl( \frac{\mathit{sh} + s}{2} \biggr) \biggl( \frac{\mathit{sh} - s}{2} \biggr) = \frac{\cosh \lambda l \cos \lambda l + 1}{2}\mathop{ =} \limits ^{ !} 0. $$
(3)

This example already reveals some of the basic difficulties with continuous elements. The determinant (3) leads to a transcendental equation for natural vibration frequencies ω, which can be solved iteratively only. Further, according to the hyperbolic functions the values of the determinant will grow rapidly with the frequency as part of λ=λ(ω).

The latter problem can be resolved by a C 0-continuous, logarithm alike transformation

$$ \bar{\varDelta }: = \left \{ \begin{array}{l@{\quad }l} \varDelta & \mbox{for}\ \vert \varDelta \vert \le 1 \\ \operatorname{sign} ( \varDelta ) [ 1 + \log_{10}\vert \varDelta \vert ] & \mbox{else}\ \end{array} \right . $$
(4)

which is especially valuable for the graphical representation of determinants. Compared to a pure logarithmic display, the transformation is able to show zeros and sign changes. Also C 1-continuity could be achieved by using the natural logarithm or moving the switching point which, however, is not necessary here. Applied to a single beam of the type in Fig. 2a with length l=L, the transformation of determinant (3) in Fig. 4a shows that zeros are well distributed, are isolated, and have a clear sign change, which would cause no problem for any root search algorithm based on sign change.

Fig. 4
figure 4

Transformed characteristic functions for (a) a single beam and (b) decoupled beams

The situation, however, changes for two identical beams coupled by a spring with stiffness k, Fig. 2a. For modeling purpose with TMM, the beams have to be split into two sections, respectively, where Fig. 3b defines boundary and intermediate states. The transfer equations of the four beam segments are given by Eq. (1) where U 1=U 4:=U B (l=ξ) and U 3=U 6:=U B (l=Lξ). The massless connection elements 2 and 5 have identical displacements, angles and moments at input and output, however, the spring force F changes the shear forces according to Q 2,O =Q 2,I +F and Q 5,O =Q 5,I F, respectively. This can be shortly written as Z 2,3=Z 1,2+e 4 F and Z 5,6=Z 4,5e 4 F where e 4=[0 0 0 1]T. Finally, the spring compression force is given as \(F = k ( Y_{4,5} - Y_{1,2} ) = k\mathbf{e}_{1}^{T} ( \mathbf{Z}_{4,5} - \mathbf{Z}_{1,2} )\) where \(\mathbf{e}_{1}^{T} = [ 1 \ 0 \ 0 \ 0 ]\). Now the overall transfer equation can be assembled from these element equations. For the upper beam, we get

$$\begin{aligned} \mathbf{Z}_{3,0} & = \mathbf{U}_{3}\mathbf{Z}_{2,3} = \mathbf{U}_{3} \bigl( \mathbf{Z}_{1,2} + \mathbf{e}_{4}k\mathbf{e}_{1}^{T} ( \mathbf{Z}_{4,5} - \mathbf{Z}_{1,2} ) \bigr) \\ & = \mathbf{U}_{3} \bigl( \mathbf{I} - k\mathbf{e}_{4} \mathbf{e}_{1}^{T} \bigr)\mathbf{Z}_{1,2} + k \mathbf{U}_{3}\mathbf{e}_{4}\mathbf{e}_{1}^{T} \mathbf{Z}_{4,5} \\ & = \mathbf{U}_{3} \bigl( \mathbf{I} - k\mathbf{e}_{4} \mathbf{e}_{1}^{T} \bigr)\mathbf{U}_{1} \mathbf{Z}_{0,1} + k\mathbf{U}_{3}\mathbf{e}_{4} \mathbf{e}_{1}^{T}\mathbf{U}_{4} \mathbf{Z}_{0,4}. \end{aligned}$$
(5)

Analogously, we find for the lower beam

$$ \mathbf{Z}_{6,0} = \mathbf{U}_{6} \bigl( \mathbf{I} - k \mathbf{e}_{4}\mathbf{e}_{1}^{T} \bigr) \mathbf{U}_{4}\mathbf{Z}_{0,4} + k\mathbf{U}_{6} \mathbf{e}_{4}\mathbf{e}_{1}^{T} \mathbf{U}_{1}\mathbf{Z}_{0,1}. $$
(6)

Both equations can be summarized as

$$ \left [ \begin{array}{c@{\quad}c@{\quad}c@{\quad}c} - \mathbf{I} & \mathbf{0} & \mathbf{U}_{3} (\mathbf{I} - k\mathbf{e}_{4}\mathbf{e}_{1}^{T} )\mathbf{U}_{1} &k\mathbf{U}_{3}\mathbf{e}_{4}\mathbf{e}_{1}^{T}\mathbf{U}_{4} \\ \mathbf{0} & - \mathbf{I} & k\mathbf{U}_{6}\mathbf{e}_{4}\mathbf{e}_{1}^{T}\mathbf{U}_{1} & \mathbf{U}_{6} ( \mathbf{I} - k\mathbf{e}_{4}\mathbf{e}_{1}^{T} )\mathbf{U}_{4} \end{array} \right ] \left [ \begin{array}{c} \mathbf{Z}_{3,0} \\ \mathbf{Z}_{6,0} \\ \mathbf{Z}_{0,1} \\ \mathbf{Z}_{0,4} \end{array} \right ] = \mathbf{0}. $$
(7)

By accounting for zero boundary states and eliminating those zeroes, we end up with eight equations for an equal number of unknowns. Analogously to the single beam, the determinant of this resulting coefficient matrix U all has to vanish again, i.e., \(\varDelta ( \omega ) = \det \mathbf{U}_{\mathrm{all}}\mathop{ =} \limits^{ !} 0\). For k=0 or ξ=0 the beams are decoupled and the determinant results in a quadratic term of Eq. (3), i.e.,

$$ \varDelta ( \omega ) = \frac{ ( \cosh \lambda L \cos \lambda L + 1 )^{2}}{4}\mathop{ =} \limits ^{ !} 0. $$
(8)

Obviously, there will be no sign change, and a sign based root search algorithm will fail to find the double roots which, due to rapid change of function values, are even hard to see for higher modes in Fig. 4b.

For k≠0 and ξ≠0 each of these roots separates into distinct roots, where separation can be marginally only, Fig. 5b. Thus, even though there is a sign change now, classical search algorithms are likely to fail in finding these zeros.

Fig. 5
figure 5

Coupled beam: (a) minimization of |Δ(ω)| and (b) transformed char. function

All problems mentioned so far, i.e., large function values, missing sign change for double roots and insufficient isolation, may be overcome by changing from zero search for Δ(ω) to minimization of its absolute value |Δ(ω)|.

The proposed algorithm starts by scanning a given smooth function f(x) to be minimized with a sample x i ,i=1,…,N, of grid points in a user-defined region [x 1,x N ] of interest. In the given application case, \(x \buildrel \wedge \over = \omega\) represents the frequency and \(f \buildrel \wedge \over = | \varDelta |\) the absolute value of the (original) determinant. If a function value f i =f(x i ) is lower than the function values of its neighbors, i.e., f i <f i−1f i <f i+1, then by definition there must be a local minimum in the interval [x i−1,x i+1]. Thus, all such intervals may be considered as interesting regions and more detailed scannings with again N samples are performed to increase precision, respectively. In order to ease the algorithm, to minimize comparison effort and not to miss potential candidates, the condition for a potential region is weakened to f i−1>f i f i+1. Then, in a single comparison sweep a logical array (\(1 \buildrel \wedge \over = \mbox{`}\mathit{true}\mbox{'},0 \buildrel \wedge \over = \mbox{`}\mathit{false}\mbox{'}\))

$$ L_{i}: = \left\{ \begin{array}{l@{\quad}l} 1 & \mbox{if}\ f_{i} \le f_{i + 1} \\ 0 & \mbox{else} \end{array} \right. $$
(9)

may be built up and the weak minimum condition is represented by another logical array M i L i−1L i without the computational burden of another comparison; see Fig. 6 for an artificial test example.

Fig. 6
figure 6

Logical arrays of minimization strategy

The Matlab code fmin1D provided in the Appendix uses an exponential scanning strategy, which keeps the relative resolution ε=Δx i /x i =(x i+1x i )/x i constant, leading to samples x i =x 1(x N /x 1)(i−1)/(N−1). The necessary number of samples for a user-defined resolution ε is N ε =1+(lnx N −lnx 1)/ln(1+ε), which the user-provided sample size N is adapted to if necessary. If this resolution is achieved, the vector x 0 of local minima is updated, else the algorithm recursively sweeps through all regions with potential minima. In the beginning, the function is called with an empty array x 0=[]. At least four sample points are required to provide not less than two subintervals to be decided on.

Figures 4 and 5 show the characteristic functions and zeros (∘) for the uncoupled and elastically coupled beams for the following parameter values: EI=166.67 N m2, L=1 m, ρA=0.78 kg/m, ξ=0.4L, and k=0 (Fig. 4b) or k=100EI/L 3 (Fig. 5). For the single and decoupled double-beam, the zeros in Fig. 4 are found with N=200 and ε=10−6 within less than 5/1000 of a second on a midsize notebook, where all roots are identified using 4310 function evaluations according to (3) for l=L and (8), respectively. Reducing the relative precision tolerance to ε=10−3 would take only 1170 function evaluations. The solution in Fig. 5 is obtained with N=150 and ε=10−6 within about 2/10 s using 4332 function evaluations based on Eq. (7). Figure 5b shows that all zeros found are regular zeros with sign change, however, certainly hard to find due to the small frequency differences. It should be mentioned that it depends on the scanning resolution whether both split zeros are found or not, where higher resolution is not always a guarantee for better results. However, typically at least one of them is found allowing for a close-up and scanning of its surrounding for resolving the full functional behavior of the determinant.

3 Suppression of noise problems for long chains and high frequencies

A closer look to Fig. 5a reveals that for high frequencies a bundle of artificial minima are identified. This is due to the noisy calculation of the determinant which is an inherent problem of the transfer matrix method and can already be understood on basis of the simple cantilever beam. The reduced expression \(\varDelta = ( \operatorname{ch} \lambda l \cos \lambda l + 1 ) / 2\) does not show any problems (Fig. 7a, grey), whereas the original determinant term Δ=[(ch+c)2−(sh+s)(shs)]/4 in Eq. (3) starts to scatter at ω≈19000 rad/s and then loses all information starting from about 25000 rad/s (Fig. 7a, black). The reason is that in the latter case the valuable information contained in the sine and cosine functions is firstly added to the hyperbolic functions, which become large for high frequencies, where it gets lost, and then almost equal values are subtracted leading to zero. The determinant computation based on a LU-decomposition requires more operations on the ill-conditioned transfer matrix, which is why the effect is even stronger in Fig. 7b.

Fig. 7
figure 7

Transformed char. function of the cantilever beam: (a) analytically: exact (gray) and disturbed (black), and with TMM for (b) full beam and (c) segmented beam

Thus, the only possibility is to keep the elements of the transfer matrix low. For the beam, the arguments of the hyperbolic functions are given as λl; see Eq. (1), where λ is fully determined by geometry, material and interesting frequency range. Therefore, influence can be taken only on beam length l by cutting the beam into pieces and introducing a fully unknown cutting state Z C , Fig. 8a; for a cut in the middle both beam sections have the same transfer matrix \(\bar{\mathbf{U}}_{B} = \mathbf{U}_{B} ( l = L / 2 )\) according to Eq. (1) and the transfer equations read as \(\mathbf{Z}_{C} = \bar{\mathbf{U}}_{B}\mathbf{Z}_{I}\), \(\mathbf{Z}_{O} = \bar{\mathbf{U}}_{B}\mathbf{Z}_{C}\). By inverting the second equation, we obtain \(\mathbf{Z}_{C} = \bar{\mathbf{U}}_{B}\mathbf{Z}_{I} \equiv \bar{\mathbf{U}}_{B}^{ - 1}\mathbf{Z}_{O}\). With the notation \(\bar{\mathbf{U}}_{B} = [ \mathbf{u}_{1} \ \mathbf{u}_{2} \ \mathbf{u}_{3} \ \mathbf{u}_{4} ]\), \(\bar{\mathbf{U}}_{B}^{ - 1} = [ \mathbf{u}_{1}^{ - 1} \ \mathbf{u}_{2}^{ - 1} \ \mathbf{u}_{3}^{ - 1} \ \mathbf{u}_{4}^{ - 1} ]\) and the boundary conditions Z I =[0 0 M I Q I ]T, Z O =[Y O Θ O 0 0]T, this reduces to four essential equations:

$$ \mathbf{U}_{\mathrm{all}}\mathbf{Z}_{\mathrm{all}}: = \bigl[ \mathbf{u}_{3}\ \mathbf{u}_{4} \ - \mathbf{u}_{1}^{ - 1} \ - \mathbf{u}_{2}^{ - 1} \bigr] \left [ \begin{array}{c} M_{I} \\ Q_{I} \\ Y_{O} \\ \varTheta_{O} \end{array} \right ] = \mathbf{0}. $$
(10)

Unfortunately, the result based on the determinant \(\varDelta ( \omega ) = \det \mathbf{U}_{\mathrm{all}}\mathop{ =} \limits^{ !} 0\) of this matrix is not much better than for the full beam since \(\bar{\mathbf{U}}_{B}\) is already too ill-conditioned for obtaining a reliable inverse \(\bar{\mathbf{U}}_{B}^{ - 1}\). In order to avoid the inverse matrix, the transfer direction of the right beam segment may be inverted, Fig. 8b. In this case, the transfer equations read as \(\mathbf{Z}_{C}^{(1)} = \bar{\mathbf{U}}_{B}\mathbf{Z}_{I}\), \(\mathbf{Z}_{C}^{(2)} = \bar{\mathbf{U}}_{B}\mathbf{Z}_{O}\), both using the original transfer matrix (1) of the half-beam only. At the cutting section, displacements and angles on both sides have to be identical, whereas moments and shear force have to be opposite. This matching condition can be expressed as \(\mathbf{Z}_{C}^{(2)} = \mathbf{CZ}_{C}^{(1)}\) by a diagonal compatibility matrix \(\mathbf{C} = \operatorname{diag} \{ - 1,1, - 1,1 \}\). Substitution of the transfer equations yields

$$ \left [ \begin{array}{c@{\quad}c} \mathbf{C}\bar{\mathbf{U}}_{B} & - \bar{\mathbf{U}}_{B} \end{array} \right ]\left [ \begin{array}{c} \mathbf{Z}_{I} \\ \mathbf{Z}_{O} \end{array} \right ] = \mathbf{0} \xrightarrow[\text{conditions}]{\text{boundary}} \left [ \begin{array}{c@{\quad}c@{\quad}c@{\quad}c} \mathbf{Cu}_{3} & \mathbf{Cu}_{4} & - \mathbf{u}_{1} & - \mathbf{u}_{2} \end{array} \right ]\left [ \begin{array}{c} M_{I} \\ Q_{I} \\ Y_{O} \\ \varTheta_{O} \end{array} \right ] = \mathbf{0}. $$
(11)
Fig. 8
figure 8

Beam cutting with (a) common and (b) inverse directions to resolve noise problem

As shown in Fig. 7c, the determinant of this coefficient matrix is much less noisy and enlarges the usable frequency range considerably. Of course, this strategy can also be used for more than one cut by treating additional cut states as unknowns, and thus shifting the noisy region even further to higher frequencies. If noise problems arise from long chains of several discrete elements, also the first approach (10) can be applied by computing the inverse of a chain transfer matrix \(\bar{\mathbf{U}} = \bar{\mathbf{U}}_{n} \cdots \bar{\mathbf{U}}_{2}\bar{\mathbf{U}}_{1}\) from the inverted sequence \(\bar{\mathbf{U}}^{ - 1} = \bar{\mathbf{U}}_{1}^{ - 1}\bar{\mathbf{U}}_{2}^{ - 1} \cdots \bar{\mathbf{U}}_{n}^{ - 1}\) of inverse matrices, where the inversion of element matrices has no problem and in many cases can even be provided analytically.

4 Two-dimensional search algorithm for damped vibrations

In case of damping, the eigenvalues and the transfer equations become complex [4]. This can be best seen from a simple example like the 2-DOF system in Fig. 2b described by the transfer equation

$$\mathbf{Z}_{O} = \mathbf{U}_{4}\mathbf{U}_{3} \mathbf{U}_{2}\mathbf{U}_{1}\mathbf{Z}_{I} =: \mathbf{U} ( s )\mathbf{Z}_{I}, $$

where

$$ \mathbf{U}_{1} = \left [ \begin{array}{c@{\quad}c} 1 & \frac{ - 1}{k + ds} \\ 0 & 1 \end{array} \right ],\quad \mathbf{U}_{2} = \left [ \begin{array}{c@{\quad}c} 1 & 0 \\ - ms^{2} & 1 \end{array} \right ],\quad \mathbf{U}_{3} = \left [ \begin{array}{c@{\quad }c} 1 & \frac{ - 1}{2k} \\ 0 & 1 \end{array} \right ],\quad \mathbf{U}_{4} = \left [ \begin{array}{cc} 1 & 0 \\ - 2ms^{2} & 1 \end{array} \right ]. $$
(12)

For example, the transfer matrix U 1 of a spring-damper element results from the force relation \(q_{O} = q_{I} = k ( x_{I} - x_{O} ) + d ( \dot{x}_{I} - \dot{x}_{O} )\). By applying the substitutions x(t)=Xe st and \(q ( t ) = Qe^{st}, s \in \mathbb{C}\), the differential relation is turned into an algebraic relation Q O =Q I =(k+ds)(X I X O ), which can be resorted to Z O =U 1 Z I by using the state vector Z=[X Q]T. The transfer matrix U 3 is derived from U 1 by substitution k→2k,d=0. By the same transformations the transfer matrix U 2 for a lumped mass is deduced from kinematics x O =x I and Newton’s law \(m \ddot{x}_{I} = q_{I} - q_{O}\) resulting in X O =X I and Q O =Q I ms 2 X I to be summarized by the same state vector. Finally, U 4 is derived from U 2 through variable substitution m→2m. Since output of one element equals the input of the next element, the output is obtained by sweeping through Fig. 2b from right to left resulting in Z O =U 4 Z 3,4=U 4(U 3 Z 2,3)=U 4(U 3(U 2 Z 1,2))=U 4(U 3(U 2(U 1 Z I ))) which is identical to Eq. (12). Thus, the final transfer matrix is a function of the complex variable s and, therefore, complex itself.

In order to find the mode shapes, the boundary conditions Z I =[0 Q I ]T and Z O =[X O 0]T, partly known and partly unknown, have to be applied. After elimination of zeros, we end up with the overall system equation

$$ \mathbf{U}_{\mathrm{all}}\mathbf{Z}_{\mathrm{all}}: = \left [ \begin{array}{c@{\quad}c} - 1 & U_{12} \\ 0 & U_{22} \end{array} \right ]\left [ \begin{array}{c} X_{O} \\ Q_{I} \end{array} \right ] = \mathbf{0}, $$
(13)

where U ij are elements of the global transfer matrix U(s) provided in Eq. (12). Also in this case of a complex coefficient matrix, nontrivial solutions for the mode shapes require linear dependence of the equations which can be expressed by a vanishing (complex) determinant \(\varDelta ( s ) = \det \mathbf{U}_{\mathrm{all}} = - U_{22} ( s )\mathop{ =} \limits^{ !} 0\). A complex number is zero iff its absolute value |Δ(s)|=0 is zero. This may be considered as the characteristic equation defining the root search problem as above. However, in this case of damping, the complex variable s=−δ± is composed of two real variables resulting in a two-dimensional minimization problem min|Δ(ω,δ)| for frequency ω and damping δ; see Fig. 9 for lumped mass m=1 kg, spring stiffness k=1 N/m, and different values of damping coefficient d.

Fig. 9
figure 9

Determinant of the lumped mass model for (a) d=2, (bd=0, and (cd=5 Ns/m

The Matlab code in the appendix uses the same strategy as for the one-dimensional problem, however, scanning is done on a regular grid with equal spacing and the functional comparison as basis of minimum search is done in both x- and y-directions producing logical arrays instead of vectors. A promising region is identified if both arrays show true for a specific sample point. The user may provide different sampling numbers N x ,N y and absolute precision tolerances dx,dy in x− and y-directions, and the algorithm only stops if both are undercut.

Table 1 shows a comparison of the so obtained results s TMM with eigenvalues s ODE provided by the Matlab function eig(A) from system matrix A. This matrix may be found by transforming the differential equation of motion

$$\mathbf{M}\ddot{\mathbf{y}} + \mathbf{D}\dot{\mathbf{y}} + \mathbf{Ky} = \mathbf{0}, $$

where

$$ \mathbf{y} = \left [ \begin{array}{c} y_{1} \\ y_{2} \end{array} \right ],\quad \mathbf{M} = \left [ \begin{array}{c@{\quad}c} m & 0 \\ 0 & 2m \end{array} \right ],\quad \mathbf{D} = \left [ \begin{array}{c@{\quad}c} d & 0 \\ 0 & 0 \end{array} \right ],\quad \mathbf{K} = \left [ \begin{array}{c@{\quad}c} 3k & - 2k \\ - 2k & 2k \end{array} \right ] $$
(14)

into state-space form

$$\dot{\mathbf{x}} = \mathbf{Ax}, $$

where

$$ \mathbf{x} = \left [ \begin{array}{c} \mathbf{y} \\ \dot{\mathbf{y}} \end{array} \right ],\quad \mathbf{A} = \left [ \begin{array}{c@{\quad}c} \mathbf{0} & \mathbf{I} \\ - \mathbf{M}^{ - 1}\mathbf{K} & - \mathbf{M}^{ - 1}\mathbf{D} \end{array} \right ],\quad \mathbf{I} = \left [ \begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right ]. $$
(15)

All results in Fig. 9 and Table 1 are obtained with N x ×N y =11×11 scanning grids and the absolute precision tolerances dx=dy=10−3. As the table shows, in all cases the required precision is achieved with an acceptable number of determinant calls in less than three tens of a second. For higher precisions, like dx=dy=10−6, no differences to the classical eigenvalue computation would be visible and the computational time would only double. It should be noted that if a zero is expected to lie on the imaginary or real axes, as in cases d=0 and d=5, the search range has to be extended beyond these axes by at least one grid row, such that these zeros can be found as interior local minima; see also Figs. 9b and 9c.

Table 1 Eigenvalues of the lumped mass model: comparison between TMM and ODE

Also worthwhile to note is the peak in Fig. 9a. This can be explained by an observation made during numerical experiments, i.e., that the determinants of Eq. (13) and Eq. (14) are related by detU all=det(M s 2+D s+K)/det(D s+K). Peaks arise if the denominator det(D s+K) becomes zero which in the case of system (14) happens for \(s = - k/d \in \mathbb{R}\) equivalent to δ=k/d, ω=0.

5 Application to a flexible rod used in the context of damped vibrations

Using the proposed iterative eigenvalue search instead of classical QR-algorithms in case of pure rigid multibody systems is maybe not really convincing. However, it becomes more convincing for the system in Fig. 2c where the classical approach fails. In order to apply the TMM concept to this system, firstly the transfer matrix for a rod as part of a damped system has to be derived. If we assume that the rod itself has no internal damping, but is only connected to damped components, its partial differential equation still reads as \(\ddot{u} = c^{2}u''\), where u(x,t) describes its (potentially damped) longitudinal displacement vibration and \(c = \sqrt{E/\rho}\) is the classical wave travel speed [12]. Substitution of the damped vibration \(u ( x,t ) = U ( x )e^{st}, s \in \mathbb{C}\), transforms the partial to an ordinary differential equation U″−s 2/c 2 U=0 for the complex shape function \(U ( z ): \mathbb{C} \to \mathbb{C}\). It can be easily proven that potential solution functions are \(\sin ( \pm i\frac{s}{c}x )\), \(\cos ( \pm i\frac{s}{c}x )\), \(\sinh ( \pm \frac{s}{c}x )\), \(\cosh ( \pm \frac{s}{c}x )\) with complex arguments due to \(s \in \mathbb{C}\). Because of relations like sin(−z)=−sin(z), sinh(−z)=−sinh(z) or sin(iz)=isinh(z) [6], only two of these functions are linearly independent and may be superposed to a general solution, e.g. U(x)=acos(βx)+bsin(βx), \(a,b \in \mathbb{C}, \beta = i s / c\). From continuum mechanics [12], it is known that the axial compression force q=−=−AEε=−AEu′ is related to deformation by stress-strain relations. Using the same transformation q(x,t)=Q(x)e st for the axial force as for the displacement then yields Q(x)=−EAU′=βEAasin(βx)−βEAbcos(βx). Both equations can be summarized in a vector equation

$$ \left [ \begin{array}{c} U ( x ) \\ Q ( x ) \end{array} \right ] = \left [ \begin{array}{c@{\quad}c} \cos \beta x & \sin \beta x \\ \beta EA\sin \beta x & - \beta EA\cos \beta x \end{array} \right ]\left [ \begin{array}{c} a \\ b \end{array} \right ]\quad \mbox{or}\quad \mathbf{Z} ( x ) =:\mathbf{B} ( x )\boldsymbol{ \xi}. $$
(16)

The vector of unknowns ξ results from the input boundary condition Z I =B(0)ξ as ξ=B(0)−1 Z I . Substitution in the output boundary condition Z O =B(l)ξ then results in a transfer equation for the rod similar to (1):

$$\mathbf{Z}_{O} = \mathbf{U}_{R}\mathbf{Z}_{I}, $$

where

$$ \mathbf{U}_{R} = \left [ \begin{array}{c@{\quad}c} \cos \beta l & \frac{ - \sin \beta l}{\beta EA} \\ \beta EA\sin \beta l & \cos \beta \end{array} \right ],\quad \mathbf{Z}_{I,O} = \left [ \begin{array}{c} U_{I,O} \\ Q_{I,O} \end{array} \right ],\quad \beta = i \frac{s}{\sqrt{E / \rho}}. $$
(17)

Due to the use of sine and cosine as basis functions, the final transfer matrix for damped vibrations looks formally identical as the one for undamped vibrations [4]. However, the argument is complicated by a multiplication with the imaginary unit \(i = \sqrt{ - 1}\). This may be avoided by alternatively using the hyperbolic functions as basis functions.

Since the transfer matrices for a lumped mass and a damper are already known from the example in Eq. (12), the overall transfer matrix for the system in Fig. 2c can now be easily assembled as a product of the element transfer matrices (12) and (17):

$$ \mathbf{Z}_{O} = \mathbf{UZ}_{I}: = \mathbf{U}_{d} \mathbf{U}_{m}\mathbf{U}_{R}\mathbf{Z}_{I}\ = \left [ \begin{array}{c@{\quad}c} 1 & \frac{ - 1}{ds} \\ 0 & 1 \end{array} \right ] \left [ \begin{array}{c@{\quad}c} 1 & 0 \\ - Ms^{2} & 1 \end{array} \right ] \left [ \begin{array}{c@{\quad}c} \cos \beta l & \frac{ - \sin \beta l}{\beta EA} \\ \beta EA\sin \beta l & \cos \beta l \end{array} \right ]\mathbf{Z}_{I}. $$
(18)

According to the boundary conditions Z I =[0 Q I ]T, Z O =[0 Q O ]T the element U 12 of the overall transfer matrix U provides the characteristic equation Δ=U 12(s)=0 to be solved for the roots s=−δ±.

Due to the symmetry w.r.t. ω=0, Fig. 10a shows only the right half of the ω,δ-plane for a steel rod with ρ=7800 kg/m3, E=2.1×1011 N/m2, l=1 m, A=10−4 m2 and the lumped mass being M/ρAl=1, 0.2 and 0, respectively. The curves are associated with increasing damping 0≤d<∞ marked by arrows. In all three cases, the curves end in the frequencies \(\omega_{k}^{cc} = k\pi c / l\), \(k \in \mathbb{Z}\), of a clamped-clamped rod [12], since d→∞ acts like a fixed support. Also high masses M act like this, which is why curves of higher modes also come close to these points for M/ρAl=1. Only in the first mode the system behaves like a 1-DOF mass point linked to the inertial frame by spring and damper, where the curve starts at imaginary roots s for d=0, and then reduces the frequency to zero for increasing damping where the two roots join for some critical value of the damping coefficient. For higher damping values both roots stay real, where one goes to zero and the other to infinity. These effects are less relevant for a reduced lumped mass, where curves start somewhere between the frequencies of the clamped-clamped and the clamped-free rod.

Fig. 10
figure 10

Zeros of (a) the damped rod system for various masses M and (b) a corresponding lumped mass model for M=0 with various number N of discretization bodies

For M=0, i.e., a system consisting of rod and damper only, we get a rather strange result of jumping frequencies for a specific damping value. The curves start at the frequencies \(\omega_{k}^{cf} = ( 2k - 1 )/2 \cdot \pi c / l\), \(k \in \mathbb{Z}\), of the clamped-free rod [12], go straight up to infinity for increasing damping up to a critical value d , and then return from infinity on vertical lines toward frequencies \(\omega_{k - 1}^{cc}\) of lower order modes of the clamped-clamped rod.

This result can be confirmed in two ways. Firstly, in a numerical study we can substitute the rod by a model with N lumped masses and springs, Fig. 10b, where Δl=l/N, m=ρAΔl, k=EA/Δl. For N≥20, the curve loops almost start and end at the proposed frequencies of the rod, and the height of the loops increases with growing number of lumped masses, indicating that the result for the rod may be infinitely high loops. However, even for high discretization numbers the lumped mass result is still far from the exact rod solution, which demonstrates the strength of the transfer matrix method being able to handle continuous elements in a precise way.

More convincing than this numerical study is a proof on basis of the transfer matrix method. If the lumped mass M=0 is zero, then we find from Eq. (18) with U m =I the overall system transfer matrix U=U d U R where the element U 12 reduces to

$$U_{12} = - \frac{\sin \beta l}{\beta EA} - \frac{\cos \beta l}{ds}\mathop{ =} \limits ^{ !} 0, $$

where

$$ \beta = i\frac{s}{c},\quad s = - \delta + i\omega,\quad c = \sqrt{ \frac{E}{\rho}}. $$
(19)

After substitution of β and s, and some calculus based on sin(−z)=−sin(z), cos(−z)=cos(z) the characteristic equation can be written as

$$i\sin ( \bar{\omega} + i\bar{\delta} ) + \gamma \cos ( \bar{\omega} + i\bar{ \delta} )\mathop{ =} \limits ^{ !} 0,$$

where

$$ \bar{\omega} = \frac{l\omega}{c},\quad \bar{ \delta} = \frac{l\delta}{c},\quad \gamma = \frac{EA}{dc}. $$
(20)

With the addition rules of sine and cosine for complex arguments, we find

$$ \cos \bar{\omega} ( \gamma \cosh \bar{\delta} - \sinh \bar{\delta} ) + i\sin \bar{\omega} ( \cosh \bar{\delta} - \gamma \sinh \bar{\delta} )\mathop{ =} \limits ^{ !} 0 $$
(21)

which requires independently vanishing real and imaginary parts. Since sine and cosine cannot be zero simultaneously, we get two solution possibilities:

$$ \cos \bar{\omega} = 0 \wedge \cosh \bar{\delta} - \gamma \sinh \bar{\delta} = 0 \quad \mbox{or}\quad \sin \bar{\omega} = 0 \wedge \gamma \cosh \bar{\delta} - \sinh \bar{ \delta} = 0, $$
(22)

finally resulting in a composite solution

$$ \left \{ \begin{array}{l@{\quad}l@{\quad }l} \bar{\omega} = ( 2k - 1 )\pi / 2,& \bar{\delta} = \operatorname{artanh} 1 / \gamma & \mbox{for}\ \gamma > 1 \\ \bar{\omega} = k\pi, & \bar{\delta} = \operatorname{artanh} \gamma & \mbox{for}\ \gamma < 1 \end{array} \right . $$
(23)

as observed in Fig. 10a. The switch from the one to the other branch occurs for γ=EA/dc=1, i.e., critical damping \(d^{*} = A\sqrt{E\rho}\), where due to the artanh-function \(\delta = (c / l)\bar{\delta}\) goes to infinity.

6 Conclusions

The paper demonstrates that eigenvalue search in the context of the transfer matrix method can be rather challenging if continuous elements like rods or beams are involved. The characteristic equations are highly nonlinear and roots can be rather narrow. The two algorithms provided in this paper master these challenges by recursive scanning, where the focus is on simplicity and robustness. Both linear scanning for damped systems and exponential scanning for conservative vibrations are demonstrated, where the latter may be better suited in case of wide spread frequencies and can also be implemented in the search algorithm for damped systems. Efficiency of the algorithms may be easily improved by avoiding double-evaluations of determinants or using adapted sampling strategies, where in the first iteration steps the proposed scanning strategy should be applied due to the multimodal character of determinants, whereas in later steps golden search like strategies may be more efficient on unimodal subregions. In order to avoid noise problems in case of high frequencies, a cutting strategy is proposed and successfully applied to a beam. Further it is shown that the transfer matrix of a rod in the context of damped and undamped cases can be formally identical, however, with a complex argument. The same can be shown for the beam where the definition of the normalized frequency in Eq. (1) has to be substituted by \(\lambda = \sqrt[4]{ - \rho As^{2} / EI }\).