Effects of Mass and Stiffness on Vibrating Amplitudes of 
 a Double-Mass  Double-Spring System

Mathematica is applied to the study vibrating amplitudes of a double-mass double-spring system.  Amplitudes are displayed for a wide range of masses and stiffnesses .

Haiduke Sarafian
Pennsylvania State University
Commonwealth College
York, PA 17403

A recent study [Clark and Hill 1999] measured the effect of hardening of one of the ideal springs of a double-mass double-spring system on vibrating amplitudes of masses.  Their analysis is confined to a special case of identical unit mass.  Although this restriction simplifies the formulation of the problem it takes away the generality of the analysis.  By relaxing this condition we reformulate the problem and show the difference between the masses plays a crucial role in controlling the vibrations.  For a wide range of masses and stiffnesses we display the amplitudes.  We provide visual means to relate the derived theoretical equations to actual situations.  We show without graphical presentations most of the amplitudes are intuitively impossible to predict.

Figure 1 shows a double-mass double-spring system.  The two ideal springs with un-stretched length of (Subscript[L, 1]) and (Subscript[L, 2]) assumed to have stiffness of  (Subscript[k, 1]) and (Subscript[k, 2]) are connected in series to two masses  (Subscript[m, 1]) and (Subscript[m, 2]) and are hung vertically.  The static vertical equilibrium position of the masses measured from the support are (Subscript[y, 10]) and (Subscript[y, 20]).  These are measured in a coordinate system with the origin at the support with positive direction consistent with the direction of gravity - from north to south.  The system is put in vertical vibrations by releasing the pulled down masses from equilibria.  The vertical position of the masses at any given time from the support are assumed (Subscript[y, 1]) and (Subscript[y, 2]).  The net force acting on each mass is:

Figure 1.  A double-mass double-spring system with spring stiffness of  (Subscript[k,  1]) and (Subscript[k,  2]).  The (Subscript[ξ, 1]) and (Subscript[ξ, 2]) are the displacements from static equilibria at any given time.

