Symbolically solve a system of coupled second order differential equations

I have posted a similar question in another forum where the general consensus seems to suggest that it is not possible to symbolic solve a system of coupled second order differential equations with damping (dissipation) and driving forces.

However, I have found in many papers and books writing out analytical formula of the solutions to such coupled equations. So, it must be possible. I just do not know how.

Attached is the system I am trying to solve. Although solving this sort of equation with two masses, no damping (dissipation) and with only one driving force is simple enough, even by hand, it is impossible to do the same for a system with two different damping constants and two driving forces. I have been trying for two weeks now, but could not figure out the solution.

Of course, I could get the numeric solution, but I could not get the same result obtained from Eq. 5. So, I was wondering if someone could help me how to solve this analytically. Any solution to this problem would be of interest.

I am completely new to Mathematica, so any example worksheets on this sort of equation would be gratefully appreciated!

eqns = {x1''[t] +  γ1 x1'[t] + ω^2 x1[t] - Ω^2 x2[t] == F/m Exp[-I ωs t],
x2''[t] +  γ2 x2'[t] + ω^2 x2[t] - Ω^2 x1[t] == 0};


Substituting a forced solution

eqns2 = eqns /.(rule= {
x1 ->  Function[t, A1 Exp[-I ωs t]],
x2 ->  Function[t, A2 Exp[-I ωs t]]})


and solving for the amplitude

 sol= Solve[eqns2, {A1, A2}] // Flatten // FullSimplify

(*
{A1 -> (F (ω^2 + ωs (-ωs - I γ2)))/( m (-Ω^4 + (ω^2 + ωs(-ωs - I γ1))(ω^2 + ωs (-ωs-I γ2)))),
A2 -> (F Ω^2)/( m (-Ω^4 + (ω^2 + ωs (-ωs -  I γ1)) (ω^2 + ωs (-ωs - I γ2))))}
*)


If you want to get the power,

F Exp[I ωs t] x1'[t] /. rule /. sol // FullSimplify

(*
==> -(( I F^2 ωs  (-ω^2 + ωs (ωs + I γ2)))/( m (Ω^4 - (ω^2 + ωs (-ωs -
I γ1)) (ω^2 + ωs (-ωs - I γ2)))))
*)

• You probably want to use Exp[-I ωs t] in your solutions May 2, 2014 at 19:48
• @SimonWoods good point :-) Well let's see if OP picks on it :-) May 2, 2014 at 19:50
• Many thanks Chris, Simon Woods, really appreciated. Mathematica seems to work very efficiently. In Mathcad I need to write wrong codes and still could not get the analytical solution for x1(t). I have not tried in Mathematica yet, but in Mathcad a Fourier Transform did not give Eq. 5 (I enter Eq. 4 by hand as I was not able to solve it analytically). Could you please try this with Mathematica? Will it work? As I mentioned earlier, I am new to Mathematica, so it take me sometimes to figure out all the commands and syntacs. Newin May 3, 2014 at 13:21
• I have added the power to my answer. May 3, 2014 at 16:03
• Many thanks Chris! Don't have access to the license today, but I will try soon. May 4, 2014 at 2:30

Another way:

ClearAll[x1, x2, t, γ1, γ2, Ω, ω, ωs, x10, x20]
eq1 = Hold[D[x1[t], {t, 2}]] + γ1 Hold[D[x1[t], t]] + ω^2 x1[t] - Ω^2 x2[t] ==
F0/m Exp[-I ωs t];
eq2 = Hold[D[x2[t], {t, 2}]] + γ2 Hold[D[x2[t], t]] + ω^2 x2[t] - Ω^2 x1[t] == 0;
eq11 = Release[eq1 /. {x1[t] ->  N1 Exp[-I ωs t], x2[t] ->  N2 Exp[-I ωs t]}];
eq22 = Release[eq2 /. {x1[t] ->  N1 Exp[-I ωs t], x2[t] -> N2 Exp[-I ωs t]}];
sub = {N1 Exp[-I ωs t] -> x1[t], N2 Exp[-I ωs t] -> x2[t]};
Simplify@Solve[{eq11 /. sub, eq22 /. sub}, {x1[t], x2[t]}]


Made it all Greek letters. Thanks to Halirutan's program and Simon letting me know about it.

• @chris I know. I'd like to use Greek letters, but then when pasting here it becomes hard to read. I do not know how to paste Greek letters here as is as they becomes all \[ etc.... May 2, 2014 at 19:58
• @Nasser, you need Halirutan's awesome magic buttons May 2, 2014 at 20:01
• @SimonWoods thanks, did not know about this, will try it now to see if I can change it to use Greek letters. It will look better. May 2, 2014 at 20:03
• @SimonWoods I need it too! I typed all the greek symbols myself !@ May 2, 2014 at 20:09
• Many thanks Nasser! May 3, 2014 at 13:26