Home    Reference Manual    Return    Flowchart



File $ident.runf

File runf is the main input data file for the four analysis programs QUASI, MODAL, FRESP and TSIM.
In file runf references can be made to sub-files containing track-description, wheel-rail-geometry, default vehicle properties,,, etc. Look for the insert commands in the file below, and click at the reference.

A complete explanation on what all input data parameters stands for is given in the document ../doc_html/analyse_r_vehicle.html

Example of a runf-file of a BoBo-vehicle:

##                                                                                          
##                                                                                          
## Headlines                                                                                
## =========                                                                                
##                                                                                          
  head 1 "Course in Rail Vehicle Dynamics"                                                  
  head 2 "BoBo-vehicle; Wheel S1002, Rail UIC60i40; Friction=$mu; Speed=$vkmh"              
  head 3 "Track geom.=$ctrack_design,  Track irr.=$ctrack_irreg"                            
                                                                                            
##                                                                                          
## Parameters for different types of analysis                                               
## ==========================================                                               
  fresp_param = Fourier_CG1  1.e-4 fstart= .3   fstop= 20. fstep= -1.06                     
  modal_param = Schur_fact1  1.e-4                                                          
  quasi_param = LineSearch_2 1.e-4 1.e-6 0.2 2.e-5 60 40                                    
  tsim_param  = heun_u .4 .002    tstart= .0   tstop=100.  tstep= 0.001  tout= 0.005        
                                                                                            
##                                                                                          
## Define variables variables Vo, mu and bo                                                 
## ===============================================================                          
  func const    vkmh=  160       # Speed of vehicle in km/h                                 
  func div_init  Vo =  vkmh 3.6  # Speed of vehicle in m/s                                  
  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= -20         # start position of the vehicle                            
                                                                                            
##                                                                                          
## Define designed track geometry                                                           
## ==============================                                                           
  func char ctrack_design Tangent_Track         # Tangent track                             
# func char ctrack_design Curve_R200_h150_t120  # Entering a curve R=200  h=150             
# func char ctrack_design Curve_R400_h150_t120  # Entering a curve R=400  h=150             
# func char ctrack_design Curve_R1000_h150_t120 # Entering a curve R=1000 h=150             
# func char ctrack_design Curve_R1300_h150_t120 # Entering a curve R=1300 h=150             
# func char ctrack_design . . . . .             #                                           
# func char ctrack_design . . . . .             # All curves which shall be studied         
# func char ctrack_design . . . . .             # are defined in the insert file            
# func char ctrack_design . . . . .             # trc_design.ins (written by the user)      
#                                                                                           
 insert file track/trc_design.ins                                                           
                                                                                            
##                                                                                          
## Define track irregularities                                                              
## ===========================                                                              
  func char ctrack_irreg Ideal_track        # Ideal track                                   
# func char ctrack_irreg Latpuls_L20_A10    # Lateral puls Length=20m Ampl=10mm             
# func char ctrack_irreg track_irr1         # Track with irregularities from file           
# func char ctrack_irreg track_irr2         # Track with irregularities from file           
# func char ctrack_irreg . . . . .          #                                               
# func char ctrack_irreg . . . . .          # All track irregularities which shall          
# func char ctrack_irreg . . . . .          # be studied are defined in the insert          
# func char ctrack_irreg . . . . .          # file trc_irreg.ins (written by the user)      
#                                                                                           
 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_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.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 wheel-rail geometry functions                                                     
## ====================================                                                     
  insert file  kpfr/S1002_uic60i40.kpfr                                                     
  in_substruct kpf_S1002_uic60i40 [ 1 ]                                                     
#                                                                                           
#                                                                                           
# ------------------------------------------------------------------                        
                                                                                            
##                                                                                          
##       Insert vehicle property-file                                                       
##       ======================================================                             
  insert file fodat/vehicle_prop.ins                                                        
                                                                                            
##                                                                                          
##       Insert change of vehicle data parameters                                           
##       ======================================================                             
  func const kxbw= 12e6   # stiffness, longitudinal                                         
  func const kybw= 20e6   # stiffness, lateral                                              
                                                                                            
##                                                                                          
##       Insert vehicle geometry-file                                                       
##       ======================================================                             
  insert file fodat/vehicle_geom.ins                                                        
                                                                                            
