
# Processing time =  13097.54 [s]

  head 2 "Test of different wheel/rail couplings  coupl creep_contact_1"
  head 3 "axl_110 - axl_113,  Cylindric wheel profile"
  head 4 "axl_120 - axl_122,  Conical   wheel profile"
  head 5 "Vertical load 100e3 per wheel  mu= $mu_"

##
## Analyse specific input data
##
  idebug= 0                                     # Dump memory to file
  idebug_file= out/pure_creep_contact_1.out     # File where memory dump will be written

  fresp_param= Fourier_CG1  1.e-4  fstart .2   fstop 20.  fstep -1.05
  modal_param= Schur_fact1  1.e-4
  quasi_param= Damped_Tens  1.e-4 0.1   20    2.
# tsim_param = heun_c .01 .2e-3  tstart= 0.  tstop= 3.0   tstep= 0.0001  tout= .001
# tsim_param = heun              tstart= 0.  tstop= 2.0   tstep= 2e-5    tout= .001
# tsim_param = heun              tstart= 0.  tstop= 1.0   tstep= 1e-5    tout= .001
# tsim_param = heun_u            tstart= 0.  tstop= 3.0   tstep= 2e-5    tout= .001
  tsim_param = runge_kutta       tstart= 0.  tstop= 2.25  tstep= 2.0e-4  tout= 2e-3

  s_var_filter= none  
  s_var sngl timestep_err
# s_var sngl IntegratorDebug

##
##  Track irregularities and designed track geometry
##
  func intpl_r   lat_trac      -200    0.   100    0.
  func intpl_r   spv_trac      -200 1435.   100 1435.
  func intpl_r   vert_trac     -200    0.   100    0.
  func intpl_r   fi_trac       -200    0.   100    0.

  func intpl_r   krok_R  -200 0   100 0
  func intpl_r   krok_h  -200 0   100 0
  func intpl_r   krok_z  -200 0   100 0

##
##  Define constants for the wheel-rail-coupling substructure wr_coupl
##
  func const_block
   Vo     = 10.     # Speed of the vehicles
   mu_    = 0.5     # Friction coefficient, all wheels in the train
   ro_    = 0.45    # Wheel radius, all wheels in the train
   bo_    = 0.75    # Semi distance between the wheel profile origins, all wheels in the train
   ma_    =   1887  # Mass of wheelset
   ma_120 = 5*1887  # Mass of wheelset 120 - 122
   ma_121 = ma_120
   ma_122 = ma_120
   Jka_   =    100  # Moment of inertia in pitch, wheelset
   Jka_120=  5*100  # Moment of inertia in pitch, wheelset 120 - 122
   Jka_121=  Jka_120
   Jka_122=  Jka_120

   YMtrac= 1e-3         # From mm to m;   Scale factor 1.00; Lateral irregularities
   ZMtrac= 1e-3         # From mm to m;   Scale factor 1.00; Vertical irregularities
   GMtrac= 1e-3         # From mm to m;   Scale factor 1.00; Gauge irregularities
   CMtrac= 1e-3/(2*bo_) # From mm to rad; Scale factor 1.00; Cant irregularities

   gauge_average= 1435.    # Average gauge of the track
   gauge_dev_   = 0.000    # Deviation in gauge
  end_block


##
##  Create the wheelsets.
##  ---------------------
  lsys   e_abs_bendrf  esys  Vo  0.  krok_R krok_h krok_z
                                     4 4    4 4    4 4
  substruct create_axles [      # $1= axle number                                       
   lsys  l_local      lsa_$1  esys      0. 0. 0.                                         
   mass  m_rigid_6    axl_$1  lsa_$1    0. 0. -ro_$1  ma_$1 ma_$1 ma_$1  720 Jka_$1 720  
   mass  m_rigid_6    trc_$1  lsa_$1    0. 0. 0.      1.e3 1.e3 1.e3  1.e3 1.e3 1.e3    
   mass  fixpoint_6   grd_$1  lsa_$1    0. 0. 0.                                         
#  body  w_set_lsys   axl_$1  lsa_$1    ro_$1 bo_                                       
   body  whe_set_mass axl_$1            ro_$1 bo_                                       
   body  figure_lsys  trc_$1  lsa_$1    1 5        .5  1 0   .5 -1 0                    
                                                  -.5 -1 0  -.5  1 0  .5 1 0            
#
   constr fix_rigid_1  axl_$1  x   0.                                                   
   constr fix_rigid_1  axl_$1  y   0.                                                   
   constr fix_rigid_1  axl_$1  f   0.                                                   
   constr fix_rigid_1  axl_$1  p   0.                                                   
#                                                                                       
   constr fix_rigid_1  trc_$1  x   0.   constr fix_rigid_1  trc_$1  f   0.              
   constr fix_rigid_1  trc_$1  y   0.   constr fix_rigid_1  trc_$1  k   0.              
   constr fix_rigid_1  trc_$1  z   0.   constr fix_rigid_1  trc_$1  p   0.              
#                                                                                       
   force rel_mass1 vload_$1  axl_$1  0. 0. -ro_$1  0. 0. 200e3-ma_$1*9.81  0. 0. 0.     
#                                                                                       
#  coupl c czag$1l  axl_$1 0. -bo_ -ro_$1  grd_$1 0. -bo_ -ro_$1  .7*300e6/pi/40 esys z 
#  coupl c czag$1r  axl_$1 0.  bo_ -ro_$1  grd_$1 0.  bo_ -ro_$1  .7*300e6/pi/40 esys z 
  ]
#
  in_substruct create_axles [ 110 ]     # Pure rolling, cylindrical wheels
  in_substruct create_axles [ 111 ]     # Long creep,   cylindrical wheels
  in_substruct create_axles [ 112 ]     # Lat  creep,   cylindrical wheels
  in_substruct create_axles [ 113 ]     # Spin creep,   cylindrical wheels
  in_substruct create_axles [ 120 ]     # Pure rolling, conical wheels
  in_substruct create_axles [ 121 ]     # Long creep,   conical wheels
  in_substruct create_axles [ 122 ]     # Lat  creep,   conical wheels
#
  mass  fixpoint_6   car_1    lsa_111   0. 0. 0.

