Home Search Reference Manuals Up Return
Introduction
Command line options
Wheel profile input data
Rail profile input data
Creation of wheel or rail profiles
Wheel/rail interface
Input data commands
Error messages
Output data
Equivalent Conicity
GIP (Gradient Index Profile)
Radial Steering Index
Animate the wheel/rail interface in program GPLOT
Examples
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.
Following command line options are understood:
-h | = | Display help information |
-M | = | Create a Master input data file |
arg(1) | = | Input data file |
If the input data file "arg(1)" has the file extension ".kpff", implies that the ident name $ident will be given the value of "arg(1)" with the extension ".kpff" removed.
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.
Example of a data file describing the 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 # ← Origin Located bo from track center line
0.10000 0.00337
0.20000 0.00678
0.30000 0.01022
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 # Stop as far up on the flange as possible.
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 Position. This point is a point on the rail that is closest to the track center line and is located on the surface of the rail profile and somewhere between Top of Rail and GAUGE_MEAS_INTERVAL beneath Top of Rail.
Example of a data file describing the 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 0.00000E+00 # ← Origin Located bo from track center line 2.00000E-02 7.03178E-04 4.00000E-02 1.40785E-03 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 Position Located at ORIGIN_TO_GAUGE 3.25200E+01 1.39845E+01 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
Program kpf_rot can be used for zero-setting the rail profile.
To create a rail profile from a drawing is showed in document create_UIC60.html
Translation of measured profiles can be made in one of the following programs:
There are a number of dimensions that define the wheelset and track geometry. Following figure shows how they are defined:
Top of Rail is the line you get, when placing a ruler across the rails.
N.B. In the figure above it looks like the origin of Rail and origin of Wheel are located at the same point. But in most cases they are not. Only in very rare cases the contact point coinside with the two origins, and in those cases the two origins are located in the same point.
Origin of Rail
is defined to be on surface of the rail, located a lateral distance of bo from track center line.
(See: Rail profile input data)
The Gauge Measuring Position is a point between Top of Rail and GAUGE_MEAS_INTERVAL beneath Top of Rail. The points on right and left side shall be chosen in a way that gives the shortest distance between the rails.
Origin of Wheel is defined to be on the surface of the wheel,
located at a lateral distance of bo from track center line.
(See: Wheel profile input data)
Flange thickness is measured at height FLANGE_THICK_HEIGHT relative to origin of wheel.
The following lateral distances must be set in a kpf input data file:
BO | = | Distance between the Nominal Running Circles |
ORIGIN_TO_GAUGE | = | Distance from the Gauge Measuring Position to theNominal Running Circle |
GAUGE_MEAS_INTERVAL | = | Vertical interval for finding the Gauge Measuring Position |
ORIGIN_TO_IWHEEL | = | Distance between inside wheel and Nominal Running Circle |
WPROF_LAT_SHIFT | = | Possibility to laterally shift the wheels on the axle. E.g. simulating a thin or thick flange. |
Standard gauge track is also sometimes called Stephenson gauge.
The following data are commonly used:
BO | = | 750 mm |
ORIGIN_TO_GAUGE | = | 32.5 mm |
ORIGIN_TO_IWHEEL | = | 70 mm |
Broad gauge track 1520 are used in many countries formerly belonging to the Soviet Union.
The following data are commonly used:
BO | = | 790 mm |
ORIGIN_TO_GAUGE | = | 30 mm |
ORIGIN_TO_IWHEEL | = | 70 mm |
The following data are commonly used:
BO | = | 792.5 mm |
ORIGIN_TO_GAUGE | = | 30.5 mm |
ORIGIN_TO_IWHEEL | = | 70 mm |
The following data are commonly used:
BO | = | 871 mm |
ORIGIN_TO_GAUGE | = | 33 mm |
ORIGIN_TO_IWHEEL | = | 70 mm |
Summary of all commands:
BO | = | Lateral distance from track center line to the origins of the wheel and rail profiles. |
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 |
CONN_FILE | = | Output file for the locations of the connection points |
CONN_START | = | Max negative displacement of wheelset, when creating the wheel/rail-geometry functions |
CONN_STOP | = | Max positive displacement of wheelset, when creating the wheel/rail-geometry functions |
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. |
FLANGE_THICK_HEIGHT | = | Height above nominal running circle, where the thickness of the flange shall be measured. |
FORCE_OUTP | = | Force KPF to generate output, even if there are problems with the profiles. |
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_MEAS_INTERVAL | = | Vertical interval for finding the Gauge Measuring Position. |
GPDAT_FILE | = | Create .gp-file for animation in program GPLOT. |
I2CP | = | 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_DIAGS | = | In detail control the output plotting. |
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. |
IZERO | = | Flag that controls the zero-setting of DRFN and ZFN. |
KAPPA_FILE | = | Coefficient of contact angle difference KAPPA. |
KPFR_FILE | = | Output file for the created wheel-rail geometry functions. |
KPFR_TYPE | = | Type of kpfr-file to be written. |
KPFL_FILE | = | Same as KPFR_FILE but where left and right sides have been switched. |
LAMBDA_FILE | = | Conicity table output file. |
OCTAVE_FILE | = | Write stdout to a m-file, readable by octave/matlab |
ORIGIN_TO_GAUGE | = | The distance between the Gauge Measuring Position and the origin of the rail profile. |
ORIGIN_TO_IWHEEL | = | Distance from inside wheel to the origin of the wheel profile. |
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. |
R_WHEEL_LEFT_OFF | = | Nominal wheel radius offset, left side. |
R_WHEEL_RIGHT_OFF | = | Nominal wheel radius offset, right side. |
RFILE | = | Rail profiles, same on left and right side. |
RLFILE | = | Rail profile, left side. |
RLFILE_COMP | = | Reference profile for comparisons with RLFILE. |
RRFILE | = | Rail profile, right side. |
RRFILE_COMP | = | Reference profile for comparisons with RRFILE. |
RR_RL_FILE | = | Output file for the rolling radius differences. |
RSI_FILE | = | Max rolling radius difference without flange contact. |
SIGMA_FILE | = | Output file for maximum contact stress. |
SYMBOLS_CP | = | Symbols to be plotted for each lateral position of the wheelset. |
SYMBOLS_CP_KPFR | = | Symbols showing the breakpoints of the wheel-rail geometry function. |
UIC519_FILE | = | UIC519/EN15302 conicity table output file. |
WPROF_LAT_SHIFT | = | Shift the wheel profile in lateral direction |
WFILE | = | Wheel profiles, same on left and right side of the wheelset. |
WLFILE | = | Wheel profile, left side. |
WLFILE_COMP | = | Reference profile for comparisons with WLFILE. |
WRFILE | = | Wheel profile, right side. |
WRFILE_COMP | = | Reference profile for comparisons with WLFILE. |
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 cp1 shall be the active contact point. |
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:
All | = | Ignore all kind of problems. |
No | = | Stops execution if problems are encountered. |
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). |
Pos | Name | Comment |
0 | Wheel/rail-profiles | The shape of the wheel and rail profiles |
1 | Contour contact pressure | The contact pressure between wheel and rail projected on the wheel surface |
2 | Contact pressure | Many small diagrams showing the contact pressure for different lateral positions of the wheelset |
3 | Wheel/rail-connection | Center of the contact points on wheel and rail, for different lateral positions of the wheelset |
4 | Wheelset roll angle | Wheelset roll angle as function of lateral displacement of wheelset |
5 | DRFN | Wheel rolling radius |
6 | GAMFN | Contact angle |
7 | ZFN | Vertical wheel lift |
8 | ROFN | Difference in lateral curvature between the contact surfaces |
9 | POSWFN | Lateral position of the contact point on wheel |
10 | POSRFN | Lateral position of the contact point on rail |
11 | ZWFN | Vertical position of the contact point on wheel |
12 | ZRFN | Vertical position of the contact point on rail |
13 | RR-RL | Roll radius difference between left and right wheel |
14 | C | Geometric mean of the contact ellipse semi-axes a and b |
15 | A/B | Ratio of the contact ellipse semi-axes a and b |
16 | SIGMA | Maximum contact stresses in the center of the equivalent contact ellipses, according to Hertz |
17 | UIC519 | Equivalent Conicity according to UIC519/EN15302 |
18 | LAMBDA | Secant conicity |
19 | tan_Ga | The sum of the contact angles |
20 | KAPPA | Coefficient of contact angle difference |
21 | EPS | Contact angle difference parameter |
22 | RollAC | Roll angle coefficient |
# 1111111111222 Position number # 01234567890123456789012 IPLOT_DIAGS= 00000000000001000100000 # Only generates the two diagram RR-RL and UIC519 IPLOT_DIAGS= 01000000000001000100000 # Generates the two diagram RR-RL and UIC519 plus the contour contact pressure diagram.
–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 | = | Plot 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 intersects 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. |
1) | Lateral displacement of wheelset | |
2) | Rolling radius right wheel minus rolling radius left wheel at nominal gauge |
1) | Lateral displacement of wheelset | |
2) | Max. contact stress, contact area #1, left wheel | |
3) | Max. contact stress, contact area #2, left wheel | |
4) | Max. contact stress, contact area #3, left wheel | |
5) | Max. contact stress, contact area #1, right wheel | |
6) | Max. contact stress, contact area #2, right wheel | |
7) | Max. contact stress, contact area #3, right wheel |
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. Wheel-rail geometry functions are stored in file KPFR_FILE.
Table of Contents:
Output written to stdout | = | The shape of the wheel and rail profiles |
Generated plots | = | The shape of the wheel and rail profiles |
Animation in program Gplot | = | The shape of the wheel and rail profiles |
(Hover over a line to see an explanation)
-- Info -- Wheel:
Sdr= 32.50 Flange thickness at 10mm, right wheel
Thickness of the flange measured at FLANGE_THICK_HEIGHT
Sdl= 32.50 Flange thickness at 10mm, left wheel
Thickness of the flange measured at FLANGE_THICK_HEIGHT
Sd3r= 42.98 Flange thickness at 3mm, right wheel
Thickness of the flange measured at a height of 3[mm] above
Nominal Running Circle
Sd3l= 42.98 Flange thickness at 3mm, left wheel
Thickness of the flange measured at a height of 3[mm] above
Nominal Running Circle
Shr= 28.00 Flange height rel to nom running circle, right wheel
Thickness of the flange measured at FLANGE_THICK_HEIGHT
Shl= 28.00 Flange height rel to nom running circle, left wheel
Thickness of the flange measured at FLANGE_THICK_HEIGHT
ztreadr= 0.00 Height nominal running circle right wheel
Nomally the wheel profile is zero-setted at Nominal Running Circle.
An offset in origin-height shown in ztreadl will affect the wheel/rail-geometry functions DRFN and ZFN.
With input data parameter IZERO the user can choose how to handle an offset in wheel radius at Nominal Running Circle.
ztreadl= 0.00 Height nominal running circle left wheel
Nomally the wheel profile is zero-setted at Nominal Running Circle.
An offset in origin-height shown in ztreadl will affect the wheel/rail-geometry functions DRFN and ZFN.
With input data parameter IZERO the user can choose how to handle an offset in wheel radius at Nominal Running Circle.
betar= 70.00 Max flange angle, right wheel. Found at Y= 39.32
Maximum flange angle together with the wheel/rail friction coefficient can be used for calculating the limit value of Y/Q ratio.
According to EN14363 Y/Qlim shall be calculated with the following formula:
Y/Qlim= (tan(β) - μ) / (1 + μ∙tan(β))
Where β is the flange angle at the steepest part of the flange, and μ is the friction coefficient.
The Y-value last on the line tells where on the wheel profile the steepest part of the flange is located.
betal= 70.00 Max flange angle, left wheel. Found at Y= 39.32
Maximum flange angle together with the wheel/rail friction coefficient can be used for calculating the limit value of Y/Q ratio.
According to EN14363 Y/Qlim shall be calculated with the following formula:
Y/Qlim= (tan(β) - μ) / (1 + μ∙tan(β))
Where β is the flange angle at the steepest part of the flange, and μ is the friction coefficient.
The Y-value last on the line tells where on the wheel profile the steepest part of the flange is located.
qRr= 10.79 Flange flank from flange_thick_height to a node
Flange flank is the lateral distance between flange thickness and a node 2[mm] under flange top Sd.
Please see diagrams at Wheel/rail interconnections
qRl= 10.79 2mm under flange top, right and left wheel respectively
Flange flank is the lateral distance between flange thickness and a node 2[mm] under flange top Sd.
Please see diagrams at Wheel/rail interconnections
Sr = 712.50 Lateral distances to flange contact points
Sr is measured from the center of the wheelset to the flange thickness measuring point on the face of the flange.
Sl = 712.50 taken at height FLANGE_THICK_HEIGHT above nominal running circle
Sl is measured from the center of the wheelset to the flange thickness measuring point on the face of the flange.
SR = 1425.00 Flange gauge. I.e. total distance Sr+Sl
SR is the distance between the flange thickness measuring points on the two wheels of a wheelset.
Thr= 0.00 Height of false flange, right wheel
Worn wheels may show a negative the cone angle on the field side.
Thl= 0.00 Height of false flange, left wheel
Worn wheels may show a negative the cone angle on the field side.
GIPw_R= 6.45 GIPw, right wheel
Gradient Index Profile, right wheel.
GIPw_L= 6.45 GIPw, left wheel
Gradient Index Profile, left wheel.
-- Info -- Rail:
Gr = 717.50 Gauge measuring positions, right and left rail
Track gauge is measured GAUGE_MEAS_INTERVAL under Top of Rail.
Gl = 717.50 taken at GAUGE_MEAS_INTERVAL under top of rail
Track gauge is measured GAUGE_MEAS_INTERVAL under Top of Rail.
Ga = 1435.00 Track gauge. I.e. total distance Gr+Gl
Sum of Gr and Gl.
Gr1= 20.13 Gauge measuring position to the 1mm-point, right rail
Lateral distance between GAUGE_MEAS_INTERVAL and the 1mm-point on top of rail
Gl1= 20.13 Gauge measuring position to the 1mm-point, left rail
Lateral distance between GAUGE_MEAS_INTERVAL and the 1mm-point on top of rail
Gr3= 9.75 Gauge measuring position to the 3mm-point, right rail
Lateral distance between GAUGE_MEAS_INTERVAL and the 3mm-point on top of rail
Gl3= 9.75 Gauge measuring position to the 3mm-point, left rail
Lateral distance between GAUGE_MEAS_INTERVAL and the 3mm-point on top of rail
GIPr_R= 4.41 (1425) GIPr, right rail
4.94 (1427)
5.52 (1429)
6.17 (1431)
6.87 (1433)
7.63 (1435)
8.46 (1437)
9.34 (1439)
10.29 (1441)
Gradient Index Profile for gauges defined in GAUGE_EFFCON
GIPr_L= 4.41 (1425) GIPr, left rail
4.94 (1427)
5.52 (1429)
6.17 (1431)
6.87 (1433)
7.63 (1435)
8.46 (1437)
9.34 (1439)
10.29 (1441)
Gradient Index Profile for gauges defined in GAUGE_EFFCON
Table of Contents:
Wheel/rail-profiles | = | The shape of the wheel and rail profiles |
Contour contact pressure | = | the contact pressure between wheel and rail projected on the wheel surface |
Contact pressure | = | Many small diagrams showing the contact pressure for different lateral positions of the wheelset |
Wheel/rail interconnections | = | Center of the contact points on wheel and rail, for different lateral positions of the wheelset |
Wheelset roll angle | = | Wheelset roll angle as function of lateral displacement of wheelset |
DRFN | = | Wheel rolling radius |
GAMFN | = | Contact angle |
ZFN | = | Vertical wheel lift |
ROFN | = | Difference in lateral curvature between the contact surfaces |
POSWFN | = | Lateral position of the contact point on wheel |
POSRFN | = | Lateral position of the contact point on rail |
ZWFN | = | Vertical position of the contact point on wheel |
ZRFN | = | Vertical position of the contact point on rail |
RR-RL | = | Roll radius difference between left and right wheel |
C | = | Geometric mean of the contact ellipse semi-axes a and b |
A/B | = | Ratio of the contact ellipse semi-axes a and b |
SIGMA | = | Maximum contact stresses in the center of the equivalent contact ellipses, according to Hertz |
UIC519 | = | Equivalent Conicity according to UIC519/EN15302 |
LAMBDA | = | Secant conicity |
tan_Ga | = | The sum of the contact angles |
KAPPA | = | Coefficient of contact angle difference |
EPS | = | Contact angle difference parameter |
RollAC | = | Roll angle coefficient |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
Flange thickness | Sd | Measured at a height of FLANGE_THICK_HEIGHT from Nominal Running Circle |
Flange height | Sh | Flange height measured from Nominal Running Circle |
Flange flank | qR | Lateral distance between flange thickness and Sh-2 [mm]. |
Max flange angle | beta | For determining of Y/Qlim according to EN14363 |
Designation | Wheel dia [mm] | Min value [mm] | Max value [mm] |
Flange thickness | ≥ 840 | 22 | 33 |
< 840 and ≥ 330 | 27.5 | 33 | |
Flange height | ≥ 760 | 27.5 | 36 |
< 760 and ≥ 630 | 30 | 36 | |
< 630 and ≥ 330 | 32 | 36 | |
Flange flank | ≥ 330 | 6.5 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
\( ROFN(\eta)= 1/R_{rail}(\eta) + 1/R_{wheel}(\eta) \)
Where:η | = | Lateral displacement between wheel and rail. (Positive direction when the flange of the wheel moves towards the rail) |
Rrail | = | Rail curve radius in the YZ-plane at the contact patch area. (The surface of the rail is normally convex why Rrail is normally positive) |
Rwheel | = | Wheel curve radius in the YZ-plane at the contact patch area. (The surface of the wheel is normally concave why Rwheel is normally negative) |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
λ= | Δrr - Δrl |
2⋅Δy |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
κ(yw)= tan(γr(yw)) + tan(γl(yw)) -2·yw Where: γr= Contact angle right wheel (normally negative when flange contact) γl= Contact angle left wheel (normally positive when flange contact) yw= Lateral displacement of wheelsetFrom κ(yw) the gravitational stiffness can be calculated:
kg(yw)= 2·Qwheel·κ(yw) Where: Qwheel= Wheel load
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
S1002t32.5_UIC60i00 | S1002 full flange | UIC60 no inclination |
S1002t32.5_UIC60i40 | S1002 full flange | UIC60 inclination 1/40 |
S1002t32.5_UIC60i30 | S1002 full flange | UIC60 inclination 1/30 |
S1002t32.5_UIC60i20 | S1002 full flange | UIC60 inclination 1/20 |
The standards UIC 519 and EN 15302 defines equivalent conicity from the length of the sinusoidal motion:
From Klingel's Formula the conicity can be obtained:
λ | = | Cone angle |
b0 | = | Lateral semi-distance between contact points (Standard Gauge: .75[m]) |
r0 | = | Nominal Wheel Radius |
L | = | Wave length |
The standards UIC 519 and EN 15302 both contains appendixes with verification examples.
Comparisons between KPF and the standards are shown below.
On the Y-axis is the equivalent conicity.
On the X-axis is the amplitude of the wheelset.
The small green crosses marks the results calculated by program KPF.
The read line marks the results from the standards.
The green line marks the upper tolerance
The blue line marks the lower tolerance
As can be seen above, all results are well within the tolerance limits.
GIP (Gradient Index Profile) reminds on conicities according to UIC519/EN15302, but is trying to separate the conicity into a "wheelset conicity" and a "track conicity".
GIP Rail is defined according to the following figure:
GIP Wheel is defined according to the following figure:
The indexes above can be combined in order to create a combined GIP for the wheelset running on a track:
GIP= (GIP_L+GIP_R)/2
Where:
GIP_L= 2*(GIPwL-GIPrL)/(GIPwL+GIPrL) Left side
GIP_R= 2*(GIPwR-GIPrR)/(GIPwR+GIPrR) Right side
Measured wheel profiles has been collected from many different types of vehicles.
Some wheelsets has travelled a short distance others has travelled a long distance.
Also many different rail profiles has been collected from different track locations,
subjected to different amount of traffic tonnage.
If all measued wheel and rail profiles are combined,
the following relation between UIC519/EN15302 and GIP can be found:
Number of wheelset/track combinations in above figure are 31488, comprising 2*64 wheel profiles and 2*492 rail profiles.
The correlation between GIP and UIC519/EN15302 gets worse as the conicity increases. However this is not important, because a wheelset/track combination that leads to a conicity over ~0.25 is not of interest. All profile combinations that leads to conicities over ~0.25 should be elliminated. Because these wheelset/track combinations may lead to unstable running behaviour of the vehicle.
The radial steering index or RSI is defined as:
Where: | RE | = | is the smallest possible curve radius for which it is possible for the wheelset to steer without flange contact. |
R | = | is the actual curve radius |
When qE ≤ 1, radial steering is possible
When qE > 1, radial steering is not possible
RE can be derived from the following inequality:
Where: | router | = | Rolling radius of outer wheel |
rinner | = | Rolling radius of inner wheel | |
R | = | Curve radius | |
e | = | Lateral distance between the Nominal Running Circles. (For standard gauge e= 1.5m) |
By removing everything except first order effects the inequality can be rewritten as:
Variable RE can be defined as:
Where: | r0 | = | Nominal rolling radius of the wheel |
e | = | Lateral distance between the Nominal Running Circles. (For standard gauge e= 1.5m) | |
Δ rE | = | The rolling radius difference to be found in diagram RR-RL |
The above is valid only for a free wheelset rolling along the track. If the wheelset is mounted in a bogie, considerations must be taken in how much the bogie allow the wheelset to steer. To calculate minimum steering curve radius when mounted in a bogie, see lubrication formula
Program KPF also writes an output file in GPdat-format.
This file can be used to animate the motion of the wheelset when it translates over the track.
Following runf-model of the wheelset can be used for the animation:
## ## ## Headlines ## ========================================================== head 2 "Single axle modeled with coupling creep_lookuptable_1; Speed=$Vo" # idebug= 1 # If idebug>0 a memory dump will be writen to file "idebug_file" # idebug_file= "calc.out" ## ## Define variables used in the wheel-rail coupling substructure ## ============================================================= # func const vkmh= 160 # The initial speed of the vehicle in km/h # func div_init Vo = vkmh 3.6 # The initial speed of the vehicle in km/h func const Vo = 10. func const bo = 0.75 # Lateral semi-distance between the nominal rolling circles of the wheels func const sstart_1= -10.5 # start position vehicle #1 func const sstart_2= -44 # start position vehicle #2 func const sstart_3= -68 # start position vehicle #3 func const mu_ = 0.5 # Coefficient of friction between wheel and rail ## ## Define wheel-rail geometry functions ## ========================================================== insert file $genkpf/S1002t32.5_uic60i40.kpfr in_substruct S1002t32.5_uic60i40 [ " " ] # All wheels in the vehicle # insert file $genkpf/cylindric.kpfr # in_substruct kpf_cylindric [ " " ] # All wheels in the vehicle # insert file $genkpf/kpf_rkona.kpfr # in_substruct kpf_rkona [ 1 .1 ] ## ## Pre- & Post- Processing ## ========================================================== if_then_char_init CalcType .eq. TSIM .or. CalcType .eq. MODAL # pre_process= 'sed s!runf/Master.runf!$CURRENT_FILE! npickf/Master.npickf > npickf/$IDENT.npickf' # pre_process= 'npick npickf/$IDENT.npickf' # pre_process= 'quasi $CURRENT_FILE' # post_process= 'mplot mplotf/Tsim_Safe_OneIdent.mplotf $IDENT' # post_process= 'mplot mplotf/critSpeed.mplotf $IDENT' # post_process= 'mgv diags/$IDENT.ps' endif ## ## Define designed track geometry ## ========================================================== func char ctrack_design= Tangent_Track # func char ctrack_design= Curve_R200_h150_t120 # insert file track/trc_design.ins func intpl_r ro_trac_design -100 0. 0 0. #20. .01 200 .01 func intpl_r f_trac_design -100 0. 0 0. #20. .02 200 .02 func intpl_r z_trac_design -100 0. 0 0. #40. .01 200 .01 ## ## Define track irregularities ## ========================================================== func char ctrack_irreg= Ideal_track # func char ctrack_irreg Vertdip_sharp_L20_A10 # func char ctrack_irreg= TwistKink.001 # insert file track/trc_irreg.ins if_then_char_init ctrack_irreg .eq. Ideal_track func const YMtrac 0.001000 # Multiplying factor for lateral irregularities, from mm to m func const ZMtrac 0.001000 # Multiplying factor for vertical irregularities, from mm to m func const GMtrac 0.001000 # Multiplying factor for gauge irregularities, from mm to m func const CMtrac 0.000667 # Multiplying factor for cant irregularities, from mm to rad func const Xtrac_start= 0. func const Xtrac_stop= 500. func intpl_track_irr2 Xtrac_start Xtrac_stop Ideal_track 1435. endif ## ## Modify track gauge ## ========================================================== ## The average gauge of the track can be modified in two ways: ## ## 1) Automatically by defining the gauge in variable track_width # func const track_width= 1435. # func mean_r2_init slask gauge_average spv_trac Xtrac_start Xtrac_stop # func print06_char_init ' ' # func print06_init gauge_average # func operp_init gauge_dev= 0.001 * ( track_width - 1435. ) ## ## 2) Manually by defining the variables gauge_average and gauge_dev ## func const gauge_average=1435. # Set the average gauge of the track # func const gauge_dev_=-0.004 # -4 mm narrower track func const gauge_dev_= 0.000 # Do not change the gauge of the track # func const gauge_dev_= 0.004 # 4 mm wider track ## ## Insertion of standard commands ## ========================================================== fresp_param Fourier_CG1 1.e-4 fstart= .05 fstop= 20. fstep= -1.04 modal_param Schur_fact1 1.e-4 quasi_param Damped_Tens 1.e-4 1. 20 2. tsim_param heun_u tstart= .0 tstop= 4. tstep= 0.001 tout= 0.005 ## s_var gpdat_r1 # Create a gp-file for animation in gplot # insert file $gensys/calc/insert_files/save_axl1.ins ## ## Properties ## ========================================================== ## func const acb= 8.0 # half bogie pivot distance (longitudinal) func const aba= 1.5 # half wheelset distance within a bogie (long.) ## Carbody (c) func const mc= 52000 # mass ## Bogie frames (b) func const mb= 10000 # mass ## Wheelsets (w) func const ro_= 0.50 # centre of gravity pos., vert. (wheel radius) func const mw= 2000 # mass func const Jfw= 1200 # moment of inertia, roll func const Jkw= 200 # moment of inertia, pitch func const Jpw= 1200 # moment of inertia, yaw ## ## Track pieces (t) func const mt 1000 # mass func const Jft 500 # mass ## ## Primary suspension ## ---------------------------------------------------------------- ## Primary springs (kzba) func const bkzba= 1.0 # spring position, lateral func const hkzba= 0.43 # spring position, vertical (for lateral stif.) ## func operp_init kzbap.F0= accel.z * ( mc / 8 + mb / 4 ) # Nominal vertical load func print06_init kzbap.F0 coupl p_lin kxbap_ 0.0 20e6 # stiffness, longitudinal coupl p_lin kybap_ 0.0 20e6 # stiffness, lateral # coupl p_lin kzbap_ -kzbap.F0 1200e3 # stiffness, vertical coupl p_lin kzbap_ -kzbap.F0 0e3 # stiffness, vertical coupl p_lin cxbap_ 0.0 2e3 # viscous damping in spring, longitudinal coupl p_lin cybap_ 0.0 20e3 # viscous damping in spring, lateral ## ## Lateral bumpstops (kybas, symmetric) func const hkybas= 0.4 # bumpstop position, vertical coupl p_nlin_s kybasp_ 0. # bumpstop non-linear stiffness 0.025 0.0 0.050 1e6 ## ## Primary dampers (czba, hydraulic, vertical) func const bczba= 1.0 # damper position, lateral func const hczbab= 1.0 # damper position, vertical in bogie func const hczbaa= 0.5 # damper position, vertical in wheelset coupl p_lin czbap_ 0.0 30e3 # viscous damping ## ## Wheel-rail contact ## Linearized Hertzian stiffness perpendicular to the contact surface ## ---------------------------------------------------------------- func operp_init knwr.F0_= ( mc + 2 * mb + 4 * mw ) * accel.z / 8. # Nominal load func print06_init knwr.F0_ func const pknwr= 1 func intpl_r knwr_ # Stiffness Tread-Rail all wheels -1.57 600e6 0. 600e6 1.57 600e6 func intpl_r cnwr_ # Damping Tread-Rail all wheels -1.57 600e3 0. 600e3 1.57 600e3 func intpl_r knfr_ # Stiffness Flange-Rail all wheels -1.57 600e6 0. 600e6 1.57 600e6 func intpl_r cnfr_ # Damping Flange-Rail all wheels -1.57 600e3 0. 600e3 1.57 600e3 func const_block kyrt_ = 44.3e6 # Compensation for 600e6 in rail- kzrt_ = 232e6 # head kzrt.F0_= knwr.F0_ cyrt_ = 416025 czrt_ = 416025 #250e3 end_block ## ## Track flexibility ## ---------------------------------------------------------------- coupl p_lin kytgp_ 0.0 30e6 # Stiffness between track and ground coupl p_lin cytgp_ 0.0 175e3 # Damping between track and ground coupl p_lin kztgp_ -knwr.F0_ 180e6 # Stiffness between track and ground coupl p_lin cztgp_ 0.0 250e3 # Damping between track and ground ## ## Constraints ## ========================================================== substruct constr_tot [ constr fix_rigid_1 $1 x 0. constr fix_rigid_1 $1 y 0. constr fix_rigid_1 $1 z 0. constr fix_rigid_1 $1 f 0. constr fix_rigid_1 $1 k 0. constr fix_rigid_1 $1 p 0. ] ## ## Model ## ========================================================== ## substruct vhe_model_1 [ # Arg. $1= Number of the vehicle ## ## ## Moving local coordinate systems ## =============================== ## ## lsys e_abs_bendrf l_name speed start_pos curvature cant vert_lift ## ------------------------------------------------------------------------------------------ # func intpl_r Speed_field insert free_form '(a,a)' track/Speed.txt # Vo speed in m/s # lsys e_abs_bendrf esys_$1 Speed_field sstart_1 ro_trac_design f_trac_design z_trac_design lsys e_abs_bendrf esys_$1 Vo sstart_$1 ro_trac_design f_trac_design z_trac_design 4 4 4 4 4 4 ## ## lsys l_local l_name esys a b h ## ------------------------------------------------- lsys l_local lsc_$1 esys_$1 0.0 0.0 0.0 lsys l_local lsb_$11 lsc_$1 acb 0.0 0.0 lsys l_local lsb_$12 lsc_$1 -acb 0.0 0.0 lsys l_local lsa_$111 lsb_$11 aba 0.0 0.0 lsys l_local lsa_$112 lsb_$11 -aba 0.0 0.0 lsys l_local lsa_$121 lsb_$12 aba 0.0 0.0 lsys l_local lsa_$122 lsb_$12 -aba 0.0 0.0 # s_var sngl lsc_$1.b s_var sngl lsc_$1.c s_var sngl lsc_$1.h s_var sngl lsc_$1.x s_var sngl lsc_$1.y s_var sngl lsc_$1.z s_var sngl lsc_$1.f s_var sngl lsc_$1.k s_var sngl lsc_$1.p s_var sngl lsc_$1.vx s_var sngl lsc_$1.vy s_var sngl lsc_$1.vz s_var sngl lsc_$1.vf s_var sngl lsc_$1.vk s_var sngl lsc_$1.vp s_var sngl lsc_$1.ax s_var sngl lsc_$1.ay s_var sngl lsc_$1.az s_var sngl lsc_$1.af s_var sngl lsc_$1.ak s_var sngl lsc_$1.ap # s_var sngl lsb_$11.b s_var sngl lsb_$11.c s_var sngl lsb_$11.h s_var sngl lsb_$11.x s_var sngl lsb_$11.y s_var sngl lsb_$11.z s_var sngl lsb_$11.f s_var sngl lsb_$11.k s_var sngl lsb_$11.p s_var sngl lsb_$11.vx s_var sngl lsb_$11.vy s_var sngl lsb_$11.vz s_var sngl lsb_$11.vf s_var sngl lsb_$11.vk s_var sngl lsb_$11.vp s_var sngl lsb_$11.ax s_var sngl lsb_$11.ay s_var sngl lsb_$11.az s_var sngl lsb_$11.af s_var sngl lsb_$11.ak s_var sngl lsb_$11.ap # s_var sngl lsa_$111.b s_var sngl lsa_$111.c s_var sngl lsa_$111.h s_var sngl lsa_$111.x s_var sngl lsa_$111.y s_var sngl lsa_$111.z s_var sngl lsa_$111.f s_var sngl lsa_$111.k s_var sngl lsa_$111.p s_var sngl lsa_$111.vx s_var sngl lsa_$111.vy s_var sngl lsa_$111.vz s_var sngl lsa_$111.vf s_var sngl lsa_$111.vk s_var sngl lsa_$111.vp s_var sngl lsa_$111.ax s_var sngl lsa_$111.ay s_var sngl lsa_$111.az s_var sngl lsa_$111.af s_var sngl lsa_$111.ak s_var sngl lsa_$111.ap ## ## Vehicle and track masses ## ======================== ## ## mass m_rigid_6 m_name lsys acg bcg hcg m m m Jf Jk Jp ## -------------------------------------------------------------------------- mass m_rigid_6 axl_$111 lsa_$111 0.0 0.0 -ro_ mw mw mw Jfw Jkw Jpw # axles mass m_rigid_6f ral_$111r lsa_$111 0.0 .75 0.0 0.0 mt mt Jft 0.0 0.0 # rail-pieces mass m_rigid_6f ral_$111l lsa_$111 0.0 -.75 0.0 0.0 mt mt Jft 0.0 0.0 # rail-pieces mass m_rigid_6f trc_$111 lsa_$111 0.0 0.0 0.0 0.0 mt mt Jft 0.0 0.0 # track-pieces # mass fixpoint_6 grd_$1 lsc_$1 0.0 0.0 0.0 # ground points mass fixpoint_6 grd_$11 lsb_$11 0.0 0.0 0.0 mass fixpoint_6 grd_$111 lsa_$111 0.0 0.0 0.0 # func operp axl_$111r.vz= axl_$111.vz + axl_$111.vf func operp axl_$111l.vz= axl_$111.vz - axl_$111.vf s_var sngl axl_$111r.vz s_var sngl axl_$111l.vz # s_var sngl axl_$111.Ax s_var sngl axl_$111.Ay s_var sngl axl_$111.Az s_var sngl axl_$111.Af s_var sngl axl_$111.Ak s_var sngl axl_$111.Ap # constr fix_free_1 axl_$111.k= 0. initval set_var axl_$111.vk -Vo/ro_ # in_substruct constr_tot [ trc_$111 ] in_substruct constr_tot [ ral_$111r ] in_substruct constr_tot [ ral_$111l ] ## ## Primary suspension: ## =========================== func intpl_l b_offset= time 0 0 1. .010 #2. .010 #8 .060 func operp b_offset_r= bkzba # + b_offset func operp b_offset_l= bkzba # - b_offset s_var sngl b_offset s_var sngl b_offset_r s_var sngl b_offset_l coupl k kxba$111r grd_$11 aba bkzba -ro_ axl_$111 0.0 bkzba -ro_ kxbap_$111r esys_$1 x coupl k kxba$111l grd_$11 aba -bkzba -ro_ axl_$111 0.0 -bkzba -ro_ kxbap_$111l esys_$1 x coupl k kyba$111r grd_$11 aba b_offset_r -hkzba axl_$111 0.0 bkzba -hkzba kybap_$111r esys_$1 y coupl k kyba$111l grd_$11 aba -b_offset_l -hkzba axl_$111 0.0 -bkzba -hkzba kybap_$111l esys_$1 y coupl k kzba$111r grd_$11 aba bkzba -ro_ axl_$111 0.0 bkzba -ro_ kzbap_$111r esys_$1 z coupl k kzba$111l grd_$11 aba -bkzba -ro_ axl_$111 0.0 -bkzba -ro_ kzbap_$111l esys_$1 z # s_var sngl kxba$111r.dx s_var var_0 kxba$111r.vx s_var sngl kxba$111l.dx s_var var_0 kxba$111l.vx s_var sngl kxba$111r.dy s_var var_0 kxba$111r.vy s_var sngl kxba$111l.dy s_var var_0 kxba$111l.vy s_var sngl kxba$111r.dz s_var var_0 kxba$111r.vz s_var sngl kxba$111l.dz s_var var_0 kxba$111l.vz # s_var sngl kyba$111r.dx s_var var_0 kyba$111r.vx s_var sngl kyba$111l.dx s_var var_0 kyba$111l.vx s_var sngl kyba$111r.dy s_var var_0 kyba$111r.vy s_var sngl kyba$111l.dy s_var var_0 kyba$111l.vy s_var sngl kyba$111r.dz s_var var_0 kyba$111r.vz s_var sngl kyba$111l.dz s_var var_0 kyba$111l.vz # s_var sngl kzba$111r.dx s_var var_0 kzba$111r.vx s_var sngl kzba$111l.dx s_var var_0 kzba$111l.vx s_var sngl kzba$111r.dy s_var var_0 kzba$111r.vy s_var sngl kzba$111l.dy s_var var_0 kzba$111l.vy s_var sngl kzba$111r.dz s_var var_0 kzba$111r.vz s_var sngl kzba$111l.dz s_var var_0 kzba$111l.vz # s_var sngl kxba$111r.F2x s_var sngl kxba$111r.F2y s_var sngl kxba$111r.F2z s_var sngl kxba$111r.M2f s_var sngl kxba$111r.M2k s_var sngl kxba$111r.M2p s_var sngl kxba$111l.F2x s_var sngl kxba$111l.F2y s_var sngl kxba$111l.F2z s_var sngl kxba$111l.M2f s_var sngl kxba$111l.M2k s_var sngl kxba$111l.M2p s_var sngl kyba$111r.F2x s_var sngl kyba$111r.F2y s_var sngl kyba$111r.F2z s_var sngl kyba$111r.M2f s_var sngl kyba$111r.M2k s_var sngl kyba$111r.M2p s_var sngl kyba$111l.F2x s_var sngl kyba$111l.F2y s_var sngl kyba$111l.F2z s_var sngl kyba$111l.M2f s_var sngl kyba$111l.M2k s_var sngl kyba$111l.M2p s_var sngl kzba$111r.F2x s_var sngl kzba$111r.F2y s_var sngl kzba$111r.F2z s_var sngl kzba$111r.M2f s_var sngl kzba$111r.M2k s_var sngl kzba$111r.M2p s_var sngl kzba$111l.F2x s_var sngl kzba$111l.F2y s_var sngl kzba$111l.F2z s_var sngl kzba$111l.M2f s_var sngl kzba$111l.M2k s_var sngl kzba$111l.M2p # coupl c cxba$111r grd_$11 aba bkzba -ro_ axl_$111 0.0 bkzba -ro_ cxbap_$111r esys_$1 x coupl c cxba$111l grd_$11 aba -bkzba -ro_ axl_$111 0.0 -bkzba -ro_ cxbap_$111l esys_$1 x coupl c cyba$111r grd_$11 aba bkzba -ro_ axl_$111 0.0 bkzba -ro_ cybap_$111r esys_$1 y coupl c cyba$111l grd_$11 aba -bkzba -ro_ axl_$111 0.0 -bkzba -ro_ cybap_$111l esys_$1 y coupl c czba$111r grd_$11 aba bkzba -ro_ axl_$111 0.0 bkzba -ro_ czbap_$111r esys_$1 z coupl c czba$111l grd_$11 aba -bkzba -ro_ axl_$111 0.0 -bkzba -ro_ czbap_$111l esys_$1 z # s_var sngl cxba$111r.dx s_var var_0 cxba$111r.vx s_var sngl cxba$111l.dx s_var var_0 cxba$111l.vx s_var sngl cxba$111r.dy s_var var_0 cxba$111r.vy s_var sngl cxba$111l.dy s_var var_0 cxba$111l.vy s_var sngl cxba$111r.dz s_var var_0 cxba$111r.vz s_var sngl cxba$111l.dz s_var var_0 cxba$111l.vz # s_var sngl cyba$111r.dx s_var var_0 cyba$111r.vx s_var sngl cyba$111l.dx s_var var_0 cyba$111l.vx s_var sngl cyba$111r.dy s_var var_0 cyba$111r.vy s_var sngl cyba$111l.dy s_var var_0 cyba$111l.vy s_var sngl cyba$111r.dz s_var var_0 cyba$111r.vz s_var sngl cyba$111l.dz s_var var_0 cyba$111l.vz # s_var sngl czba$111r.dx s_var var_0 czba$111r.vx s_var sngl czba$111l.dx s_var var_0 czba$111l.vx s_var sngl czba$111r.dy s_var var_0 czba$111r.vy s_var sngl czba$111l.dy s_var var_0 czba$111l.vy s_var sngl czba$111r.dz s_var var_0 czba$111r.vz s_var sngl czba$111l.dz s_var var_0 czba$111l.vz # s_var sngl cxba$111r.F2x s_var sngl cxba$111r.F2y s_var sngl cxba$111r.F2z s_var sngl cxba$111r.M2f s_var sngl cxba$111r.M2k s_var sngl cxba$111r.M2p s_var sngl cxba$111l.F2x s_var sngl cxba$111l.F2y s_var sngl cxba$111l.F2z s_var sngl cxba$111l.M2f s_var sngl cxba$111l.M2k s_var sngl cxba$111l.M2p s_var sngl cyba$111r.F2x s_var sngl cyba$111r.F2y s_var sngl cyba$111r.F2z s_var sngl cyba$111r.M2f s_var sngl cyba$111r.M2k s_var sngl cyba$111r.M2p s_var sngl cyba$111l.F2x s_var sngl cyba$111l.F2y s_var sngl cyba$111l.F2z s_var sngl cyba$111l.M2f s_var sngl cyba$111l.M2k s_var sngl cyba$111l.M2p s_var sngl czba$111r.F2x s_var sngl czba$111r.F2y s_var sngl czba$111r.F2z s_var sngl czba$111r.M2f s_var sngl czba$111r.M2k s_var sngl czba$111r.M2p s_var sngl czba$111l.F2x s_var sngl czba$111l.F2y s_var sngl czba$111l.F2z s_var sngl czba$111l.M2f s_var sngl czba$111l.M2k s_var sngl czba$111l.M2p ## ## Couplings between wheels and rails ## =========================================== # func tral_interp_spline $111 func operp cpa_$111r.ao= axl_$111.x - axl_$111.p * bo func operp cpa_$111l.ao= axl_$111.x + axl_$111.p * bo # coupl creep_lookuptable_1 cp1_$111r axl_$111 0.0 bo 0.0 ral_$111r cpa_$111r.ao bo 0.0 esys_$1 m tral$111r.y tral$111r.z tral$111r.vy tral$111r.vz mu_$111r1/0.6 mu_$111r1/0.6 mu_$111r1/0.6 # mulfact { cp1_zfn_$111r | cp1_zfn_r } { cp1_drfn_$111r | cp1_drfn_r } { cp1_gamfn_$111r | cp1_gamfn_r } { cp1_rofn_$111r | cp1_rofn_r } { cp1_poswfn_$111r | cp1_poswfn_r } { cp1_posrfn_$111r | cp1_posrfn_r } knwr.F0_cp1$111r knwr_$111r1 cnwr_$111r1 2.05e11 .3 mu_$111r1 ro_$111r 1e99 # Vertical radius of rail coupl creep_lookuptable_1 cp1_$111l axl_$111 0.0 -bo 0.0 ral_$111l cpa_$111l.ao -bo 0.0 esys_$1 m tral$111l.y tral$111l.z tral$111l.vy tral$111l.vz mu_$111l1/0.6 mu_$111l1/0.6 mu_$111l1/0.6 # mulfact { cp1_zfn_$111l | cp1_zfn_l } { cp1_drfn_$111l | cp1_drfn_l } { cp1_gamfn_$111l | cp1_gamfn_l } { cp1_rofn_$111l | cp1_rofn_l } { cp1_poswfn_$111l | cp1_poswfn_l } { cp1_posrfn_$111l | cp1_posrfn_l } knwr.F0_cp1$111l knwr_$111l1 cnwr_$111l1 2.05e11 .3 mu_$111l1 ro_$111l 1e99 # Vertical radius of rail # coupl creep_lookuptable_1 cp2_$111r axl_$111 0.0 bo 0.0 ral_$111r cpa_$111r.ao bo 0.0 esys_$1 m tral$111r.y tral$111r.z tral$111r.vy tral$111r.vz mu_$111r2/0.6 mu_$111r2/0.6 mu_$111r2/0.6 # mulfact { cp2_zfn_$111r | cp2_zfn_r } { cp2_drfn_$111r | cp2_drfn_r } { cp2_gamfn_$111r | cp2_gamfn_r } { cp2_rofn_$111r | cp2_rofn_r } { cp2_poswfn_$111r | cp2_poswfn_r } { cp2_posrfn_$111r | cp2_posrfn_r } knwr.F0_cp2$111r knwr_$111r2 cnwr_$111r2 2.05e11 .3 mu_$111r2 ro_$111r 1e99 # Vertical radius of rail coupl creep_lookuptable_1 cp2_$111l axl_$111 0.0 -bo 0.0 ral_$111l cpa_$111l.ao -bo 0.0 esys_$1 m tral$111l.y tral$111l.z tral$111l.vy tral$111l.vz mu_$111l2/0.6 mu_$111l2/0.6 mu_$111l2/0.6 # mulfact { cp2_zfn_$111l | cp2_zfn_l } { cp2_drfn_$111l | cp2_drfn_l } { cp2_gamfn_$111l | cp2_gamfn_l } { cp2_rofn_$111l | cp2_rofn_l } { cp2_poswfn_$111l | cp2_poswfn_l } { cp2_posrfn_$111l | cp2_posrfn_l } knwr.F0_cp2$111l knwr_$111l2 cnwr_$111l2 2.05e11 .3 mu_$111l2 ro_$111l 1e99 # Vertical radius of rail # coupl creep_lookuptable_1 cp3_$111r axl_$111 0.0 bo 0.0 ral_$111r cpa_$111r.ao bo 0.0 esys_$1 m tral$111r.y tral$111r.z tral$111r.vy tral$111r.vz mu_$111r3/0.6 mu_$111r3/0.6 mu_$111r3/0.6 # mulfact { cp3_zfn_$111r | cp3_zfn_r } { cp3_drfn_$111r | cp3_drfn_r } { cp3_gamfn_$111r | cp3_gamfn_r } { cp3_rofn_$111r | cp3_rofn_r } { cp3_poswfn_$111r | cp3_poswfn_r } { cp3_posrfn_$111r | cp3_posrfn_r } knwr.F0_cp3$111r knwr_$111r3 cnwr_$111r3 2.05e11 .3 mu_$111r3 ro_$111r 1e99 # Vertical radius of rail coupl creep_lookuptable_1 cp3_$111l axl_$111 0.0 -bo 0.0 ral_$111l cpa_$111l.ao -bo 0.0 esys_$1 m tral$111l.y tral$111l.z tral$111l.vy tral$111l.vz mu_$111l3/0.6 mu_$111l3/0.6 mu_$111l3/0.6 # mulfact { cp3_zfn_$111l | cp3_zfn_l } { cp3_drfn_$111l | cp3_drfn_l } { cp3_gamfn_$111l | cp3_gamfn_l } { cp3_rofn_$111l | cp3_rofn_l } { cp3_poswfn_$111l | cp3_poswfn_l } { cp3_posrfn_$111l | cp3_posrfn_l } knwr.F0_cp3$111l knwr_$111l3 cnwr_$111l3 2.05e11 .3 mu_$111l3 ro_$111l 1e99 # Vertical radius of rail # s_var sngl cp1_$111r.dx s_var sngl cp1_$111r.vx s_var sngl cp1_$111r.dy s_var sngl cp1_$111r.vy s_var sngl cp1_$111r.dz s_var sngl cp1_$111r.vz s_var sngl cp1_$111r.df s_var sngl cp1_$111r.vf s_var sngl cp1_$111r.dk s_var sngl cp1_$111r.vk s_var sngl cp1_$111r.dp s_var sngl cp1_$111r.vp # s_var sngl cp1_$111l.dx s_var sngl cp1_$111l.vx s_var sngl cp1_$111l.dy s_var sngl cp1_$111l.vy s_var sngl cp1_$111l.dz s_var sngl cp1_$111l.vz s_var sngl cp1_$111l.df s_var sngl cp1_$111l.vf s_var sngl cp1_$111l.dk s_var sngl cp1_$111l.vk s_var sngl cp1_$111l.dp s_var sngl cp1_$111l.vp # s_var sngl cp1_$111r.F1x s_var sngl cp1_$111r.F1y s_var sngl cp1_$111r.F1z s_var sngl cp1_$111r.M1f s_var sngl cp1_$111r.M1k s_var sngl cp1_$111r.M1p s_var sngl cp1_$111r.F2x s_var sngl cp1_$111r.F2y s_var sngl cp1_$111r.F2z s_var sngl cp1_$111r.M2f s_var sngl cp1_$111r.M2k s_var sngl cp1_$111r.M2p # s_var sngl cp1_$111l.F1x s_var sngl cp1_$111l.F1y s_var sngl cp1_$111l.F1z s_var sngl cp1_$111l.M1f s_var sngl cp1_$111l.M1k s_var sngl cp1_$111l.M1p s_var sngl cp1_$111l.F2x s_var sngl cp1_$111l.F2y s_var sngl cp1_$111l.F2z s_var sngl cp1_$111l.M2f s_var sngl cp1_$111l.M2k s_var sngl cp1_$111l.M2p ## ## Lateral couplings between track and ground. ## =========================================== ## ## coupl k c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire ## ---------------------------------------------------------------------------- coupl k kytg$111 trc_$111 0. -.25 0.172 grd_$111 0. 0.25 0.172 kytgp_ esys_$1 cy coupl c cytg$111 trc_$111 0. -.25 0.172 grd_$111 0. 0.25 0.172 cytgp_ esys_$1 y ## ## Vertical couplings between track and ground. ## =========================================== ## ## coupl k c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire ## ------------------------------------------------------------------------------ coupl k kztg$111r trc_$111 0. 0.75 0.172 grd_$111 0. 0.75 0.672 kztgp_ esys_$1 cz coupl c cztg$111r trc_$111 0. 0.75 0.172 grd_$111 0. 0.75 0.672 cztgp_ esys_$1 z coupl k kztg$111l trc_$111 0. -.75 0.172 grd_$111 0. -.75 0.672 kztgp_ esys_$1 cz coupl c cztg$111l trc_$111 0. -.75 0.172 grd_$111 0. -.75 0.672 cztgp_ esys_$1 z ## ## Graphical representation of the bodies ## ********************************************** ## ## body type m_name geometry ## --------------------------------------------------------------------------- body whe_set_mass axl_$111 ro_ bo body box_mass ral_$111r 0.5 -.5 0.05 -.05 0.172 0. body box_mass ral_$111l 0.5 -.5 0.05 -.05 0.172 0. func const B_trc_$1= 2. body figure_mass trc_$111 1 5 0.5 B_trc_$1 0.172 0.5 -B_trc_$1 0.172 -0.5 -B_trc_$1 0.172 -0.5 B_trc_$1 0.172 0.5 B_trc_$1 0.172 # s_var gpdat_r1 # s_var gpdat_force1 cp1_$111r.F1x # Acting with positive sign s_var gpdat_force1 cp1_$111r.F1y # on wheelset s_var gpdat_force1 cp1_$111r.F1z s_var gpdat_force1 cp1_$111l.F1x s_var gpdat_force1 cp1_$111l.F1y s_var gpdat_force1 cp1_$111l.F1z # s_var gpdat_force1 kxba$111r.F2x # Acting with positive sign s_var gpdat_force1 kyba$111r.F2y # on wheelset s_var gpdat_force1 kzba$111r.F2z s_var gpdat_force1 kxba$111l.F2x s_var gpdat_force1 kyba$111l.F2y s_var gpdat_force1 kzba$111l.F2z # s_var gpdat_wheel_info $111l lsa_$111.b $genkpf/../w_prof/EN13715.2006/ENS1002t32.5.wheel s_var gpdat_wheel_info $111r lsa_$111.b $genkpf/../w_prof/EN13715.2006/ENS1002t32.5.wheel # s_var gpdat_rail_info_left 0., $genkpf/../r_prof/uic60/uic60i40.rail 100., $genkpf/../r_prof/uic60/uic60i40.rail s_var gpdat_rail_info_right 0., $genkpf/../r_prof/uic60/uic60i40.rail 100., $genkpf/../r_prof/uic60/uic60i40.rail # in_substruct save_axl1 [ $111 ] ] in_substruct vhe_model_1 [ 1 ] # Arg. $1= Number of the vehicle s_var sngl cp1_111r.vux s_var sngl cp1_111r.vuy s_var sngl cp1_111r.vuz s_var var_0 cp1_111r.eta s_var var_0 cp1_111r.nux s_var var_0 cp1_111r.nuy s_var var_0 cp1_111r.spin s_var var_0 cp1_111r.a s_var var_0 cp1_111r.b s_var var_0 cp1_111r.a/b # s_var sngl cp1_111l.vux s_var sngl cp1_111l.vuy s_var sngl cp1_111l.vuz s_var var_0 cp1_111l.eta s_var var_0 cp1_111l.nux s_var var_0 cp1_111l.nuy s_var var_0 cp1_111l.spin s_var var_0 cp1_111l.a s_var var_0 cp1_111l.b s_var var_0 cp1_111l.a/b # s_var sngl cp1_111r.z s_var sngl cp1_111r.irx s_var sngl cp1_111r.iry s_var sngl cp1_111r.posw s_var sngl cp1_111l.z s_var sngl cp1_111l.irx s_var sngl cp1_111l.iry s_var sngl cp1_111l.posw # func operp cp1_111r.Ft= sqrt( cp1_111r.Fx * cp1_111r.Fx - cp1_111r.Fy * cp1_111r.Fy ) func operp cp1_111r.my= cp1_111r.Ft / cp1_111r.Fn s_var sngl cp1_111r.Ft s_var sngl cp1_111r.my func operp cp1_111l.Ft= sqrt( cp1_111l.Fx * cp1_111l.Fx - cp1_111l.Fy * cp1_111l.Fy ) func operp cp1_111l.my= cp1_111l.Ft / cp1_111l.Fn s_var sngl cp1_111l.Ft s_var sngl cp1_111l.my # if_then_char_init CalcType .eq. TSIM .or. # CalcType .eq. MODAL # initval read_gpdat gp/$IDENT.gp 1 # endif func operp cp1_111.F1y= cp1_111r.F1y + cp1_111l.F1y func operp kxba111.F2y= kxba111r.F2y + kxba111l.F2y func operp kyba111.F2y= kyba111r.F2y + kyba111l.F2y func operp kzba111.F2y= kzba111r.F2y + kzba111l.F2y func operp cxba111.F2y= cxba111r.F2y + cxba111l.F2y func operp cyba111.F2y= cyba111r.F2y + cyba111l.F2y func operp czba111.F2y= czba111r.F2y + czba111l.F2y # s_var sngl cp1_111.F1y s_var sngl kxba111.F2y s_var sngl kyba111.F2y s_var sngl kzba111.F2y s_var sngl cxba111.F2y s_var sngl cyba111.F2y s_var sngl czba111.F2y func operp cp1_111.F1z= cp1_111r.F1z + cp1_111l.F1z func operp kxba111.F2z= kxba111r.F2z + kxba111l.F2z func operp kyba111.F2z= kyba111r.F2z + kyba111l.F2z func operp kzba111.F2z= kzba111r.F2z + kzba111l.F2z func operp cxba111.F2z= cxba111r.F2z + cxba111l.F2z func operp cyba111.F2z= cyba111r.F2z + cyba111l.F2z func operp czba111.F2z= czba111r.F2z + czba111l.F2z # s_var sngl cp1_111.F1z s_var sngl kxba111.F2z s_var sngl kyba111.F2z s_var sngl kzba111.F2z s_var sngl cxba111.F2z s_var sngl cyba111.F2z s_var sngl czba111.F2z func operp cp1_111.M1f= cp1_111r.M1f + cp1_111l.M1f func operp kxba111.M2f= kxba111r.M2f + kxba111l.M2f func operp kyba111.M2f= kyba111r.M2f + kyba111l.M2f func operp kzba111.M2f= kzba111r.M2f + kzba111l.M2f func operp cxba111.M2f= cxba111r.M2f + cxba111l.M2f func operp cyba111.M2f= cyba111r.M2f + cyba111l.M2f func operp czba111.M2f= czba111r.M2f + czba111l.M2f # s_var sngl cp1_111.M1f s_var sngl kxba111.M2f s_var sngl kyba111.M2f s_var sngl kzba111.M2f s_var sngl cxba111.M2f s_var sngl cyba111.M2f s_var sngl czba111.M2f eof
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= 'Left wheel:S1002t32.5.wheel Right wheel:S1002t32.5.wheel' wfile = '$genkpf/../w_prof/S1002/S1002t32.5.wheel' wlfile_comp= '$genkpf/../w_prof/EN13715.2006/ENS1002t32.5.wheel' wrfile_comp= '$genkpf/../w_prof/EN13715.2006/ENS1002t32.5.wheel' ident2= 'Left rail:uic60i40 Right rail:uic60i40' rfile = '$genkpf/../r_prof/uic60/uic60i40.rail' rlfile_comp= '$genkpf/../r_prof/uic60/uic60i40.rail' rrfile_comp= '$genkpf/../r_prof/uic60/uic60i40.rail' iscren= 0, # Select screen display ilaser= 9, # 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' bo = 750. # Nominal contact patches distance origin_to_gauge = 32.5 # Gauge Measuring Position to nom.running circle(origin), lateral distance origin_to_iwheel= 70. # Inside wheel to nom.running circle(origin), lateral distance wprof_lat_shift = 0. # Wheel profile lateral shift, positive outwards 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 # I2CP= 0 # One-point contact # I2CP= 1 yh2cp=25,25 # Manual setting of two-point contact # I2CP= 2 # Automatic detection of two-point contact I2CP= 3 # Automatic detection of three-point contact octave_file= m/$ident.m # Write stdout to a m-file, readable by octave/matlab. ## ## 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= 'Left wheel:S1002t32.5.wheel Right wheel:S1002t32.5.wheel' wlfile= '$genkpf/../w_prof/S1002/S1002t32.5.wheel' # Different profiles wrfile= '$genkpf/../w_prof/S1002/S1002t32.5.wheel' # on the two wheels wlfile_comp= '$genkpf/../w_prof/EN13715.2006/ENS1002t32.5.wheel' wrfile_comp= '$genkpf/../w_prof/EN13715.2006/ENS1002t32.5.wheel' ident2= 'Left rail:uic60i40 Right rail:uic60i40' rlfile= '$genkpf/../r_prof/uic60/uic60i40.rail' # Different profiles rrfile= '$genkpf/../r_prof/uic60/uic60i40.rail' # on the rails rlfile_comp= '$genkpf/../r_prof/uic60/uic60i40.rail' rrfile_comp= '$genkpf/../r_prof/uic60/uic60i40.rail' iscren= 0, # Select screen display ilaser= 9, # 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' bo = 750. # Nominal contact patches distance origin_to_gauge = 32.5 # Gauge Measuring Position to nom.running circle(origin), lateral distance origin_to_iwheel= 70. # Inside wheel to nom.running circle(origin), lateral distance wprof_lat_shift = 0. # Wheel profile lateral shift, positive outwards 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 # I2CP= 0 # One-point contact # I2CP= 1 yh2cp=25,25 # Manual setting of two-point contact # I2CP= 2 # Automatic detection of two-point contact I2CP= 3 # Automatic detection of three-point contact octave_file= m/$ident.m # Write stdout to a m-file, readable by octave/matlab. ## ## 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]