What this calculator does
Everything a locomotive can do on a grade comes down to one comparison: the tractive effort at the rail against the sum of the forces holding the train back. This calculator resolves that sum into its three parts — grade, curve and rolling resistance — reports each in kilonewtons and as a specific resistance in newtons per tonne, and then inverts the problem to give the answer people actually want: how much trailing load one consist can hold at steady speed on that grade.
It also does the adhesion check the load figure is meaningless without: a traction curve will happily promise 700 kN, but whether the wheels can transmit it depends on the adhesive weight under them and the state of the rail.
The formula
Three resistances, all expressed per tonne so they can be added and then scaled by the train mass.
Grade resistance is just the component of weight along the rail:
R_g = W · sin θ = M · g · sin θ ≈ M · g · (G / 100)
r_g = 98.0665 × G N per tonne, for a gradient of G %
Railway gradients are rise over distance travelled, so sin θ ≈ tan θ ≈ G/100. At 4 % the small-angle error is 0.08 % — orders of magnitude inside the uncertainty in the rolling-resistance coefficients. With g = 9.80665 m/s², one percent of grade costs 98.07 N/t, which is the SI statement of the North American rule of thumb that a 1 % grade is worth 20 lb per ton.
Curve resistance has no closed-form solution. Flange contact, longitudinal creep and the differential rolling radius between the two rails all contribute, and every railway uses an empirical fit. All the common fits go inversely with radius, so this tool expresses the curve as an equivalent grade you can simply add to the profile:
G_c = K / R G_c in %, R in metres, K in %·m
K = 70 %·m is the default because it reproduces the classic 0.04 % of equivalent grade per degree of curve: with the arc definition D ≈ 1746 / R(m), 0.04 × D = 69.9 / R. It also sits inside the Röckl-type C/(R − a) family used in Europe — at R = 400 m, 70/400 = 0.175 % (17.2 N/t) against Röckl’s 650/(400 − 55) = 1.88 ‰ (18.5 N/t). Both are fits, not physics; K is a user input for that reason, and the tool warns below about 150 m radius where the form under-reads.
Rolling resistance uses the Davis form, with the coefficients supplied by you:
r_r = A + B·V + C·V² N per tonne, V in km/h
The coefficients are deliberately not built in: published sets differ by stock type, train length, axle load, bearing type, tunnel factor and country, and a hardcoded national formula would be wrong everywhere else. The defaults are generic freight figures for orientation only — substitute the set your operator or rolling-stock supplier publishes.
Add the three and the haulage limit follows directly. The train runs at steady speed while
F_TE ≥ M_total × r_total / 1000 F in kN, M in t, r in N/t
M_total(max) = 1000 × F_TE / r_total
M_trail(max) = M_total(max) − M_loco
and the wheels can only transmit F_adh = μ · M_loco · g.
Reading the result
Total resistance is the effort required to hold the train at constant speed — no acceleration, no wind, no tunnel. If your available effort matches it exactly, that speed is the balancing speed on this grade.
Resistance per tonne is the number to carry between problems: it is independent of train mass, so it is what you compare across routes and what a load table is really tabulating.
Maximum trailing load likewise depends only on the effort and the specific resistance, not on the mass you entered. Change the train mass and the force outputs scale, but the trailing-load answer does not move. That is the point — it tells you what to marshal, not what you already have.
Equivalent (compensated) gradient is the tangent-track grade that would cost the same as this grade plus this curve. It is what “grade compensation” means in practice: if the ruling grade of a section is 1.0 % and a 800 m curve sits on it, the curve is worth another 0.0875 %, so the surveyed grade through the curve should be eased to about 0.91 % to keep the section’s ruling resistance constant.
Typical values
Ruling grades on main lines are commonly 0.5–1.5 %, and heavy-haul routes are usually held below 1 % in the loaded direction — a 1 % grade costs 98 N/t against a running resistance of typically 10–20 N/t, so grade is not one term among several, it is the term.
Adhesion-worked mountain lines reach 3–4 %; beyond about 4 % railways move to rack, cog or cable assistance and braking becomes the governing case. Adhesion coefficients of 18–30 % are realistic on dry rail with modern creep control and sanding; wet, greasy or leaf-contaminated rail can halve that, which is why the value is an input and not a constant.
Generic freight Davis sets fall around A = 4–9 N/t, B = 0.03–0.15 N/t per km/h and C = 0.0008–0.006 N/t per (km/h)², the aerodynamic term being much larger for short, light or open-topped trains. These coefficients are only meaningful in the units they were fitted in: if your source is in lbf per short ton, multiply by 4.9033 to get N/t, and re-fit B and C for km/h rather than mph before entering them.
Worked example
A 4000 t train — 3 locomotives of 130 t each plus 3610 t trailing — climbing a 1 in 100 (1.0 %) ruling grade at 40 km/h, with an 800 m radius curve on the grade. Davis coefficients A = 6, B = 0.08, C = 0.0025 N/t. The traction curves give 500 kN at 40 km/h, and 25 % adhesion is assumed.
The curve is worth 70 / 800 = 0.0875 %, so the equivalent gradient is 1.0875 %. Per tonne:
r_g = 98.0665 × 1.0 = 98.0665 N/t
r_c = 98.0665 × 0.0875 = 8.5808 N/t
r_r = 6 + 0.08×40 + 0.0025×1600
= 6 + 3.2 + 4.0 = 13.2 N/t
r_tot = 119.847 N/t
At 4000 t that is 392.3 kN of grade resistance, 34.3 kN of curve resistance and 52.8 kN of rolling resistance — 479.4 kN in total. The grade alone is 82 % of it.
The trailing load follows:
M_total(max) = 1000 × 500 / 119.847 = 4171.97 t
M_trail(max) = 4171.97 − 390 = 3781.97 t
so the 3610 t behind the locomotives leaves about 172 t of margin. The adhesion check gives 390 × 9.80665 × 0.25 = 956.1 kN, and 500 kN is 52 % of that — comfortable, and the reason this consist is power-limited rather than adhesion-limited at 40 km/h.
FAQ
Why is the maximum trailing load unaffected by the train mass I entered? Because it is derived from tractive effort and resistance per tonne, both of which are mass-independent. The train mass only scales the force outputs. Enter your actual train to see the forces; read the trailing-load figure to see what the consist could take.
Should I use starting tractive effort or continuous? Continuous effort at the speed you are checking, read off the traction curve. Starting effort answers a different question — restarting from rest on the grade — and that needs a starting-resistance allowance (several times the running value in cold weather, as bearings and lubricant break away) plus a drawgear check on the front coupling.
Does this account for the train being on more than one grade at once? No. A long train straddling a summit has different resistances on different portions, and the correct treatment is to integrate along the profile. This tool answers the ruling-grade case: the whole train on the worst section. Enter rising grades only — on a falling grade the grade term accelerates the train and the governing question becomes braking, not traction.
My network publishes its own curve-resistance table — can I still use this?
Yes. Take one tabulated value, multiply it by its radius, and enter the product as K. A table giving 0.14 % at 500 m implies K = 70 %·m; one giving 0.12 % at 500 m implies K = 60 %·m.
This tool provides indicative figures for route planning, feasibility work and checking. Ruling loads for operational use must be confirmed against the traction curves, load tables, brake-force rules and operating standards applicable to your network.