##
##  Define pure creepage on the three different axles
##  -------------------------------------------------
  func   const          nom_pitch_cyl = -Vo/ro_

  constr fix_free_1     axl_110.k =  0.
  initval set_var       axl_110.vk= nom_pitch_cyl                   # Pure rolling
  initval set_mass      axl_110 z=  9.8667e-5
  s_var  force_on       axl_110 k

  constr fix_free_1     axl_111.k =  0.
  constr fix_free_1     axl_111.vk= nom_pitch_cyl                   # Pure longitudinal creepage
  func   intpl_l        axl_111.vk= time 
                                .0 nom_pitch_cyl
                                .2 nom_pitch_cyl
                               1.2 nom_pitch_cyl-0.25
  initval set_mass  axl_111 z=  9.8667e-5

  constr fix_free_1     axl_112.k =  0.
  initval set_var       axl_112.vk= nom_pitch_cyl                   # Pure lateral creepage
  func   intpl_l    axl_112.p= time
                                .0  0.
                                .2  0.
                               1.2  0.01
  initval set_mass  axl_112 z=  9.8667e-5

  constr fix_free_1     axl_113.k =  0.
  constr fix_free_1     axl_113.vk= nom_pitch_cyl                   # Pure spin creepage
  func   intpl_l    axl_113.vp= time
                                .0   0.
                                .2   0.
                               1.2 -16
  func   intpl_l    axl_113.vx= time
                                .0   0.
                                .2   0.
                               1.2 -12
  initval set_mass  axl_113 z=  9.8667e-5


  func   const          nom_pitch_cone= -Vo/(ro_+1.12e-3)               # Rolling radius increases because of the 0.05 cone angle

  constr fix_free_1     axl_120.k =  0.                                 # Pure rolling
  initval set_var       axl_120.vk= nom_pitch_cone
# initval set_mass      axl_120 z= 7.06595000000000e-05
  initval set_mass      axl_120 z= -4.70963E-04
  s_var  force_on       axl_120 z

  constr fix_free_1     axl_121.k =  0.
  constr fix_free_1     axl_121.vk= nom_pitch_cone                      # Rolling with longitudinal creepage
  func   intpl_l    axl_121.vk= time 
                                .0 nom_pitch_cone
                                .2 nom_pitch_cone
                               1.2 nom_pitch_cone-0.25
  initval set_mass      axl_121 z= -4.70963E-04

  constr fix_free_1     axl_122.k =  0.
  initval set_var       axl_122.vk= nom_pitch_cone                      # Rolling with lateral creepage
  func   intpl_l    axl_122.p= time
                                .0  0.
                                .2  0.
                               1.2  0.01
  initval set_mass      axl_122 z= -4.70963E-04 # -4.71056E-04


##
##      Creepage and creep-forces
##      -----------------------------------

#
#       Wheel & rail profiles
#       ----------------------------
  func intpl_r   rail_prof=    
   insert file "kpf/r_prof/R.450_dy.0005.rail"
  func intpl2_r  rail_prof_memfield=   0.   rail_prof
                                     200.   rail_prof

  func intpl_r   wheel_prof_11=
   insert file "kpf/w_prof/cylindric.wheel"
  func intpl_r   wheel_prof_12=
   insert file "kpf/w_prof/conical_0.05.wheel"

  func const_block
   tral.yl_    =  0.   # Lateral position track irregularity
   tral.zl_    =  0.   # Vertical position track irregularity
   tral.vyl_   =  0.   # Lateral velocity track irregularity
   tral.vzl_   =  0.   # Vertical velocity track irregularity

   tral.yr_    =  0.
   tral.zr_    =  0.
   tral.vyr_   =  0.
   tral.vzr_   =  0.

   tral110l.y =  0.   tral110r.y =  0.
   tral110l.z =  0.   tral110r.z =  0.
   tral110l.vy=  0.   tral110r.vy=  0.
   tral110l.vz=  0.   tral110r.vz=  0.

   tral111l.y =  0.   tral111r.y =  0.
   tral111l.z =  0.   tral111r.z =  0.
   tral111l.vy=  0.   tral111r.vy=  0.
   tral111l.vz=  0.   tral111r.vz=  0.

   tral112l.y =  0.   tral112r.y =  0.
   tral112l.z =  0.   tral112r.z =  0.
   tral112l.vy=  0.   tral112r.vy=  0.
   tral112l.vz=  0.   tral112r.vz=  0.

   tral113l.y =  0.   tral113r.y =  0.
   tral113l.z =  0.   tral113r.z =  0.
   tral113l.vy=  0.   tral113r.vy=  0.
   tral113l.vz=  0.   tral113r.vz=  0.

#  tral120l.y = -4.47766735594495e-02   # Move the rail laterally, to make the contact point to happen on the nominal running circle
#  tral120l.z = -2.23326440550488e-03   # Move the rail vertical, to give the wheelset a height of 0(zero)
   tral120l.y =  0.
   tral120l.z =  0.
   tral120l.vy=  0.
   tral120l.vz=  0.

#  tral120r.y =  4.47766735594495e-02
#  tral120r.z = -2.23326440550488e-03
   tral120r.y =  0.
   tral120r.z =  0.
   tral120r.vy=  0.
   tral120r.vz=  0.

#  tral121l.y = -4.47766735594495e-02   # Move the rail laterally, to make the contact point to happen on the nominal running circle
#  tral121l.z = -2.23326440550488e-03   # Move the rail vertical, to give the wheelset a height of 0(zero)
   tral121l.y =  0.
   tral121l.z =  0.
   tral121l.vy=  0.
   tral121l.vz=  0.

#  tral121r.y =  4.47766735594495e-02
#  tral121r.z = -2.23326440550488e-03
   tral121r.y =  0.
   tral121r.z =  0.
   tral121r.vy=  0.
   tral121r.vz=  0.

#  tral122l.y = -4.47766735594495e-02   # Move the rail laterally, to make the contact point to happen on the nominal running circle
#  tral122l.z = -2.23326440550488e-03   # Move the rail vertical, to give the wheelset a height of 0(zero)
   tral122l.y =  0.
   tral122l.z =  0.
   tral122l.vy=  0.
   tral122l.vz=  0.

