Resistance Setting

Aim - this section describes the settings that can be applied to Open Rails WAG and ENG files for "optimal" resistance settings.

If you wish to provide any feedback or suggest corrections, please use the Contact page. Please provide appropriate references.

To calculate some of the standard resistance settings it is recommended that FCalc is used. This will make the calculations easier.


Introduction to Resistance

        General resistance (on straight and level track)

        Impact of Wheel Bearing Temperature Rise on Resistance

        Wind resistance

        Grade resistance

        Acceleration resistance

        Tunnel resistance

        Trailing Locomotive resistance

Key Resistance Parameters for inclusion in Wagon files

Sample Code for inclusion in Wagon files

Useful References

Introduction to Resistance

In steam days train resistance was expressed in pounds per ton (be aware of whether it is US or UK tons). The train resistance then needed to be overcome by the tractive effort produced by the locomotive to move the train.

It was made up of the following elements:

  • General resistance (typically on a straight level track)
  • Grade resisitance
  • Curve resistance
  • Acceleration resistance
  • Tunnel resistance
General resistance (on straight and level track)

General resistance is made up of the following elements:

a). Bearing resistance - which in more modern stock, typically post 1970 was roller bearing, whereas older stock (varied from country to country) typically had journal bearings (named resistance bearings by the roller bearing companies). Typically roller bearings had a lot lower values of resistance then journal type bearings, but were more expensive.

b). Air Resistance - was the resistance force that the train needed to exert to overcome the resistance of the air.

c). Miscellaneous - resistance due to concussion, oscillation, flange resistance and the rolling of wheels on rails.

W. J. Davis, Jr. became famous for correlating a large mass of data and deriving a series of formulas to model the effects of resistance.

These formulas take the following form:

Train resistance = A + B * V + C * V^2

Where the ABC values are known as the Davis co-efficients, and the V values are the speed of the train.

For a more detailed description refer to this page.

Application in OR

The correct application of resistance in Open Rails (OR) is critical to ensure a high degree of accuracy in the performance of the train being modelled.

If test values are available from the relevant railway company in regard to the stock being configured, then they should always be used in preference to the default values suggested below.

When relevant values are not readily available, then the table below can be used to get a good approximation. It should be noted that the categorises identified in the table below are indicative only, and should only be used as a guide.

Operating Speed

Track Type (Condition)

Vehicle Type


Suggested Formula

Freight Wagons

40mph to 50mph

Track flexible (wooden sleepers), light weight track, numerous track joints

Journal bearing, older style design

Pre 1950

Original Davis Formula

40mph to 50mph

Track semi-rigid, heavier weight track, longer rail sections

Roller bearing, older design

Post 1950

Davis Formula - 1970

> 75mph

Track rigid (concrete sleepers), welded rail

Roller bearing, modern design

Post 1990

Davis Formula - 1992 Canadian National

Passenger Stock

< 60mph

Track flexible (wooden sleepers), light weight track, numerous track joints

Journal bearing, older style design, light weight, minimal streamlining

Pre 1960

Original Davis Formula

60mph to 125mph

"Track rigid (concrete sleepers), welded rail"

"Roller bearing, modern design, significant streamlining"

Post 1960

Davis Formula - 1992 Canadian National

> 125mph

High Speed Design


All eras

As per manufacturers figures


All speeds

Track flexible (wooden sleepers), light weight track, numerous track joints

Standard Design - Steam Locomotive (journal bearing)

All eras

Original Davis Formula (plus mechanical resistance)

60mph to 125mph

Track semi-rigid, heavier weight track, longer rail sections

Standard design (early)

Pre 1970

Original Davis Formula

> 125mph

Track rigid (concrete sleepers), welded rail

Standard design (modern)

Post 1970

Davis Formula - 1992 Canadian National

For higher speed stock, ie over 50mph, you may want to read this section on air drag, but be wary adjusting these figures.

By default Open Rails accepts Davis values in the metric units of Newtons, and is based upon speed values in metres/second. FCalc will produce values that conform with this standard, and can be entered directly into the WAG or ENG file. Therefore, unless you have access to a published ABC values, it is recommended that FCalc be used as the default calculation.

