Home Reference Manual Return Flowchart Up
File vehicle_geom.ins contains the geometry of the vehicle model. Variables used in this file has earlier been defined in file vehicle_prop.ins.
#
# VEHICLE MODEL, TRACK FLEXIBILITY MODEL
#
# ********************************
# Moving local coordinate systems
# ********************************
#
# lsys e_abs_bend l_name vms sstart curve_R curve_f curve_z
# ----------------------------------------------------------------
lsys e_abs_bend esys Vo sstart 1R_s f_s z_s
# .1 , .1 , .1 , .1 , .1 , .1
#
# lsys l_local l_name esys a b h
# ------------------------------------------------
lsys l_local lsc_1 esys 0.0 0.0 0.0
lsys l_local lsb_11 lsc_1 acb 0.0 0.0
lsys l_local lsb_12 lsc_1 -acb 0.0 0.0
lsys l_local lsa_111 lsb_11 abw 0.0 0.0
lsys l_local lsa_112 lsb_11 -abw 0.0 0.0
lsys l_local lsa_121 lsb_12 abw 0.0 0.0
lsys l_local lsa_122 lsb_12 -abw 0.0 0.0
#
# ************************
# Vehicle and track bodies
# ************************
#
func const mt 1000
#
# mass m_rigid_6 m_name lsys acg bcg hcg m m m Jf Jk Jp
# ----------------------------------------------------------------------
mass m_rigid_6 car_1 lsc_1 0.0 0.0 -hccg mc mc mc Jfc Jkc Jpc
mass m_rigid_6 bog_11 lsb_11 0.0 0.0 -hbcg mb mb mb Jfb Jkb Jpb
mass m_rigid_6 bog_12 lsb_12 0.0 0.0 -hbcg mb mb mb Jfb Jkb Jpb
mass m_rigid_6 axl_111 lsa_111 0.0 0.0 -Ro1 mw mw mw Jfw Jkw Jpw
mass m_rigid_6 axl_112 lsa_112 0.0 0.0 -Ro1 mw mw mw Jfw Jkw Jpw
mass m_rigid_6 axl_121 lsa_121 0.0 0.0 -Ro1 mw mw mw Jfw Jkw Jpw
mass m_rigid_6 axl_122 lsa_122 0.0 0.0 -Ro1 mw mw mw Jfw Jkw Jpw
mass m_rigid_6 trc_111 lsa_111 0.0 0.0 0.0 0.0 mt 0.0 0.0 0.0 0.0
mass m_rigid_6 trc_112 lsa_112 0.0 0.0 0.0 0.0 mt 0.0 0.0 0.0 0.0
mass m_rigid_6 trc_121 lsa_121 0.0 0.0 0.0 0.0 mt 0.0 0.0 0.0 0.0
mass m_rigid_6 trc_122 lsa_122 0.0 0.0 0.0 0.0 mt 0.0 0.0 0.0 0.0
#
# *************
# Ground points
# *************
#
# mass fixpoint_6 m_name lsys acg bcg hcg
# -----------------------------------------------
mass fixpoint_6 grd_1 lsc_1 0.0 0.0 0.0
mass fixpoint_6 grd_111 lsa_111 0.0 0.0 0.0
mass fixpoint_6 grd_112 lsa_112 0.0 0.0 0.0
mass fixpoint_6 grd_121 lsa_121 0.0 0.0 0.0
mass fixpoint_6 grd_122 lsa_122 0.0 0.0 0.0
#
# ************************************
# Calculation of creep and creepforces
# ************************************
#
func operp_init knwr_r.F0= ( mc + 2 * mb + 4 * mw ) * accel.z / 8.
#
func intpl_r knwr_r # Stiffness Wheel-Rail
-1.57 42e6
0. 180e6
1.57 42e6
func intpl_r cnwr_r # Damping Wheel-Rail
-1.57 60e3
0. 250e3
1.57 60e3
#
# # Define wheel-rail-connection model
#
insert file $gensys/calc/insert_files/wr_coupl_ne1.ins
in_substruct wr_coupl [ 1 111 ]
in_substruct wr_coupl [ 1 112 ]
in_substruct wr_coupl [ 1 121 ]
in_substruct wr_coupl [ 1 122 ]
#
# *****************************
# Secondary suspension: Springs
# *****************************
#
func operp_init kzcbp.F0 accel.z * mc / 4
#
# coupl p_lin p_name F0 value
# ----------------------------------
coupl p_lin kxcbp 0.0 kxcb
coupl p_lin kycbp 0.0 kycb
coupl p_lin kzcbp -kzcbp.F0 kzcb
#
# coupl k3_l c_name body1 a1 b1 h1 body2 a2 b2 h2
# propx propy propz hs rf esys dire f k p
# ------------------------------------------------------------------------
coupl k3_l kzcb11r car_1 acb bkzcb -hkzcb bog_11 0.0 bkzcb -hkzcb
kxcbp kycbp kzcbp hs rf esys m bog_11.f bog_11.k bog_11.p
coupl k3_l kzcb11l car_1 acb -bkzcb -hkzcb bog_11 0.0 -bkzcb -hkzcb
kxcbp kycbp kzcbp hs rf esys m bog_11.f bog_11.k bog_11.p
coupl k3_l kzcb12r car_1 -acb bkzcb -hkzcb bog_12 0.0 bkzcb -hkzcb
kxcbp kycbp kzcbp hs rf esys m bog_12.f bog_12.k bog_12.p
coupl k3_l kzcb12l car_1 -acb -bkzcb -hkzcb bog_12 0.0 -bkzcb -hkzcb
kxcbp kycbp kzcbp hs rf esys m bog_12.f bog_12.k bog_12.p
#
# ************************************
# Secondary suspension: Anti-roll bars
# ************************************
#
# coupl p_lin p_name F0 value
# ------------------------------
coupl p_lin kfcbp 0.0 kfcb
#
# coupl k c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire
# -------------------------------------------------------------------------------
coupl k kfcb11 car_1 acb 0.0 -hkfcb bog_11 0.0 0.0 -hkfcb kfcbp esys f
coupl k kfcb12 car_1 -acb 0.0 -hkfcb bog_12 0.0 0.0 -hkfcb kfcbp esys f
#
# ***********************************
# Secondary suspension: Traction rods
# ***********************************
#
# coupl p_lin p_name F0 value
# ------------------------------
coupl p_lin ktrp 0.0 ktr
coupl p_lin cktrp 0.0 cktr
#
# coupl k c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire
# ------------------------------------------------------------------------------
coupl k ktr11 car_1 acktr 0.0 -hcktr bog_11 0.0 0.0 -hbktr ktrp esys c
coupl k ktr12 car_1 -acktr 0.0 -hcktr bog_12 0.0 0.0 -hbktr ktrp esys c
#
# coupl c c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire
# ------------------------------------------------------------------------------
coupl c cktr11 car_1 acktr 0.0 -hcktr bog_11 0.0 0.0 -hbktr cktrp esys c
coupl c cktr12 car_1 -acktr 0.0 -hcktr bog_12 0.0 0.0 -hbktr cktrp esys c
#
# ***************************************
# Secondary suspension: Lateral bumpstops
# ***************************************
#
# coupl p_nlin_s p_name F0 v_pairs(*)
# ---------------------------------------------------------------------------
coupl p_nlin_s kycbsp 0.0 ykycbs1 0.0 ykycbs2 Fkycbs2 ykycbs3 Fkycbs3
#
# coupl k c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire
# ------------------------------------------------------------------------------
coupl k kycbs11 car_1 acb 0.0 -hkycbs bog_11 0.0 0.0 -hkycbs kycbsp esys y
coupl k kycbs12 car_1 -acb 0.0 -hkycbs bog_12 0.0 0.0 -hkycbs kycbsp esys y
#
# *************************************
# Secondary suspension: Lateral dampers
# *************************************
#
# coupl p_lin p_name F0 value
# -----------------------------
coupl p_lin cycbp 0.0 cycb
#
func operp_init bcycbb= bcycb - 0.6
#
# coupl c c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire
# ---------------------------------------------------------------------------------
coupl c cycb11r car_1 acb bcycb -hcycb bog_11 0.0 bcycbb -hcycb cycbp esys y
coupl c cycb11l car_1 acb -bcycb -hcycb bog_11 0.0 -bcycbb -hcycb cycbp esys y
coupl c cycb12r car_1 -acb bcycb -hcycb bog_12 0.0 bcycbb -hcycb cycbp esys y
coupl c cycb12l car_1 -acb -bcycb -hcycb bog_12 0.0 -bcycbb -hcycb cycbp esys y
#
# **************************************
# Secondary suspension: Vertical dampers
# **************************************
#
# coupl p_lin p_name F0 value
# -----------------------------
coupl p_lin czcbp 0.0 czcb
#
func operp_init hczcbb= hczcb - 0.6
#
# coupl c c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire
# ----------------------------------------------------------------------------------
coupl c czcb11r car_1 acb bczcb -hczcb bog_11 0.0 bczcb -hczcbb czcbp esys z
coupl c czcb11l car_1 acb -bczcb -hczcb bog_11 0.0 -bczcb -hczcbb czcbp esys z
coupl c czcb12r car_1 -acb bczcb -hczcb bog_12 0.0 bczcb -hczcbb czcbp esys z
coupl c czcb12l car_1 -acb -bczcb -hczcb bog_12 0.0 -bczcb -hczcbb czcbp esys z
#
# *********************************
# Secondary suspension: Yaw dampers
# *********************************
#
# coupl p_nlin p_name F0 v_pairs(*)
# -----------------------------------------------------------------------------------
coupl p_nlin ccbp 0.0 -vccb2 -Fccb2 -vccb1 -Fccb1 vccb1 Fccb1 vccb2 Fccb2
#
# coupl p_lin p_name F0 value
# ------------------------------
coupl p_lin kccbp 0.0 kccb
#
# coupl kc c_name body1 a1 b1 h1 body2 a2 b2 h2 prop_k prop_c esys dire
# ---------------------------------------------------------------------------------------
coupl kc ccb11r car_1 acccb bccb -hcccb bog_11 0.0 bccb -hbccb kccbp ccbp esys c
coupl kc ccb11l car_1 acccb -bccb -hcccb bog_11 0.0 -bccb -hbccb kccbp ccbp esys c
coupl kc ccb12r car_1 -acccb bccb -hcccb bog_12 0.0 bccb -hbccb kccbp ccbp esys c
coupl kc ccb12l car_1 -acccb -bccb -hcccb bog_12 0.0 -bccb -hbccb kccbp ccbp esys c
#
# ***************************
# Primary suspension: Springs
# ***************************
#
func operp_init kzbwp.F0 accel.z * ( mc / 8 + mb / 4 )
#
# coupl p_lin p_name F0 value
# -----------------------------------
coupl p_lin kxbwp 0.0 kxbw
coupl p_lin kybwp 0.0 kybw
coupl p_lin kzbwp -kzbwp.F0 kzbw
coupl p_lin cxbwp 0.0 cxbw
coupl p_lin cybwp 0.0 cybw
#
# coupl k c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire
# ------------------------------------------------------------------------------------
coupl k kxbw111r bog_11 abw bkzbw -Ro1 axl_111 0.0 bkzbw -Ro1 kxbwp esys x
coupl k kxbw111l bog_11 abw -bkzbw -Ro1 axl_111 0.0 -bkzbw -Ro1 kxbwp esys x
coupl k kxbw112r bog_11 -abw bkzbw -Ro1 axl_112 0.0 bkzbw -Ro1 kxbwp esys x
coupl k kxbw112l bog_11 -abw -bkzbw -Ro1 axl_112 0.0 -bkzbw -Ro1 kxbwp esys x
coupl k kxbw121r bog_12 abw bkzbw -Ro1 axl_121 0.0 bkzbw -Ro1 kxbwp esys x
coupl k kxbw121l bog_12 abw -bkzbw -Ro1 axl_121 0.0 -bkzbw -Ro1 kxbwp esys x
coupl k kxbw122r bog_12 -abw bkzbw -Ro1 axl_122 0.0 bkzbw -Ro1 kxbwp esys x
coupl k kxbw122l bog_12 -abw -bkzbw -Ro1 axl_122 0.0 -bkzbw -Ro1 kxbwp esys x
#
coupl k kybw111r bog_11 abw bkzbw -hkzbw axl_111 0.0 bkzbw -hkzbw kybwp esys y
coupl k kybw111l bog_11 abw -bkzbw -hkzbw axl_111 0.0 -bkzbw -hkzbw kybwp esys y
coupl k kybw112r bog_11 -abw bkzbw -hkzbw axl_112 0.0 bkzbw -hkzbw kybwp esys y
coupl k kybw112l bog_11 -abw -bkzbw -hkzbw axl_112 0.0 -bkzbw -hkzbw kybwp esys y
coupl k kybw121r bog_12 abw bkzbw -hkzbw axl_121 0.0 bkzbw -hkzbw kybwp esys y
coupl k kybw121l bog_12 abw -bkzbw -hkzbw axl_121 0.0 -bkzbw -hkzbw kybwp esys y
coupl k kybw122r bog_12 -abw bkzbw -hkzbw axl_122 0.0 bkzbw -hkzbw kybwp esys y
coupl k kybw122l bog_12 -abw -bkzbw -hkzbw axl_122 0.0 -bkzbw -hkzbw kybwp esys y
#
coupl k kzbw111r bog_11 abw bkzbw -Ro1 axl_111 0.0 bkzbw -Ro1 kzbwp esys z
coupl k kzbw111l bog_11 abw -bkzbw -Ro1 axl_111 0.0 -bkzbw -Ro1 kzbwp esys z
coupl k kzbw112r bog_11 -abw bkzbw -Ro1 axl_112 0.0 bkzbw -Ro1 kzbwp esys z
coupl k kzbw112l bog_11 -abw -bkzbw -Ro1 axl_112 0.0 -bkzbw -Ro1 kzbwp esys z
coupl k kzbw121r bog_12 abw bkzbw -Ro1 axl_121 0.0 bkzbw -Ro1 kzbwp esys z
coupl k kzbw121l bog_12 abw -bkzbw -Ro1 axl_121 0.0 -bkzbw -Ro1 kzbwp esys z
coupl k kzbw122r bog_12 -abw bkzbw -Ro1 axl_122 0.0 bkzbw -Ro1 kzbwp esys z
coupl k kzbw122l bog_12 -abw -bkzbw -Ro1 axl_122 0.0 -bkzbw -Ro1 kzbwp esys z
#
# coupl c c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire
# ------------------------------------------------------------------------------------
coupl c cxbw111r bog_11 abw bkzbw -Ro1 axl_111 0.0 bkzbw -Ro1 cxbwp esys x
coupl c cxbw111l bog_11 abw -bkzbw -Ro1 axl_111 0.0 -bkzbw -Ro1 cxbwp esys x
coupl c cxbw112r bog_11 -abw bkzbw -Ro1 axl_112 0.0 bkzbw -Ro1 cxbwp esys x
coupl c cxbw112l bog_11 -abw -bkzbw -Ro1 axl_112 0.0 -bkzbw -Ro1 cxbwp esys x
coupl c cxbw121r bog_12 abw bkzbw -Ro1 axl_121 0.0 bkzbw -Ro1 cxbwp esys x
coupl c cxbw121l bog_12 abw -bkzbw -Ro1 axl_121 0.0 -bkzbw -Ro1 cxbwp esys x
coupl c cxbw122r bog_12 -abw bkzbw -Ro1 axl_122 0.0 bkzbw -Ro1 cxbwp esys x
coupl c cxbw122l bog_12 -abw -bkzbw -Ro1 axl_122 0.0 -bkzbw -Ro1 cxbwp esys x
#
coupl c cybw111r bog_11 abw bkzbw -hkzbw axl_111 0.0 bkzbw -hkzbw cybwp esys y
coupl c cybw111l bog_11 abw -bkzbw -hkzbw axl_111 0.0 -bkzbw -hkzbw cybwp esys y
coupl c cybw112r bog_11 -abw bkzbw -hkzbw axl_112 0.0 bkzbw -hkzbw cybwp esys y
coupl c cybw112l bog_11 -abw -bkzbw -hkzbw axl_112 0.0 -bkzbw -hkzbw cybwp esys y
coupl c cybw121r bog_12 abw bkzbw -hkzbw axl_121 0.0 bkzbw -hkzbw cybwp esys y
coupl c cybw121l bog_12 abw -bkzbw -hkzbw axl_121 0.0 -bkzbw -hkzbw cybwp esys y
coupl c cybw122r bog_12 -abw bkzbw -hkzbw axl_122 0.0 bkzbw -hkzbw cybwp esys y
coupl c cybw122l bog_12 -abw -bkzbw -hkzbw axl_122 0.0 -bkzbw -hkzbw cybwp esys y
#
# vertical damping in primary springs neglected as compared to the dampers czbw below
#
# *************************************
# Primary suspension: Lateral bumpstops
# *************************************
#
# coupl p_nlin_s p_name F0 v_pairs(*)
# --------------------------------------------------------
coupl p_nlin_s kybwsp 0.0 ykycbs1 0.0 ykycbs2 Fkycbs2
#
# coupl k c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire
# ---------------------------------------------------------------------------------
coupl k kybws111 bog_11 abw 0.0 -hkybws axl_111 0.0 0.0 -hkybws kybwsp esys y
coupl k kybws112 bog_11 -abw 0.0 -hkybws axl_112 0.0 0.0 -hkybws kybwsp esys y
coupl k kybws121 bog_12 abw 0.0 -hkybws axl_121 0.0 0.0 -hkybws kybwsp esys y
coupl k kybws122 bog_12 -abw 0.0 -hkybws axl_122 0.0 0.0 -hkybws kybwsp esys y
#
# ************************************
# Primary suspension: Vertical dampers
# ************************************
#
# coupl p_lin p_name F0 value
# -----------------------------
coupl p_lin czbwp 0.0 czbw
#
#
# coupl c c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire
# --------------------------------------------------------------------------------------
coupl c czbw111r bog_11 abw bczbw -hczbwb axl_111 0.0 bczbw -hczbww czbwp esys z
coupl c czbw111l bog_11 abw -bczbw -hczbwb axl_111 0.0 -bczbw -hczbww czbwp esys z
coupl c czbw112r bog_11 -abw bczbw -hczbwb axl_112 0.0 bczbw -hczbww czbwp esys z
coupl c czbw112l bog_11 -abw -bczbw -hczbwb axl_112 0.0 -bczbw -hczbww czbwp esys z
coupl c czbw121r bog_12 abw bczbw -hczbwb axl_121 0.0 bczbw -hczbww czbwp esys z
coupl c czbw121l bog_12 abw -bczbw -hczbwb axl_121 0.0 -bczbw -hczbww czbwp esys z
coupl c czbw122r bog_12 -abw bczbw -hczbwb axl_122 0.0 bczbw -hczbww czbwp esys z
coupl c czbw122l bog_12 -abw -bczbw -hczbwb axl_122 0.0 -bczbw -hczbww czbwp esys z
#
# *******************************************
# Lateral couplings between track and ground.
# *******************************************
#
# coupl p_lin p_name F0 value
# -----------------------------
coupl p_lin kytp 0.0 20e6
coupl p_lin cytp 0.0 100e3
#
# coupl k c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire
# ----------------------------------------------------------------------
coupl k kyt111 grd_111 0.0 0.0 0.0 trc_111 0.0 0.0 0.0 kytp esys y
coupl k kyt112 grd_112 0.0 0.0 0.0 trc_112 0.0 0.0 0.0 kytp esys y
coupl k kyt121 grd_121 0.0 0.0 0.0 trc_121 0.0 0.0 0.0 kytp esys y
coupl k kyt122 grd_122 0.0 0.0 0.0 trc_122 0.0 0.0 0.0 kytp esys y
#
# coupl c c_name body1 a1 b1 h1 body2 a2 b2 h2 prop esys dire
# ----------------------------------------------------------------------
coupl c cyt111 grd_111 0.0 0.0 0.0 trc_111 0.0 0.0 0.0 cytp esys y
coupl c cyt112 grd_112 0.0 0.0 0.0 trc_112 0.0 0.0 0.0 cytp esys y
coupl c cyt121 grd_121 0.0 0.0 0.0 trc_121 0.0 0.0 0.0 cytp esys y
coupl c cyt122 grd_122 0.0 0.0 0.0 trc_122 0.0 0.0 0.0 cytp esys y
#
#
# ================================================================
#
# ACCELERATION RESPONSE POINTS ON CARBODY FLOOR
#
# func accp_bodyf f_name m_name a b h
# ------------------------------------------------
func accp_bodyf car1b1 car_1 acb 0.0 -hfloor
func accp_bodyf car1.m car_1 0.0 0.0 -hfloor
func accp_bodyf car1b2 car_1 -acb 0.0 -hfloor
#
# ================================================================
#
# Pantograph sway
#
# func pos_rlsys2 f_name m_name lsys a b h
# ---------------------------------------------------------
func pos_rlsys2 car1b1 car_1 lsb_11 acb 0.0 -5.6
func pos_rlsys2 car1b2 car_1 lsb_12 -acb 0.0 -5.6
#
# ================================================================
#
# GRAPHICAL REPRESENTATION OF THE BODIES
#
# body type m_name lsys +a -a +b -b +h -h
# ------------------------------------------------------------------------
body box_lsys_522 car_1 lsc_1 11.0 -11.0 1.5 -1.5 -1.3 -4.0
body box_lsys bog_11 lsb_11 2.0 -2.0 1.0 -1.0 -0.6 -1.0
body box_lsys bog_12 lsb_12 2.0 -2.0 1.0 -1.0 -0.6 -1.0
#
# body type m_name lsys Ro1 Bo
# -------------------------------------------
body w_set_lsys axl_111 lsa_111 0.5 0.75
body w_set_lsys axl_112 lsa_112 0.5 0.75
body w_set_lsys axl_121 lsa_121 0.5 0.75
body w_set_lsys axl_122 lsa_122 0.5 0.75
#
# body type m_name lsys polygon
# -------------------------------------------------------------------------------------
body figure_lsys trc_111 lsa_111 1 5 0.5 1 0 0.5 -1 0 -0.5 -1 0 -0.5 1 0 0.5 1 0
body figure_lsys trc_112 lsa_112 1 5 0.5 1 0 0.5 -1 0 -0.5 -1 0 -0.5 1 0 0.5 1 0
body figure_lsys trc_121 lsa_121 1 5 0.5 1 0 0.5 -1 0 -0.5 -1 0 -0.5 1 0 0.5 1 0
body figure_lsys trc_122 lsa_122 1 5 0.5 1 0 0.5 -1 0 -0.5 -1 0 -0.5 1 0 0.5 1 0
#
# ================================================================
#
#
# Define variables to be saved on the MPdat-file.
# ===============================================
s_var scalar_0 vkmh
insert file $gensys/calc/insert_files/save_car1.ins
in_substruct save_car1 [ 1 ]
#
insert file $gensys/calc/insert_files/save_bog1.ins
in_substruct save_bog1 [ 11 ]
in_substruct save_bog1 [ 12 ]
#
insert file $gensys/calc/insert_files/save_axl1.ins
in_substruct save_axl1 [ 111 ]
in_substruct save_axl1 [ 112 ]
in_substruct save_axl1 [ 121 ]
in_substruct save_axl1 [ 122 ]
s_var sngl kycbs11.d # Deformation and forces in the lateral secondary
s_var sngl kycbs11.F # bumpstop
s_var sngl kycbs12.d
s_var sngl kycbs12.F
s_var sngl car1b1.y # Store pantograph sway
s_var sngl car1b2.y