#  tral122r.y =  4.47766735594495e-02
#  tral122r.z = -2.23326440550488e-03
   tral122r.y =  0.
   tral122r.z =  0.
   tral122r.vy=  0.
   tral122r.vz=  0.

   tral124l.y =  0.    tral124r.y =  0.
   tral124l.z =  0.    tral124r.z =  0.
   tral124l.vy=  0.    tral124r.vy=  0.
   tral124l.vz=  0.    tral124r.vz=  0.

   tral125l.y =  0.    tral125r.y =  0.
   tral125l.z =  0.    tral125r.z =  0.
   tral125l.vy=  0.    tral125r.vy=  0.
   tral125l.vz=  0.    tral125r.vz=  0.
  end_block

  func intpl_l  laythk= time            # Vary the thickness of the interfacial layer
                        0.    1e-6      # during the simulation
                       10.48  1e-6
                       10.50  1e-5
                       11.    1e-5


  substruct wr_coupl [    # $1=axle #                                                                   
#                                                                                                       
   mass m_rigid_6f  ral_$1l lsa_$1    0. -bo_ 0.   0. 300  300    0. 0. 0.                              
   mass m_rigid_6f  ral_$1r lsa_$1    0.  bo_ 0.   0. 300  300    0. 0. 0.                              
#                                                                                                       
   force rel_mass1 Fralz_$1l ral_$1l  0. -bo_ 0.   0. 0. -(300-60)*9.81  0. 0. 0.                       
   force rel_mass1 Fralz_$1r ral_$1r  0.  bo_ 0.   0. 0. -(300-60)*9.81  0. 0. 0.                       
#                                                                                                       
   func  operp whe_$1l.x= axl_$1.x + bo_ * axl_$1.p                                                     
   func  operp whe_$1r.x= axl_$1.x - bo_ * axl_$1.p                                                     
#                                                                                                       
   func  operp whe_$1l.vx= axl_$1.vx + bo_ * axl_$1.vp                                                  
   func  operp whe_$1r.vx= axl_$1.vx - bo_ * axl_$1.vp                                                  
#
#
#
#  func tral_interp_spline $1              # Interpolate track irregularities tral*                     
#
   coupl creep_contact_1      cp_$1l                                                                    
                axl_$1  0.        -bo_  0.                                                              
                ral_$1l whe_$1l.x -bo_  0.   esys m                                                     
                tral$1l.y                  # tral.yl_$1   Lateral position track irregularity           
                tral$1l.z                  # tral.zl_$1   Vertical position track irregularity          
                tral$1l.vy                 # tral.vyl_$1  Lateral velocity track irregularity           
                tral$1l.vz                 # tral.vzl_$1  Vertical velocity track irregularity          
                ro_$1l                     # Wheel rolling radius, will vary for OOR-wheels             
                 1                         # Orientation                                                
                1                          # Circular shape in long direction                           
                1.    # mulfact_nux_$1l    # Longitudinal creep relaxation due to contaminated surfaces 
                1.    # mulfact_nuy_$1l    # Lateral      creep relaxation due to contaminated surfaces 
                1.    # mulfact_spin_$1l   # Spin         creep relaxation due to contaminated surfaces 
#                                                                                                       
                wheel_prof_$1l             # Wheel profile                                              
                .001  .001                 # Distance between brushes in mesh long&lat direction        
                rail_prof_memfield         # Rail profile memory field                                  
#                                                                                                       
                 82000e6                   # Shear Modulus body 1                                       
                 0.28                      # Poisson's ratio body 1                                     
                 82000e6                   # Shear Modulus body 2                                       
                 0.28                      # Poisson's ratio body 2                                     
#                                                                                                       
                 0.                        # Vertical curvature rail head                               
#                                                                                                       
#                                            Wheel/rail-friction                                        
                 0                         # =0 => Coulomb friction                                     
                 .5, .5                    #  cp1 params= [fstat,fkin]                                  
                 .5, .5                    #  cp2 params= [fstat,fkin]                                  
                 .5, .5                    #  cp3 params= [fstat,fkin]                                  
                 .5, .5                    #  cp4 params= [fstat,fkin]                                  
                 .5, .5                    #  cp5 params= [fstat,fkin]                                  
                 .5, .5                    #  cp6 params= [fstat,fkin]                                  
                 .5, .5                    #  cp7 params= [fstat,fkin]                                  
                 .5, .5                    #  cp8 params= [fstat,fkin]                                  
                 .5, .5                    #  cp9 params= [fstat,fkin]                                  
#                                                                                                       
#                5                         # =5 => Exponential falling friction acc.to Polach           
#                .3, .6, log(2)/1.25       #  cp1 params= [fstat,polach_a,polach_b]                     
#                .3, .6, log(2)/1.25       #  cp2                                                       
#                .3, .6, log(2)/1.25       #  cp3,,, etc.                                               
#                                                                                                       
#                                            Interfacial layer                                          
                 0                         # =0 => No layer                                             
#                                          #       No params                                            
#                4                         # =4 => Elasto-plastic intfc.layer                           
#                100e6 laythk 950e6 75e6   #  cp1 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp2 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp3 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp4 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp5 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp6 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp7 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp8 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp9 params= [G3,laythk,taucrt,ggplst]                     
#                                                                                                       
                 1e5                       # ckd viscous damper parallel with contact patch             

   coupl creep_contact_1      cp_$1r                                                                    
                axl_$1  0.         bo_  0.                                                              
                ral_$1r whe_$1r.x  bo_  0.   esys m                                                     
                tral$1r.y                  # tral.yr_$1   Lateral position track irregularity           
                tral$1r.z                  # tral.zr_$1   Vertical position track irregularity          
                tral$1r.vy                 # tral.vyr_$1  Lateral velocity track irregularity           
                tral$1r.vz                 # tral.vzr_$1  Vertical velocity track irregularity          
                ro_$1r                     # Wheel rolling radius, will vary for OOR-wheels             
                -1                         # Orientation                                                
                1                          # Circular shape in long direction                           
                1.    # mulfact_nux_$1r    # Longitudinal creep relaxation due to contaminated surfaces 
                1.    # mulfact_nuy_$1r    # Lateral      creep relaxation due to contaminated surfaces 
                1.    # mulfact_spin_$1r   # Spin         creep relaxation due to contaminated surfaces 
#                                                                                                       
                wheel_prof_$1r             # Wheel profile                                              
                .001  .001                 # Distance between brushes in mesh long&lat direction        
                rail_prof_memfield         # Rail profile memory field                                  
#                                                                                                       
                 82000e6                   # Shear Modulus body 1                                       
                 0.28                      # Poisson's ratio body 1                                     
                 82000e6                   # Shear Modulus body 2                                       
                 0.28                      # Poisson's ratio body 2                                     
#                                                                                                       
                 0.                        # Vertical curvature rail head                               
#                                                                                                       
#                                            Wheel/rail-friction                                        
                 0                         # =0 => Coulomb friction                                     
                 .5, .5                    #  cp1 params= [fstat,fkin]                                  
                 .5, .5                    #  cp2 params= [fstat,fkin]                                  
                 .5, .5                    #  cp3 params= [fstat,fkin]                                  
                 .5, .5                    #  cp4 params= [fstat,fkin]                                  
                 .5, .5                    #  cp5 params= [fstat,fkin]                                  
                 .5, .5                    #  cp6 params= [fstat,fkin]                                  
                 .5, .5                    #  cp7 params= [fstat,fkin]                                  
                 .5, .5                    #  cp8 params= [fstat,fkin]                                  
                 .5, .5                    #  cp9 params= [fstat,fkin]                                  
#                                                                                                       
#                5                         # =5 => Exponential falling friction acc.to Polach           
#               .3, .6, log(2)/1.25        #  cp1 params= [fstat,polach_a,polach_b]                     
#               .3, .6, log(2)/1.25        #  cp2                                                       
#               .3, .6, log(2)/1.25        #  cp3,,, etc.                                               
#                                                                                                       
#                                            Interfacial layer                                          
                 0                         # =0 => No layer                                             
#                                          #       No params                                            
#                4                         # =4 => Elasto-plastic intfc.layer                           
#                100e6 laythk 950e6 75e6   #  cp1 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp2 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp3 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp4 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp5 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp6 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp7 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp8 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp9 params= [G3,laythk,taucrt,ggplst]                     
#                                                                                                       
                 1e5                       # ckd viscous damper parallel with contact patch             
 ]
  in_substruct wr_coupl [ 110 ]
  in_substruct wr_coupl [ 111 ]
  in_substruct wr_coupl [ 112 ]
