Skip to content

Commit

Permalink
Separate superposition and multipass manual sections. (#1159)
Browse files Browse the repository at this point in the history
  • Loading branch information
DavidSagan committed Aug 18, 2024
1 parent 98c85eb commit 52e4c63
Show file tree
Hide file tree
Showing 13 changed files with 343 additions and 117 deletions.
6 changes: 3 additions & 3 deletions bmad/doc/attributes.tex
Original file line number Diff line number Diff line change
Expand Up @@ -393,7 +393,7 @@ \section{Group, Overlay, and Ramper Element Syntax}
\end{example}
The energy and momentum are defined at the exit end of the element. For ultra--relativistic
particles, and for photons, these two values are the same (\sref{s:phase.space}). Except for
multipass elements (\sref{s:multipass}), \vn{e_tot} and \vn{p0c} are dependent attributes and,
multipass elements (\sref{c:multipass}), \vn{e_tot} and \vn{p0c} are dependent attributes and,
except for multipass elements, any setting of \vn{e_tot} and \vn{p0c} in the lattice input file is
an error. The value of \vn{e_tot} and \vn{p0c} for an element is calculated by \bmad to be the same
as the previous element except for \vn{e_gun}, \vn{lcavity}, \vn{converter}, and \vn{patch}
Expand Down Expand Up @@ -450,7 +450,7 @@ \section{Group, Overlay, and Ramper Element Syntax}
\end{example}
For \vn{multipass} elements, the reference energy may be set by specifying one of \vn{e_tot},
\vn{p0c}, as described in \sref{s:multipass}.
\vn{p0c}, as described in \sref{c:multipass}.
For photons, the reference wavelength, \vn{ref_wavelength} is also a dependent attribute calculated
from the reference energy.
Expand Down Expand Up @@ -2803,7 +2803,7 @@ \section{Field Extending Beyond Element Boundary}
b1: sbend, l = 2.3, field_overlaps = q1, field_overlaps = s2
\end{example}
Note: When the field overlaps elements that are superimposed (\sref{s:super}), the overlapped
Note: When the field overlaps elements that are superimposed (\sref{c:super}), the overlapped
elements must be the \vn{super_lord} elements and never the slaved elements.
The field, when \vn{field_calc} (\sref{s:integ}) is set to \vn{bmad_standard}, never extends beyond
Expand Down
3 changes: 2 additions & 1 deletion bmad/doc/bmad.tex
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,8 @@ \part{Language Reference}
\include{attributes}
\include{methods}
\include{lines-and-lists}
\include{superimpose-and-multipass}
\include{superposition}
\include{multipass}
\include{param-statements}
\include{param-structs}
\include{beam-init}
Expand Down
2 changes: 1 addition & 1 deletion bmad/doc/charged-tracking.tex
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ \section{Relative Versus Absolute Time Tracking}
t_\text{eff}(s) = t(s) - t_0(s_\text{ent})
\end{equation}
$t_0(s_\text{ent})$, by definition, equal to the time of the reference particle at the entrance end
of the element. With multipass \sref{s:multipass}, $t_0(s_\text{ent})$ is set by the time of the
of the element. With multipass \sref{c:multipass}, $t_0(s_\text{ent})$ is set by the time of the
reference particle at the entrance end of the element on the first pass. For absolute time tracking,
it is important to keep in mind that $t_0(s_\text{ent})$ is a property of the element independent of
how tracking is done. Thus, if a particle goes through a particular element multiple times, the
Expand Down
18 changes: 9 additions & 9 deletions bmad/doc/concepts.tex
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ \section{Lattice}
rings will generally have two \vn{root} branches, one for each ring. The \vn{use} statement
(\sref{s:use}) in a lattice file will list the \vn{root} \vn{branches} of a lattice. To connect
together lattice elements that are physically shared between branches, for example, the interaction
region in colliding beam machines, \vn{multipass} lines (\sref{s:multipass}) can be used.
region in colliding beam machines, \vn{multipass} lines (\sref{c:multipass}) can be used.

The root branches of a lattice are defined by the \vn{use} (\sref{s:use}) statement. To further
define such things as dump lines, x-ray beam lines, transfer lines, etc., that branch off from a
Expand Down Expand Up @@ -139,7 +139,7 @@ \section{Lord and Slave Elements}
The other class of \vn{lord} elements embody the separation of the physical element from the track
that a particle takes when it passes through the element. There are two types

An example will make this clear. \vn{Superposition} (\sref{s:super}) is the ability to overlap
An example will make this clear. \vn{Superposition} (\sref{c:super}) is the ability to overlap
lattice elements spatially. \fig{f:super.ip} shows an example which is a greatly simplified version
of the IR region of Cornell's CESR storage ring when CESR was an e+/e-- collider. As shown in
\fig{f:super.ip}A, two quadrupoles named \vn{q1w} and \vn{q1e} are partially inside and partially
Expand All @@ -163,7 +163,7 @@ \section{Lord and Slave Elements}
that represents the part of \vn{q1e} outside of the solenoid. The next element is a combination
solenoid/quadrupole, called a \vn{sol_quad}, that represents the part of \vn{q1e} inside \vn{cleo},
etc. The other branch section that Bmad creates is called the \vn{lord section} This section
contain the undivided ``physical'' \vn{super_lord} elements (\sref{s:super}) which, in this case are
contain the undivided ``physical'' \vn{super_lord} elements (\sref{c:super}) which, in this case are
\vn{q1e}, \vn{q1w}, and \vn{cleo}. Pointers are created between the lords and their \vn{super_slave}
elements in the tracking section so that changes in parameters of the lord elements can be
transferred to their corresponding slaves.
Expand All @@ -173,7 +173,7 @@ \section{Lord and Slave Elements}
particles through comes when a particle passes through the same physical element multiple times such
as in an Energy Recovery Linac or where different beams pass through the same element such as in an
interaction region. In this case, \vn{multipass_lords} representing the physical elements and
\vn{multipass_slaves} elements which are used for tracking can be defined (\sref{s:multipass}).
\vn{multipass_slaves} elements which are used for tracking can be defined (\sref{c:multipass}).
Superposition and multipass can be combined in situations where there are overlapping fields in
elements where the particle passes through

Expand All @@ -189,14 +189,14 @@ \section{Lord and Slave Elements}
A \vn{girder_lord} element is a \vn{girder} element (\sref{s:girder}).
\item[multipass_lord]\Newline
\vn{multipass_lord} elements are created when
multipass lines are present (\sref{s:multipass}).
multipass lines are present (\sref{c:multipass}).
\item[overlay_lord]\Newline
An \vn{overlay_lord} is an \vn{overlay} element (\sref{s:overlay}).
\item[group_lord]\Newline
A \vn{group_lord} is a \vn{group} element (\sref{s:group}).
\item[super_lord]\Newline
A \vn{super_lord} element is created when elements are
superimposed on top of other elements (\sref{s:super}).
superimposed on top of other elements (\sref{c:super}).
\item[not_a_lord]\Newline
This element does not control anything.
\end{description}
Expand All @@ -216,14 +216,14 @@ \section{Lord and Slave Elements}
\begin{description}
\item[multipass_slave]\Newline
A \vn{multipass_slave} element is the slave of a \vn{multipass_lord}
(\sref{s:multipass}).
(\sref{c:multipass}).
\item[slice_slave]\Newline
A \vn{slice_slave} element represents a longitudinal slice of another element.
Slice elements are not part of the lattice but rather are created on-the-fly
when, for example, a program needs to track part way through an element.
\item[super_slave]\Newline
A \vn{super_slave} element is an element in the tracking part of the branch that
has one or more \vn{super_lord} lords (\sref{s:super}).
has one or more \vn{super_lord} lords (\sref{c:super}).
\item[minor_slave]\Newline
\vn{minor_slave} elements are elements that are not \vn{slice_slave}s and are only controlled
by \vn{minor} lords (\vn{overlay_lord}s, \vn{group_lord}s, or \vn{girder_lord}s).
Expand All @@ -242,5 +242,5 @@ \section{Lord and Slave Elements}
call a \vn{fibre}. [Actually, PTC has two structures for the physical element, \vn{element} and
\vn{elementp}. The latter being the ``polymorph'' version.] This \vn{element} and \vn{fibre}
combination corresponds to \bmad \vn{multipass_lord} and \vn{multipass_slave} elements. PTC does not
handle overlapping fields as \bmad does with \vn{superposition} (\sref{s:super}).
handle overlapping fields as \bmad does with \vn{superposition} (\sref{c:super}).

2 changes: 1 addition & 1 deletion bmad/doc/cover-page.tex
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

\begin{flushright}
\large
Revision: August 13, 2024 \\
Revision: August 18, 2024 \\
\end{flushright}

\pdfbookmark[0]{Preamble}{Preamble}
Expand Down
2 changes: 1 addition & 1 deletion bmad/doc/ele-struct.tex
Original file line number Diff line number Diff line change
Expand Up @@ -828,7 +828,7 @@ \section{Custom and General Use Attributes}
call set_custom_attribute_name ('QUADRUPOLE::ERROR_CURRENT', err_flag)
\end{example}

Note: When there is a superposition (\sref{s:super}), the \vn{super_slave} elements that are formed
Note: When there is a superposition (\sref{c:super}), the \vn{super_slave} elements that are formed
do {\em not} have any custom attributes assigned to them even when their \vn{super_lord} elements
have custom attributes. This is done since the \bmad bookkeeping routines are not able to handle the
situation where a \vn{super_slave} element has multiple \vn{super_lord} elements and thus the custom
Expand Down
Loading

0 comments on commit 52e4c63

Please sign in to comment.