{({{(Subscript[F, 1]) = - 
                    (Subscript[k, 1]) ((Subscript[y, 1]) - (Subscript[L, 1])) + (Subscript[k, 2]) ((Subscript[y, 2]) - (Subscript[y, 1]) - 
                      (Subscript[L, 2])) + (Subscript[m, 1]) g}, {(Subscript[F, 2]) = - (Subscript[k, 2]) ((Subscript[y, 2]) - (Subscript[y, 1]) - (Subscript[L, 2])) + (Subscript[m, 2]) g}})

The unbalanced forces acting on the masses are the cause of the accelerations - we equate the rhs of the these equations to (Subscript[m, 1])((d^2)/(dt^2)) (Subscript[y, 1]) and  (Subscript[m, 2])((d^2)/(dt^2)) (Subscript[y, 2]) respectively.  Since the objective of our analysis is to study the vibrating amplitude of the masses, we introduce two new coordinates:  (Subscript[ξ, 1])= (Subscript[y, 1])-(Subscript[y, 10]) and  (Subscript[ξ, 2])= (Subscript[y, 2])-(Subscript[y, 20]).  These are displacements of the masses from their respective static equilibria.   The last equations in terms of  (Subscript[ξ, 1]) and  (Subscript[ξ, 2]) yield:

{({{(Subscript[m, 1]) ((d^2)/(dt^2)) (Subscript[ξ, 1]) = -((Subscript[k, 1]) + 
                          (Subscript[k, 2])) (Subscript[ξ, 1]) + (Subscript[k, 2]) (Subscript[ξ, 2])}, {\(\(m\_2\) \(d\^2\/dt\^2\) ξ\_2 = \(k\_2\) ξ\_1 - \(k\_2\) ξ\_2\)}})

According to linear transformation {(Subscript[y, 1]),(Subscript[y, 2])} ⟹ {(Subscript[ξ, 1]),(Subscript[ξ, 2])} the equations of motion are considerably simplified - constant quantities (Subscript[L, 1]), (Subscript[L, 2]) and gravitational acceleration g are all dropped.

The last set of equations in terms of the natural angular frequency of individual spring-mass system  (Subscript[ω, i]) = (Sqrt[((Subscript[K, i])/(Subscript[m, i]))]) and the ratio of the masses  μ = ((Subscript[m, 2])/(Subscript[m, 1])) can be written as

{({{\(\(d\^2\/dt\^2\) ξ\_1 = \(-\((ω\_1\%2 + μ\ ω\_2\%2)\)\)\ ξ\_1 + μ\ \(ω\_2\%2\) ξ\_2\)}, {\(\(d\^2\/dt\^2\) ξ\_2 = \(ω\_2\%2\) ξ\_1 - \(ω\_2\%2\) ξ\_2\)}})

These are two coupled linear second-order Ordinary Differential Equations (ODEs) and one needs to adopt a method to solve them - the solutions of these equations are the vibration amplitudes.    Traditionary, one replaces these equations with four coupled linear first-order ODEs and forms an eigenvalue equation.  The vibration amplitudes are linked to the eigenvalues - this is discussed in method I.  By applying Mathematica, I have shown that the amplitudes deduced by this method converge to those derived analytically by Clark and Hill.  Rather than relying solely on traditional approach, I present alternative solutions.  It is shown that the coupled equations of motion can be decoupled, resulting in two independent fourth-order ODEs - this is discussed in method II.  By applying Mathematica, the consistency of these two methods has been confirmed. These two independent mathematical approaches provide two different technical views. They also establish a basis for a reliable and quick solution based on the direct application of Mathematica using the un-manipulated equations of motion - as discussed in method III.  The details of these methods are presented below.

Method I - the reduction procedure

Following the reduction prescription,  we introduce two new variables; (Subscript[η, 1])= (d/dt)(Subscript[ξ, 1]) and  (Subscript[η, 2])= (d/dt)(Subscript[ξ, 2]) - these are the speeds of the masses about their respective static equilibria.   The above set of equations of motion in terms of {(Subscript[ξ, 1]), (Subscript[ξ, 2]), (Subscript[η, 1]), (Subscript[η, 2])} yields a set of four coupled linear first-order ordinary differential equations with constant coefficients.

{({{(d/dt) (Subscript[ξ, 1]) = (Subscript[η, 1])}, {(d/dt) (Subscript[ξ, 2]) = (Subscript[η, 2])}, {\(\(d\/dt\) η\_1 = \(-\((ω\_1\%2 + μ\ ω\_2\%2)\)\)\ ξ\_1 + μ\ \(ω\_2\%2\) ξ\_2\)}, {\(\(d\/dt\) η\_2 = \(ω\_2\%2\) ξ\_1 - \(ω\_2\%2\) ξ\_2\)}})

Rewriting these equations in a matrix form we have

(d/dt)(({{(Subscript[ξ, 1])}, {(Subscript[ξ, 2])}, {(Subscript[η, 1])}, {(Subscript[η, 2])}}))=(({{0, 0, 1, 0}, {0, 0, 0, 1}, {-((Subscript[ω, 1]^2) + μ (Subscript[ω, 2]^2)), \(μ\ ω\_2\%2\), 0, 0}, {(Subscript[ω, 2]^2), - (Subscript[ω, 2]^2), 0, 0}}))(({{(Subscript[ξ, 1])}, {(Subscript[ξ, 2])}, {(Subscript[η, 1])}, {(Subscript[η, 2])}}))

The last equation can be written in compact form  (d/dt)(Overscript[Q,  ->])  = Ω (Overscript[Q,  ->])   where  (Overscript[Q,  ->])  = (({{(Subscript[ξ, 1])}, {(Subscript[ξ, 2])}, {(Subscript[η, 1])}, {(Subscript[η, 2])}})) and  Ω = (({{0, 0, 1, 0}, {0, 0, 0, 1}, {-((Subscript[ω, 1]^2) + μ (Subscript[ω, 2]^2)), \(μ\ ω\_2\%2\), 0, 0}, {(Subscript[ω, 2]^2), - (Subscript[ω, 2]^2), 0, 0}})).  The formal solution of this linear differential equation is  (Overscript[Q,  ->]) (t) = (∑_(i = 1)^4) (Subscript[c, i]) (Overscript[((Subscript[K, i])),  ->]) (e^((Subscript[λ, i]) t))  i.e.  the general solution is a linear combination of the particular solutions.  The (Subscript[((Overscript[K,  ->]) ), i])  are 4x1 eigenvectors,  (Subscript[λ, i]) are the corresponding eigenvalues of  Ω and (Subscript[c, i]) are constants - all three quantities are time-independent.  Values of  (Subscript[c, i]) can be determined by applying a set of desired initial conditions.

With the help of Mathematica we search for the eigenvalues and eigenvectors of Ω.

Off[General::Spell, General::Spell1]

Ω:=(({{0, 0, 1, 0}, {0, 0, 0, 1}, {-((Subscript[ω, 1]^2) + μ (Subscript[ω, 2]^2)), μ (Subscript[ω, 2]^2), 0, 0}, {(Subscript[ω, 2]^2), -(Subscript[ω, 2]^2), 0, 0}}))

The eigenvalues of  Ω are:

eigval = Eigenvalues[Ω] // Simplify

Inspection of these eigenvalues reveals irrespective the value of  μ all the eigenvalues are purely complex quantities.  For a special case of  (Subscript[m, 1])=(Subscript[m, 2])= 1 these are reduced to the values derived by Clark and Hill.

eigvalspe = 
      eigval /. {(Subscript[ω, 1]) -> (Sqrt[(Subscript[k, 1])]), (Subscript[ω, 2]) -> (Sqrt[(Subscript[k, 2])]), μ -> 
              1} // Simplify

Similarly we identify the eigenvectors of  Ω - because of the lengthiness of the expressions we suppress the output.

eigvec = Eigenvectors[Ω] // Simplify;

For a special case of  (Subscript[m, 1])= (Subscript[m, 2])= 1 these are reduced to Clark and Hill expressions as well.  We show only one of these special eigenvectors

eigvecspe = 
        eigvec /. {(Subscript[ω, 1]) -> (Sqrt[(Subscript[k, 1])]), (Subscript[ω, 2]) -> (Sqrt[(Subscript[k, 2])]), μ -> 1};

eigvecspe[[1]] // 
      Simplify

Having identified the eigenvalues and eigenvectors of  Ω, and according to the format of the formal solution of the equation in hand, i.e.   (Overscript[Q,  ->]) (t) = (∑_(i = 1)^4) (Subscript[c, i]) (Overscript[((Subscript[K, i])),  ->]) (e^((Subscript[λ, i]) t))   we construct the components of  (Overscript[Q,  ->]) .

c := {c1, c2, c3, c4}

(Subscript[ξ, 1]) = (∑_(i = 1)^4) c[[
              i]] eigvec[[i, 
              1]] (E^(eigval[[i]] t));
(Subscript[ξ, 2]) = (∑_(i = 1)^4) c[[
              i]] eigvec[[i, 
              2]] (E^(eigval[[i]] t));
(Subscript[η, 1]) = (∑_(i = 1)^4) c[[
              i]] eigvec[[i, 
              3]] (E^(eigval[[i]] t));
(Subscript[η, 2]) = (∑_(i = 1)^4) c[[
              i]] eigvec[[i, 
              4]] (E^(eigval[[i]] t));

According to method I this procedure concludes the formal mathematical solution of the problem.
To comprehend the physical meaning of these solutions and to visualize the vibrating amplitudes of the masses we now apply reasonable practical initial conditions.  We set the system in motion by freely releasing the pulled down masses from their static equilibria by (Subscript[ξ, 10]) and (Subscript[ξ, 20]) - this implies zero initial speeds.  With these four initial conditions we identify the constant coefficients (Subscript[c, i]). The procedure is shown below:

eq1 = (Subscript[ξ, 1]) /. t -> 0;
eq2 = (Subscript[ξ, 2]) /. t -> 0;
eq3 = (Subscript[η, 1]) /. t -> 0;
eq4 = (Subscript[η, 2]) /. t -> 0;

sol1 = 
        Solve[{eq1 == (Subscript[ξ, 10]), eq2 == (Subscript[ξ, 20]), eq3 == 0, 
            eq4 == 0}, {c1, c2, c3, c4}];

The solution of the above equation is the coefficients (Subscript[c, i]) for i = 1...4.  By substituting these coefficients for the components of (Overscript[Q,  ->]) ,  we have

(Subscript[ξ, 11]) = (Subscript[ξ, 1]) /. sol1;
(Subscript[ξ, 12]) = (Subscript[ξ, 2]) /. sol1;
(Subscript[η, 11]) = (Subscript[η, 1]) /. sol1;
(Subscript[η, 12]) = (Subscript[η, 2]) /. sol1;

To study the amplitudes of the vibrations we consider a wide range of mass and stiffness parameters.  The commonly used parameters are stored in valcom and parameters associated with the rest are stored in various  vaL* listings; only vaL1 is shown below - we assume CGS units.

valcom = {(Subscript[ξ, 10]) -> 5. , (Subscript[ξ, 20]) -> 
            4. , (Subscript[ω, 1]) -> (Sqrt[((Subscript[k, 1])/(Subscript[m, 1]))]), (Subscript[ω, 2]) -> (Sqrt[((Subscript[k, 2])/(Subscript[m, 2]))]), μ -> ((Subscript[m, 2])/(Subscript[m, 1]))};
vaL1 = {(Subscript[k, 1]) -> 50. , (Subscript[k, 2]) -> 50. , (Subscript[m, 1]) -> 1. , 
          (Subscript[m, 2]) -> 1. };

In general,  the pure complex eigenvalues of  Ω  ensure the vibrating nature of the masses.  Furthermore, since the components of the eigenvectors (Subscript[(Overscript[K,  ->]) , i]) and coefficients (Subscript[c, i]) are complex,  to assure the realness of the amplitudes,  we inspect individually their characters.

First we evaluate the amplitude of  (Subscript[m, 1]) for the parameters specified by vaL1.  By applying ExpToTrig command we convert  the exponentials to a combination of sine and cosine functions - the zero output ensures its realness.

ComplexExpand[Im[ExpToTrig[(Subscript[ξ, 11]) /. valcom /. vaL1]]] // 
      Chop

Following a similar procedure we identify (Subscript[ξ, i])'s  pure real expression.

ξ11vaL1 = 
      ComplexExpand[Re[ExpToTrig[(Subscript[ξ, 11]) /. valcom /. vaL1]]] // 
        Chop

\(\(plo1 = 
        Plot[ξ11vaL1, {t, 0, 5}, 
          FrameLabel -> {"t", \*""(Subscript[ξ, 1])""}, 
          Frame -> {True, True, True, True}, 
          PlotLabel -> \*""(Subscript[k, 1])=(Subscript[k, 2]),(Subscript[m, 1])=(Subscript[m, 2])=1"", 
          DisplayFunction -> Identity];\)\)

By repeating the above three-step procedure we verified the realness of the amplitudes of  (Subscript[m, 1]) for other sets of parameters of interest. Results graphically are shown in figure 2.

Figure 2.  Vibrating amplitudes of (Subscript[m, 1]) vs. time for various values of (Subscript[m, 1]), (Subscript[m, 2]) and  (Subscript[k, 1]), (Subscript[k, 2]).

Figure 2 consists of a 3x5 graphic matrix. Each matrix element depicts a vibrating amplitude of  (Subscript[m, 1]) for the chosen set of mass and stiffness.  For a chosen relationship between the stiffness, the columns of the graphic matrix display  (Subscript[ξ, 1]) versus time, describing the effects of  the masses.  Conversely, for a chosen relationship between the masses, the rows of the graphic matrix depict  (Subscript[ξ, 1]) versus time, describing  the effects of the stiffness of the springs.  In creating these amplitudes, we used the following stiffness: the first column corresponds to  (Subscript[k, 1])=(Subscript[k, 2])=50, the second column is (Subscript[k, 1])=50 and (Subscript[k, 2])=200, the third column corresponds to (Subscript[k, 1])=200 and (Subscript[k, 2])=50, the fourth column is (Subscript[k, 1])=50 and (Subscript[k, 2])=5000, and the last column corresponds to (Subscript[k, 1])=5000 and (Subscript[k, 2])=50.
The fourth element of the first row describes a situation where the bottom spring, relative to the top one,  is completely hardened.  Since the masses are equal to unity and are small,  the vibrations of the top spring are not influenced by the bottom massless stiffened spring.  This is the only case studied by Clark and Hill.  However, even in this case, as depicted by the second and third graphic elements of the fourth column, changing the masses changes the situation.
The time scale used displaying the elements of the fifth column is chosen appropriately differently from the rest to show the effects of the fast oscillations of the situation.
By looking over the graphs presented in figure 2,  one realizes how important the role of unequal masses are.

We repeat the above analysis to identify and then display collectively the vibrations of  (Subscript[m, 2]).

ComplexExpand[Im[ExpToTrig[(Subscript[ξ, 12]) /. valcom /. vaL1]]] // 
      Chop

ξ12vaL1 = 
      ComplexExpand[Re[ExpToTrig[(Subscript[ξ, 12]) /. valcom /. vaL1]]] // 
        Chop

\(\(plo10 = 
        Plot[ξ12vaL1, {t, 0, 5}, 
          FrameLabel -> {"t", \*""(Subscript[ξ, 2])""}, 
          Frame -> {True, True, True, True}, 
          PlotLabel -> \*""(Subscript[k, 1])=(Subscript[k, 2]),(Subscript[m, 1])=(Subscript[m, 2])=1"", 
          DisplayFunction -> Identity];\)\)

The results are shown in figure 3.

Figure 3.  Vibrating amplitudes of (Subscript[m, 2]) vs. time for various values of (Subscript[m, 1]), (Subscript[m, 2]) and  (Subscript[k, 1]), (Subscript[k, 2]).

Figure 3 is formed similar to figure 2 and consists of a 3x5 graphic matrix.  Each matrix element depicts a vibrating amplitudes of  (Subscript[m, 2]) for the chosen mass and stiffness, Clark and Hill considered only the amplitude displayed by the fourth element of the first row.

This graph explicitly shows the effects of the differences between the masses on vibrating amplitudes of the second mass.  With a few exceptions,  most of the amplitudes displayed in figure 2 and 3 are hard if not impossible to predict and visualize intuitively.

Since all the components of  (Overscript[Q,  ->])  are identified and because (Overscript[Q,  ->]) 's upper two components namely  {(Subscript[ξ, 1]),(Subscript[ξ, 2])} are related to its lower two  {(Subscript[η, 1]),(Subscript[η, 2])} components by time-derivative i.e. {(Subscript[η, 1]),(Subscript[η, 2])} = (d/dt){(Subscript[ξ, 1]),(Subscript[ξ, 2])},  we independently verify the accuracy and consistency of the solutions presented above.  We call for instance the speed of  (Subscript[m, 1]) for a set of parameters defined by vaL1.

η11vaL1 = 
        ComplexExpand[
          Re[ExpToTrig[(Subscript[η, 11]) /. valcom /. vaL1]]];
\(\(plo19 = 
        Plot[η11vaL1, {t, 0, 5}, 
          FrameLabel -> {"t", \*""(Subscript[η, 1])""}, 
          Frame -> {True, True, True, True}, 
          PlotLabel -> \*""(Subscript[k, 1])=(Subscript[k, 2]),(Subscript[m, 1])=(Subscript[m, 2])=1"", 
          DisplayFunction -> Identity];\)\)

We then evaluate the speed of the same mass directly by differentiating (Subscript[ξ, 1]) with respect to time.

\(\(plo20 = 
        Plot[Evaluate[\(D[ξ\_11, t] /. valcom\) /. vaL1], {t, 0, 5}, 
          PlotStyle -> {Dashing[{0.02}]}, 
          FrameLabel -> {"t", \*""(d/dt)(Subscript[ξ, 1])""}, 
          Frame -> {True, True, True, True}, 
          PlotLabel -> \*""(Subscript[k, 1])=(Subscript[k, 2]),(Subscript[m, 1])=(Subscript[m, 2])=1"", 
          DisplayFunction -> Identity];\)\)

These two results are then compared graphically as shown in figure 4 - results are identical.

s1920 = 
        Show[GraphicsArray[{plo19, plo20}], 
          DisplayFunction -> $DisplayFunction];

Figure 4.  Speeds of  (Subscript[m, 1])  are compared independently.  The solid curve (the left graph) is (Subscript[η, 1]) and the dashed curve (the right graph) is  (d/dt)(Subscript[ξ, 1]).

We also confirmed the consistency of the speeds of mass (Subscript[m, 2]) - results are shown in figure 5.

Figure 5.  Speeds of  (Subscript[m, 2])  are compared independently.  The solid curve (the left graph) is (Subscript[η, 2]) and the dashed curve (the right graph) is  (d/dt)(Subscript[ξ, 2]).

Method II - the decoupling procedure

Here we show an alternative method to solve the coupled equations of motion.  Starting with the original set of second-order differential equations given in terms of (Subscript[ξ, 1]), (Subscript[ξ, 2]), ω's and μ , we differentiate both sides of the first equation twice with respect to time.  This gives ((d^4)/(dt^4)) (Subscript[ξ, 1])=  -((Subscript[ω, 1]^2) + μ (Subscript[ω, 2]^2)) ((d^2)/(dt^2)) (Subscript[ξ, 1]) +μ (Subscript[ω, 2]^2) ((d^2)/(dt^2)) (Subscript[ξ, 2]).  Then we substitute  ((d^2)/(dt^2))(Subscript[ξ, 2]) from the second equation.  This yields ((d^4)/(dt^4)) (Subscript[ξ, 1])=  -((Subscript[ω, 1]^2) + μ (Subscript[ω, 2]^2)) ((d^2)/(dt^2)) (Subscript[ξ, 1]) +μ (Subscript[ω, 2]^2)( \(TraditionalForm\`\(ω\_2\%2\) ξ\_1 - \(ω\_2\%2\) ξ\_2\))  and by substituting  (Subscript[ξ, 2]) from the first equation in the last one we get  ((d^4)/(dt^4)) (Subscript[ξ, 1])+ [(Subscript[ω, 1]^2) + (1+μ) (Subscript[ω, 2]^2)]  ((d^2)/(dt^2)) (Subscript[ξ, 1])+ (Subscript[ω, 1]^2)(Subscript[ω, 2]^2)(Subscript[ξ, 1])= 0 .  Following identical steps,  one can also show that (Subscript[ξ, 2]) is subject to an identical equation - in other words ((d^4)/(dt^4)) (Subscript[ξ, i])+ [(Subscript[ω, 1]^2) + (1+μ) (Subscript[ω, 2]^2)]  ((d^2)/(dt^2)) (Subscript[ξ, i])+ (Subscript[ω, 1]^2)(Subscript[ω, 2]^2)(Subscript[ξ, i])= 0; i =1,2.  Therefore, we show that instead of reducing the problem to a set of four coupled linear first-order differential equations, we can present the problem in terms of two decoupled fourth-order homogenous linear ordinary differential equations with constant coefficients.

To solve these equations we also need to provide consistent initial conditions.  Each of these fourth-order equations require four independent initial conditions.  In addition to the first two initial conditions used in method I,  we consistently consider two more.  The table below provides the initial values in need.

\(tξ11 = 
      TableForm[\(\(Table[
                  Flatten[{n, D[{ξ\_11, ξ\_12}, {t, n}]}], {n, 0, 
                    3}] /. valcom\) /. vaL1\) /. t -> 0 // Chop, 
        TableHeadings -> {Automatic, {"n", \*""((d^n)/(dt^n))(Subscript[ξ, 1])"", \*""((d^n)/(dt^n))(Subscript[ξ, 2])""}}]\)

Table 1.  The third and fourth columns are the values of  (((d^n))/((dt^n)))(Subscript[ζ, i]) for i = 1,2 at t = 0.  The n's are the derivative order and are given in the second column.

By applying  Mathematica's DSolve command we solve these 4th-order ODEs.  To identify the amplitudes of  (Subscript[m, 1]) we apply the initial values in accordance with the third column of the table 1.

dsolξ11 = 
        DSolve[{D[
                  y[t], {t, 
                    4}] + ((Subscript[ω, 1]^2) + (1 + μ) (Subscript[ω, 2]^2) ) D[y[t], {t, 
                      2}] + (Subscript[ω, 1  ]^2) (Subscript[ω, 2]^2) y[t] == 0, 
            y[0] == 5, y'[0] == 
              0, y''[0] == -300, y'''[0] == 0}, y[t], 
          t];

dsolξ11vaL1 = ComplexExpand[
            Re[ExpToTrig[y[t] /. dsolξ11 /. valcom /. vaL1]]] // 
          Simplify // Chop

This solution is identical to one provided by method I, ζ11vaL1.

By applying the initial conditions given by the fourth column of the table 1 we identify the amplitudes of  (Subscript[m, 2]) this yields

dsolξ12 = 
        DSolve[{D[
                  y[t], {t, 
                    4}] + ((Subscript[ω, 1]^2) + (1 + μ) (Subscript[ω, 2]^2)) D[y[t], {t, 2}] + (Subscript[ω, 1]^2) (Subscript[ω, 2]^2) 
                  y[t] == 0, 
            y[0] == 4, y'[0] == 0, y''[0] == 
              50, y'''[0] == 0}, y[t], t];

dsolξ12vaL1 = ComplexExpand[
            Re[ExpToTrig[y[t] /. dsolξ12 /. valcom /. vaL1]]] // 
          Simplify // Chop

This solution is also identical to one provided by the method I, ζ12vaL1.

Method III - Mathematica procedure

As a third alternative method,  unique to Mathematica, without any manipulation we directly solve the original coupled equations of motion given in terms of (Subscript[ξ, 1 ]),(Subscript[ξ, 2]),ω's and μ.  In preparing the equations for Mathematica we replace  {(Subscript[ξ, 1]),(Subscript[ξ, 2])} by {x,z}.  For the sake of consistency and comparison, we identify the amplitudes of  (Subscript[m, 1]) and (Subscript[m, 2]) for the same set of parameters used in the previous two methods.  We apply the DSolve command and implement the initial conditions used in method I.  This yields

solξ1112 = 
        DSolve[{D[
                  x[t], {t, 
                    2}] + ((Subscript[ω, 1]^2) + μ (Subscript[ω, 2]^2)) x[
                    t] - μ (Subscript[ω, 2]^2) z[t] == 0, 
            D[z[t], {t, 2}] - (Subscript[ω, 2]^2) x[t] + (Subscript[ω, 2]^2) z[
                    t] == 0, x[0] == 5, 
            z[0] == 4, x'[0] == 0, z'[0] == 0}, {x[
              t], z[t]}, t];

The amplitudes of  (Subscript[m, 1]) and (Subscript[m, 2]) are given below:

xξ11 = TrigFactor[
            ComplexExpand[
              Re[ExpToTrig[x[t] /. solξ1112 /. valcom /. 
                    vaL1]]]] // Simplify // Chop

zξ12 = TrigFactor[
            ComplexExpand[
              Re[ExpToTrig[z[t] /. solξ1112 /. valcom /. 
                    vaL1]]]] // Simplify // Chop

These results are identical to the ones presented by the other two methods.

In conclusions,  to show the consistency of the three independent solution methods described in the text,  the amplitudes of individual masses graphically are compared separately in figures 6 and 7.

\(\(plod4ξ11 = 
        Plot[dsolξ11vaL1, {t, 0, 5}, 
          FrameLabel -> {"t", \*""(Subscript[ξ, 1])""}, 
          Frame -> {True, True, True, True}, 
          PlotLabel -> \*""(Subscript[k, 1])=(Subscript[k, 2]),(Subscript[m, 1])=(Subscript[m, 2])=1"", 
          DisplayFunction -> Identity];\)\)
\(\(plod4ξ12 = 
        Plot[dsolξ12vaL1, {t, 0, 5}, 
          FrameLabel -> {"t", \*""(Subscript[ξ, 2])""}, 
          Frame -> {True, True, True, True}, 
          PlotLabel -> \*""(Subscript[k, 1])=(Subscript[k, 2]),(Subscript[m, 1])=(Subscript[m, 2])=1"", 
          DisplayFunction -> Identity];\)\)
\(\(ploxξ11 = 
        Plot[xξ11, {t, 0, 5}, 
          FrameLabel -> {"t", "xξ1"}, 
          Frame -> {True, True, True, True}, 
          PlotLabel -> \*""(Subscript[k, 1])=(Subscript[k, 2]),(Subscript[m, 1])=(Subscript[m, 2])=1"", 
          DisplayFunction -> Identity];\)\)
\(\(plozξ12 = 
        Plot[zξ12, {t, 0, 5}, 
          FrameLabel -> {"t", "zξ2"}, 
          Frame -> {True, True, True, True}, 
          PlotLabel -> \*""(Subscript[k, 1])=(Subscript[k, 2]),(Subscript[m, 1])=(Subscript[m, 2])=1"", 
          DisplayFunction -> Identity];\)\)

Show[GraphicsArray[{plo1, plod4ξ11, ploxξ11}]];

Figure 6.  Comparison of amplitudes of  (Subscript[m, 1]) derived by three methods described in the text.  From left to right these correspond to methods I, II and III.

Show[GraphicsArray[{plo10, plod4ξ12, plozξ12}]];

Figure 7.  Comparison of amplitudes of  (Subscript[m, 2]) derived by three methods described in the text.  From left to right these correspond to methods I, II and III.

In general, all three methods discussed in the text can easily be extended to describe vibrations of systems with more than two springs and masses.  For instance,  according to method I, the number of coupled differential linear equations of motion for a three-mass three-spring will increase from four to six.  The corresponding Ω matrix describing the situation becomes

(({{0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 1}, {-((Subscript[ω, 1]^2) + (Subscript[μ, 21]) (Subscript[ω, 2]^2)), \(\(μ\_21\) ω\_2\%2\), 0, 0, 0, 0}, {(Subscript[ω, 2]^2), \(-\((ω\_2\%2 + \(μ\_32\) ω\_3\%2)\)\), (Subscript[μ, 32]) (Subscript[ω, 3]^2), 0, 0, 0}, {0, (Subscript[ω, 3]^2), -(Subscript[ω, 3]^2), 0, 0, 0}})),

the natural angular frequency of individual masses are (Subscript[ω, i]) = (Sqrt[((Subscript[k, i])/(Subscript[m, i]))]), and ratio of the masses is given by (Subscript[μ, ij]) = ((Subscript[m, i])/(Subscript[m, j])).

Mathematica, will identify the eigenvalues and eigenvectors of the corresponding 6x6 matrix.   Consequently, following detailed descriptions in the text, vibrating amplitudes of the masses can easily be graphed and analyzed.

REFERENCE

Clark, K.E., Hill, S. The Effects of a Stiffening Spring. College Mathematics Journal 30:5 (1999) 379-382.

ABOUT THE AUTHOR

Haiduke Sarafian
Pennsylvania State University
Commonwealth College
York, PA 17403

ELECTRONIC SUBSCRIPTIONS

Included in the distribution for each electronic subscription is the file Spring5.nb containing Mathematica code for the material described in this article.