# in_substruct wr_coupl [ 113 ]
  in_substruct wr_coupl [ 120 ]
  in_substruct wr_coupl [ 121 ]
  in_substruct wr_coupl [ 122 ]








#
   force rel_mass1 vload_113b axl_113  0. 0. -ro_113  0. 0. -100e3  0. 0. 0.
#
   mass m_rigid_6f  ral_113l lsa_113  0. -bo_  0.    0. 60 60  0. 0. 0.
   mass m_rigid_6f  ral_113r lsa_113  0.  bo_  0.    0. 60 60  0. 0. 0.
#
   func  operp whe_113l.x= axl_113.x + bo_ * axl_113.p
   func  operp whe_113r.x= axl_113.x - bo_ * axl_113.p
#
   func  operp whe_113l.vx= axl_113.vx + bo_ * axl_113.vp
   func  operp whe_113r.vx= axl_113.vx - bo_ * axl_113.vp
#
#
#
#
   func tral_interp_spline 113    # Interpolate track irregularities
#
   coupl creep_contact_1        cp_113r
                axl_113  0.          bo_  0.
                ral_113r whe_113r.x  bo_  0.   esys m
                tral113r.y                 # Lateral position track irregularity
                tral113r.z                 # Vertical position track irregularity
                tral113r.vy                # Lateral velocity track irregularity
                tral113r.vz                # Vertical velocity track irregularity
                ro_113r                    # Wheel rolling radius, will vary for OOR-wheels
                -1                         # Orientation
                1                          # Circular shape in long direction                           
                1.    # mulfact_nux_113r   # Longitudinal creep relaxation due to contaminated surfaces
                1.    # mulfact_nuy_113r   # Lateral      creep relaxation due to contaminated surfaces
                1.    # mulfact_spin_113r  # Spin         creep relaxation due to contaminated surfaces
#
                wheel_prof_113r            # Wheel profile                                              
                .001  .001                 # Distance between brushes in mesh long&lat direction        
                rail_prof_memfield         # Rail profile                                               
#
                 82000e6                   # Shear Modulus body 1                                       
                 0.28                      # Poisson's ratio body 1                                     
                 82000e6                   # Shear Modulus body 2                                       
                 0.28                      # Poisson's ratio body 2                                     
#                                                                                                       
                 0.                        # Vertical curvature rail head                               
#
#                                            Wheel/rail-friction                                        
                 0                         # Coulomb friction                                           
                 .5, .5                    #  cp1 params= [fstat,fkin]                                  
                 .5, .5                    #  cp2 params= [fstat,fkin]                                  
                 .5, .5                    #  cp3 params= [fstat,fkin]                                  
                 .5, .5                    #  cp4 params= [fstat,fkin]                                  
                 .5, .5                    #  cp5 params= [fstat,fkin]                                  
                 .5, .5                    #  cp6 params= [fstat,fkin]                                  
                 .5, .5                    #  cp7 params= [fstat,fkin]                                  
                 .5, .5                    #  cp8 params= [fstat,fkin]                                  
                 .5, .5                    #  cp9 params= [fstat,fkin]                                  
#                                                                                                       
#               5                          # Exponential falling friction acc.to Polach                 
#               .3, .6, log(2)/1.25        #  cp1 params= [fstat,polach_a,polach_b]                     
#               .3, .6, log(2)/1.25        #  cp2                                                       
#               .3, .6, log(2)/1.25        #  cp3,,, etc.                                               
#
#                                            Interfacial layer                                          
                 0                         # No layer                                                   
#                4                         # Elasto-plastic intfc.layer                                 
#                100e6 laythk 950e6 75e6   #  cp1 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp2 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp3 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp4 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp5 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp6 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp7 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp8 params= [G3,laythk,taucrt,ggplst]                     
#                100e6 laythk 950e6 75e6   #  cp9 params= [G3,laythk,taucrt,ggplst]                     
#                                                                                                       
                 1e5                       # ckd viscous damper parallel with contact patch             

  constr fix_rigid_1  ral_110l x 0.  constr fix_rigid_1  ral_110l y 0.  constr fix_rigid_1  ral_110l z 0.
  constr fix_rigid_1  ral_110l f 0.  constr fix_rigid_1  ral_110l k 0.  constr fix_rigid_1  ral_110l p 0.
  constr fix_rigid_1  ral_110r x 0.  constr fix_rigid_1  ral_110r y 0.  constr fix_rigid_1  ral_110r z 0.
  constr fix_rigid_1  ral_110r f 0.  constr fix_rigid_1  ral_110r k 0.  constr fix_rigid_1  ral_110r p 0.
