Home Search Reference Manuals Return
Before a call to func wr_coupl_pe3m can be made, the memory fields lat_trac, vert_trac, spv_trac and fi_trac must be defined. Also the scaling factors YMtrac, ZMtrac, GMtrac and CMtrac must defined before the call to func wr_coupl_pe3m can be made.
### ### Track irregularities ### ==========================================================func char ctrack_irreg= Ideal_track # Output in header lines #[-]{ func const bo_ = 0.75 # Lateral semi-distance between the nominal rolling circles of the wheels func const Track_Gauge= 1435. # Gauge to be used in the intpl_track_irr-commands # if_then_char_init ctrack_irreg .eq. "Ideal_track" # {{ func const YMtrac= 1e-3 # From mm to m; Scale factor 1.00; Lateral irregularities func const ZMtrac= 1e-3 # From mm to m; Scale factor 1.00; Vertical irregularities func const GMtrac= 1e-3 # From mm to m; Scale factor 1.00; Gauge irregularities func const CMtrac= 1e-3/(2*bo_) # From mm to rad; Scale factor 1.00; Cant irregularities func const Xtrac_start= 0. func const Xtrac_stop= 30000. func intpl_track_irr2 Xtrac_start Xtrac_stop Ideal_track Track_Gauge # elseif_then_char_init ctrack_irreg .eq. "UIC518_wheel_unloading" # }{ func const YMtrac= 1e-3 # From mm to m; Scale factor 1.00; Lateral irregularities func const ZMtrac= 1e-3 # From mm to m; Scale factor 1.00; Vertical irregularities func const GMtrac= 1e-3 # From mm to m; Scale factor 1.00; Gauge irregularities func const CMtrac= 1e-3/(2*bo_) # From mm to rad; Scale factor 1.00; Cant irregularities func const Xtrac_start= 0. func const Xtrac_stop= 3000. func const worstPos= 66. func intpl_r lat_trac -100.0 0.0 Xtrac_stop 0.0 func intpl_r vert_trac # vertical alignment in mm -100.0 0.0 -10.0 0.0 -9.0 0.0 -8.0 0.0 0.0 0.0 worstPos-6-.1 0.0 worstPos-6-.00006 0.0 # Several points in order to avoid ringing in the spline interpolation worstPos-6-.00004 0.0 worstPos-6-.00003 0.0 worstPos-6-.00001 0.0 worstPos-6 0.0 worstPos-6+0.0003 0.0005 worstPos-6+0.0006 0.001 worstPos-6+0.006 0.01 worstPos-0.006 9.99 worstPos-0.0006 9.999 worstPos-0.0003 9.9995 worstPos 10.0 # 20 dip on high rail worstPos+0.0003 9.9995 # 6 m semi-span worstPos+0.0006 9.999 worstPos+0.006 9.99 worstPos+6-0.006 0.01 worstPos+6-0.0006 0.001 worstPos+6-0.0003 0.0005 worstPos+6 0.0 worstPos+6+.00001 0.0 worstPos+6+.00003 0.0 worstPos+6+.00004 0.0 worstPos+6+.00006 0.0 Xtrac_stop 0.0 func intpl_r spv_trac # track gauge in mm -100.0 1435. Xtrac_stop 1435. func intpl_r fi_trac # cant in mm -100.0 0.0 -10.0 0.0 -9.0 0.0 -8.0 0.0 0.0 0.0 worstPos-6-.1 0.0 worstPos-6-.00006 0.0 # Several points in order to avoid ringing in the spline interpolation worstPos-6-.00004 0.0 worstPos-6-.00003 0.0 worstPos-6-.00001 0.0 worstPos-6 0.0 worstPos-6+0.0003 -0.001 worstPos-6+0.0006 -0.002 worstPos-6+0.006 -0.02 worstPos-0.006 -19.98 worstPos-0.0006 -19.998 worstPos-0.0003 -19.999 worstPos -20.0 # 20 dip on high rail worstPos+0.0003 -19.999 # 6 m semi-span worstPos+0.0006 -19.998 worstPos+0.006 -19.98 worstPos+6-0.006 -0.02 worstPos+6-0.0006 -0.002 worstPos+6-0.0003 -0.001 worstPos+6 0.0 worstPos+6+.00001 0.0 worstPos+6+.00003 0.0 worstPos+6+.00004 0.0 worstPos+6+.00006 0.0 Xtrac_stop 0.0 # elseif_then_char_init ctrack_irreg .eq. "track_irr4" # }{ func const YMtrac 0.000650 # from mm to m, and factor 0.65 func const ZMtrac 0.000800 # from mm to m, and factor 0.80 func const GMtrac 0.001000 # from mm to m, and factor 0.65 func const CMtrac 0.000533 # from mm to rad, and factor 0.80 func const Xtrac_start= 0. func const Xtrac_stop= 2003. func intpl_track_irr2 Xtrac_start Xtrac_stop track/track_irr4.trax Track_Gauge # elseif_then_char_init ctrack_irreg .eq. "track_V120a" # }{ func const YMtrac= 1e-3 # From mm to m; Scale factor 1.00; Lateral irregularities func const ZMtrac= 1e-3 # From mm to m; Scale factor 1.00; Vertical irregularities func const GMtrac= 1e-3 # From mm to m; Scale factor 1.00; Gauge irregularities func const CMtrac= 1e-3/(2*bo_) # From mm to rad; Scale factor 1.00; Cant irregularities func const Xtrac_start= 1400. func const Xtrac_stop= 3100. func intpl_track_irr2 Xtrac_start Xtrac_stop track/track_V120a.trax Track_Gauge # elseif_then_char_init ctrack_irreg .eq. "track_V120b" # }{ func const YMtrac= 1e-3 # From mm to m; Scale factor 1.00; Lateral irregularities func const ZMtrac= 1e-3 # From mm to m; Scale factor 1.00; Vertical irregularities func const GMtrac= 1e-3 # From mm to m; Scale factor 1.00; Gauge irregularities func const CMtrac= 1e-3/(2*bo_) # From mm to rad; Scale factor 1.00; Cant irregularities func const Xtrac_start= 1050. func const Xtrac_stop= 3000. func intpl_track_irr2 Xtrac_start Xtrac_stop track/track_V120b.trax Track_Gauge # elseif_then_char_init ctrack_irreg .eq. "track_V160a" # }{ func const YMtrac= 1e-3 # From mm to m; Scale factor 1.00; Lateral irregularities func const ZMtrac= 1e-3 # From mm to m; Scale factor 1.00; Vertical irregularities func const GMtrac= 1e-3 # From mm to m; Scale factor 1.00; Gauge irregularities func const CMtrac= 1e-3/(2*bo_) # From mm to rad; Scale factor 1.00; Cant irregularities func const Xtrac_start= 700. func const Xtrac_stop= 4200. func intpl_track_irr2 Xtrac_start Xtrac_stop track/track_V160a.trac Track_Gauge # elseif_then_char_init ctrack_irreg .eq. "track_V200a" # }{ func const YMtrac= 1e-3 # From mm to m; Scale factor 1.00; Lateral irregularities func const ZMtrac= 1e-3 # From mm to m; Scale factor 1.00; Vertical irregularities func const GMtrac= 1e-3 # From mm to m; Scale factor 1.00; Gauge irregularities func const CMtrac= 1e-3/(2*bo_) # From mm to rad; Scale factor 1.00; Cant irregularities func const Xtrac_start= 0. func const Xtrac_stop= 4997. func intpl_track_irr2 Xtrac_start Xtrac_stop track/track_V200a.trac Track_Gauge # else func print06_char_init " " func print06_char_init " ***ERROR*** In Input Reading" func print06_char_init " Unvalid value given for character variable ctrack_irreg" func stop endif # }} # s_var scalar_0 Xtrac_start # Save start coordinate as a scalar for post processing s_var scalar_0 Xtrac_stop # Save stop coordinate as a scalar for post processing #[-]} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
These two variables controls the gauge of the track
### ### 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 Xavg gauge_average spv_trac Xtrac_start Xtrac_stop # func print06_char_init ' ' # func print06_init gauge_average # func operp_init gauge_dev_= 0.001 * ( track_width - 1435. ) # # 2) Manually by defining the variables gauge_average and gauge_dev_ # func const gauge_average= 1435. # Gauge to be removed from the track irregularity file # func const gauge_dev_=-0.008 # Make the track 8 mm tighter # func const gauge_dev_=-0.004 # Make the track 4 mm tighter func const gauge_dev_= 0.000 # Do not change the gauge # func const gauge_dev_= 0.004 # Make the track 4 mm wider # func const gauge_dev_= 0.008 # Make the track 8 mm wider #[-]} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Precalculated wheel/rail-geometry functions must be defined before a call to func wr_coupl_pe3m can be made. The precalculated wheel/rail-geometry functions are created by preprocessor kpf.
### ### Wheel-rail geometry functions ### ==========================================================func char ckpfr= ENS1002t32.5_uic60i40 #[-]{ if_then_char_init ckpfr .eq. "ckona_fl" func copy_init lambda0= 0.025 # Rail inclination 1/40 func copy_init lambda = 0.30 # Effective conicity s_var scalar_0 lambda func operp_init epsilon= 50.7 * ( lambda - lambda0 ) # Contact angle difference parameter insert file $genkpf/kpf_ckona_fl.kpfr in_substruct kpf_ckona [ " " lambda lambda0 epsilon ] # elseif_then_char_init ckpfr .eq. "rkona" insert file $genkpf/kpf_rkona.kpfr in_substruct kpf_rkona [ " " 0. ] # elseif_then_char_init ckpfr .eq. "ENS1002t32.5_uic60i40" insert file $genkpf/ENS1002t32.5_uic60i40.kpfr in_substruct ENS1002t32.5_uic60i40 [ " " ] # elseif_then_char_init ckpfr .eq. "ENS1002t32.5_uic60i30" insert file $genkpf/ENS1002t32.5_uic60i30.kpfr in_substruct ENS1002t32.5_uic60i30 [ " " ] # elseif_then_char_init ckpfr .eq. "ENS1002t32.5_uic60i20" insert file $genkpf/ENS1002t32.5_uic60i20.kpfr in_substruct ENS1002t32.5_uic60i20 [ " " ] # elseif_then_char_init ckpfr .eq. "SjNormalt33_uic60i40" insert file $genkpf/SjNormalt33_uic60i40.kpfr in_substruct SjNormalt33_uic60i40 [ " " ] # elseif_then_char_init ckpfr .eq. "SjNormalt33_uic60i20" insert file $genkpf/SjNormalt33_uic60i20.kpfr in_substruct SjNormalt33_uic60i20 [ " " ] # elseif_then_char_init ckpfr .eq. "Variable_W/R-geom" insert file $genkpf/S1002t32.5_bv50i30.kpfr insert file $genkpf/S1002t32.5_bv50i30_worn_r3.kpfr insert file $genkpf/S1002t32.5_bv50i30_worn_l3.kpfr in_substruct S1002t32.5_bv50i30 [ tangtrc ] in_substruct S1002t32.5_bv50i30_worn_r3 [ Rcurve ] in_substruct S1002t32.5_bv50i30_worn_l3 [ Lcurve ] # func kpf_variable_1 " " -100.0 tangtrc 0.0 tangtrc 5.0 Rcurve 300.0 Rcurve 305.0 tangtrc 320.0 tangtrc 325.0 Lcurve 620.0 Lcurve 625.0 tangtrc 1000.0 tangtrc # else func print06_char_init " " func print06_char_init " ***ERROR*** In Input Reading" func print06_char_init " Unvalid value given for character variable ckpfr" func stop endif #[-]} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
In reality all wheels and wheelsets have bearings and axle-boxes. Why the mathematical model also should have axle-boxes. However it is possible to avoid modelling of axle-boxes, if all dampers are attached in the center of the wheel/wheelset and the pitch angle of the wheelsets is constrained to 0.(zero).
constr fix_free_1 axl_$1.k= 0.
In order to adapt for a varying wheel radius, the pitch degree of freedom in speed must be free. To avoid initial vibration in the wheelsets, the pitch velocity must be given an initial value.
initval set_var axl_$1.vk= -Vo/ro_$1
A railway vehicle do not have a longitudinal stiffness between vehicles and track. The vehicles rolls freely along the track. In reality the locomotive of the train-set has a speed regulator which controls the speed of the vehicles. Also in the mathematical model it is necessary to have a speed regulator of the vehicles, otherwise they will gradually loose their speed. The regulator in the mathematical model can be simple or complex. Below shows two examples:
### ### Regulate the longitudinal position of the vehicle #[-]{ ==========================================================## ## Longitudinal stiffness connecting the carbody to the lsc_1 coordinate system ## ============================================================================ func const mvhe_1= mc_1+mb_11+mb_12+ma_111+Jka_111/ro_111^2+ma_112+Jka_112/ro_112^2+ma_121+Jka_121/ro_121^2+ma_122+Jka_122/ro_122^2 coupl k kxcg1 car_1 0 0 -hccg_1*.6 grd_1 0 0 -hccg_1*.6 (2*pi*.25)^2*mvhe_1 esys_1 x # fo= 0.25[Hz] coupl c cxcg1 car_1 0 0 -hccg_1*.6 grd_1 0 0 -hccg_1*.6 4*pi*.7*.25*mvhe_1 esys_1 x # zeta=0.7 ## ## Apply pitch moment on the wheelsets ## ========================================================== # func const fxcg= 0.25 # func const mvhe_1= mc_1+mb_11+mb_12+ma_111+Jka_111/ro_111^2+ma_112+Jka_112/ro_112^2+ma_121+Jka_121/ro_121^2+ma_122+Jka_122/ro_122^2 # func const Kreg_1= (2*pi*fxcg)^2*mvhe_1*ro_1/4 # func const Creg_1= 4*pi*.70*fxcg*mvhe_1*ro_1/4 # func operp car_.x = ( car_1.x * mc_1 + bog_11.x * mb_11 + bog_12.x * mb_12 + # axl_111.x * ma_111 + axl_112.x * ma_112 + axl_121.x * ma_121 + axl_122.x * ma_122 ) / mvhe_1 # func operp car_.vx= ( car_1.vx * mc_1 + bog_11.vx * mb_11 + bog_12.vx * mb_12 + # axl_111.vx * ma_111 + axl_112.vx * ma_112 + axl_121.vx * ma_121 + axl_122.vx * ma_122 ) / mvhe_1 ## # func mul MtractionK_1= Kreg_1 car_.x # func mul MtractionC_1= Creg_1 car_.vx # func add Mtraction_1= MtractionK_1 MtractionC_1 # func lpass2_0 MtractionF1_1= Mtraction_1 5. .9239 # Second order low pass filter, start value equal to 0(zero) # func lpass2_0 MtractionF2_1= MtractionF1_1 5. .3827 # Second order low pass filter, start value equal to 0(zero) ## # func incr axl_111.Mk= MtractionF2_1 # func incr axl_112.Mk= MtractionF2_1 # func incr axl_121.Mk= MtractionF2_1 # func incr axl_122.Mk= MtractionF2_1 #[-]} - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
All masses of the track model must be defined by the user manually.
mass m_rigid_6f ral_$1$2 lsa_$1 0. $3bo_ 0. 0. myr_$1$2 mzr_$1$2 0. 0. 0. mass m_rigid_6f trc_$1 lsa_$1 0. 0. 0. 0. myt_$1 mzt_$1 Jft_$1 0. 0.
## ## Interpolate track irregularities ## ===================================================================== func tral_interp_spline 111 func tral_interp_spline 112 func tral_interp_spline 121 func tral_interp_spline 122
## ## Longitudinal position of contact point on rail ## ===================================================================== func operp whe_111l.x= axl_111.x + bo_ * axl_111.p func operp whe_111r.x= axl_111.x - bo_ * axl_111.p func operp whe_112l.x= axl_112.x + bo_ * axl_112.p func operp whe_112r.x= axl_112.x - bo_ * axl_112.p func operp whe_121l.x= axl_121.x + bo_ * axl_121.p func operp whe_121r.x= axl_121.x - bo_ * axl_121.p func operp whe_122l.x= axl_122.x + bo_ * axl_122.p func operp whe_122r.x= axl_122.x - bo_ * axl_122.p
## ## Connect the wheels to the rails with coupl creep_lookuptable_1 ## ===================================================================== func const mulfact_nux_ = mu_/0.6 func const mulfact_nuy_ = mu_/0.6 func const mulfact_spin_= mu_/0.6 substruct wr_coupl_lt1 [ # $1= wheelset no; $2= side; $3= sign +/- # coupl creep_lookuptable_1 cp1_$1$2 axl_$1 0.0 $3bo_ 0.0 ral_$1$2 whe_$1$2.x $3bo_ 0.0 esys_1 m tral$1$2.y tral$1$2.z tral$1$2.vy tral$1$2.vz mulfact_nux_cp1$1$2 mulfact_nuy_cp1$1$2 mulfact_spin_cp1$1$2 { cp1_zfn_$1$2 | cpt_$1$2.zfn | cpt_.zfn } { cp1_drfn_$1$2 | cpt_$1$2.drfn | cpt_.drfn } { cp1_gamfn_$1$2 | cpt_$1$2.gamfn | cpt_.gamfn } { cp1_rofn_$1$2 | cpt_$1$2.rofn | cpt_.rofn } { cp1_poswfn_$1$2 | cpt_$1$2.poswfn | cpt_.poswfn } { cp1_posrfn_$1$2 | cpt_$1$2.posrfn | cpt_.posrfn } knwr.F0_cp1$1$2 knwr_cp1$1$2 cnwr_cp1$1$2 2.05e11 .3 mu_cp1$1$2 ro_$1$2 # coupl creep_lookuptable_1 cp2_$1$2 axl_$1 0.0 $3bo_ 0.0 ral_$1$2 whe_$1$2.x $3bo_ 0.0 esys_1 m tral$1$2.y tral$1$2.z tral$1$2.vy tral$1$2.vz mulfact_nux_cp2$1$2 mulfact_nuy_cp2$1$2 mulfact_spin_cp2$1$2 { cp2_zfn_$1$2 | cpf_$1$2.zfn | cpf_.zfn } { cp2_drfn_$1$2 | cpf_$1$2.drfn | cpf_.drfn } { cp2_gamfn_$1$2 | cpf_$1$2.gamfn | cpf_.gamfn } { cp2_rofn_$1$2 | cpf_$1$2.rofn | cpf_.rofn } { cp2_poswfn_$1$2 | cpf_$1$2.poswfn | cpf_.poswfn } { cp2_posrfn_$1$2 | cpf_$1$2.posrfn | cpf_.posrfn } 0. knwr_cp2$1$2 cnwr_cp2$1$2 2.05e11 .3 mu_cp2$1$2 ro_$1$2 # coupl creep_lookuptable_1 cp3_$1$2 axl_$1 0.0 $3bo_ 0.0 ral_$1$2 whe_$1$2.x $3bo_ 0.0 esys_1 m tral$1$2.y tral$1$2.z tral$1$2.vy tral$1$2.vz mulfact_nux_cp3$1$2 mulfact_nuy_cp3$1$2 mulfact_spin_cp3$1$2 { cp3_zfn_$1$2 | cp3_$1$2.zfn | cp3_.zfn } { cp3_drfn_$1$2 | cp3_$1$2.drfn | cp3_.drfn } { cp3_gamfn_$1$2 | cp3_$1$2.gamfn | cp3_.gamfn } { cp3_rofn_$1$2 | cp3_$1$2.rofn | cp3_.rofn } { cp3_poswfn_$1$2 | cp3_$1$2.poswfn | cp3_.poswfn } { cp3_posrfn_$1$2 | cp3_$1$2.posrfn | cp3_.posrfn } 0. knwr_cp3$1$2 cnwr_cp3$1$2 2.05e11 .3 mu_cp3$1$2 ro_$1$2 ] in_substruct wr_coupl_lt1 [ 111 l - ] in_substruct wr_coupl_lt1 [ 112 l - ] in_substruct wr_coupl_lt1 [ 121 l - ] in_substruct wr_coupl_lt1 [ 122 l - ] in_substruct wr_coupl_lt1 [ 111 r + ] in_substruct wr_coupl_lt1 [ 112 r + ] in_substruct wr_coupl_lt1 [ 121 r + ] in_substruct wr_coupl_lt1 [ 122 r + ] # func copy cp_111r.eta= cp1_111r.eta func copy cp_111l.eta= cp1_111l.eta func copy cp_112r.eta= cp1_112r.eta func copy cp_112l.eta= cp1_112l.eta func copy cp_121r.eta= cp1_121r.eta func copy cp_121l.eta= cp1_121l.eta func copy cp_122r.eta= cp1_122r.eta func copy cp_122l.eta= cp1_122l.eta
All couplings of the track model must be defined by the user manually.
## ## ## Couplings between rails and track ## ==================================================================== ! ! _______ _________ ! / \ |---- kcyrt | | ! [ ral ]---| |------/\/\/-----| | ! [__ __] |---- | | ! | | | | ! | | | | ! | | | | ! | | | | ! _____/ \_____ | | ! |_______________| | | ! | | | | | ! kmrt_| |cmrt_ \ | | ! \ |_|_| / | | ! / | | |kczrt_ | | ! \ |___| |_|_| | | ! / | |___| | | ! | | | | | ! __________________|_____|______|___________________| |_______ ! ! ! ! trc ! ! ! _____________________________________________________________________ ! ! ## ## coupl k c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire ## ------------------------------------------------------------------------------------- coupl k kmrt111r ral_111r 0.0 bo_ 0.0 trc_111 0.0 bo_ 0.0 kmrt_111r esys_1 m coupl k kmrt111l ral_111l 0.0 -bo_ 0.0 trc_111 0.0 -bo_ 0.0 kmrt_111l esys_1 m coupl k kmrt112r ral_112r 0.0 bo_ 0.0 trc_112 0.0 bo_ 0.0 kmrt_112r esys_1 m coupl k kmrt112l ral_112l 0.0 -bo_ 0.0 trc_112 0.0 -bo_ 0.0 kmrt_112l esys_1 m coupl k kmrt121r ral_121r 0.0 bo_ 0.0 trc_121 0.0 bo_ 0.0 kmrt_121r esys_1 m coupl k kmrt121l ral_121l 0.0 -bo_ 0.0 trc_121 0.0 -bo_ 0.0 kmrt_121l esys_1 m coupl k kmrt122r ral_122r 0.0 bo_ 0.0 trc_122 0.0 bo_ 0.0 kmrt_122r esys_1 m coupl k kmrt122l ral_122l 0.0 -bo_ 0.0 trc_122 0.0 -bo_ 0.0 kmrt_122l esys_1 m # coupl c cmrt111r ral_111r 0.0 bo_ 0.0 trc_111 0.0 bo_ 0.0 cmrt_111r esys_1 m coupl c cmrt111l ral_111l 0.0 -bo_ 0.0 trc_111 0.0 -bo_ 0.0 cmrt_111l esys_1 m coupl c cmrt112r ral_112r 0.0 bo_ 0.0 trc_112 0.0 bo_ 0.0 cmrt_112r esys_1 m coupl c cmrt112l ral_112l 0.0 -bo_ 0.0 trc_112 0.0 -bo_ 0.0 cmrt_112l esys_1 m coupl c cmrt121r ral_121r 0.0 bo_ 0.0 trc_121 0.0 bo_ 0.0 cmrt_121r esys_1 m coupl c cmrt121l ral_121l 0.0 -bo_ 0.0 trc_121 0.0 -bo_ 0.0 cmrt_121l esys_1 m coupl c cmrt122r ral_122r 0.0 bo_ 0.0 trc_122 0.0 bo_ 0.0 cmrt_122r esys_1 m coupl c cmrt122l ral_122l 0.0 -bo_ 0.0 trc_122 0.0 -bo_ 0.0 cmrt_122l esys_1 m # coupl kc cyrt111r ral_111r 0.0 bo_ 0.0 trc_111 0.0 bo_+.17 0.0 kyrt_kc_111r cyrt_kc_111r esys_1 y coupl kc cyrt111l ral_111l 0.0 -bo_ 0.0 trc_111 0.0 -bo_-.17 0.0 kyrt_kc_111l cyrt_kc_111l esys_1 y coupl kc cyrt112r ral_112r 0.0 bo_ 0.0 trc_112 0.0 bo_+.17 0.0 kyrt_kc_112r cyrt_kc_112r esys_1 y coupl kc cyrt112l ral_112l 0.0 -bo_ 0.0 trc_112 0.0 -bo_-.17 0.0 kyrt_kc_112l cyrt_kc_112l esys_1 y coupl kc cyrt121r ral_121r 0.0 bo_ 0.0 trc_121 0.0 bo_+.17 0.0 kyrt_kc_121r cyrt_kc_121r esys_1 y coupl kc cyrt121l ral_121l 0.0 -bo_ 0.0 trc_121 0.0 -bo_-.17 0.0 kyrt_kc_121l cyrt_kc_121l esys_1 y coupl kc cyrt122r ral_122r 0.0 bo_ 0.0 trc_122 0.0 bo_+.17 0.0 kyrt_kc_122r cyrt_kc_122r esys_1 y coupl kc cyrt122l ral_122l 0.0 -bo_ 0.0 trc_122 0.0 -bo_-.17 0.0 kyrt_kc_122l cyrt_kc_122l esys_1 y # coupl kc czrt111r ral_111r 0.0 bo_ 0.172 trc_111 0.0 bo_ 0.340 kzrt_kc_111r czrt_kc_111r esys_1 z coupl kc czrt111l ral_111l 0.0 -bo_ 0.172 trc_111 0.0 -bo_ 0.340 kzrt_kc_111l czrt_kc_111l esys_1 z coupl kc czrt112r ral_112r 0.0 bo_ 0.172 trc_112 0.0 bo_ 0.340 kzrt_kc_112r czrt_kc_112r esys_1 z coupl kc czrt112l ral_112l 0.0 -bo_ 0.172 trc_112 0.0 -bo_ 0.340 kzrt_kc_112l czrt_kc_112l esys_1 z coupl kc czrt121r ral_121r 0.0 bo_ 0.172 trc_121 0.0 bo_ 0.340 kzrt_kc_121r czrt_kc_121r esys_1 z coupl kc czrt121l ral_121l 0.0 -bo_ 0.172 trc_121 0.0 -bo_ 0.340 kzrt_kc_121l czrt_kc_121l esys_1 z coupl kc czrt122r ral_122r 0.0 bo_ 0.172 trc_122 0.0 bo_ 0.340 kzrt_kc_122r czrt_kc_122r esys_1 z coupl kc czrt122l ral_122l 0.0 -bo_ 0.172 trc_122 0.0 -bo_ 0.340 kzrt_kc_122l czrt_kc_122l esys_1 z ## ## Couplings between track and ground ## =========================================== ! ! __ __ ! ( ) ( ) |\ ! __________||___________________________________||__________ kytg_ |\ ! | | |----/\/\/\/----| |\ ! | | | | |\ ! | trc_ myt,mzt,Jft |--------| |-------|\ grd_ ! | | | |------ | |\ ! |___________________________________________________________| |----| |------| |\ ! | | | | | | |------ |\ ! kztg_| |cytg_ \ kztg_| |cytg_ \ cytg_ |\ ! \ |_|_| / \ |_|_| / |\ ! / | | |kctyg_ / | | |kctyg_ |\ ! \ |___| |_|_| \ |___| |_|_| |\ ! / | |___| / | |___| |\ ! | | | | | | |\ ! ____|_____|______|_________________________|_____|______|____________________________________|\ ! \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ! ## ## c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire ## ----------------------------------------------------------------------------------- coupl k kytg111 trc_111 0. 0.2 0.172 grd_111 0. -.2 0.172 kytg_111 esys_1 cy coupl k kytg112 trc_112 0. 0.2 0.172 grd_112 0. -.2 0.172 kytg_112 esys_1 cy coupl k kytg121 trc_121 0. 0.2 0.172 grd_121 0. -.2 0.172 kytg_121 esys_1 cy coupl k kytg122 trc_122 0. 0.2 0.172 grd_122 0. -.2 0.172 kytg_122 esys_1 cy # coupl c cytg111 trc_111 0. 0.2 0.172 grd_111 0. -.2 0.172 cytg_111 esys_1 y coupl c cytg112 trc_112 0. 0.2 0.172 grd_112 0. -.2 0.172 cytg_112 esys_1 y coupl c cytg121 trc_121 0. 0.2 0.172 grd_121 0. -.2 0.172 cytg_121 esys_1 y coupl c cytg122 trc_122 0. 0.2 0.172 grd_122 0. -.2 0.172 cytg_122 esys_1 y # coupl k kztg111r trc_111 0 bo_ 0.500 grd_111 0 bo_ 0.700 kztg_para_111r esys_1 cz coupl k kztg112r trc_112 0 bo_ 0.500 grd_112 0 bo_ 0.700 kztg_para_112r esys_1 cz coupl k kztg121r trc_121 0 bo_ 0.500 grd_121 0 bo_ 0.700 kztg_para_121r esys_1 cz coupl k kztg122r trc_122 0 bo_ 0.500 grd_122 0 bo_ 0.700 kztg_para_122r esys_1 cz # coupl k kztg111l trc_111 0 -bo_ 0.500 grd_111 0 -bo_ 0.700 kztg_para_111l esys_1 cz coupl k kztg112l trc_112 0 -bo_ 0.500 grd_112 0 -bo_ 0.700 kztg_para_112l esys_1 cz coupl k kztg121l trc_121 0 -bo_ 0.500 grd_121 0 -bo_ 0.700 kztg_para_121l esys_1 cz coupl k kztg122l trc_122 0 -bo_ 0.500 grd_122 0 -bo_ 0.700 kztg_para_122l esys_1 cz # coupl c cztg111r trc_111 0 bo_ 0.500 grd_111 0 bo_ 0.700 cztg_para_111r esys_1 z coupl c cztg112r trc_112 0 bo_ 0.500 grd_112 0 bo_ 0.700 cztg_para_112r esys_1 z coupl c cztg121r trc_121 0 bo_ 0.500 grd_121 0 bo_ 0.700 cztg_para_121r esys_1 z coupl c cztg122r trc_122 0 bo_ 0.500 grd_122 0 bo_ 0.700 cztg_para_122r esys_1 z # coupl c cztg111l trc_111 0 -bo_ 0.500 grd_111 0 -bo_ 0.700 cztg_para_111l esys_1 z coupl c cztg112l trc_112 0 -bo_ 0.500 grd_112 0 -bo_ 0.700 cztg_para_112l esys_1 z coupl c cztg121l trc_121 0 -bo_ 0.500 grd_121 0 -bo_ 0.700 cztg_para_121l esys_1 z coupl c cztg122l trc_122 0 -bo_ 0.500 grd_122 0 -bo_ 0.700 cztg_para_122l esys_1 z # coupl kc kcztg111r trc_111 0 bo_ 0.500 grd_111 0 bo_ 0.700 kztg_kc_111r cztg_kc_111r esys_1 z coupl kc kcztg112r trc_112 0 bo_ 0.500 grd_112 0 bo_ 0.700 kztg_kc_112r cztg_kc_112r esys_1 z coupl kc kcztg121r trc_121 0 bo_ 0.500 grd_121 0 bo_ 0.700 kztg_kc_121r cztg_kc_121r esys_1 z coupl kc kcztg122r trc_122 0 bo_ 0.500 grd_122 0 bo_ 0.700 kztg_kc_122r cztg_kc_122r esys_1 z # coupl kc kcztg111l trc_111 0 -bo_ 0.500 grd_111 0 -bo_ 0.700 kztg_kc_111l cztg_kc_111l esys_1 z coupl kc kcztg112l trc_112 0 -bo_ 0.500 grd_112 0 -bo_ 0.700 kztg_kc_112l cztg_kc_112l esys_1 z coupl kc kcztg121l trc_121 0 -bo_ 0.500 grd_121 0 -bo_ 0.700 kztg_kc_121l cztg_kc_121l esys_1 z coupl kc kcztg122l trc_122 0 -bo_ 0.500 grd_122 0 -bo_ 0.700 kztg_kc_122l cztg_kc_122l esys_1 z