next up previous contents index
Next: DRIFT Up: Commands Previous: PPINT

PUSH, ENDPUSH

   Define the time step loop of tracking. Tracking is done by a pair of commands instead of one single command in order to allow users to take action such as print, plot, insert test particles, etc, at arbitrary time steps. PUSH Time=(tex2html_wrap_inline7708,tex2html_wrap_inline8488,tex2html_wrap_inline7408) ;
tex2html_wrap_inline7230 any commands tex2html_wrap_inline7230
ENDPUSH ;
tex2html_wrap_inline7708,tex2html_wrap_inline8488
Start and end time (multiplied by velocity of light) of tracking (meter).
Note the spelling of Time which contains lower case alphabet in contrast to other operand keywords consisting of upper case letters only. In fact, Time is a pre-defined variable name.   Therefore, you can, for example, print its current value during PUSH loop by PRINT Time, FORMAT=tex2html_wrap_inline7230.
tex2html_wrap_inline7408
Number of time steps. (tex2html_wrap_inline8506)

Actual control of the loop is done in the following way.
  1. Before the first time step, all the particles are made to drift to tex2html_wrap_inline7706 (by straight lines).
  2. At the PUSH command of j-th loop (tex2html_wrap_inline8512), the time variable Time is set to tex2html_wrap_inline8514 where tex2html_wrap_inline8516.
  3. Execute commands between PUSH and ENDPUSH.
  4. Control comes to ENDPUSH. If tex2html_wrap_inline8518, make tracking (beam-beam, beamstrahlung, laser interaction etc) for the time step tex2html_wrap_inline8520.
  5. If tex2html_wrap_inline8518, returns to PUSH.
Note that the commands between PUSH and ENDPUSH are executed tex2html_wrap_inline8524 times. If tex2html_wrap_inline8526, the actions taken are to drift all particles to tex2html_wrap_inline7708 and to do commands between PUSH and ENDPUSH once. If tex2html_wrap_inline8530, CAIN stops at PUSH with an error message rather than at ENDPUSH.



Toshiaki Tauchi
Thu Dec 3 17:27:26 JST 1998