I am trying to model a locomotive in Simulink based on this simple equation: $$\sum F=F_{engine}-\mu mgv$$ or $$a=\frac{F-\mu mg v}{m}$$

The second term is the rolling friction force. Together, the two made up the net force the locomotive is experiencing.

My problem is that my loco accelerate from 0 to 40 mph in just 3 secs. I want to slow down the acceleration but still have the loco reach say, 40 mph. I tried to achieve this by lowering the engine force or increasing $\mu$ or $m$. But the loco accelerated just as fast as before but settled at a lower velocity.

This is what I am getting in Simulink after dialing up the coefficient of friction. Instead of reaching 40 mph, the locomotive stops speeding up at 5mph. It accelerated from 0 mph to 5 mph in under 1 seconds.

enter image description here

enter image description here


I tried to achieve this by lowering the engine force or increasing $\mu$ or $m$. But the loco accelerated just as fast as before but settled at a lower velocity.

These things you describe obviously makes the decay happen faster if applied individually. Both of these things makes the friction force larger than the driving force, so of course you settle to equilibrium faster and to a lower equilibrium. You need to take a step back and figure out how to describe your velocity over time.

You are essentially looking at the solution to a differential equation:

$$\dot v=\frac Fm-\mu gv$$ with initial condition $$v(0)=0$$

whose solution is then $$v(t)=\frac{F}{\mu mg}\left(1-e^{-\mu gt}\right)$$

Note that your time constant of the exponential decay is $$\tau=\frac1{\mu g}$$ and the equilibrium velocity is then $$v_{\text{eq}}=\frac{F}{\mu mg}=\frac{F\tau}{m}$$

Therefore, if you want to change the time constant without changing the equilibrium, you need to change either $F$ or $m$ accordingly. For example, if you want a longer time constant you can multiply $\mu$ by some factor $\gamma<1$, but then you would either need to also multiply $F$ by $\gamma$ as well, or divide $m$ by $\gamma$ to keep the equilibrium velocity the same. (Or you could do a mixture, like multiply $F$ by $\gamma^p$ and divide $m$ by $\gamma^{1-p}$).

Relating back to my critique from the beginning of the answer, this method allows us to lower the friction force by multiplying $\mu$ by $\gamma<1$. This by itself would cause a larger equilibrium velocity. But then we can compensate by either also lowering the applied force ("equating" the forces back to their balance before), or by raising the mass, thus still achieving the same balance. Note that you need to change multiple variables at once to get your desired outcome.

  • $\begingroup$ Wow, fantastic insights. I have never looked at kinematics through the lens of differential equations. $\endgroup$ – El Lago Jul 15 at 16:31
  • $\begingroup$ @ElLago Glad I could help. Please always up-vote any useful answers and select answers as accepted if they sufficiently answer the question $\endgroup$ – Aaron Stevens Jul 15 at 16:33
  • $\begingroup$ I have a question though. With supercars, you don't change $\mu$-you just have more power, a bigger F. How do they accelerate faster or have a smaller time constant if F doesn't make up the time constant? $\endgroup$ – El Lago Jul 15 at 16:47
  • $\begingroup$ @ElLago $F$ does influence the acceleration, as shown in your equation for $a$. As for the other stuff, if you have actual data showing that different forces do give rise to different time constants then your model is not completely accurate. What you are looking at here is probably the simplest model you could have. $\endgroup$ – Aaron Stevens Jul 15 at 16:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.