Great care should be taken when studying resistance formula from different sources, as they may have different units of measure. Some formula might be based upon speeds in mph, kmh or m/s. Similarly the resistance value calculated can also be in lbs/ton, kg/tonne, or N/tonne. Therefore the ABC values may need to be converted to values that will be accepted by Open Rails (ie N, Nm/s, N(m/s)2).

Note: For steam locomotives, it is suggested that the combined locomotive and tender resistance be calculated, as if one unit, and then proportion the Davis values across the two files.

To customise Open Rails the following parameters may be entered in the Wagon section of the WAG or ENG file.

ORTSBearingType ( x )
ORTSDavis_A ( y )
ORTSDavis_B ( y )
ORTSDavis_C ( y )

Where x is the relevant bearing type, and y is the value calculated by the FCalc tool or from published information, as described on the Resistance Calculation page.

Starting Resistance

Starting resistance is automatically calculated in OR, based upon the ORTSBearingType ( x ) specified by the user.

As part of its calculations Open Rails determines the axle loading for each wagon, therefore it is important to ensure that the number of axles entered in the ORTSNumberDriveAxles and ORTSNumberAxles parameters are correct. For passenger and freight stock the correct value is entered in the wagon section of the WAG file. For locomotives the correct value is entered in the engine section of the ENG file, along with the correct ORTSDriveWheelWeight value. Similarly the respective WheelRadius parameters should be set correctly.

OR uses information described in the Starting Resistance section to calculate the relevant values.

Impact of Wheel Bearing Temperature Rise on Resistance

The temperature of the wheel bearing is influenced by many factors, including the type of bearing, ambient temperature, type of lubrication, etc. To accurately model all the different factors involved is extremely complex, and therefore Open Rails (OR) has instead used a representative bearing heat model to simulate the typical outcomes for bearing temperature heating or cooling effects.

Features provided by the OR wheel bearing heating model include:

  • Bearing heats up and cools down as the train moves and stops.
  • Bearing resistance in cold weather is significantly higher then when the bearing is at its 'normal' operating temperature. Typically railway companies elected to reduce loads for trains in cold conditions. The OR model will reduce the car resistance as the bearing heats up, and it will increase resistance as the bearing cools down.
  • OR has a built in temperature model to determine the ambient temperature. The ambient temperature is calculated based upon a world model of the average temperatures at various latitudes. OR will use the latitude of the route to calculate the ambient temperature. As ambient temperature also decreases with height above sea level, OR takes this into account as well, and varies the temperature accordingly.
  • Depending upon the ActivityRandomizationLevel setting in the Option menu, an overheating bearing (hotbox) may be randomly initialized on any trailing car in the train (locomotives and tenders are excepted from overheating bearings). The Hotbox will be activated randomly within the first 66% of the activity duration. So for example, in an activity with a 20 minute duration, a hotbox will only be activiated in the first 12 minutes of the activity, if it has been initialised.

OR will provide a warning message if the bearing starts to overheat.

A special smoke effect can be added to the adjacent to the wagon hot box. This will be triggered if the bearing overheats. See information on the BearingHotboxFX parameter as descibed on the Visual Effects page.

For a more detailed description refer to this page.

Wind resistance

This is the additional resistance encountered by a train when a wind is blowing.

Open Rails automatically calculates this resistance.

Application in OR

Open rails has a built in wind generation model which develops winds with different directions and wind speeds. The model is randomly initialised when OR first starts, and currently the wind speed and direction are limited to prevent excessive variation of the wind. The current wind conditions will be displayed on the FORCES HUD in OR. Calculation of the wind resistance is based upon the cross sectional area of the car found by calculation from the Size statement, and the standard default Drag constants used in the original Davis formula.

OR Parameters

To customise Open Rails the following parameters may be entered in the Wagon section of the WAG or ENG file.

ORTSWagonFrontalArea ( x )
ORTSDavisDragConstant ( x )

Where x is either an area parameter or constant respectively (Note: This constant needs to be the imperial constant, rather then the one used with a metric implementation). Ideally these should be the same values that were used in calculating the Drag value in the Davis formula from the previous section.

