```#
#
#       Substructure file t_irr_p1.ins   rev.971113
#
#       ----------------------------------------------------------
#       Stiff axle.
#
#       Track irregularities will be interpolated by cubic splines
#       read from fields generated by command "func intpl_r",
#	"func fifo_mem" or "fifo_mem2".
#
#       Individual wheel/rail geometry functions for each wheel, will be
#	read if the geometry functions contains the wheel number.
#
#	All operations are made in one big function, in order to speed up
#	the calculations.
#
#       ----------------------------------------------------------
#
#       This substructure do the following:
#         1) Set constraints to the axle in pitch motion, and in all
#            directions for the track except in lateral direction.
#         2) Interpolate the track irregularities by cubic splines
#         3) Calculate cp_\$2r.eta and cp_\$2l.eta as the lateral
#	     displacement between wheel and rail
#         4) Interpolate the wheel-rail geometry functions linearly
#         5) Calculate the deformations and normal forces in the
#	     contact points.
#         6) Calculate creep and creep forces in the contact points.
#
#       ----------------------------------------------------------
#
#
#       Variables which must be defined before this substructure file can
#       be used:
#
#      Vo       = Nominal speed of the vehicle in m/s
#
#      Ro\$2h    = Nominal rolling radius, axle number \$2, right side.
#      ro\$2r    = If Ro\$2h not can be found
#      Ro\$2v    = Nominal rolling radius, axle number \$2, left side.
#      ro\$2l    = If Ro\$2v not can be found
#      Ro\$1     = If not the variables above can be found
#      ro\$1     = If Ro\$1 not can be found
#      Ro       = If ro\$1 not can be found
#      ro       = If Ro not can be found
#
#      Boh      = Lateral distance between track center line and nominal
#                 rolling circle of right wheel
#      Bo       = If Boh not can be found
#      bo       = If Bo  not can be found
#      0.75     = If bo  not can be found
#
#      Bov      = Lateral distance between track center line and nominal
#                 rolling circle of left wheel
#      -Bo      = If Bov not can be found
#      -bo      = If Bo  not can be found
#      -.75     = If bo  not can be found
#
#      kph\$2.my  = Friction coefficient between wheel and rail, tread right side.
#      cpt_\$2r.mu= If kph\$2.my   not can be found
#      my        = If cpt_\$2r.mu not can be found
#      mu        = If my         not can be found
#
#      kpv\$2.my  = Friction coefficient between wheel and rail, tread left side.
#      cpt_\$2l.mu= If kpv\$2.my   not can be found
#      my        = If cpt_\$2l.mu not can be found
#      mu        = If my         not can be found
#
#      kfh\$2.my  = Friction coefficient between wheel and rail, flange left side.
#      cpf_\$2r.mu= If kfh\$2.my   not can be found
#      myf       = If cpf_\$2r.mu not can be found
#      muf       = If myf        not can be found
#      my        = If muf        not can be found
#      mu        = If my         not can be found
#
#      kfv\$2.my  = Friction coefficient between wheel and rail, flange left side.
#      cpf_\$2l.mu= If kfv\$2.my   not can be found
#      myf       = If cpf_\$2l.mu not can be found
#      muf       = If myf        not can be found
#      my        = If muf        not can be found
#      mu        = If my         not can be found
#
#
#      mulfact_nux        = If mulfact_nux_tread   not can be found
#      mulfact_nux        = If mulfact_nuy_tread   not can be found
#      mulfact_nux        = If mulfact_spin_tread  not can be found
#      mulfact_nux_flange = Longitudinal creepage reduction factor on flange
#      mulfact_nux        = If mulfact_nux_flange  not can be found
#      mulfact_nuy_flange = Lateral      creepage reduction factor on flange
#      mulfact_nux        = If mulfact_nuy_flange  not can be found
#      mulfact_spin_flange= Spin         creepage reduction factor on flange
#      mulfact_nux        = If mulfact_spin_flange not can be found
#      If one or more of the above multiplication factors are missing,
#      they will be replaced with the value 1.
#
#
#	Surface stiffness between rail and wheel
#	========================================
#      knwr\$2h_r= Stiffness perpendicular to the contact surface
#		  on tread right wheel, defined by "func intpl_r".
#                Ex:  func intpl_r knwr\$2h_r -1.57 Horizontal stiffness
#					      0.   Vertical stiffness
#                                             1.57 Horizontal stiffness
#      knwr\$2r_r= If knwr\$2h_r  not can be found
#      knwr\$1_r = If knwr\$2r_r  not can be found
#      knwr_r   = If knwr\$1_r   not can be found
#
#      knwr\$2h_r.F0= Pre-stress force in spring knwr\$2h_r.
#      knwr\$2r_r.F0= If knwr\$2h_r.F0 not can be found
#      knwr\$1_r.F0 = If knwr\$2r_r.F0 not can be found
#      knwr_r.F0   = If knwr\$1_r.F0  not can be found
#
#
#      knwr\$2v_r= Stiffness perpendicular to the contact surface
#                 on tread left wheel, defined by "func intpl_r".
#      knwr\$2l_r= If knwr\$2v_r  not can be found
#      knwr\$1_r = If knwr\$2l_r  not can be found
#      knwr_r   = If knwr\$1_r   not can be found
#
#      knwr\$2v_r.F0= Pre-stress force in spring knwr\$2v_r.
#      knwr\$2l_r.F0= If knwr\$2v_r.F0 not can be found
#      knwr\$1_r.F0 = If knwr\$2l_r.F0 not can be found
#      knwr_r.F0   = If knwr\$1_r.F0  not can be found
#
#      pknwr =	The value to which the rail-wheel deformation shall be
#		raised to when calculating the rail-wheel contact force.
#		In Hertz theory this value should be set to 1.5.
#		If not pknwr is defined pknwr will be set to 1. i.e.
#		a linear stiffness between rail-wheels are assumed.
#		Normally the rail-wheel stiffness is so high compared to
#		other stiffnesses in the model that it only work as a
#		method of calculating how much vertical load is resting
#		on the flange.
#
#
#       Surface stiffness between rail and wheel
#       ========================================
#      kyrt\$2h= Lateral stiffness between right rail and track
#      kyrt\$2r= If kyrt\$2h  not can be found
#      kyrt\$1 = If kyrt\$2r  not can be found
#      kyrt   = If kyrt\$1   not can be found
#
#      kzrt\$2h= Vertical stiffness between right rail and track
#      kzrt\$2r= If kzrt\$2h  not can be found
#      kzrt\$1 = If kzrt\$2r  not can be found
#      kzrt   = If kzrt\$1   not can be found
#
#      kzrt\$2h.F0= Pre-stress force in spring kzrt\$2h
#      kzrt\$2r.F0= If kzrt\$2h.F0  not can be found
#      kzrt\$1.F0 = If kzrt\$2r.F0  not can be found
#      kzrt.F0   = If kzrt\$1.F0   not can be found
#      0.        = If kzrt.F0     not can be found
#
#      cyrt\$2h= Lateral damping between right rail and track
#      cyrt\$2r= If cyrt\$2h  not can be found
#      cyrt\$1 = If cyrt\$2r  not can be found
#      cyrt   = If cyrt\$1   not can be found
#
#      czrt\$2h= Vertical damping between right rail and track
#      czrt\$2r= If czrt\$2h  not can be found
#      czrt\$1 = If czrt\$2r  not can be found
#      czrt   = If czrt\$1   not can be found
#
#      kyrt\$2v= Lateral stiffness between left rail and track
#      kyrt\$2l= If kyrt\$2v  not can be found
#      kyrt\$1 = If kyrt\$2l  not can be found
#      kyrt   = If kyrt\$1   not can be found
#
#      kzrt\$2v= Vertical stiffness between left rail and track
#      kzrt\$2l= If kzrt\$2v  not can be found
#      kzrt\$1 = If kzrt\$2l  not can be found
#      kzrt   = If kzrt\$1   not can be found
#
#      kzrt\$2v.F0= Pre-stress force in spring kzrt\$2v
#      kzrt\$2l.F0= If kzrt\$2v.F0  not can be found
#      kzrt\$1.F0 = If kzrt\$2l.F0  not can be found
#      kzrt.F0   = If kzrt\$1.F0   not can be found
#      0.        = If kzrt.F0     not can be found
#
#      cyrt\$2v= Lateral damping between left rail and track
#      cyrt\$2l= If cyrt\$2v  not can be found
#      cyrt\$1 = If cyrt\$2l  not can be found
#      cyrt   = If cyrt\$1   not can be found
#
#      czrt\$2v= Vertical damping between left rail and track
#      czrt\$2l= If czrt\$2v  not can be found
#      czrt\$1 = If czrt\$2l  not can be found
#      czrt   = If czrt\$1   not can be found
#
#      sv_trac        = Average gauge of the track defined in the data field spv_trac
#      gauge_average  = If sv_trac       not can be found
#      sv_v\$1         = Deviation in gauge for vehicle number \$1
#			A positive value in sv_v\$1 entails a wide gauge
#			A negative value in sv_v\$1 entails a narrow gauge
#      gauge_dev_v\$1  = If sv_v\$1        not can be found
#      sv_v           = If gauge_dev_v\$1 not can be found
#      gauge_dev      = If sv_v          not can be found
#
#      YMtrac   = Multiplying factor for lateral track irregularities
#      ZMtrac   = Multiplying factor for vertical track irregularities
#      FItrac   = Multiplying factor for cant irregularities
#      CMtrac   = If FItrac not can be found
#      SVtrac   = Multiplying factor for gauge irregularities
#      GMtrac   = If SVtrac not can be found
#
#      lsa_\$2.pn= Position along the track of the linear local
#		  coordinate system lsa_\$2
#      axl_\$2.? = Variables containing the motions of the axle (wheelset)
#      trc_\$2.? = Variables containing the motions of the track
#
#     Track irregularities will be interpolated from data fields with the
#     following names:
#
#      lat_trac  = Lateral irregularities (positive direction = right)
#      vert_trac = Vertical irregularities (positive direction = down)
#      fi_trac   = Cant irregularities (positive direction = positive
#		   rotation round the x-axle)
#      spv_trac  = Gauge irregularities (positive direction = wide gauge)
#      gauge_trac= If spv_trac not can be found
#
#
#     Wheel-rail geometry functions describing the tread of the right
#     wheel and rail shall be defined by command `func intpl_r` and must
#     have one of the following names:
#
#      drkp_r\$2r    = If drkp_r\$2h    not can be found
#      cpt_\$2r.drfn = If drkp_r\$2r    not can be found
#      drkp_r\$1     = If cpt_\$2r.drfn not can be found
#      cpt_\$1.drfn  = If drkp_r\$1     not can be found
#      drkp_r       = If cpt_\$1.drfn  not can be found
#      cpt_.drfn    = If drkp_r       not can be found
#
#      gamkph_r\$2h  = Angle of contact surface, tread, right wheel
#      gamkph_r\$2r  = If gamkph_r\$2h  not can be found
#      cpt_\$2r.gamfn= If gamkph_r\$2r   not can be found
#      gamkph_r\$1   = If cpt_\$2r.gamfn not can be found
#      cpt_\$1.gamfn = If gamkph_r\$1    not can be found
#      gamkph_r     = If cpt_\$1.gamfn  not can be found
#      cpt_.gamfn   = If gamkph_r      not can be found
#
#      zkp_r\$2h     = Wheel lift, tread, right wheel
#      zkp_r\$2r     = If zkp_r\$2h     not can be found
#      cpt_\$2r.zfn  = If zkp_r\$2r      not can be found
#      zkp_r\$1      = If cpt_\$2r.zfn   not can be found
#      cpt_\$1.zfn   = If zkp_r\$1       not can be found
#      zkp_r        = If cpt_\$1.zfn    not can be found
#      cpt_.zfn     = If zkp_r         not can be found
#
#      rohr_r\$2h    = Wheel-rail curvature difference, tread, right wheel
#      rohr_r\$2r    = If rohr_r\$2h    not can be found
#      cpt_\$2r.rofn = If rohr_r\$2r     not can be found
#      rohr_r\$1     = If cpt_\$2r.rofn  not can be found
#      cpt_\$1.rofn  = If rohr_r\$1      not can be found
#      rohr_r       = If cpt_\$1.rofn   not can be found
#      cpt_.rofn    = If rohr_r        not can be found
#
#      poskph_r\$2h   = Position of contact surface of wheel, tread, right wheel
#      poskph_r\$2r   = If poskph_r\$2h    not can be found
#      cpt_\$2r.poswfn= If poskph_r\$2r    not can be found
#      poskph_r\$1    = If cpt_\$2r.poswfn not can be found
#      cpt_\$1.poswfn = If poskph_r\$1     not can be found
#      poskph_r      = If cpt_\$1.poswfn  not can be found
#      cpt_.poswfn   = If poskph_r       not can be found
#      0.            = If cpt_.poswfn    not can be found
#
#
#     Wheel-rail geometry functions describing the tread of the left
#     wheel and rail shall be defined by command `func intpl_r` and must
#     have one of the following names:
#
#      drkp_r\$2l    = If drkp_r\$2v    not can be found
#      cpt_\$2l.drfn = If drkp_r\$2l    not can be found
#      drkp_r\$1     = If cpt_\$2l.drfn not can be found
#      cpt_\$1.drfn  = If drkp_r\$1     not can be found
#      drkp_r       = If cpt_\$1.drfn  not can be found
#      cpt_.drfn    = If drkp_r       not can be found
#
#      gamkpv_r\$2v  = Angle of contact surface, tread, left wheel
#      gamkpv_r\$2l  = If gamkph_r\$2v   not can be found
#      cpt_\$2l.gamfn= If gamkph_r\$2l   not can be found
#      gamkpv_r\$1   = If cpt_\$2l.gamfn not can be found
#      cpt_\$1.gamfn = If gamkph_r\$1    not can be found
#      gamkpv_r     = If cpt_\$1.gamfn  not can be found
#      cpt_.gamfn   = If gamkph_r      not can be found
#
#      zkp_r\$2v     = Wheel lift, tread, left wheel
#      zkp_r\$2l     = If zkp_r\$2v      not can be found
#      cpt_\$2l.zfn  = If zkp_r\$2l      not can be found
#      zkp_r\$1      = If cpt_\$2l.zfn   not can be found
#      cpt_\$1.zfn   = If zkp_r\$1       not can be found
#      zkp_r        = If cpt_\$1.zfn    not can be found
#      cpt_.zfn     = If zkp_r         not can be found
#
#      rohr_r\$2v    = Wheel-rail curvature difference, tread, left wheel
#      rohr_r\$2l    = If rohr_r\$2v     not can be found
#      cpt_\$2l.rofn = If rohr_r\$2l     not can be found
#      rohr_r\$1     = If cpt_\$2l.rofn  not can be found
#      cpt_\$1.rofn  = If rohr_r\$1      not can be found
#      rohr_r       = If cpt_\$1.rofn   not can be found
#      cpt_.rofn    = If rohr_r        not can be found
#
#      poskph_r\$2v   = Position of contact surface of wheel, tread, left wheel
#      poskph_r\$2l   = If poskph_r\$2v    not can be found
#      cpt_\$2l.poswfn= If poskph_r\$2l    not can be found
#      poskph_r\$1    = If cpt_\$2l.poswfn not can be found
#      cpt_\$1.poswfn = If poskph_r\$1     not can be found
#      poskph_r      = If cpt_\$1.poswfn  not can be found
#      cpt_.poswfn   = If poskph_r       not can be found
#      0.            = If cpt_.poswfn    not can be found
#
#     Wheel-rail geometry functions describing the flange of the right
#     wheel and rail shall be defined by command `func intpl_r` and must
#     have one of the following names:
#
#      drkp_f\$2h    = Change in rolling radius, flange right wheel
#      drkp_f\$2r    = If drkp_f\$2h    not can be found
#      cpf_\$2r.drfn = If drkp_f\$2r    not can be found
#      drkp_f\$1     = If cpf_\$2r.drfn not can be found
#      cpf_\$1.drfn  = If drkp_f\$1     not can be found
#      drkp_f       = If cpf_\$1.drfn  not can be found
#      cpf_.drfn    = If drkp_f       not can be found
#
#      gamkph_f\$2h  = Angle of contact surface, flange right wheel
#      gamkph_f\$2r  = If gamkph_f\$2h  not can be found
#      cpf_\$2r.gamfn= If gamkph_f\$2r   not can be found
#      gamkph_f\$1   = If cpf_\$2r.gamfn not can be found
#      cpf_\$1.gamfn = If gamkph_f\$1    not can be found
#      gamkph_f     = If cpf_\$1.gamfn  not can be found
#      cpf_.gamfn   = If gamkph_f      not can be found
#
#      zkp_f\$2h     = Wheel lift, flange right wheel
#      zkp_f\$2r     = If zkp_f\$2h     not can be found
#      cpf_\$2r.zfn  = If zkp_f\$2r      not can be found
#      zkp_f\$1      = If cpf_\$2r.zfn   not can be found
#      cpf_\$1.zfn   = If zkp_f\$1       not can be found
#      zkp_f        = If cpf_\$1.zfn    not can be found
#      cpf_.zfn     = If zkp_f         not can be found
#
#      rohr_f\$2h    = Wheel-rail curvature difference, flange right wheel
#      rohr_f\$2r    = If rohr_f\$2h    not can be found
#      cpf_\$2r.rofn = If rohr_f\$2r     not can be found
#      rohr_f\$1     = If cpf_\$2r.rofn  not can be found
#      cpf_\$1.rofn  = If rohr_f\$1      not can be found
#      rohr_f       = If cpf_\$1.rofn   not can be found
#      cpf_.rofn    = If rohr_f        not can be found
#
#      poskph_f\$2h   = Position of contact surface of wheel, flange right wheel
#      poskph_f\$2r   = If poskph_f\$2h    not can be found
#      cpf_\$2r.poswfn= If poskph_f\$2r    not can be found
#      poskph_f\$1    = If cpf_\$2r.poswfn not can be found
#      cpf_\$1.poswfn = If poskph_f\$1     not can be found
#      poskph_f      = If cpf_\$1.poswfn  not can be found
#      cpf_.poswfn   = If poskph_f       not can be found
#      0.            = If cpf_.poswfn    not can be found
#
#     Wheel-rail geometry functions describing the flange of the left
#     wheel and rail shall be defined by command `func intpl_r` and must
#     have one of the following names:
#
#      drkp_f\$2h    = Change in rolling radius, flange left wheel
#      drkp_f\$2r    = If drkp_f\$2h    not can be found
#      cpf_\$2r.drfn = If drkp_f\$2r    not can be found
#      drkp_f\$1     = If cpf_\$2r.drfn not can be found
#      cpf_\$1.drfn  = If drkp_f\$1     not can be found
#      drkp_f       = If cpf_\$1.drfn  not can be found
#      cpf_.drfn    = If drkp_f       not can be found
#
#      gamkph_f\$2h  = Angle of contact surface, flange left wheel
#      gamkph_f\$2r  = If gamkph_f\$2h   not can be found
#      cpf_\$2r.gamfn= If gamkph_f\$2r   not can be found
#      gamkph_f\$1   = If cpf_\$2r.gamfn not can be found
#      cpf_\$1.gamfn = If gamkph_f\$1    not can be found
#      gamkph_f     = If cpf_\$1.gamfn  not can be found
#      cpf_.gamfn   = If gamkph_f      not can be found
#
#      zkp_f\$2h     = Wheel lift, flange left wheel
#      zkp_f\$2r     = If zkp_f\$2h      not can be found
#      cpf_\$2r.zfn  = If zkp_f\$2r      not can be found
#      zkp_f\$1      = If cpf_\$2r.zfn   not can be found
#      cpf_\$1.zfn   = If zkp_f\$1       not can be found
#      zkp_f        = If cpf_\$1.zfn    not can be found
#      cpf_.zfn     = If zkp_f         not can be found
#
#      rohr_f\$2h    = Wheel-rail curvature difference, flange left wheel
#      rohr_f\$2r    = If rohr_f\$2h     not can be found
#      cpf_\$2r.rofn = If rohr_f\$2r     not can be found
#      rohr_f\$1     = If cpf_\$2r.rofn  not can be found
#      cpf_\$1.rofn  = If rohr_f\$1      not can be found
#      rohr_f       = If cpf_\$1.rofn   not can be found
#      cpf_.rofn    = If rohr_f        not can be found
#
#      poskph_f\$2v   = Position of contact surface of wheel, flange left wheel
#      poskph_f\$2l   = If poskph_f\$2v    not can be found
#      cpf_\$2l.poswfn= If poskph_f\$2l    not can be found
#      poskph_f\$1    = If cpf_\$2l.poswfn not can be found
#      cpf_\$1.poswfn = If poskph_f\$1     not can be found
#      poskph_f      = If cpf_\$1.poswfn  not can be found
#      cpf_.poswfn   = If poskph_f       not can be found
#      0.            = If cpf_.poswfn    not can be found
#
#
#       Output:
#       =======
#       This substructure file will generate the following variables:
#
#       tral\$2.y   = Lateral track irregularities, track center line
#       tral\$2r.y  = Lateral track irregularities, right rail
#       tral\$2l.y  = Lateral track irregularities, left rail
#       tral\$2r.z  = Vertical track irregularities, right rail
#       tral\$2l.z  = Vertical track irregularities, left rail
#       tral\$2r.vy = First order derivative of lateral track irregularities, right rail
#       tral\$2l.vy = First order derivative of lateral track irregularities, left rail
#       tral\$2r.vz = First order derivative of vertical track irregularities, right rail
#       tral\$2l.vz = First order derivative of vertical track irregularities, left rail
#       tral\$2.f   = Track irregularities in roll direction
#       tral\$2r.k  = Pitch irregularities right rail
#       tral\$2l.k  = Pitch irregularities left rail
#       tral\$2r.p  = Yaw irregularities right rail
#       tral\$2l.p  = Yaw irregularities left rail
#
#       cp_\$2r.eta = Lateral shift between wheel and rail right wheel
#       cpt_\$2r.ksi= Longitudinal position of the contact point, tread right wheel
#       cpt_\$2r.dr = Change in wheel radius due to wheel-rail geometry, tread right wheel
#       cpt_\$2r.gam= Angle of contact point, tread right wheel
#       cpt_\$2r.z  = Vertical motion of wheel due to wheel-rail geometry, tread right wheel
#       cpt_\$2r.irx= Longitudinal wheel-rail curvature difference, tread right wheel
#       cpt_\$2r.iry= Lateral wheel-rail curvature difference, tread right wheel
#       cpt_\$2r.bo = Lateral distance track center line to contact point, tread right wheel
#
#       cpt_\$2r.nux = Longitudinal creepage, the division has been made with regard to the
#			longitudinal velocity of the car-body, tread right wheel
#       cpt_\$2r.nuy = Lateral creepage, the division has been made with regard to the
#                       longitudinal velocity of the car-body, tread right wheel
#       cpt_\$2r.spin= Spin creepage, the division has been made with regard to the
#                       longitudinal velocity of the car-body, tread right wheel
#       cpt_\$2r.nuxm= Modified long. creepage, due to greasy contact surface, tread right wheel
#       cpt_\$2r.nuym= Modified lat. creepage, due to greasy contact surface, tread right wheel
#       cpt_\$2r.spim= Modified spin creepage, due to greasy contact surface, tread right wheel
#
#       cpt_\$2r.a/b = The a/b-ratio of the contact ellipse, tread right wheel
#       cpt_\$2r.c   = Geom. average radius of the contact ellipse c=sqrt(a*b), tread right wheel
#
#       cpt_\$2r.Fn  = Contact force perpendicular to the contact surface, tread right wheel
#       cpt_\$2r.Fny = Lateral creep force in plane with the contact surface, tread right wheel
#       cpt_\$2r.Fx  = Longitudinal force between wheel and track, tread right wheel
#       cpt_\$2r.Fy  = Lateral force between wheel and track, tread right wheel
#       cpt_\$2r.Fz  = Vertical force between wheel and track, tread right wheel
#
#	ral_\$2r.y  = Lateral  position of the massless rail-head, tread right wheel
#	ral_\$2r.vy = Lateral  velocity of the massless rail-head, tread right wheel
#	ral_\$2r.z  = Vertical position of the massless rail-head, tread right wheel
#	ral_\$2r.vz = Vertical velocity of the massless rail-head, tread right wheel
#
#	The same naming convention has also been used on the wheels on the left hand side
#	of the vehicle. The names of the variables on the left side can be created by
#	changing the name ral_\$2r.* into ral_\$2l.*.
#
#	If the wheel-rail geometry functions contain a separate description of the flange
#	(two-point contact), an equal amount of variables as for the tread will be generated.
#	The names of the variables will be the same as for the tread, just the introduction
#	cpt_* will be changed into cpf_*.
#       ---------------------------------------------------------------------------------------
#
#
#
#                       \$1=car #, \$2=axle #
substruct trac_irr [
note
note
note       Start of substructure file t_irr_p1.ins     Rev.980212
note       -------------------------------------------------------
#
#
#       Set constraints to axle and track
#       ---------------------------------
constr fix_free_1  axl_\$2.k  0.
#
constr fix_rigid_1 trc_\$2  x 0.  constr fix_rigid_1 trc_\$2  z 0.
constr fix_rigid_1 trc_\$2  f 0.  constr fix_rigid_1 trc_\$2  k 0.
constr fix_rigid_1 trc_\$2  p 0.
#
func t_irr_p1  \$2  \$1
#
#
cpt_\$2r     trc_\$2  cpt_\$2r.ksi cpt_\$2r.bo  0.
axl_\$2  cpt_\$2r.ksi cpt_\$2r.bo  0.
#      cpt_\$2r     trc_\$2  cpt_\$2r.ksi  { Boh | Bo | bo }  0.
#                  axl_\$2  cpt_\$2r.ksi  { Boh | Bo | bo }  0.
0.          fzwrnr\$2 cpt_\$2r.gam cpt_\$2r.nuxm cpt_\$2r.nuym cpt_\$2r.spim
#      1/Rh+1/Rr   1/Ryh+1/Ryr    my
cpt_\$2r.irx cpt_\$2r.iry { kph\$2.my | cpt_\$2r.mu | myh | mutr | my | mu }
#      E        nu  jvkt.rikt
2.05e11 .25    z
#
cpt_\$2l     trc_\$2  cpt_\$2l.ksi cpt_\$2l.bo 0.
axl_\$2  cpt_\$2l.ksi cpt_\$2l.bo 0.
#      cpt_\$2l     trc_\$2  cpt_\$2l.ksi { Bov | -Bo | -bo } 0.
#                  axl_\$2  cpt_\$2l.ksi { Bov | -Bo | -bo } 0.
0.          fzwrnl\$2 cpt_\$2l.gam cpt_\$2l.nuxm cpt_\$2l.nuym cpt_\$2l.spim
#      1/Rh+1/Rr   1/Ryh+1/Ryr    my
cpt_\$2l.irx cpt_\$2l.iry { kpv\$2.my | cpt_\$2l.mu | myv | mutl | my | mu }
#      E        nu  jvkt.rikt
2.05e11 .25    z
#
#
cpf_\$2r     trc_\$2  cpf_\$2r.ksi cpf_\$2r.bo 0.
axl_\$2  cpf_\$2r.ksi cpf_\$2r.bo 0.
#      cpf_\$2r     trc_\$2  cpf_\$2r.ksi { Boh | Bo | bo } 0.
#                  axl_\$2  cpf_\$2r.ksi { Boh | Bo | bo } 0.
0.          fzfrnr\$2 cpf_\$2r.gam cpf_\$2r.nuxm cpf_\$2r.nuym cpf_\$2r.spim
#      1/Rh+1/Rr   1/Ryh+1/Ryr
cpf_\$2r.irx cpf_\$2r.iry
{ kfh\$2.my | cpf_\$2r.mu | myfh | mufr | myf | muf | my | mu }
#      E        nu  jvkt.rikt
2.05e11 .25    z
#
cpf_\$2l     trc_\$2  cpf_\$2l.ksi cpf_\$2l.bo 0.
axl_\$2  cpf_\$2l.ksi cpf_\$2l.bo 0.
#      cpf_\$2l     trc_\$2  cpf_\$2l.ksi { Bov | -Bo | -bo } 0.
#                  axl_\$2  cpf_\$2l.ksi { Bov | -Bo | -bo } 0.
0.          fzfrnl\$2 cpf_\$2l.gam cpf_\$2l.nuxm cpf_\$2l.nuym cpf_\$2l.spim
#      1/Rh+1/Rr   1/Ryh+1/Ryr
cpf_\$2l.irx cpf_\$2l.iry
{ kfv\$2.my | cpf_\$2l.mu | myfv | mufl | myf | muf | my | mu }
#      E        nu  jvkt.rikt
2.05e11 .25    z
#
#  func print06_all cpt_\$2r.nux
#  func print06_all cpt_\$2r.nuy
#  func print06_all cpt_\$2r.spi
#  func print06_all cpt_\$2r.Fnx
#  func print06_all cpt_\$2l.Fn
#  func print06_all cpt_\$2l.Fnx
#  func print06_all cpt_\$2l.Fny
#  func print06_all cpt_\$2r.Fn
#  func print06_all cpt_\$2r.Fny
#
note
note       -------------------------------------------
note       End   of substructure file t_irr_p1.ins
note       -------------------------------------------
]
```