I do not know how to code. The most complex actually working code that I have written is 48 lines of Python that implement a train performance calculator that, before coding it, I would just run using a couple of Wolfram Alpha formulas. Here is a zipped version of the program. You can download Python 2.7 and run it there; there may also be online applets, but the one I tried doesn’t work well.
You’ll get a command line interface into which you can type various commands – for example, if you put in 2 + 5 the machine will natively output 7. What my program does is define functions relevant to train performance: accpen(k,a,b,c,m,x1,x2,n) is the acceleration penalty from speed x1 m/s to speed x2 m/s where x1 < x2 (if you try the other way around you’ll get funny results) for a train with a power-to-weight ratio of k kilowatts per ton, an initial acceleration rate of m m/s^2, and constant, linear, and quadratic running resistance terms a, b, and c. To find the deceleration penalty, put in decpen, and to find the total, either put in the two functions and add, or put in slowpen to get the sum. The text of the program gives the values of a, b, and c for the X2000 in Sweden, taken from PDF-p. 64 of a tilting trains thesis I’ve cited many times. A few high-speed trainsets give their own values of these terms; I also give an experimentally measured lower air resistance factor (the quadratic term c) for Shinkansen. Power-to-weight ratios are generally available for trainsets, usually on Wikipedia. Initial acceleration rates are sometimes publicly available but not always. Finally, n is a numerical integration quantity that should be set high, in the high hundreds or thousands at least. You need to either define all the quantities when you run the program, or plug in explicit numbers, e.g. slowpen(20, 0.0059, 0.000118, 0.000022, 1.2, 0, 44.44, 2000).
I’ve used this program to find slow zone penalties for recent high-speed rail calculations, such as the one in this post. I thought it would not be useful for regional trains, since I don’t have any idea what their running resistance values are, but upon further inspection I realized that at speeds below 160 km/h resistance is far too low to be of any consequence. Doubling c from its X2000 value to 0.000044 only changes the acceleration penalty by a fraction of a second up to 160 km/h.
With this in mind, I ran the program with the parameters of the FLIRT, assuming the same running resistance as the X2000. The FLIRT’s power-to-weight ratio is 21.1 in Romandy, and I saw a factsheet in German-speaking Switzerland that’s no longer on Stadler’s website citing slightly lower mass, corresponding to a power-to-weight ratio of 21.7; however, these numbers do not include passengers, and adding a busy but not full complement of passengers adds mass to the train until its power-to-weight ratio shrinks to about 20 or a little less. With an initial acceleration of about 1.2 m/s^2, the program spits out an acceleration penalty of 23 seconds from 0 to 160 km/h (i.e. 44.44 m/s) and a deceleration penalty of 22 seconds. In videos the acceleration penalty appears to be 24 seconds, which difference comes from a slight ramping up of acceleration at 0 km/h rather than instant application of the full rate.
In other words: the program manages to predict regional train performance to a very good approximation. So what about some other trains?
I ran the same calculation on Metro-North’s M-8. Its power-to-weight ratio is 12.2 kW/t (each car is powered at 800 kW and weighs 65.5 t empty), shrinking to 11.3 when adding 75 passengers per car weighing a total of 5 tons. A student paper by Daniel Delgado cites the M-8’s initial acceleration as 2 mph/s, or 0.9 m/s^2. With these parameters, the acceleration penalty is 37.1 seconds and the deceleration penalty is 34.1 seconds; moreover, the paper show how long it takes to ramp up to full acceleration rate, and this adds a few seconds, for a total stop penalty (excluding dwell time) of about 75 seconds, compared with 45 for the FLIRT.
In other words: FRA-compliant EMUs add 30 seconds to each stop penalty compared with top-line European EMUs.
Now, what about other rolling stock? There, it gets more speculative, because I don’t know the initial acceleration rates. I can make some educated guesses based on adhesion factors and semi-reliable measured acceleration data (thanks to Ari Ofsevit). Amtrak’s new Northeast Regional locomotives, the Sprinters, seem to have k = 12.2 with 400 passengers and m = 0.44 or a little less, for a penalty of 52 seconds plus a long acceleration ramp up adding a brutal 18 seconds of acceleration time, or 70 in total (more likely it’s inaccuracies in data measurements – Ari’s source is based on imperfect GPS samples). Were these locomotives to lug heavier coaches than those used on the Regional, such as the bilevels used by the MBTA, the values of both k and m would fall and the penalty would be 61 seconds even before adding in the acceleration ramp. Deceleration is slow as well – in fact Wikipedia says that the Sprinters decelerate at 5 MW and not at their maximum acceleration rate of 6.4 MW, so in the decpen calculation we must reduce k accordingly. The total is somewhere in the 120-150 second range, depending on how one treats the measured acceleration ramp.
In other words: even powerful electric locomotives have very weak acceleration, thanks to poor adhesion. The stop penalty to 160 km/h is about 60 seconds higher than for the M-8 (which is FRA-compliant and much heavier than Amfleet coaches) and 90 seconds higher than for the FLIRT.
Locomotive-hauled trains’ initial acceleration is weak that reducing the power-to-weight ratio to that of an MBTA diesel locomotive (about 5 kW/t) doesn’t even matter all that much. According to my model, the MBTA diesels’ total stop penalty to 160 km/h is 185 seconds excluding any acceleration ramp and assuming initial acceleration is 0.3 m/s^2, so with the ramp it might be 190 seconds. Of note, this model fails to reproduce the lower acceleration rates cited by a study from last decade about DMUs on the Fairmount Line, which claims a 70-second penalty to 100 km/h; such a penalty is far too high, consistent with about 0.2 m/s^2 initial acceleration, which is far too weak based on local/express time differences on the schedule. The actual MBTA trains only run at 130 km/h, but are capable of 160, given long enough interstations – they just don’t do it because there’s little benefit, they accelerate so slowly.
Unsurprisingly, modern rail operations almost never buy locomotives for train services that are expected to stop frequently, and some, including the Japanese and British rail systems, no longer buy electric locomotives at all, using EMUs exclusively due to their superior performance. Clem Tillier made this point last year in the context of Caltrain: in February the Trump administration froze Caltrain’s federal electrification funding as a ploy to attack California HSR, and before it finally relented and released the money a few months later, some activists discussed Plan B, one of which was buying locomotives. Clem was adamant that no, based on his simulations electric locomotives would barely save any time due to their weak acceleration, and EMUs were obligatory. My program confirms his calculations: even starting with very weak and unreliable diesel locomotives, the savings from replacing diesel with electric locomotives are smaller than those from replacing electric locomotives with EMUs, and depending on assumptions on initial acceleration rates might be half as high as the benefits of transitioning from electric locomotives to EMUs (thus, a third as high as those of transitioning straight from diesels to EMUs).
Thus there is no excuse for any regional passenger railroad to procure locomotives of any kind. Service must run with multiple units, ideally electric ones, to maximize initial acceleration as well as the power-to-weight ratio. If the top speed is 160 km/h, then a good EMU has a stop penalty of about 45 seconds, a powerful electric locomotive about 135 seconds, and a diesel locomotive around 190 seconds. With short dwell times coming from level boarding and wide doors, EMUs completely change the equation for local service and infill stops, making more stops justifiable in places where the brutal stop penalty of a locomotive would make them problematic.