For a more detailed description refer to this page.

Grade resistance

This was the additional resistance encountered by a train climbing a grade. It was typically related to the weight of the train.

Open Rails automatically calculates this based upon the weight of the wagon.

For a more detailed description refer to this page.

Curve resistance

Curve resistance was the additional resistance that a train experienced as it negotiated a curve.

Curve resistance was impacted by a number of factors, including the sharpness of the curve, and the wheelbase of the wagon. The sharper the curve and the longer the rigid wheelbase of the rolling stock the higher the frictrional force.

For a more detailed description refer to this page.

Open Rails models curve resistance, and for maximum accuracy, wagon parameters need to be entered.

Application in OR

Open Rails models this function, and the user may elect to specify the known wheelbase parameters, or the above "standard" default values will be used.

OR calculates the equilibrium speed in the speed curve module, however it is not necessary to select both of these functions in the simulator options Menu. Only select the function desired.

By studying the "Forces Information" table in the HUD, you will be able to observe the change in curve resistance as the speed, curve radius, etc vary.

OR Parameters

To customise Open Rails the following parameters may be entered in the Wagon section of the WAG or ENG file.

ORTSRigidWheelBase ( x y )
ORTSTrackGauge ( x y) (also used in curve speed module)
CentreOfGravity ( x y z ) (also used in curve speed module)

Where x, y & z are distance parameters in valid OR distance values.

Example use is as below.

ORTSRigidWheelBase ( 0.0ft 3.0in )
ORTSTrackGauge ( 4.0ft 8.5in)
CentreOfGravity ( 0m 2.28m 0m )

Open Rails uses 'standard' track superelevation design values as a basic standard default. It is possible to specify values of of SuperElevation for different track curve radii within the Route. For more detailed information on how to do this in OR refer to Track SuperElevation.

To see how each of these parameters impacts upon the maximum allowable speed around a curve refer to the calculators shown on the Curve Speed Test page.

OR Default

The above values can be entered into the relevant files, or alternatively if they are not present, then OR will use default values as described below.

Rigid Wheelbase - as a default OR uses the figures shown above in the "Typical Rigid Wheelbase Values" section.

Starting curve resistance value has been assumed to be 200%, and has been built into the speed impact curves.

OR calculates the curve resistance based upon actual wheelbases provided by the player or the appropriate defaults. It will use this as the value at "Equilibrium Speed", and then depending upon the actual calculated equilibrium speed (from the speed limit module) it will factor the resistance up as appropriate to the current train speed.

Steam locomotive wheelbase approximation - the following approximation is used to determine the default value for the fixed wheelbase of a steam locomotive.

WheelBase = 1.25 * (axles - 1) * DrvWheelDiameter
Acceleration resistance

Acceleration resistance is equal and opposite to the force necessary to produce acceleration from one speed to another over a known distance or time.

Tunnel resistance

When a train goes through a tunnel, it meets resistance as it "pushes" a column of air through the tunnel. This effect is more pronounced for high speed trains, and will be impacted by the size of the tunnel, and the aerodynamics of the train.

For a more detailed description of tunnel resistance refer to this page.

Application in OR

To enable this capability it is necessary to select the "Tunnel Resistance" option on the Open Rails Menu. The implication of tunnel resistance is designed to model the relative impact, and does not take into account multiple trains in the tunnel at the same time.

The default tunnel profile is determined by the route speed recorded in the TRK file.

OR Route Parameters

Open Rails has basic default tunnel design parameters included as standard. However if desired, the route modeller may override these by including specifc tunnel parameters for the route in question.

To insert these values in the Route see the Tunnel Resistance settings for more details and the test route for an example implementation.

OR Defaults

OR uses the following standard defaults

i) Tunnel Perimeter

Route Speed

Single Track

Double Track

< 160 km/h

21.3 m

31.0 m

160 < 200 km/h

25.0 m

34.5 m

200 < 250 km/h

28.0 m

35.0 m

250 < 350 km/h

32.0 m

37.5 m