#
  constr fix_rigid_1  ral_111l x 0.  constr fix_rigid_1  ral_111l y 0.  constr fix_rigid_1  ral_111l z 0.
  constr fix_rigid_1  ral_111l f 0.  constr fix_rigid_1  ral_111l k 0.  constr fix_rigid_1  ral_111l p 0.
  constr fix_rigid_1  ral_111r x 0.  constr fix_rigid_1  ral_111r y 0.  constr fix_rigid_1  ral_111r z 0.
  constr fix_rigid_1  ral_111r f 0.  constr fix_rigid_1  ral_111r k 0.  constr fix_rigid_1  ral_111r p 0.
#
  constr fix_rigid_1  ral_112l x 0.  constr fix_rigid_1  ral_112l y 0.  constr fix_rigid_1  ral_112l z 0.
  constr fix_rigid_1  ral_112l f 0.  constr fix_rigid_1  ral_112l k 0.  constr fix_rigid_1  ral_112l p 0.
  constr fix_rigid_1  ral_112r x 0.  constr fix_rigid_1  ral_112r y 0.  constr fix_rigid_1  ral_112r z 0.
  constr fix_rigid_1  ral_112r f 0.  constr fix_rigid_1  ral_112r k 0.  constr fix_rigid_1  ral_112r p 0.
#
  constr fix_rigid_1  ral_113l x 0.  constr fix_rigid_1  ral_113l y 0.  constr fix_rigid_1  ral_113l z 0.
  constr fix_rigid_1  ral_113l f 0.  constr fix_rigid_1  ral_113l k 0.  constr fix_rigid_1  ral_113l p 0.
  constr fix_rigid_1  ral_113r x 0.  constr fix_rigid_1  ral_113r y 0.  constr fix_rigid_1  ral_113r z 0.
  constr fix_rigid_1  ral_113r f 0.  constr fix_rigid_1  ral_113r k 0.  constr fix_rigid_1  ral_113r p 0.
#
#
  constr fix_rigid_1  ral_120l x 0.
  constr fix_rigid_1  ral_120l f 0.  constr fix_rigid_1  ral_120l k 0.  constr fix_rigid_1  ral_120l p 0.
  constr fix_rigid_1  ral_120r x 0.
  constr fix_rigid_1  ral_120r f 0.  constr fix_rigid_1  ral_120r k 0.  constr fix_rigid_1  ral_120r p 0.
#
  coupl k  kyrt120l  ral_120l  0. -bo_ 0.  grd_120  0. -bo_ 0.  17e6                    esys y
  coupl k  kyrt120r  ral_120r  0.  bo_ 0.  grd_120  0.  bo_ 0.  17e6                    esys y
# coupl kc cyrt120l  ral_120l  0. -bo_ 0.  grd_120  0. -bo_ 0. 2*pi*25*20e3 20e3        esys y
# coupl kc cyrt120r  ral_120r  0.  bo_ 0.  grd_120  0.  bo_ 0. 2*pi*25*20e3 20e3        esys y
# coupl c  cyrt120l  ral_120l  0. -bo_ 0.  grd_120  0. -bo_ 0. 100e3                    esys y
# coupl c  cyrt120r  ral_120r  0.  bo_ 0.  grd_120  0.  bo_ 0. 100e3                    esys y
  coupl c  cyrt120l  ral_120l  0. -bo_ 0.  grd_120  0. -bo_ 0. .20*17e6/pi/5            esys y
  coupl c  cyrt120r  ral_120r  0.  bo_ 0.  grd_120  0.  bo_ 0. .20*17e6/pi/5            esys y
#
  coupl p_lin kzrt_120= `-100e3 - 60*9.81`  230e6
  coupl k  kzrt120l  ral_120l  0. -bo_ 0.  grd_120  0. -bo_ 0.  kzrt_120                esys z
  coupl k  kzrt120r  ral_120r  0.  bo_ 0.  grd_120  0.  bo_ 0.  kzrt_120                esys z
# coupl kc czrt120l  ral_120l  0. -bo_ 0.  grd_120  0. -bo_ 0. 2*pi*12*1e6  1e6         esys z
# coupl kc czrt120r  ral_120r  0.  bo_ 0.  grd_120  0.  bo_ 0. 2*pi*12*1e6  1e6         esys z
# coupl c  czrt120l  ral_120l  0. -bo_ 0.  grd_120  0. -bo_ 0.   1e6                    esys z
# coupl c  czrt120r  ral_120r  0.  bo_ 0.  grd_120  0.  bo_ 0.   1e6                    esys z
  coupl c  czrt120l  ral_120l  0. -bo_ 0.  grd_120  0. -bo_ 0. .20*kzrt_120.v1/pi/5     esys z
  coupl c  czrt120r  ral_120r  0.  bo_ 0.  grd_120  0.  bo_ 0. .20*kzrt_120.v1/pi/5     esys z
#
#
  constr fix_rigid_1  ral_121l x 0.
  constr fix_rigid_1  ral_121l f 0.  constr fix_rigid_1  ral_121l k 0.  constr fix_rigid_1  ral_121l p 0.
  constr fix_rigid_1  ral_121r x 0.
  constr fix_rigid_1  ral_121r f 0.  constr fix_rigid_1  ral_121r k 0.  constr fix_rigid_1  ral_121r p 0.
#
  coupl k  kyrt121l  ral_121l  0. -bo_ 0.  grd_121  0. -bo_ 0.  17e6                    esys y
  coupl k  kyrt121r  ral_121r  0.  bo_ 0.  grd_121  0.  bo_ 0.  17e6                    esys y
# coupl kc cyrt121l  ral_121l  0. -bo_ 0.  grd_121  0. -bo_ 0. 2*pi*25*20e3 20e3        esys y
# coupl kc cyrt121r  ral_121r  0.  bo_ 0.  grd_121  0.  bo_ 0. 2*pi*25*20e3 20e3        esys y
# coupl c  cyrt121l  ral_121l  0. -bo_ 0.  grd_121  0. -bo_ 0. 100e3                    esys y
# coupl c  cyrt121r  ral_121r  0.  bo_ 0.  grd_121  0.  bo_ 0. 100e3                    esys y
  coupl c  cyrt121l  ral_121l  0. -bo_ 0.  grd_121  0. -bo_ 0. .20*17e6/pi/5            esys y
  coupl c  cyrt121r  ral_121r  0.  bo_ 0.  grd_121  0.  bo_ 0. .20*17e6/pi/5            esys y
#
  coupl p_lin kzrt_121= `-100e3 - 60*9.81`  230e6
  coupl k  kzrt121l  ral_121l  0. -bo_ 0.  grd_121  0. -bo_ 0.  kzrt_121                esys z
  coupl k  kzrt121r  ral_121r  0.  bo_ 0.  grd_121  0.  bo_ 0.  kzrt_121                esys z
