## ## ## Headlines ## ========================================================== head 1 "Course in Rail Vehicle Dynamics; BoBo-vehicle; Speed=$vkmh" head 2 "Wheel/Rail= S1002/UIC60i40; Friction=$mu" head 3 "Track geom.=$ctrack_design; Track irr.=$ctrack_irreg" head 4 "Variation: kxba=$kxbap_.v1 kyba=$kybap_.v1" ## ## Define wheel-rail geometry functions ## ========================================================== # insert file G_kpfr/S1002_uic60i40.kpfr # in_substruct kpf_S1002_uic60i40 [ " " ] # All wheels in the vehicle # if_then_char_init CalcType .eq. TSIM .or. CalcType .eq. MODAL pre_process= 'create_kpfr G_kpff/Master_same_profiles.kpff kpf/S1002.wheel kpf/uic60i40.rail create_kpfr' endif insert file G_kpfr/create_kpfr.kpfr in_substruct kpf_create_kpfr [ " " ] # All wheels in the vehicle ## ## Pre- & Post- Processing ## ========================================================== if_then_char_init CalcType .eq. TSIM .or. CalcType .eq. MODAL pre_process= 'sed s!G_runf/Master.runf!$CURRENT_FILE! G_npickf/Master.npickf > G_npickf/$IDENT.npickf' pre_process= 'npick G_npickf/$IDENT.npickf' pre_process= 'quasi $CURRENT_FILE' post_process= 'mplot G_mplotf/Tsim_Safe_OneIdent.mplotf $IDENT' endif ## ## Define variables variables Vo, mu and bo ## ========================================================== func const vkmh= 160 # Speed of vehicle in km/h func const mu = 0.4 # 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 sstart_1= -20 # start position of vehicle #1 func const sstart_2= -44 # start position of vehicle #2 func const sstart_3= -68 # start position of vehicle #3 ## ## Define designed track geometry ## ========================================================== func char ctrack_design= Curve_R400_h150_t120 insert file track/trc_design.ins ## ## Calculate speed in curve for constant cant deficiency ## ========================================================== func const Y_cp= 1.5 # lateral acc. in track plane if_then_init .exist. R12 no_warning func operp_init vkmh= 3.6 * sqrt( R12 * ( Y_cp + f12 * 9.81 ) ) endif func div_init Vo = vkmh 3.6 # Speed of vehicle in m/s func mul dist= Vo time # Create a position variable s_var sngl dist # Save the position variable for postprocessing ## ## Define track irregularities ## ========================================================== func char ctrack_irreg= track_irr1 insert file track/trc_irreg.ins ## ## 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 ## ## Define substructures for creepage, creep-forces, storage, ## flange wear index,, etc. ## ========================================================== insert file fodat/std_inserts.ins ## ## Insert default vehicle properties ## ========================================================== insert file fodat/vhe_prop_990906.ins ## ## Change of vehicle data parameters ## ========================================================== coupl p_lin kxbap_ 0.0 20e6 # primary stiffness, longitudinal coupl p_lin kybap_ 0.0 20e6 # primary stiffness, lateral ## ## Insert vehicle geometry-file ## ========================================================== insert file fodat/vhe_model_990906.ins # in_substruct vhe_model_1 [ 1 ] # Vehicle #1, long. position= sstart_1 # in_substruct vhe_model_1 [ 2 ] # Vehicle #2, long. position= sstart_2 # in_substruct vhe_model_1 [ 3 ] # Vehicle #3, long. position= sstart_3 ## ## Select type of excitation for program FRESP ## ========================================================== # func char cexcitation= Track_Vertical.001 # func char cexcitation= Track_Lateral.001 insert file track/trc_fexcit.ins ## ## Read flexible parameters for the carbody ## ========================================================== if_then_char_init CalcType .ne. NPICK insert file G_npickr/$IDENT.npickr endif ## ## Read initial values from GPdat-file, generated by program QUASI ## ========================================================== if_then_char_init CalcType .eq. TSIM .or. CalcType .eq. MODAL initval read_gpdat G_gp/$IDENT.gp 1 endif ## ## Stop the simulation at the end of the track, ## if not tstop will end the simulation first. ## ========================================================== tstop= 10. if_then lsa_111.pn .gt. Xtrac_stop func print06_char_all " " func print06_char_all " Execution interrupted due to lsa_111.pn > Xtrac_stop" func print06_char_all " ----------------------------------------------------" func stop endif eof # Always end the input data file with an eof-mark.