ii) Tunnel Cross Sectional Area

Route Speed

Single Track

Double Track

< 120 km/h

27.0 m2

45.0 m2

< 160 km/h

42.0 m2

76.0 m2

200 km/h

50.0 m2

80.0 m2

250 km/h

58.0 m2

90.0 m2

350 km/h

70.0 m2

100.0 m2

Trailing Locomotive resistance

The Davis formulas for level track allocate the majority of drag resistance to the leading locomotive, as it is to be expected that this unit will present the greatest resistance to the movement through STILL air. Following cars or locomotives will not present as great a resistance, and hence it can be expected that the drag coefficient applied in the calculation of the R3 value will be less.

As an ENG file typically only allows for the calculation of one set of resistance values, OR automatically reduces the R3 value of resistance for any locomotives that are located in the consist. The calculation is based upon the ratio of a trailing freight car to locomotive drag constant, and is typically 0.005 / 0.0024 = 0.2083. The user may specify an alternate value using the following parameter.

ORTSTrailLocomotiveResistanceFactor ( x )

Where x is a constant value.

Depending upon how the resistance has been calculated for a tender, it may be necessary to add this parameter to the tender WAG file as well. This will typically apply where the steam locomotive and tender resistance has been calculated as a combined value, and pro-rata across the two units (recommended).


For more detailed information refer to the links below.

Key Resistance Parameters for inclusion in Wagon files

The key parameters that impact upon the resistance and resistance performance of a train are described on the following web page.

Standard Resistance Parameters for WAG and ENG files (updated Sept 2018)


Sample Code for inclusion in Wagon files

Typically the lines shown in red text are the only ones that would need to be changed on individual wagons. There are some subtle differences between wagons and locomotives.

Comment ( *** Resistance *** )
ORTSBearingType ( Roller )

Comment (Type: Steam - Standard, Speed: 100km/h, Axles: 6, Bearings; Roller, Area: 10m2, Weight: 65.0t tons metric, DrvWeight: 42.0 tons metric, Drag: 1 )
ORTSDavis_A ( 8084.8 )
ORTSDavis_B ( 23.0335 )
ORTSDavis_C ( 5.796 )

Comment ( *** Wind Resistance *** )
ORTSWagonFrontalArea ( 120.0ft^2 )
ORTSDavisDragConstant ( 0.0024 )
ORTSTrailLocomotiveResistanceFactor ( 0.20833 )

Comment ( *** Curve Resistance and SuperElevation *** )
CentreOfGravity ( 0m 2m 0m )
ORTSTrackGauge ( 4ft 8.5in )
ORTSRigidWheelbase ( 0.0ft 56in )
ORTSUnbalancedSuperelevation ( 6in )


ORTSWagonFrontalArea - When calculating the frontal area of a car a profile similiar to the diagram below should be used.

Frontal Area

ORTSDavisDragConstant - this value should be the same value that was used to calculate the C value in the Davis formula. Typically it is of the form K x A x V2, where K is the drag constant, and A is the frontal area. Normally when using the original Davis formula, this value will be as per the value in the D column of this table. Note this value should be the Imperial constant value.

ORTSTrailLocomotiveResistanceFactor - OR always assumes that a locomotive has been set up as the leading locomotive, and thus the appropriate drag factor has been applied to it. For example, in the case of original Davis formulas a Drag constant of 0.0024 will be assumed. Typically a trailing locomotive will have a Drag constant of 0.0005 ( same Drag as a freight car). Thus by default, this parameter will be 0.0005 / 0.0024 = 0.2083. If different Drag constants are used, then the following method of calculation will apply:

ORTSTrailLocomotiveResistanceFactor = (Drag Constant of Trailing Locomotive ) / ( Drag Constant of Leading Locomotive )

These parameters are optional, and not specifically required in the WAG file. If they are absent from the WAG file, then OR will calculate relevant values assuming the use of the original Davis equations.


Useful References

Locomotive Data - Baldwin Company - 1944

Locomotive handbook - American Locomotive Company (Alco)

FCalc is available for download from TrainSim and then by typing in " " into the File Name field of the search page.