# coupl kc czrt121l  ral_121l  0. -bo_ 0.  grd_121  0. -bo_ 0. 2*pi*12*1e6  1e6         esys z
# coupl kc czrt121r  ral_121r  0.  bo_ 0.  grd_121  0.  bo_ 0. 2*pi*12*1e6  1e6         esys z
# coupl c  czrt121l  ral_121l  0. -bo_ 0.  grd_121  0. -bo_ 0.   1e6                    esys z
# coupl c  czrt121r  ral_121r  0.  bo_ 0.  grd_121  0.  bo_ 0.   1e6                    esys z
  coupl c  czrt121l  ral_121l  0. -bo_ 0.  grd_121  0. -bo_ 0. .20*kzrt_121.v1/pi/5     esys z
  coupl c  czrt121r  ral_121r  0.  bo_ 0.  grd_121  0.  bo_ 0. .20*kzrt_121.v1/pi/5     esys z
#
#
  constr fix_rigid_1  ral_122l x 0.
  constr fix_rigid_1  ral_122l f 0.  constr fix_rigid_1  ral_122l k 0.  constr fix_rigid_1  ral_122l p 0.
  constr fix_rigid_1  ral_122r x 0.
  constr fix_rigid_1  ral_122r f 0.  constr fix_rigid_1  ral_122r k 0.  constr fix_rigid_1  ral_122r p 0.
#
  coupl k  kyrt122l  ral_122l  0. -bo_ 0.  grd_122  0. -bo_ 0.  17e6                    esys y
  coupl k  kyrt122r  ral_122r  0.  bo_ 0.  grd_122  0.  bo_ 0.  17e6                    esys y
# coupl kc cyrt122l  ral_122l  0. -bo_ 0.  grd_122  0. -bo_ 0. 2*pi*25*20e3 20e3        esys y
# coupl kc cyrt122r  ral_122r  0.  bo_ 0.  grd_122  0.  bo_ 0. 2*pi*25*20e3 20e3        esys y
# coupl c  cyrt122l  ral_122l  0. -bo_ 0.  grd_122  0. -bo_ 0. 100e3                    esys y
# coupl c  cyrt122r  ral_122r  0.  bo_ 0.  grd_122  0.  bo_ 0. 100e3                    esys y
  coupl c  cyrt122l  ral_122l  0. -bo_ 0.  grd_122  0. -bo_ 0. .20*17e6/pi/5            esys y
  coupl c  cyrt122r  ral_122r  0.  bo_ 0.  grd_122  0.  bo_ 0. .20*17e6/pi/5            esys y
#
  coupl p_lin kzrt_122= `-100e3 - 60*9.81`  230e6
  coupl k  kzrt122l  ral_122l  0. -bo_ 0.  grd_122  0. -bo_ 0.  kzrt_122                esys z
  coupl k  kzrt122r  ral_122r  0.  bo_ 0.  grd_122  0.  bo_ 0.  kzrt_122                esys z
# coupl kc czrt122l  ral_122l  0. -bo_ 0.  grd_122  0. -bo_ 0. 2*pi*12*1e6    1e6       esys z
# coupl kc czrt122r  ral_122r  0.  bo_ 0.  grd_122  0.  bo_ 0. 2*pi*12*1e6    1e6       esys z
# coupl c  czrt122l  ral_122l  0. -bo_ 0.  grd_122  0. -bo_ 0.   1e6                    esys z
# coupl c  czrt122r  ral_122r  0.  bo_ 0.  grd_122  0.  bo_ 0.   1e6                    esys z
  coupl c  czrt122l  ral_122l  0. -bo_ 0.  grd_122  0. -bo_ 0. .20*kzrt_122.v1/pi/5     esys z
  coupl c  czrt122r  ral_122r  0.  bo_ 0.  grd_122  0.  bo_ 0. .20*kzrt_122.v1/pi/5     esys z


###                                                                                                     
### Energy dissipation                                                                                  
### --------------------------------------------------------------------------------------------------- 
## func operp cp3_113l.uMsp= cp3_113l.Mspin / cp3_113l.Fn / cp3_113l.c / mu_113l3
#  func operp cp3_113r.c= sqrt( cp3_113r.a * cp3_113r.b )
#  func operp cp3_113r.uMsp= cp3_113r.Mspin / cp3_113r.Fn / cp3_113r.c / mu_113r3
## s_var sngl cp3_113l.uMsp
#  s_var sngl cp3_113r.uMsp
#
#  substruct FMnu [    # $1= wheel, $2= contact point number                                             
#  func atan2 cp$2_$1.nya= cp$2_$1.nuy cp$2_$1.nux               # Direction of creepage                 
#  func const cp$2_$1.iry= 1/0.45                                # Lateral curvature difference          
#  func operp cp$2_$1.rho= 4. / ( cp$2_$1.irx + cp$2_$1.iry )                                            
#  func operp cp$2_$1.usp= cp$2_$1.spin * cp$2_$1.rho / mu_$1$2  # Normalized spin                       
# ]
## in_substruct FMnu [ 111l 3 ]
#  in_substruct FMnu [ 111r 3 ]
## in_substruct FMnu [ 112l 3 ]
#  in_substruct FMnu [ 112r 3 ]
## in_substruct FMnu [ 113l 3 ]
#  in_substruct FMnu [ 113r 3 ]
## in_substruct FMnu [ 114l 3 ]
#  in_substruct FMnu [ 114r 3 ]

# func fl_wear_w 111r  mu_111r1 mu_111r2 mu_111r3
# func fl_wear_w 112r  mu_112r1 mu_112r2 mu_112r3
# func fl_wear_w 113r  mu_113r1 mu_113r2 mu_113r3
# func fl_wear_w 114r  mu_114r1 mu_114r2 mu_114r3

##
##  Modal parameters of the wheelsets.
##  ----------------------------------
# mass  m_flex_1 axl_111  70   0.10               ## Torsionsform
# coupl m_flex_1 cp3_111r end_2  0.0636396 0. 0.  # 0. 0.14142 0.
# coupl m_flex_1 cp3_111l end_2  -.0636396 0. 0.  # 0. 0.14142 0.
# s_var sngl axl_111.c1
# s_var sngl axl_111.v1

##
##  Store variables for postprocessing
##  ----------------------------------
  s_var scalar_0 mu_
