Up
##
##
head 1 Calculation of effective conicity according to UIC 518
head 2 Wheel-rail geometry file=G_kpfr/kpf.kpfr
##
##
## Parameters for different types of analysis
## ------------------------------------------
idebug = 0
fresp_param=Fourier_CG1 1.e-4 fstart=.2 fstop=20. fstep=-1.05
modal_param=Schur_fact1 1.e-4
quasi_param=LineSearch_2 1.e-6 1.e-6 0.005 1e-5 60 100
tsim_param =heun_u .4 .002 tstart=0. tstop=1000.02 tstep=0.001 tout=0.020
#
func const ro1 0.45
##
## Define variables variables Vo, mu and bo
## ----------------------------------------
func const vkmh= 10 # Speed of vehicle in km/h
func div_init Vo = vkmh 3.6 # Speed of vehicle in m/s
func const mu = 10 # Coefficient of friction between wheel and rail
func const bo = 0.75 # Lateral distance between track center line and
# nominal rolling circle of the wheel
func const mulfact_nux = 1.
func const mulfact_nuy = 1.
func const mulfact_spin= 1.
##
## Define designed track geometry
## ------------------------------
func intpl_r krok_R 0 0 200 0
func intpl_r krok_h 0 0 200 0
func intpl_r krok_z 0 0 200 0
##
## Narrow or wide track
## -----------------------
# func const gauge_average=1435. # Set the average gauge of the track
func const gauge_average=0. # Set the average gauge of the track
#
# func const gauge_dev=-0.010 #-10 mm narrower track
# func const gauge_dev=-0.008 # -8 mm narrower 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
# func const gauge_dev= 0.006 # 6 mm wider track
##
## Define track irregularities
## ---------------------------
func intpl_r lat_trac -200 0. 0 0.
func intpl_r spv_trac -200 0. 0 0.
func intpl_r vert_trac -200 0. 0 0.
func intpl_r fi_trac -200 0. 0 0.
##
## Factors controling track irregularities.
## ----------------------------------------
func const YMtrac 0.001
func const SVtrac 0.001
func const ZMtrac 0.001
func const FItrac 0.00066666667
##
## Read the wheel-rail geometry file
## ---------------------------------
insert file $genkpf/S1002_bv50i30.kpfr
in_substruct kpf_S1002_bv50i30 [ 111 ]
##
## Create coordinate systems and masses.
## -------------------------------------
lsys e_abs_bend esys Vo 0. krok_R krok_h krok_z
lsys l_local lsa_111 esys 0. 0. 0.
#
mass m_rigid_6 car_1 lsa_111 0. 0. -ro1 1887 1887 1887 720 100 720
mass m_rigid_6 axl_111 lsa_111 0. 0. -ro1 1887 1887 1887 720 100 720
mass m_rigid_6 trc_111 lsa_111 0. 0. 0. 1.e3 1.e3 1.e3 1.e3 1.e3 1.e3
mass fixpoint_6 grd_111 lsa_111 0. 0. 0.
body w_set_lsys axl_111 lsa_111 .45 .75
body figure_lsys trc_111 lsa_111 1 5 .5 1 0 .5 -1 0 -.5 -1 0 -.5 1 0 .5 1 0
##
## Calculate creep and creepforces.
## --------------------------------
func const knwr1.F0 77357.5
func intpl_r knwr1_r
-1.57 42e6
0. 180e6
1.57 42e6
##
func intpl_r cnwr1_r
-1.57 60e3
0. 250e3
1.57 60e3
#
insert file $gensys/calc/insert_files/wr_coupl_ne1.ins
in_substruct wr_coupl [ 1 111 ]
##
## Set lateral constraints to mass trc_111.
## ----------------------------------------
constr fix_rigid_1 trc_111 y 0.
##
## Apply vertical force on the axle
## --------------------------------
coupl p_lin pkz -77357.5 0.
#
coupl k kzbar grd_111 0 1. -ro1 axl_111 0 1. -ro1 pkz esys z
coupl k kzbal grd_111 0 -1. -ro1 axl_111 0 -1. -ro1 pkz esys z
##
## Apply lateral offset to the axle
## --------------------------------
func const init_ampl= 3.e-3
initval set_mass axl_111 y init_ampl
##
## Store variables for later postprocessing in MPLOT.
## --------------------------------------------------
s_var sngl axl_111.x
s_var sngl axl_111.y
s_var sngl axl_111.z
s_var sngl axl_111.f
s_var sngl axl_111.k
s_var sngl axl_111.p
#
s_var sngl axl_111.vx
s_var sngl axl_111.vy
s_var sngl axl_111.vz
s_var sngl axl_111.vf
s_var sngl axl_111.vk
s_var sngl axl_111.vp
#
s_var sngl axl_111.Fx
s_var sngl axl_111.Fy
s_var sngl axl_111.Fz
s_var sngl axl_111.Mf
s_var sngl axl_111.Mk
s_var sngl axl_111.Mp
#
s_var sngl trc_111.x s_var sngl trc_111.y s_var sngl trc_111.z
s_var sngl trc_111.f s_var sngl trc_111.k s_var sngl trc_111.p
s_var sngl trc_111.vx s_var sngl trc_111.vy s_var sngl trc_111.vz
s_var sngl trc_111.vf s_var sngl trc_111.vk s_var sngl trc_111.vp
#
s_var sngl cp_111r.eta s_var sngl cp_111l.eta
#
s_var sngl tral111r.y s_var sngl tral111l.y
s_var sngl tral111r.z s_var sngl tral111l.z
s_var sngl tral111r.vy s_var sngl tral111l.vy
s_var sngl tral111r.vz s_var sngl tral111l.vz
s_var sngl cpt_111r.z s_var sngl cpt_111l.z
s_var sngl cpt_111r.dr s_var sngl cpt_111l.dr
s_var sngl cpt_111r.gam s_var sngl cpt_111l.gam
s_var sngl cpt_111r.c s_var sngl cpt_111l.c
s_var sngl cpt_111r.a/b s_var sngl cpt_111l.a/b
#
s_var sngl lsa_111.pn
#
s_var sngl cpt_111r.nux s_var sngl cpt_111l.nux
s_var sngl cpt_111r.nuy s_var sngl cpt_111l.nuy
s_var sngl cpt_111r.spin s_var sngl cpt_111l.spin
#
s_var sngl cpt_111r.Fx
s_var sngl cpt_111l.Fx
s_var sngl cpt_111r.Fy
s_var sngl cpt_111l.Fy
s_var sngl cpt_111r.Fz
s_var sngl cpt_111l.Fz
s_var sngl cpt_111r.Fn
s_var sngl cpt_111l.Fn
s_var sngl cpt_111r.Fny
s_var sngl cpt_111l.Fny
#
##
## Store scalars for later postprocessing in MPLOT.
## ------------------------------------------------
s_var scalar_0 init_ampl
s_var scalar_0 gauge_dev
s_var scalar_0 lsa_111.b s_var scalar_0 bo
s_var scalar_0 Vo s_var scalar_0 ro1
#
s_var scalar_0 cpt_111r.gam
s_var scalar_0 cpt_111l.gam
#
s_var scalar_0 cpt_111r.Fx
s_var scalar_0 cpt_111l.Fx
s_var scalar_0 cpt_111r.Fy
s_var scalar_0 cpt_111l.Fy
s_var scalar_0 cpt_111r.Fz
s_var scalar_0 cpt_111l.Fz
s_var scalar_0 cpt_111r.Fny
s_var scalar_0 cpt_111l.Fny
#
if_then lsa_111.pn .gt. 40
func stop
endif
#
eof