Solution to the differential equation describing a mass-spring-damper

  1. What is the general solution to the differential equation describing a mass-spring-damper?

    x= extension of spring
    K=Spring Constant
    C=Damping Constant
    g= acceleration due to gravity

    Spring has 0 length under 0 tension
    Spring has 0 extension at t = 0

    If the Force downwards due to the mass equals:

    Force downwards = M*g

    And this is opposed by tension in the spring:

    Force upwards = - K*x

    And there is a 3rd force acting on the system caused by the damper. This allways acts in the opposite direction as velocity.

    Force = - C*(dx/dt) //because damping is proportional to velocity.

    So the overall force acting on the mass equals:

    Net Force = M*g - K*x - C*(dx/dt)

    This net force causes an acceleration in the direction of the force:
    F=Ma so...

    M*(d2x/dt2) = M*g - K*x - C*(dx/dt)

    \\you can see that this will oscillate, because when x is 0 the acceleration will be positive, when M*g= K*x + C*(dx/dt), the acceleration will be 0, and then become negative, and then the velocity will become 0, and then negative, and then the x will become 0 again, and it will repeat.

    So the differential equation describing this system is:

    M*(d2x/dt2) + C*(dx/dt) + K*x = Mg


    This is a second order linear non homogeneous differential equation.
    where g(t) is a constant.

    Now my question is, how do I solve it for x?

    I tried using the undetermined coefficients method, but I do not get an equation that implies that x is oscillating. Shouldn't I get a sin or cos somewhere in the answer?

    Here is what I tried:

    corresponding Homogeneous Equation:


    characteristic equation = M*(r^2) + C*r + K

    General solution to the homogeneous equation:

    q=(-C-SQRT((C^2)-4*M*K))/2M //from the quadratic equation

    Now to calculate the particular solution:


    The right hand side is a polynomial of degree 0. try a polynomial as the solution

    x=Ax^2 + Bx + C
    x'=2Ax +B

    Sub these in to the differential equation and you end up with:


    So the general solution to the differential equation is:

    x(t) = C1(e^pt)+C2(e^qt) + Mg/K

    This can't be correct, because x should oscillate over time.
    C1, C2, p, q, ang Mg/K are all constants so this equation does not describe an oscillation.

    Where did I go wrong?

  2. jcsd
  3. Wow... Just realised how big that question is. Let me summarise for those who can't be bothered reading it.

    What is the solution to this second order linear non homogeneous differential equation?

    M*(d2x/dt2) + C*(dx/dt) + K*x = Mg

    My answer is:

    x(t) = C1(e^pt)+C2(e^qt) + Mg/K

    But this is obviously wrong because it does not describe oscillations.
  4. haruspex

    haruspex 16,062
    Science Advisor
    Homework Helper
    Gold Member
    2014 Award

    It will if p is complex, no?
  5. K^2

    K^2 2,470
    Science Advisor

    Damped Harmonic Oscillator.

    1) Verify that if x(t) is solution to homogeneous DHO of the form x''+2ζωx'+ω²x=0, then x(t)+c is a solution of inhomogeneous DHO of the form x''+2ζωx'+ω²x=c. (The only requirement here is that the differential equation is linear.)

    2) Realize that for your problem, c=Mg/k.

    3) Use information on DHO from the article and other sources to help you find a solution.

    (haruspex is certainly not wrong, by the way. But you'll hopefully figure it out.)
  6. Ahh interesting... So because p and q are:


    The system will only oscillate If (4*M*K) > (C^2) ?

    This makes sense, because C is the damping coefficients, and damping reduces oscillations.

    Is this correct?
    Last edited: Dec 11, 2012
  7. Thank you for the link and information. All very helpful, however I cannot see how my equation:


    can become


    If I try,

    x''+ C/Mx' + K/Mx = g

    And then I get stuck here
  8. K^2

    K^2 2,470
    Science Advisor

    Hah. Sorry. My bad. You need to take coefficient of x to unity, rather than that of x'' for the equilibrium position to become obvious.

    Let me explain this from the beginning. Suppose you have a general inhomogeneous second order linear differential equation.

    ax'' + bx' + cx = d

    So lets say x is some solution of the inhomogeneous equation and y is solution to corresponding homogeneous equation.

    ay'' + by' + cy = 0

    Then the function (x+y) is a solution to the inhomogeneous equation as well.

    a(x+y)'' + b(x+y)' + c(x+y) = ax'' + ay'' + bx' + by' + cx + cy = (ax'' + bx' + cx) + (ay'' + by' + cy) = d + 0 = d

    The DHO article gives you general solution to homogeneous equation. You construct the inhomogeneous equation as you've done correctly. With DHO coefficients it looks like this.

    x'' + 2ζωx' + ω²x = g

    Now, we need just one solution. So we go after a trivial one. x = constant. That gives you x' = 0 and x'' = 0. In other words.

    ω²x = g

    Since ω² = m/k, this gives you x = mg/k, which is what you want. So the general solution to your diff eq is the general solution of DHO + mg/k.

    This will agree with your solution once you compute p and q, but it might not be immediately obvious.
  9. Okay I'm starting to get this more now. Thank you for your time and help it is very much appreciated. This website and its users are amazing and I hope to return the favour once I am of a level where I am confident enough to answer other peoples posts :)

    I have just one more question, then I should get this:

    so I derived the differential equation describing the DHO

    Mx'' + Cx' + Kx = Mg

    Mg is a constant so I will call it F

    Mx'' + Cx' + Kx = F

    This is also the input to the system. (The input of this system is constant. It comes from the weight of the mass itself)
    So I can write the system as

    Mx'' + Cx' + Kx = F(t)

    Put this in the standard form of a second order system. (use DHO coefficients)

    x'' + (C/M)x' + (k/M)x = (1/M)F(t)
    x'' + 2ζωx' + ω²x = AF(t)
    2ζω = C/M
    ω² = K/M
    and the steady sate gain A = 1/M

    so this means as time tends to infinity x should = steady state gain * input


    however this is not true, from simulations I have seen that the steady state value equals Mg/K

    so that means that the steady state gain is 1/K, not 1/M

    The general form of a second order diff eq is deffinatley

    x'' + 2ζωx' + ω²x = Au(t)

    u(t) is the input and A is the steady state gain, so why does this not work?

    If I solve the diff eq I get

    X(t) = e^ut * ( C1e^(vjt) + C2e^(-vjt)) +Mg/K
    v=(SQRT|C^2 - 4MK|)/2M

    Because u is always negative at t approaches infinity, e^ut approaches zero, so the steady state value of x is


    So this works, so why does the standard form of the DHO equation lie?
    Last edited: Dec 12, 2012
  10. haruspex

    haruspex 16,062
    Science Advisor
    Homework Helper
    Gold Member
    2014 Award

    ω²x = (1/M)F
Know someone interested in this topic? Share this thead via email, Google+, Twitter, or Facebook

Have something to add?
Similar discussions for: Solution to the differential equation describing a mass-spring-damper