#
  s_var sngl ro_
  s_var sngl bo_
  s_var sngl Vo
#
  s_var var_0 esys.x
  s_var var_0 esys.y
  s_var var_0 esys.z
  s_var var_0 esys.f
  s_var var_0 esys.k
  s_var var_0 esys.p
#
  s_var var_0 esys.vx
  s_var var_0 esys.vy
  s_var var_0 esys.vz
  s_var var_0 esys.vf
  s_var var_0 esys.vk
  s_var var_0 esys.vp
#
  s_var var_0 esys.ax
  s_var var_0 esys.ay
  s_var var_0 esys.az
  s_var var_0 esys.af
  s_var var_0 esys.ak
  s_var var_0 esys.ap
#
  substruct store_axle [        
   s_var var_0 axl_$1.x         
   s_var var_0 axl_$1.y         
   s_var var_0 axl_$1.z         
   s_var var_0 axl_$1.f         
   s_var var_0 axl_$1.k         
   s_var var_0 axl_$1.p         
#
   s_var var_0 axl_$1.vx        
   s_var var_0 axl_$1.vy        
   s_var var_0 axl_$1.vz        
   s_var var_0 axl_$1.vf        
   s_var var_0 axl_$1.vk        
   s_var var_0 axl_$1.vp        
#
   s_var var_0 axl_$1.Fx        
   s_var var_0 axl_$1.Fy        
   s_var var_0 axl_$1.Fz        
   s_var var_0 axl_$1.Mf        
   s_var var_0 axl_$1.Mk        
   s_var var_0 axl_$1.Mp        
#
   s_var var_0 axl_$1.Ax        
   s_var var_0 axl_$1.Ay        
   s_var var_0 axl_$1.Az        
   s_var var_0 axl_$1.Af        
   s_var var_0 axl_$1.Ak        
   s_var var_0 axl_$1.Ap        
#
  s_var var_0 trc_$1.x     s_var var_0 trc_$1.y     s_var var_0 trc_$1.z        
  s_var var_0 trc_$1.f     s_var var_0 trc_$1.k     s_var var_0 trc_$1.p        
  s_var var_0 trc_$1.vx    s_var var_0 trc_$1.vy    s_var var_0 trc_$1.vz       
  s_var var_0 trc_$1.vf    s_var var_0 trc_$1.vk    s_var var_0 trc_$1.vp       
  ]
#
  substruct store_wheel [       
   s_var var_0 ral_$1.y         
   s_var var_0 ral_$1.z         
   s_var var_0 ral_$1.vy        
   s_var var_0 ral_$1.vz        
#
   s_var var_0 cp_$1.eta        
   s_var var_0 cp_$1.Fx         
   s_var var_0 cp_$1.Fy         
   s_var var_0 cp_$1.Fz         
   s_var var_0 cp_$1.Mf         
   s_var var_0 cp_$1.Mk         
   s_var var_0 cp_$1.Mp         
#
   s_var var_0 cp_$1.F1x        
   s_var var_0 cp_$1.F1y        
   s_var var_0 cp_$1.F1z        
   s_var var_0 cp_$1.M1f        
   s_var var_0 cp_$1.M1k        
   s_var var_0 cp_$1.M1p        
#
   s_var var_0 cp_$1.F2x        
   s_var var_0 cp_$1.F2y        
   s_var var_0 cp_$1.F2z        
   s_var var_0 cp_$1.M2f        
   s_var var_0 cp_$1.M2k        
   s_var var_0 cp_$1.M2p        
#
   s_var var_0 tral$1.y         
   s_var var_0 tral$1.z         
   s_var var_0 tral$1.vy        
   s_var var_0 tral$1.vz        
#
  ]
  in_substruct store_axle  [ 110 ]
  in_substruct store_axle  [ 111 ]
  in_substruct store_axle  [ 112 ]
  in_substruct store_axle  [ 113 ]
  in_substruct store_axle  [ 120 ]
  in_substruct store_axle  [ 121 ]
  in_substruct store_axle  [ 122 ]

  in_substruct store_wheel [ 110l ]
  in_substruct store_wheel [ 110r ]
  in_substruct store_wheel [ 111l ]
  in_substruct store_wheel [ 111r ]
  in_substruct store_wheel [ 112l ]
  in_substruct store_wheel [ 112r ]