##                                                                                          
## VERTICAL TRACK EXCITATION (for "fresp")                                                  
##                                                                                          
   func intpl_r spectra  0 0.001  100 0.001                                                 
   func oper t_axl_111  (  acb + abw ) / Vo                                                 
   func oper t_axl_112  (  acb - abw ) / Vo                                                 
   func oper t_axl_121  ( -acb + abw ) / Vo                                                 
   func oper t_axl_122  ( -acb - abw ) / Vo                                                 
##                                                                                          
## fexcit displ_fr m_name  dire spectra    t_delay                                          
## ------------------------------------------------                                         
   fexcit displ_fr trc_111  z   spectra  -t_axl_111                                         
   fexcit displ_fr trc_112  z   spectra  -t_axl_112                                         
   fexcit displ_fr trc_121  z   spectra  -t_axl_121                                         
   fexcit displ_fr trc_122  z   spectra  -t_axl_122                                         
                                                                                            
##                                                                                          
## Read flexible parameters for the carbody                                                 
## ===============================================================                          
#   insert file npickr/npick_flex.npickr                                                    
                                                                                            
##                                                                                          
## Read initial values from GPdat-file, generated by program QUASI                          
## ===============================================================                          
## initval read_gpdat gp/quasi.gp 1                                                         
                                                                                            
##                                                                                          
## Stop the simulation at the end of the track                                              
## ===============================================================                          
 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                                                                                      
                                                                                            
##                                                                                          
##       Calculate and store a number of flange wear index's in the contant point           
##       ========================================================================           
##                                                                                          
  insert file $gensys/calc/insert_files/fl_weare1.ins # Define substructure fl_wear.        
#                                                                                           
  in_substruct fl_wear [ 1 111 ]                    # Make a call to fl_wear                
  in_substruct fl_wear [ 1 112 ]                    # for each wheelset                     
#                                                                                           
 substruct save_fl_wear [                                                                   
  s_var sngl     wYa_$1                 # Guiding force times angle of attack               
  s_var scalar_0 wYa_$1                                                                     
                                                                                            
  s_var sngl     uFny_$1                # Creep*creepforce in contact point tread           
  s_var scalar_0 uFny_$1                                                                    
  if_then_init .exist. vFny_$1                                                              
   s_var sngl     vFny_$1               # Creep*creepforce in contact point flange          
   s_var scalar_0 vFny_$1                                                                   
  endif                                                                                     
  s_var sngl     wFny_$1                # Creep*creepforce tread+flange                     
  s_var scalar_0 wFny_$1                                                                    
                                                                                            
  s_var sngl     uFMny_$1               # Energy dissipation in contact point tread         
  s_var scalar_0 uFMny_$1                                                                   
  if_then_init .exist. vFMny_$1                                                             
   s_var sngl     vFMny_$1              # Energy dissipation in contact point flange        
   s_var scalar_0 vFMny_$1                                                                  
  endif                                                                                     
  s_var sngl     wFMny_$1               # Total energy dissipation tread+flange             
  s_var scalar_0 wFMny_$1                                                                   
 ]                                                                                          
  in_substruct save_fl_wear [ 111r ]    # Make calls to the save_fl_wear-                   
  in_substruct save_fl_wear [ 111l ]    # substructure one call for each wheel.             
  in_substruct save_fl_wear [ 112r ]                                                        
  in_substruct save_fl_wear [ 112l ]                                                        
                                                                                            
##                                                                                          
## Save results on GPdat-file for animation in GPLOT                                        
## ===============================================================                          
  s_var gpdat_r1                                                                            
  s_var gpdat_wr_info   111r  lsa_111.b                                                     
                        kpff/w_prof/S1002/S1002.wheel                                       
                        kpff/r_prof/uic60/uic60i40.rail                                     
  s_var gpdat_wr_info   111l  lsa_111.b                                                     
                        kpff/w_prof/S1002/S1002.wheel                                       
                        kpff/r_prof/uic60/uic60i40.rail                                     
  s_var gpdat_wr_info   112r  lsa_112.b                                                     
                        kpff/w_prof/S1002/S1002.wheel                                       
                        kpff/r_prof/uic60/uic60i40.rail                                     
  s_var gpdat_wr_info   112l  lsa_112.b                                                     
                        kpff/w_prof/S1002/S1002.wheel                                       
                        kpff/r_prof/uic60/uic60i40.rail                                     
                                                                                            
eof