Home
Reference Manuals
Return
#
#
## Following curves are defined in this file
## -----------------------------------------
## func char ctrack_design= Tangent_Track
## func char ctrack_design= Curve_R200_h150_t120
## func char ctrack_design= Curve_L200_h150_t120
## func char ctrack_design= Curve_R300_h150_t120
## func char ctrack_design= Curve_L300_h150_t120
## func char ctrack_design= Curve_R400_h150_t120
## func char ctrack_design= Curve_L400_h150_t120
## func char ctrack_design= Curve_R600_h150_t120
## func char ctrack_design= Curve_L600_h150_t120
## func char ctrack_design= Curve_R1000_h150_t120
## func char ctrack_design= Curve_L1000_h150_t120
## func char ctrack_design= Curve_R1160_h150_t120
## func char ctrack_design= Curve_L1160_h150_t120
## func char ctrack_design= Curve_R1300_h150_t120
## func char ctrack_design= Curve_L1300_h150_t120
##
#
#
# Definition of designed track geometry
# =====================================
#
#
if_then_char_init ctrack_design .eq. Tangent_Track
func const Curve_radius=0.
func intpl_r 1R_trac_design -100 0 500 0
func intpl_r f_trac_design -100 0 500 0
func intpl_r z_trac_design -100 0 500 0
endif
#
if_then_char_init ctrack_design .eq. Curve_R200_h150_t120
func const s-1 -100 # Start of first tangent track
func const s0 0 # Start of transition curve
func const s1 120 # Start of circular curve
func const s2 500 # End of circular curve
func const R12 200 # Curve radius between s1 and s2
func const ha12 0.150 # Cant between s1 and s2
func const Curve_radius=R12
s_var scalar_0 Curve_radius # Save Curve_radius for postprocessing
func inv_init R12inv R12
func operp_init f12 ha12 / bo / 2.
func div_init z12b ha12 2.0
func abs_init z12a z12b
func copy_init z12 -z12a
func intpl_r 1R_trac_design s-1 0.0 s0 0.0 s1 R12inv s2 R12inv
func intpl_r f_trac_design s-1 0.0 s0 0.0 s1 f12 s2 f12
func intpl_r z_trac_design s-1 0.0 s0 0.0 s1 z12 s2 z12
endif
#
if_then_char_init ctrack_design .eq. Curve_L200_h150_t120
func const s-1 -100 # Start of first tangent track
func const s0 0 # Start of transition curve
func const s1 120 # Start of circular curve
func const s2 500 # End of circular curve
func const R12 -200 # Curve radius between s1 and s2
func const ha12 -.150 # Cant between s1 and s2
func const Curve_radius=R12
s_var scalar_0 Curve_radius # Save Curve_radius for postprocessing
func inv_init R12inv R12
func operp_init f12 ha12 / bo / 2.
func div_init z12b ha12 2.0
func abs_init z12a z12b
func copy_init z12 -z12a
func intpl_r 1R_trac_design s-1 0.0 s0 0.0 s1 R12inv s2 R12inv
func intpl_r f_trac_design s-1 0.0 s0 0.0 s1 f12 s2 f12
func intpl_r z_trac_design s-1 0.0 s0 0.0 s1 z12 s2 z12
endif
#
if_then_char_init ctrack_design .eq. Curve_R300_h150_t120
func const s-1 -100 # Start of first tangent track
func const s0 0 # Start of transition curve
func const s1 120 # Start of circular curve
func const s2 500 # End of circular curve
func const R12 300 # Curve radius between s1 and s2
func const ha12 0.150 # Cant between s1 and s2
func const Curve_radius=R12
s_var scalar_0 Curve_radius # Save Curve_radius for postprocessing
func inv_init R12inv R12
func operp_init f12 ha12 / bo / 2.
func div_init z12b ha12 2.0
func abs_init z12a z12b
func copy_init z12 -z12a
func intpl_r 1R_trac_design s-1 0.0 s0 0.0 s1 R12inv s2 R12inv
func intpl_r f_trac_design s-1 0.0 s0 0.0 s1 f12 s2 f12
func intpl_r z_trac_design s-1 0.0 s0 0.0 s1 z12 s2 z12
endif
#
if_then_char_init ctrack_design .eq. Curve_L300_h150_t120
func const s-1 -100 # Start of first tangent track
func const s0 0 # Start of transition curve
func const s1 120 # Start of circular curve
func const s2 500 # End of circular curve
func const R12 -300 # Curve radius between s1 and s2
func const ha12 -.150 # Cant between s1 and s2
func const Curve_radius=R12
s_var scalar_0 Curve_radius # Save Curve_radius for postprocessing
func inv_init R12inv R12
func operp_init f12 ha12 / bo / 2.
func div_init z12b ha12 2.0
func abs_init z12a z12b
func copy_init z12 -z12a
func intpl_r 1R_trac_design s-1 0.0 s0 0.0 s1 R12inv s2 R12inv
func intpl_r f_trac_design s-1 0.0 s0 0.0 s1 f12 s2 f12
func intpl_r z_trac_design s-1 0.0 s0 0.0 s1 z12 s2 z12
endif
#
if_then_char_init ctrack_design .eq. Curve_R400_h150_t120
func const s-1 -100 # Start of first tangent track
func const s0 0 # Start of transition curve
func const s1 120 # Start of circular curve
func const s2 500 # End of circular curve
func const R12 400 # Curve radius between s1 and s2
func const ha12 0.150 # Cant between s1 and s2
func const Curve_radius=R12
s_var scalar_0 Curve_radius # Save Curve_radius for postprocessing
func inv_init R12inv R12
func operp_init f12 ha12 / bo / 2.
func div_init z12b ha12 2.0
func abs_init z12a z12b
func copy_init z12 -z12a
func intpl_r 1R_trac_design s-1 0.0 s0 0.0 s1 R12inv s2 R12inv
func intpl_r f_trac_design s-1 0.0 s0 0.0 s1 f12 s2 f12
func intpl_r z_trac_design s-1 0.0 s0 0.0 s1 z12 s2 z12
endif
#
if_then_char_init ctrack_design .eq. Curve_L400_h150_t120
func const s-1 -100 # Start of first tangent track
func const s0 0 # Start of transition curve
func const s1 120 # Start of circular curve
func const s2 500 # End of circular curve
func const R12 -400 # Curve radius between s1 and s2
func const ha12 -.150 # Cant between s1 and s2
func const Curve_radius=R12
s_var scalar_0 Curve_radius # Save Curve_radius for postprocessing
func inv_init R12inv R12
func operp_init f12 ha12 / bo / 2.
func div_init z12b ha12 2.0
func abs_init z12a z12b
func copy_init z12 -z12a
func intpl_r 1R_trac_design s-1 0.0 s0 0.0 s1 R12inv s2 R12inv
func intpl_r f_trac_design s-1 0.0 s0 0.0 s1 f12 s2 f12
func intpl_r z_trac_design s-1 0.0 s0 0.0 s1 z12 s2 z12
endif
#
if_then_char_init ctrack_design .eq. Curve_R600_h150_t120
func const s-1 -100 # Start of first tangent track
func const s0 0 # Start of transition curve
func const s1 120 # Start of circular curve
func const s2 500 # End of circular curve
func const R12 600 # Curve radius between s1 and s2
func const ha12 0.150 # Cant between s1 and s2
func const Curve_radius=R12
s_var scalar_0 Curve_radius # Save Curve_radius for postprocessing
func inv_init R12inv R12
func operp_init f12 ha12 / bo / 2.
func div_init z12b ha12 2.0
func abs_init z12a z12b
func copy_init z12 -z12a
func intpl_r 1R_trac_design s-1 0.0 s0 0.0 s1 R12inv s2 R12inv
func intpl_r f_trac_design s-1 0.0 s0 0.0 s1 f12 s2 f12
func intpl_r z_trac_design s-1 0.0 s0 0.0 s1 z12 s2 z12
endif
#
if_then_char_init ctrack_design .eq. Curve_L600_h150_t120
func const s-1 -100 # Start of first tangent track
func const s0 0 # Start of transition curve
func const s1 120 # Start of circular curve
func const s2 500 # End of circular curve
func const R12 -600 # Curve radius between s1 and s2
func const ha12 -.150 # Cant between s1 and s2
func const Curve_radius=R12
s_var scalar_0 Curve_radius # Save Curve_radius for postprocessing
func inv_init R12inv R12
func operp_init f12 ha12 / bo / 2.
func div_init z12b ha12 2.0
func abs_init z12a z12b
func copy_init z12 -z12a
func intpl_r 1R_trac_design s-1 0.0 s0 0.0 s1 R12inv s2 R12inv
func intpl_r f_trac_design s-1 0.0 s0 0.0 s1 f12 s2 f12
func intpl_r z_trac_design s-1 0.0 s0 0.0 s1 z12 s2 z12
endif
#
if_then_char_init ctrack_design .eq. Curve_R1000_h150_t120
func const s-1 -100 # Start of first tangent track
func const s0 0 # Start of transition curve
func const s1 120 # Start of circular curve
func const s2 500 # End of circular curve
func const R12 1000 # Curve radius between s1 and s2
func const ha12 0.150 # Cant between s1 and s2
func const Curve_radius=R12
s_var scalar_0 Curve_radius # Save Curve_radius for postprocessing
func inv_init R12inv R12
func operp_init f12 ha12 / bo / 2.
func div_init z12b ha12 2.0
func abs_init z12a z12b
func copy_init z12 -z12a
func intpl_r 1R_trac_design s-1 0.0 s0 0.0 s1 R12inv s2 R12inv
func intpl_r f_trac_design s-1 0.0 s0 0.0 s1 f12 s2 f12
func intpl_r z_trac_design s-1 0.0 s0 0.0 s1 z12 s2 z12
endif
#
if_then_char_init ctrack_design .eq. Curve_L1000_h150_t120
func const s-1 -100 # Start of first tangent track
func const s0 0 # Start of transition curve
func const s1 120 # Start of circular curve
func const s2 500 # End of circular curve
func const R12 -1000 # Curve radius between s1 and s2
func const ha12 -.150 # Cant between s1 and s2
func const Curve_radius=R12
s_var scalar_0 Curve_radius # Save Curve_radius for postprocessing
func inv_init R12inv R12
func operp_init f12 ha12 / bo / 2.
func div_init z12b ha12 2.0
func abs_init z12a z12b
func copy_init z12 -z12a
func intpl_r 1R_trac_design s-1 0.0 s0 0.0 s1 R12inv s2 R12inv
func intpl_r f_trac_design s-1 0.0 s0 0.0 s1 f12 s2 f12
func intpl_r z_trac_design s-1 0.0 s0 0.0 s1 z12 s2 z12
endif
#
if_then_char_init ctrack_design .eq. Curve_R1160_h150_t120
func const s-1 -100 # Start of first tangent track
func const s0 0 # Start of transition curve
func const s1 120 # Start of circular curve
func const s2 500 # End of circular curve
func const R12 1160 # Curve radius between s1 and s2
func const ha12 0.150 # Cant between s1 and s2
func const Curve_radius=R12
s_var scalar_0 Curve_radius # Save Curve_radius for postprocessing
func inv_init R12inv R12
func operp_init f12 ha12 / bo / 2.
func div_init z12b ha12 2.0
func abs_init z12a z12b
func copy_init z12 -z12a
func intpl_r 1R_trac_design s-1 0.0 s0 0.0 s1 R12inv s2 R12inv
func intpl_r f_trac_design s-1 0.0 s0 0.0 s1 f12 s2 f12
func intpl_r z_trac_design s-1 0.0 s0 0.0 s1 z12 s2 z12
endif
#
if_then_char_init ctrack_design .eq. Curve_L1160_h150_t120
func const s-1 -100 # Start of first tangent track
func const s0 0 # Start of transition curve
func const s1 120 # Start of circular curve
func const s2 500 # End of circular curve
func const R12 -1160 # Curve radius between s1 and s2
func const ha12 -.150 # Cant between s1 and s2
func const Curve_radius=R12
s_var scalar_0 Curve_radius # Save Curve_radius for postprocessing
func inv_init R12inv R12
func operp_init f12 ha12 / bo / 2.
func div_init z12b ha12 2.0
func abs_init z12a z12b
func copy_init z12 -z12a
func intpl_r 1R_trac_design s-1 0.0 s0 0.0 s1 R12inv s2 R12inv
func intpl_r f_trac_design s-1 0.0 s0 0.0 s1 f12 s2 f12
func intpl_r z_trac_design s-1 0.0 s0 0.0 s1 z12 s2 z12
endif
#
if_then_char_init ctrack_design .eq. Curve_R1300_h150_t120
func const s-1 -100 # Start of first tangent track
func const s0 0 # Start of transition curve
func const s1 120 # Start of circular curve
func const s2 500 # End of circular curve
func const R12 1300 # Curve radius between s1 and s2
func const ha12 0.150 # Cant between s1 and s2
func const Curve_radius=R12
s_var scalar_0 Curve_radius # Save Curve_radius for postprocessing
func inv_init R12inv R12
func operp_init f12 ha12 / bo / 2.
func div_init z12b ha12 2.0
func abs_init z12a z12b
func copy_init z12 -z12a
func intpl_r 1R_trac_design s-1 0.0 s0 0.0 s1 R12inv s2 R12inv
func intpl_r f_trac_design s-1 0.0 s0 0.0 s1 f12 s2 f12
func intpl_r z_trac_design s-1 0.0 s0 0.0 s1 z12 s2 z12
endif
#
if_then_char_init ctrack_design .eq. Curve_L1300_h150_t120
func const s-1 -100 # Start of first tangent track
func const s0 0 # Start of transition curve
func const s1 120 # Start of circular curve
func const s2 500 # End of circular curve
func const R12 -1300 # Curve radius between s1 and s2
func const ha12 -.150 # Cant between s1 and s2
func const Curve_radius=R12
s_var scalar_0 Curve_radius # Save Curve_radius for postprocessing
func inv_init R12inv R12
func operp_init f12 ha12 / bo / 2.
func div_init z12b ha12 2.0
func abs_init z12a z12b
func copy_init z12 -z12a
func intpl_r 1R_trac_design s-1 0.0 s0 0.0 s1 R12inv s2 R12inv
func intpl_r f_trac_design s-1 0.0 s0 0.0 s1 f12 s2 f12
func intpl_r z_trac_design s-1 0.0 s0 0.0 s1 z12 s2 z12
endif