# in_substruct store_wheel [ 113l ]
  in_substruct store_wheel [ 113r ]
  in_substruct store_wheel [ 120l ]
  in_substruct store_wheel [ 120r ]
  in_substruct store_wheel [ 121l ]
  in_substruct store_wheel [ 121r ]
  in_substruct store_wheel [ 122l ]
  in_substruct store_wheel [ 122r ]

  substruct store_patch [ # $1= Patch name
   s_var var_0 $1.z             
   s_var var_0 $1.dr            
   s_var var_0 $1.gam           
   s_var var_0 $1.area          
   s_var var_0 $1.ksi           
   s_var var_0 $1.posw          
   s_var var_0 $1.posr          
   s_var var_0 $1.bo_           
#
   s_var var_0 $1.nux           
   s_var var_0 $1.nuy           
   func  atan2 $1.nya= $1.nuy $1.nux        # Direction of creepage         
   s_var var_0 $1.nya           
   s_var var_0 $1.spin          
   s_var var_0 $1.uny           
   s_var var_0 $1.usp           
#
   s_var var_0 $1.vx            
   s_var var_0 $1.vy            
   s_var var_0 $1.vz            
   s_var var_0 $1.vf            
   s_var var_0 $1.vk            
   s_var var_0 $1.vp            
   s_var var_0 $1.vux           
   s_var var_0 $1.vuy           
   s_var var_0 $1.vuz           
   s_var var_0 $1.Vref          
   s_var var_0 $1.trl_h         
#
   s_var var_0 $1.Fn            
   s_var var_0 $1.Fny           
#
   s_var var_0 $1.Fx            
   s_var var_0 $1.Fy            
   s_var var_0 $1.Fz            
   s_var var_0 $1.Mspin         
   s_var var_0 $1.Fnd           
#
   s_var var_0 $1.wArchH    # Archard with Hertz pressure distribution      
   s_var var_0 $1.wArchS                                                    
#
   if_then $1.Vref .ge. 0.                                                              
    func  operp $1.Fnu =  $1.Fx * $1.nux + $1.Fny * $1.nuy    # Tgamma                  
   else                                                                                 
    no_warning func  operp $1.Fnu = -$1.Fx * $1.nux - $1.Fny * $1.nuy  # Tgamma         
   endif                                                                                
   func  operp $1.FMnu= $1.Fnu + $1.spin * $1.Mspin               # Energy dissipation  

   s_var var_0 $1.Fnu                                                   
   s_var var_0 $1.FMnu                                                  
#
   s_var var_0 $1.pen       # Undeformed penetration                    
   s_var var_0 $1.udefa     # Undeformed elliptic semi-axis a           
   s_var var_0 $1.udefb     # Undeformed elliptic semi-axis b           
   s_var var_0 $1.slip_area                                             
   if_then_init .exist. $1.Fx                                           
    func div $1.mux= $1.Fx $1.Fn                                        
    s_var var_0 $1.mux       # Utilized friction                        
   endif                                                                
  ]
  in_substruct store_patch [ cp1_110l ]
  in_substruct store_patch [ cp2_110l ]
  in_substruct store_patch [ cp3_110l ]
  in_substruct store_patch [ cp4_110l ]
  in_substruct store_patch [ cp5_110l ]
  in_substruct store_patch [ cp6_110l ]
  in_substruct store_patch [ cp7_110l ]
  in_substruct store_patch [ cp8_110l ]
  in_substruct store_patch [ cp9_110l ]

  in_substruct store_patch [ cp1_110r ]
  in_substruct store_patch [ cp2_110r ]
  in_substruct store_patch [ cp3_110r ]
  in_substruct store_patch [ cp4_110r ]
  in_substruct store_patch [ cp5_110r ]
  in_substruct store_patch [ cp6_110r ]
  in_substruct store_patch [ cp7_110r ]
  in_substruct store_patch [ cp8_110r ]
  in_substruct store_patch [ cp9_110r ]

  in_substruct store_patch [ cp3_111l ]
  in_substruct store_patch [ cp3_111r ]
  in_substruct store_patch [ cp3_112l ]
  in_substruct store_patch [ cp3_112r ]
  in_substruct store_patch [ cp3_113r ]

  in_substruct store_patch [ cp3_120l ]
  in_substruct store_patch [ cp3_120r ]
  in_substruct store_patch [ cp3_121l ]
  in_substruct store_patch [ cp3_121r ]
  in_substruct store_patch [ cp3_122l ]
  in_substruct store_patch [ cp3_122r ]

####                                                                                                    
####      Write to GPdat-file for animations in program GPLOT                                           
##[-]{    ==========================================================                                    
  s_var gpdat_r1                   # Write the motions of all masses to the GPdat-file
#
  if_then_init .exist. cp_120r.Fx
   s_var gpdat_force1  cp_120l.Fx   s_var gpdat_force1  cp_120l.Fy   s_var gpdat_force1  cp_120l.Fz
   s_var gpdat_force1  cp_120r.Fx   s_var gpdat_force1  cp_120r.Fy   s_var gpdat_force1  cp_120r.Fz
  endif
#
  s_var gpdat_wheel_prof  110l  lsa_110.b  kpf/w_prof/cylindric.wheel
  s_var gpdat_wheel_prof  110r  lsa_110.b  kpf/w_prof/cylindric.wheel
  s_var gpdat_wheel_prof  111l  lsa_111.b  kpf/w_prof/cylindric.wheel
  s_var gpdat_wheel_prof  111r  lsa_111.b  kpf/w_prof/cylindric.wheel
  s_var gpdat_wheel_prof  112l  lsa_112.b  kpf/w_prof/cylindric.wheel
  s_var gpdat_wheel_prof  112r  lsa_112.b  kpf/w_prof/cylindric.wheel
#
  s_var gpdat_wheel_prof  120l  lsa_120.b  kpf/w_prof/conical_0.05.wheel
  s_var gpdat_wheel_prof  120r  lsa_120.b  kpf/w_prof/conical_0.05.wheel
  s_var gpdat_wheel_prof  121l  lsa_121.b  kpf/w_prof/conical_0.05.wheel
  s_var gpdat_wheel_prof  121r  lsa_121.b  kpf/w_prof/conical_0.05.wheel
  s_var gpdat_wheel_prof  122l  lsa_122.b  kpf/w_prof/conical_0.05.wheel
  s_var gpdat_wheel_prof  122r  lsa_122.b  kpf/w_prof/conical_0.05.wheel
# s_var gpdat_wheel_prof  124l  lsa_124.b  kpf/w_prof/conical_0.05.wheel
# s_var gpdat_wheel_prof  124r  lsa_124.b  kpf/w_prof/conical_0.05.wheel
# s_var gpdat_wheel_prof  125l  lsa_125.b  kpf/w_prof/conical_0.05.wheel
# s_var gpdat_wheel_prof  125r  lsa_125.b  kpf/w_prof/conical_0.05.wheel
#
# s_var gpdat_wheel_prof  140l  lsa_140.b  kpf/w_prof/ENS1002t32.5_m_dy.0005.wheel
# s_var gpdat_wheel_prof  140r  lsa_140.b  kpf/w_prof/ENS1002t32.5_m_dy.0005.wheel
# s_var gpdat_wheel_prof  144l  lsa_144.b  kpf/w_prof/ENS1002t32.5_m_dy.0005.wheel
# s_var gpdat_wheel_prof  144r  lsa_144.b  kpf/w_prof/ENS1002t32.5_m_dy.0005.wheel
# s_var gpdat_wheel_prof  145l  lsa_145.b  kpf/w_prof/ENS1002t32.5_m_dy.0005.wheel
# s_var gpdat_wheel_prof  145r  lsa_145.b  kpf/w_prof/ENS1002t32.5_m_dy.0005.wheel
#
  s_var gpdat_rail_prof_left  -100 $genkpf/../r_prof/EN13674_60E1/EN60E1i40_m_dy.0005.rail
                              3000 $genkpf/../r_prof/EN13674_60E1/EN60E1i40_m_dy.0005.rail
  s_var gpdat_rail_prof_right -100 $genkpf/../r_prof/EN13674_60E1/EN60E1i40_m_dy.0005.rail
                              3000 $genkpf/../r_prof/EN13674_60E1/EN60E1i40_m_dy.0005.rail
#
##[-]}  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
#
# in_substruct store [ 110l ]
# in_substruct store [ 111l ]
# in_substruct store [ 112l ]
# in_substruct store [ 113l ]
#
# initval read_gpdat gp/quasi_contact_180628.gp 501
#
 eof
