KPF is an abbreviation from Swedish for C(K)ontact Point Function. The program creates wheel-rail geometry functions to be used in Gensys. It creates the functions from measured or designed wheel and rail profiles. The program reads wheel and rail profiles from files where the data are organized in a standardized way. These input files are described in sects. 2) and 3) below.
The wheel profile is described in Y- and Z- coordinates.
Positive direction for the Y-coordinate is toward the center of the track for both wheels.
Positive direction for the Z-coordinate is downwards.
The origin of the Y-coordinates should be at the radius where the wheel diameter of the wheel is measured,
this diameter is sometimes also called "The Nominal Running Circle".
For normal gauge tracks, the following is valid:
Lateral semi-spacing between the wheels = 680 mm
Lateral distance between inside of the wheel and "The Nominal Running Circle" = 70 mm
Lateral semi-spacing between "The Nominal Running Circles" = 750 mm
Example of an input data file describing a wheel profile:
-60.00000 -2.63568
-59.90000 -2.62901 # Start as far out on the tread as possible.
-59.80000 -2.62234
-59.70000 -2.61568
-59.60000 -2.60901
-59.50000 -2.60234
-59.40000 -2.59568
-59.30000 -2.58901
-59.20000 -2.58234
-59.10000 -2.57568
-59.00000 -2.56901
-58.90000 -2.56234
-58.80000 -2.55568
-58.70000 -2.54901
-58.60000 -2.54234
-58.50000 -2.53568
-58.40000 -2.52901
-58.30000 -2.52234
. .
. .
. .
-0.60000 -0.01959
-0.50000 -0.01640
-0.40000 -0.01319
-0.30000 -0.00994
-0.20000 -0.00665
-0.10000 -0.00334
0.00000 0.00000 # <- Nominal running circle of the wheel (origin)
0.10000 0.00337 # Defined to be at distance IWHEEL_TO_ORIGO from inside wheel.
0.20000 0.00678 # The profile can laterally be shifted with input data
0.30000 0.01022 # variable WPROF_LAT_SHIFT.
0.40000 0.01369
0.50000 0.01719
0.60000 0.02072
. .
. .
. .
68.80000 16.43012
68.90000 16.14421
69.00000 15.84381
69.10000 15.52675
69.20000 15.19024
69.30000 14.83057
69.40000 14.44267
69.50000 14.01926
69.60000 13.54915 # If the wheel profile is described to the
69.70000 13.01354 # inside of the wheel, a derailment situation
69.80000 12.37583 # can be analysed.
69.90000 11.54163
The rail profile is described in Y- and Z- coordinates.
Positive direction for the Y-coordinate is toward the center of the track for both rails.
Positive direction for the Z-coordinate is downwards.
The origin of the Y-coordinates should be located at the same lateral spacing as for the wheelset
("The Nominal Running Circle"), if the lateral spacing between the two rails are correct.
If the rails are worn in a way so the gauge has been changed,
the location of the origin of the coordinate system of the rail should move the same distance,
because gauge deviation should be considered as a track alignment irregularity.
Therefore is the origin of the rail profile is defined relative to the gauge measuring point.
The gauge measuring point of the rail is defined as follows:
the gauge measuring points are the two points on right and left rail
located in a vertical interval between top of rail and 14 mm below top of rail
which are closest to each other.
For normal gauge tracks, the following is valid:
Lateral semi-spacing between the gauge measuring points = 717.5 mm
Lateral distance between the gauge measuring point and origin = 32.5 mm
Lateral semi-spacing between "The Nominal Running Circles" = 750 mm
Example of an input data file describing a rail profile:
-4.09200E+01 3.38029E+01
-4.09000E+01 3.35366E+01 # Data start on the rail head, as far out
-4.08800E+01 3.32703E+01 # from track center line as possible.
-4.08600E+01 3.30041E+01
-4.08400E+01 3.27379E+01
-4.08200E+01 3.24716E+01
-4.08000E+01 3.22053E+01
-4.07800E+01 3.19390E+01
-4.07600E+01 3.16727E+01
-4.07400E+01 3.14064E+01
-4.07200E+01 3.11401E+01
-4.07000E+01 3.08739E+01
-4.06800E+01 3.06076E+01
-4.06600E+01 3.03413E+01
-4.06400E+01 3.00750E+01
-4.06200E+01 2.98087E+01
-4.06000E+01 2.95424E+01
-4.05800E+01 2.92761E+01
-4.05600E+01 2.90099E+01
. .
. .
. .
-1.07400E+01 -1.84914E-01
-1.07200E+01 -1.84927E-01
-1.07000E+01 -1.84939E-01
-1.06800E+01 -1.84949E-01
-1.06600E+01 -1.84957E-01
-1.06400E+01 -1.84965E-01
-1.06200E+01 -1.84972E-01
-1.06000E+01 -1.84978E-01
-1.05800E+01 -1.84981E-01
-1.05600E+01 -1.84984E-01
-1.05400E+01 -1.84984E-01 # <- Top of rail
-1.05200E+01 -1.84984E-01
-1.05000E+01 -1.84982E-01
-1.04800E+01 -1.84980E-01
-1.04600E+01 -1.84976E-01
-1.04400E+01 -1.84970E-01
-1.04200E+01 -1.84963E-01
-1.04000E+01 -1.84954E-01
-1.03800E+01 -1.84945E-01
-1.03600E+01 -1.84934E-01
-1.03400E+01 -1.84922E-01
-1.03200E+01 -1.84909E-01
-1.03000E+01 -1.84894E-01
. .
. .
. .
-2.80000E-01 -9.70667E-03
-2.60000E-01 -9.02203E-03
-2.40000E-01 -8.33606E-03
-2.20000E-01 -7.64875E-03
-2.00000E-01 -6.96009E-03
-1.80000E-01 -6.27011E-03
-1.60000E-01 -5.57879E-03
-1.40000E-01 -4.88614E-03
-1.20000E-01 -4.19215E-03
-1.00000E-01 -3.49683E-03
-8.00000E-02 -2.80017E-03
-6.00000E-02 -2.10217E-03
-4.00000E-02 -1.40283E-03
-2.00000E-02 -7.02173E-04
0.00000E+00 -1.63913E-07 # <- Nominal running circle of the rail (origin)
2.00000E-02 7.03178E-04 # Defined to be at distance GAUGE_TO_ORIGO
4.00000E-02 1.40785E-03 # from the gauge measuring point
6.00000E-02 2.11386E-03
8.00000E-02 2.82121E-03
1.00000E-01 3.52990E-03
1.20000E-01 4.23991E-03
1.40000E-01 4.95126E-03
1.60000E-01 5.66395E-03
1.80000E-01 6.37798E-03
2.00000E-01 7.09335E-03
2.20000E-01 7.81005E-03
2.40000E-01 8.52808E-03
2.60000E-01 9.24746E-03
2.80000E-01 9.96816E-03
. .
. .
. .
3.23000E+01 1.26487E+01
3.23200E+01 1.27417E+01
3.23400E+01 1.28383E+01
3.23600E+01 1.29387E+01
3.23800E+01 1.30435E+01
3.24000E+01 1.31533E+01
3.24200E+01 1.32690E+01
3.24400E+01 1.33913E+01
3.24600E+01 1.35218E+01
3.24800E+01 1.36622E+01
3.25000E+01 1.38150E+01 # <- Gauge measuring point 14 mm under top of rail
3.25200E+01 1.39845E+01 # Measured by a track recording vehicle
3.25400E+01 1.41774E+01
3.25600E+01 1.44078E+01
3.25800E+01 1.47174E+01
3.26000E+01 1.52784E+01
3.26200E+01 1.60357E+01
3.26400E+01 1.68367E+01
3.26600E+01 1.76377E+01
3.26800E+01 1.84385E+01
3.27000E+01 1.92394E+01
3.27200E+01 2.00402E+01 # Data ends on the rail head, as far
3.27400E+01 2.08412E+01 # to the track center line as possible.
3.27600E+01 2.16420E+01 # If the inside of the rail have a vertical
3.27800E+01 2.24429E+01 # slope manually a fake point can be given
3.28000E+01 2.32438E+01 # several meters under the ground
For program KPF a number of command line options are available. The user can put his or hers favorite options in a file named .gen_conf. Program KPF searches primarily for the .gen_conf-file in the local working directory. If the file not can be found in the local working directory, program KPF searches for the .gen_conf-file in the users home-directory. At last if no .gen_conf-file can be found program KPF reads the file $gensys/scripts/gen_conf. Following options are understood:
| -help | = | Print this help information |
| -overwrite | = | Overwrite old results without questions. |
| -qident | = | Ask for an ident before starting the execution |
| -qread_runf | = | Ask if a new input data file shall be opened in an editor before execution. |
| arg(1) | = | Input data file |
| arg(2) | = | Ident |
All of the above options can be given with the prefix no_. If the prefix no_ has been given, the opposite meaning of the option will apply.
Summary of all commands:
| BO2 | = | Nominal contact patches distance |
| BO_MEASURED_AXLE | = | Defines the lateral semi spacing between the contact points on measured axle. |
| BL_AXLE | = | Defines the lateral semi spacing between the journals. |
| BL_MEASURED_AXLE | = | Defines the lateral semi spacing between the journals on measured wheelset. |
| C_FILE | = | Output file for average radius of contact area. |
| CHI_MEASURED_AXLE | = | Angle chi between a vertical line and the profile measuring device. |
| CONN_BEG_RIGHT | = | Lateral start displacement, when creating the connection diagram; right side |
| CONN_BEG_LEFT | = | Lateral start displacement, when creating the connection diagram; left side |
| CONN_END_RIGHT | = | Lateral stop displacement, when creating the connection diagram; right side |
| CONN_END_LEFT | = | Lateral stop displacement, when creating the connection diagram; left side |
| DYEFFCON | = | Vector containing wheelset lateral amplitudes for which wheelset conicities shall be calculated. |
| EOF | = | Command which terminates further input data reading |
| E_MODULUS | = | The combined modulus of elasticity in wheel and rail. |
| FZHR | = | Vertical load used for smoothening the surface of wheel and rail. |
| FZHR_MEASURED_AXLE | = | Vertical wheel load acting on the wheelset during wheel profile measurements. |
| FI_AXLE_FILE | = | Output file for the rolling motion of the axle. |
| FITEPS | = | Permitted maximum error between calculated points and regression curve. |
| GAUGE_EFFCON | = | Vector containing different gauges for which wheelset conicities shall be calculated. |
| GAUGE_TO_ORIGO | = | The distance between the gauge measuring point and the origin of the rail profile. |
| HFIL | = | The input data file for the wheel profiles. |
| I2KP | = | Flag controlling the number of simultaneous contact areas. |
| IDENT | = | Three ident lines written to output lists and plots. |
| IBORDER | = | Flag, indicating how the boundaries on rail- and wheel profiles shall be treated. |
| ILASER | = | Indicator for writing the graphs to a printer. |
| INTP_STEP | = | Lateral steps when moving the axle over the track. |
| IPLOT_GRID | = | Flag controlling the plotting of grid patterns. |
| IPLOT_LTHICK | = | Setting the line thickness in the output diagrams. |
| IPLOT_SIGMA | = | Flag controlling the plotting of the size of the contact point and the maximum contact pressure. |
| IPLOT3 | = | Flag controlling the plotting of contact pressure and connection diagrams. |
| IPLOTG | = | Flag controlling the plotting of wheel and rail geometries. |
| IPLOTK | = | Flag controlling the plotting of wheel/rail-geometry functions. |
| IROLL | = | Flag governing if the roll motion of the wheelset shall be considered. |
| IWHEEL_SPACING | = | Inside wheels lateral spacing |
| IWHEEL_TO_ORIGO | = | Distance from inside wheel to the origin of the wheel profile. |
| IZERO | = | Flag that controls the zero-setting of DRFN and ZFN. |
| KPFR_FILE | = | Output file for the created wheel-rail geometry functions. |
| KPFR_TYPE | = | Type of kpfr-file to be written. |
| LAMBDA_FILE | = | Conicity table output file. |
| POISSON | = | The combined Poisson's ratio in wheel and rail. |
| POSTFI | = | Graphical output file to be sent to the printer. |
| PRE_CONTACT_P | = | Wheelset angle of attack written to file pre_contactf |
| PRE_CONTACT_Y | = | Wheelset lateral displacement written to file pre_contactf |
| R_AXLE | = | Defines the radius of the axle of the wheelset. |
| R_LAT_FILE | = | Output file for the lateral radiuses in the contact point. |
| R_MEASURED_AXLE | = | Defines the radius of the axle on the measured wheelset. |
| R_WHEEL | = | Defines the nominal radius of the wheels on the wheelset. |
| RFIL | = | Input data file containing the description of the rail profiles. |
| RLFILE | = | Input data file separate for the left rail profile. |
| RRFILE | = | Input data file separate for the right rail profile. |
| RR_RL_FILE | = | Output file for the rolling radius differences. |
| SIGMA_FILE | = | Output file for maximum contact stress. |
| SYMBOLS_CPF | = | Symbols to be plotted at each calculation point; contact point #2. |
| SYMBOLS_CPF_KPFR | = | Symbols to be plotted at each point in the wheel-rail geometry function; contact point #2. |
| SYMBOLS_CPT | = | Symbols to be plotted at each calculation point; contact point #1. |
| SYMBOLS_CPT_KPFR | = | Symbols to be plotted at each point in the wheel-rail geometry function; contact point #1. |
| UIC519_FILE | = | UIC519 conicity table output file. |
| WPROF_LAT_SHIFT | = | Shift the wheel profile in lateral direction |
| WLFILE | = | Input data file separate for the left wheel profile. |
| WRFILE | = | Input data file separate for the right wheel profile. |
| X_MID | = | Sets the value of the X-axis at the midpoint of the axis. |
| XINT/CM | = | Sets the scale factor in X-direction |
| Y_CP1 | = | Lateral shift of wheelset, where tread point contact is present. |
| YH2CP | = | Lateral coordinate on the wheel which separates the tread contact surface from the flange contact surface. |
Below follows a description of all input commands in alphabetical order and their default values:
func intpl_r cpf_$1.drfn
6.5E-03 0.
18.0E-03 0.
func intpl_r cpf_$1.gamfn
6.5E-03 0.
18.0E-03 0.
func intpl_r cpf_$1.zfn
5.5E-03 1.
6.5E-03 1.
99.0E-03 1.
100.E-03 1.
func intpl_r cpf_$1.rofn
6.5E-03 0.
18.0E-03 0.
func intpl_r cpf_$1.poswfn
6.5E-03 0.
18.0E-03 0.
func intpl_r cpf_$1.posrfn
6.5E-03 0.
18.0E-03 0.
func intpl_r cpf_$1.zwfn
6.5E-03 0.
18.0E-03 0.
func intpl_r cpf_$1.zrfn
6.5E-03 0.
18.0E-03 0.
| 0 | = | Calculation of wheel-rail geometry functions with one-point contact approximation. |
| 1 | = | Calculation of wheel-rail geometry functions with two-point contact approximation. In this mode the border between tread and flange must be given in the input data variable YH2CP. |
| 2 | = | Calculation of wheel-rail geometry functions with two-point simultaneous contact approximation. Program KPF automatically detects the different contact surfaces. In this mode the input data variable Y_CP1 controls for which wheelset lateral shift tread point contact should be present. |
| 3 | = | Calculation of wheel-rail geometry functions with three-point simultaneous contact approximation. Program KPF automatically detects the different contact surfaces. In this mode the input data variable Y_CP1 controls for which wheelset lateral shift cp1-point contact should be present. |
| 0 | = | Yields that the entire contact pressure must be within the boundaries that are given by the profiles. When the contact pressure in the contact surface reaches a boundary, the calculation is interrupted, and thereby the wheel-rail geometry function. |
| 1 | = | Permits the contact pressure to reach the inner edge of the rail. The boundary that interrupts the wheel-rail geometry function will be governed by the boundary of the wheel flange (when the flange hits the inner edge). |
| -1 | = | Suppresses plotting a grid pattern. |
| 0 | = | Plot a frame around the diagram. |
| >0 | = | Plots a grid line every 0.5*IPLOT_GRID [cm]. |
| 0 | = | Suppresses plotting of the above described diagrams. |
| 1 | = | Plots the size of the contact area and maximum contact pressure. |
| 0 | = | Suppresses plotting of the above described diagrams. |
| 1 | = | Plot only the wheel/rail-connection diagrams. |
| 2 | = | Plot the wheel/rail-connection diagram and a contour plot of the contact pressure. |
| 3 | = | Plot the wheel/rail-connection diagram and a number of small diagrams showing the wheel/rail-contact pressure v.s. lateral displacement of the wheelset. |
| 4 | = | Plot the wheel/rail-connection diagram and a contour plot and small diagrams showing the wheel/rail-contact pressure. |
| 0 | = | Suppresses plotting of the wheel and rail geometries. |
| 1 | = | Plots the wheel and rail geometries. |
| 0 | = | Suppresses plotting of wheel/rail-geometry functions. |
| 1 | = | Plots all wheel/rail-geometry functions. |
| 2 | = | Plots only the conicity diagram LAMBDA. |
| 0 | = | The roll motion of the wheelset is not considered. |
| 1 | = | The roll motion of the wheelset is considered. |
| 0 | = | DRFN and ZFN intercept the origin when DRFN or ZFN are plotted toward the lateral displacement between wheel and rail. |
| 1 | = | No impact on the curves. The wheel radius and the wheel lift are plotted with the values that wheel and rail data provide. |
| cpt | = | The wheel/rail-geom functions are named: cpt and cpf. |
| cp1 | = | The wheel/rail-geom functions are named: cp1, cp2 and cp3. |
More wheel and/or rail coordinates needed
This message indicates that the part of the wheel and/or rail that have been digitized is to small,
making the area of penetration to cover the entire range that have been given.
This makes it impossible for the program to calculate any curves.
To ensure that there is information enough available about the profiles,
the program demands that the outermost points on the wheel or rail not are parts of the penetration area.
If so would be allowed there could be more point further out that also should be taken into account.
RYZH has been smaller then RYZR at some occasion and has at that occasion been set to RYZR+1
(i.e. two point contact)
It may happen that the digitalization of the profiles becomes slightly rough,
which could lead to a higher curvature of the wheel profile becomes larger then the curvature of
the rail profile at the point of contact.
In reality, the lateral curvature of the rail is always larger then the wheel curvature,
at least in the contact area.
That is the reason why the program assumes that wheel and rail curvatures are very close
to each other around the contact point.
The output data of the program consists of plots and a result file. The plots show the wheel-rail geometry functions for all lateral displacements between wheel and rail. The wheel-rail geometry functions are stored on result file named in KPFR_FILE.
A description of the generated plots:
Masterfile for a typical calculation of wheel-rail geometry. The same wheel- and rail- profiles are used on both sides.
##
## Input data for program KPF
##
ident1= 'Right wheel:S1002t32.5.wheel Left wheel:S1002t32.5.wheel',
hfil = '$genkpf/../w_prof/S1002/S1002t32.5.wheel',
ident2= 'Right rail:uic60 incl.1/40 Left rail:uic60 incl.1/40',
rfil = '$genkpf/../r_prof/uic60/uic60i40.rail',
iscren= 0, # Select screen display
ilaser= 6, # Select laser printer output
fzhr = 70000 # Vertical load on contact surface when evaluating the
# wheel-rail geometry functions.
ident3='wprof_lat_shift= 0 Gauge= 1425-1441'
kpfr_type= 'cp1'
bo2 = 1500. # Nominal contact patches distance
gauge_to_origo= 32.5 # Gauge measuring point to nom.running circle(origin), lateral distance
wprof_lat_shift= 0. # Wheel profile lateral shift, positive outwards
iwheel_spacing= 1360. # Inside wheels lateral spacing
iwheel_to_origo= 70. # Inside wheel to nom.running circle(origin), lateral distance
iplotg= 1, # Plot of the wheel and rail geometry
iplot3= 4, # Connection plot and contour contact pressure
iplotk= 1, # Plot the wheel-rail geometry functions
iborder= 1 # Don't stop the calculation if the rail profile file has
# unsufficent data describing the inside of the rail head.
izero = 0 # Zero-set DRKP and ZKP at eta=0.
fiteps= .25e-2 # Set the accuracy how well the wheel-rail geometry
# functions shall be fitted to the calculated points.
gauge_effcon= 1425 1427 1429 1431 1433 1435 1437 1439 1441
dyeffcon=.1,.5,2,3,4,6 # Amplitudes for which the conicity shall be printed
# in the conicity diagram
# i2kp= 0 # One-point contact
# i2kp= 1 yh2cp=25,25 # Manual setting of two-point contact
# i2kp= 2 # Automatic detection of two-point contact
i2kp= 3 # Automatic detection of three-point contact
##
## Considering the roll angle of the wheel profiles due to a flexible axle
## the following data must be supplied.
## -----------------------------------------------------------------------
r_axle = 1e30 # Radius of the axle
# r_axle = 0.08 # Radius of the axle
bl_axle= 1. # Lateral distance to the journal
r_wheel= 0.50 # Radius of the wheels.
r_measured_axle = 1e30 # Radius of the measured axle
# r_measured_axle = 0.08 # Radius of the measured axle
bo_measured_axle= 0.75 # Lateral distance to the contact point
bl_measured_axle= 1. # Lateral distance to the journal
fzhr_measured_axle= 70000 # Static wheel load on measured axle
chi_measured_axle= 0.1745 # Pitch angle between a vertical line and
# the measuring device [rad]
Example 2)
Masterfile for a typical calculation of wheel-rail geometry. Different wheel- and/or rail- profiles on left and right side.
##
## Input data for program KPF
##
ident1= 'Right wheel:S1002t32.5.wheel Left wheel:S1002t32.5.wheel',
wrfile= '$genkpf/../w_prof/S1002/S1002t32.5.wheel', # Different profiles
wlfile= '$genkpf/../w_prof/S1002/S1002t32.5.wheel', # on the two wheels
ident2= 'Right rail:uic60 incl.1/40 Left rail:uic60 incl.1/40',
rrfile= '$genkpf/../r_prof/uic60/uic60i40.rail', # Different profiles
rlfile= '$genkpf/../r_prof/uic60/uic60i40.rail', # on the rails
iscren= 0, # Select screen display
ilaser= 6, # Select laser printer output
fzhr = 70000 # Vertical load on contact surface when evaluating the
# wheel-rail geometry functions.
ident3='wprof_lat_shift= 0 Gauge= 1425-1441'
kpfr_type= 'cp1'
bo2 = 1500. # Nominal contact patches distance
gauge_to_origo= 32.5 # Gauge measuring point to nom.running circle(origin), lateral distance
wprof_lat_shift= 0. # Wheel profile lateral shift, positive outwards
iwheel_spacing= 1360. # Inside wheels lateral spacing
iwheel_to_origo= 70. # Inside wheel to nom.running circle(origin), lateral distance
iplotg= 1, # Plot of the wheel and rail geometry
iplot3= 4, # Connection plot and contour contact pressure
iplotk= 1, # Plot the wheel-rail geometry functions
iborder= 1 # Don't stop the calculation if the rail profile file has
# unsufficent data describing the inside of the rail head.
izero = 0 # Zero-set DRKP and ZKP at eta=0.
fiteps= .25e-2 # Set the accuracy how well the wheel-rail geometry
# functions shall be fitted to the calculated points.
gauge_effcon= 1425 1427 1429 1431 1433 1435 1437 1439 1441
dyeffcon=.1,.5,2,3,4,6 # Amplitudes for which the conicity shall be printed
# in the conicity diagram
# i2kp= 0 # One-point contact
# i2kp= 1 yh2kp=25,25 # Manual setting of two-point contact
# i2kp= 2 # Automatic detection of two-point contact
i2kp= 3 # Automatic detection of three-point contact
##
## Considering the roll angle of the wheel profiles due to a flexible axle
## the following data must be supplied.
## -----------------------------------------------------------------------
r_axle = 1e30 # Radius of the axle
# r_axle = 0.08 # Radius of the axle
bl_axle= 1. # Lateral distance to the journal
r_wheel= 0.50 # Radius of the wheels.
r_measured_axle = 1e30 # Radius of the measured axle
# r_measured_axle = 0.08 # Radius of the measured axle
bo_measured_axle= 0.75 # Lateral distance to the contact point
bl_measured_axle= 1. # Lateral distance to the journal
fzhr_measured_axle= 70000 # Static wheel load on measured axle
chi_measured_axle= 0.1745 # Pitch angle between a vertical line and
# the measuring device [rad]