OPAL (Object Oriented Parallel Accelerator Library)  2024.1
OPAL
Functions | Variables
multipole_t.tex File Reference

Go to the source code of this file.

Functions

without end fields (Default:1 m)\item[ANGLE] Physical angle of the magnet(radians).If not specified
 
without end the magnet is
considered to be 
straight (ANGLE=0.0).This is not the total bending angle since the end fields cause additional bending.The radius of the multipole is set from the LENGTH and ANGLE attributes.\item[VAPERT] Vertical(non-bend plane) aperture of the magnet(meters).(Default
 
units but all components up to
the maximum must be even if
they are zero item[MAXFORDER]
The order of the maximum
function $f_n used in the
field 
expansion (default:5).See the scalar magnetic potential below.This sets for example the maximum power of $z $in the field expansion of vertical component $B_z $to $2\cdot\text
 
item[EANGLE] Entrance edge angle (radians).\item[ROTATION] Rotation of the magnet about its central axis(radians
 
item[EANGLE] Entrance edge
counterclockwise This enables
to obtain skew 
fields (Default 0.0 rad)\item[VARRADIUS] This is to be set TRUE if the magnet has variable radius.More precisely
 
item[EANGLE] Entrance edge
counterclockwise This enables
to obtain skew at each point
along the its radius is
computed such that the
reference trajectory always
remains in the centre of the
magnet In the body of the
magnet the radius is set from
the LENGTH and ANGLE
attributes It is then
continuously changed to be
proportional to the dipole
field on the reference
trajectory while entering the
end fields This attribute is
only to be set TRUE for a non
zero dipole 
component (Default:FALSE)\item[VARSTEP] The step size(meters) used in calculating the reference trajectory for VARRARDIUS
 
having only three parameters (the centre length $s_0 $and the fringe field lengths $\lambda_{left}$,$\lambda_{right}$)
 

Variables

clearpage section
 
clearpage the user may choose
between constant or variable
radius This model includes
fringe fields 
begin
 
clearpage the user may choose
between constant or variable
radius This model includes
fringe fields 
L =real
 
clearpage the user may choose
between constant or variable
radius This model includes
fringe fields 
ANGLE =real
 
clearpage the user may choose
between constant or variable
radius This model includes
fringe fields 
VAPERT =real
 
clearpage the user may choose
between constant or variable
radius This model includes
fringe fields 
HAPERT =real
 
clearpage the user may choose
between constant or variable
radius This model includes
fringe fields 
LFRINGE =real
 
clearpage the user may choose
between constant or variable
radius This model includes
fringe fields 
RFRINGE =real
 
clearpage the user may choose
between constant or variable
radius This model includes
fringe fields 
TP =real-vector
 
clearpage the user may choose
between constant or variable
radius This model includes
fringe fields 
VARRADIUS =bool
 
 end
 
units __pad0__
 
units but all components up to
the maximum must be 
given
 
item[EANGLE] Entrance edge
counterclockwise This enables
to obtain skew at each point
along the 
magnet
 
item[EANGLE] Entrance edge
counterclockwise This enables
to obtain skew at each point
along the its radius is
computed such that the
reference trajectory always
remains in the centre of the
magnet In the body of the
magnet the radius is set from
the LENGTH and ANGLE
attributes It is then
continuously changed to be
proportional to the dipole
field on the reference
trajectory while entering the
end fields This attribute is
only to be set TRUE for a non
zero dipole the axis 
hat
 

Function Documentation

item [EANGLE] Entrance edge angle ( radians  )
item [EANGLE] Entrance edge counterclockwise This enables to obtain skew at each point along the its radius is computed such that the reference trajectory always remains in the centre of the magnet In the body of the magnet the radius is set from the LENGTH and ANGLE attributes It is then continuously changed to be proportional to the dipole field on the reference trajectory while entering the end fields This attribute is only to be set TRUE for a non zero dipole component ( Default:FALSE  )
units but all components up to the maximum must be even if they are zero item [MAXFORDER] The order of the maximum function $f_n used in the field expansion ( default:5  )

Definition at line 26 of file multipole_t.tex.

Referenced by LineTemplate::makeInstance(), and SequenceTemplate::makeInstance().

without end fields ( Default:1  m)
item [EANGLE] Entrance edge counterclockwise This enables to obtain skew fields ( Default 0.0  rad)
having only three parameters ( the centre length $s_0 $and the fringe field lengths $\lambda_{left}  $,
  $\lambda_{right} 
)

Definition at line 58 of file multipole_t.tex.

Referenced by Util::rewindLinesSDDS().

without end the magnet is considered to be straight ( ANGLE  = 0.0)

Definition at line 14 of file multipole_t.tex.

Variable Documentation

units __pad0__

Definition at line 24 of file multipole_t.tex.

item [EANGLE] Entrance edge counterclockwise This enables to obtain skew at each point along the its radius is computed such that the reference trajectory always remains in the centre of the magnet In the body of the magnet the radius is set from the LENGTH and ANGLE attributes It is then continuously changed to be proportional to the dipole field on the reference trajectory while entering the end fields This attribute is only to be set TRUE for a non zero dipole the axis ANGLE =real

Definition at line 7 of file multipole_t.tex.

we have to be quite careful how things are indexed For consider the generalised quadratic polynomial in two dimensions this is termed we index the $i in the product of so for example the quadratic equation above becomes begin
Initial value:
we have to be quite careful how things are indexed For example

Definition at line 6 of file multipole_t.tex.

Referenced by SIndex< Dim >::addIndex(), BConds< T, D, M, C >::apply(), FTpsData< N >::build(), AmrMultiGrid::buildFineBoundaryMatrix_m(), LField< T, Dim >::CanCompressBasedOnPhysicalCells(), BConds< T, D, M, C >::changesPhysicalCells(), Taylor< T >::clear(), TBeamline< T >::clone(), FArray2D< T, M, N >::col_begin(), endfieldmodel::CompactVector(), LField< T, Dim >::Compress(), LField< T, Dim >::CompressBasedOnPhysicalCells(), DistributionMoments::computeNormalizedEmittance(), TBeamline< T >::copyStructure(), AmrLagrangeInterpolater< Level >::crseLinear_m(), AmrLagrangeInterpolater< Level >::crseQuadratic_m(), FTps< T, N >::derivative(), FTps< T, N >::divide(), Util::doubleVectorToString(), vmap< Key, T, Compare >::equal_range(), FTps< T, N >::evaluate(), TrackRun::execute(), FArray1D< T, N >::FArray1D(), FArray2D< T, M, N >::FArray2D(), FTps< T, N >::filter(), ParticleInteractLayout< T, Dim, Mesh >::find_pairs(), TBeamline< T >::getArcLength(), RFCavity::getAutoPhaseEstimate(), TBeamline< T >::getElementLength(), Interpolator::getFieldIter(), SampleIndividual::getIndex(), TBeamline< T >::getTotalTransform(), TBeamline< T >::getTransform(), vmap< Key, T, Compare >::insert(), FTps< T, N >::integral(), Taylor< T >::integrate(), TBeamline< T >::iterate(), vmap< Key, T, Compare >::lower_bound(), TBeamline< T >::makeSharable(), ProbeHistReader::minimum(), FTps< T, N >::multiply(), FTps< T, N >::multiplyVariable(), FVector< T, N >::operator*=(), Vector< T >::operator*=(), Matrix< T >::operator*=(), FMatrix< T, N, M >::operator*=(), Taylor< T >::operator*=(), FTps< T, N >::operator*=(), FVector< T, N >::operator+=(), Vector< T >::operator+=(), Matrix< T >::operator+=(), FMatrix< T, N, M >::operator+=(), Taylor< T >::operator+=(), FVector< T, N >::operator-(), Vector< T >::operator-(), Taylor< T >::operator-(), FTps< T, N >::operator-(), FVector< T, N >::operator-=(), Vector< T >::operator-=(), Matrix< T >::operator-=(), FMatrix< T, N, M >::operator-=(), Taylor< T >::operator-=(), FVector< T, N >::operator/=(), Vector< T >::operator/=(), Matrix< T >::operator/=(), FMatrix< T, N, M >::operator/=(), Taylor< T >::operator/=(), Array1D< T >::operator=(), FArray1D< T, N >::operator=(), FArray2D< T, M, N >::operator=(), Array2D< T >::operator=(), FTps< T, N >::operator==(), vmap< Key, T, Compare >::operator[](), Timing::print(), Cartesian< Dim, MFLOAT >::print(), FTps< T, N >::put(), DiscField< Dim >::read_meta(), SIndex< Dim >::removeIndex(), DistributionMoments::reset(), Array1D< T >::resize(), FTps< T, N >::scaleMonomials(), SectorField::setPolarBoundingBox(), ParticleSpatialLayout< T, Dim, Mesh >::short_swap_particles(), TBeamline< T >::size(), interpolation::PPSolveFactory::solve(), AmrParticleBase< PLayout >::sort(), FVps< T, N >::substitute(), FTps< T, N >::substitute(), Taylor< T >::sum(), ParticleSpatialLayout< T, Dim, Mesh >::swap_particles(), vmap< Key, T, Compare >::upper_bound(), BConds< T, D, M, C >::write(), and LField< T, Dim >::write().

left [ tanh \left( \frac{s + s_0}{\lambda_{left}} \right) - tanh \left( \frac{s - s_0}{\lambda_{right}} \right) \right] end
Initial value:
\begin{kdescription}
\item[L]
Physical length of the magnet (meters)
we have to be quite careful how things are indexed For example
clearpage the user may choose between constant or variable radius This model includes fringe fields begin
Definition: multipole_t.tex:6
clearpage the user may choose between constant or variable radius This model includes fringe fields L
Definition: multipole_t.tex:7
item[EANGLE] Entrance edge counterclockwise This enables to obtain skew at each point along the magnet
Definition: multipole_t.tex:32

Definition at line 9 of file multipole_t.tex.

Referenced by OpalBeamline::activateElements(), MeshGenerator::add(), SIndex< Dim >::addIndex(), BConds< T, D, M, C >::apply(), OrbitThreader::autophaseCavities(), AmrMultiGrid::buildFineBoundaryMatrix_m(), BConds< T, D, M, C >::changesPhysicalCells(), _Fieldmap::checkMap(), Taylor< T >::clear(), TBeamline< T >::clone(), FArray2D< T, M, N >::col_end(), endfieldmodel::CompactVector(), LField< T, Dim >::Compress(), OpalBeamline::compute3DLattice(), OrbitThreader::computeBoundingBox(), ParallelTTracker::computeExternalFields(), DistributionMoments::computeNormalizedEmittance(), ParallelTTracker::computeWakefield(), OrbitThreader::containsCavity(), TBeamline< T >::copyStructure(), Distribution::createOpalT(), AmrLagrangeInterpolater< Level >::crseLinear_m(), AmrLagrangeInterpolater< Level >::crseQuadratic_m(), DistributionMoments::determinePercentilesDetail(), FTps< T, N >::divide(), Util::doubleVectorToString(), vmap< Key, T, Compare >::equal_range(), Expression::evaluate(), OrbitThreader::execute(), FArray1D< T, N >::FArray1D(), FArray2D< T, M, N >::FArray2D(), FTps< T, N >::filter(), vmap< Key, T, Compare >::find(), ParticleInteractLayout< T, Dim, Mesh >::find_pairs(), FromFile::FromFile(), TBeamline< T >::getArcLength(), CmdArguments::getArguments(), RFCavity::getAutoPhaseEstimate(), TBeamline< T >::getElementLength(), RFCavity::getElementLength(), OpalBeamline::getElements(), OpalBeamline::getFieldAt(), SampleIndividual::getIndex(), OrbitThreader::getMaxDesignEnergy(), Attributes::getString(), Attributes::getStringArray(), TBeamline< T >::getTotalTransform(), IndexMap::getTouchingElements(), TBeamline< T >::getTransform(), interpolation::PPSolveFactory::getValues(), vmap< Key, T, Compare >::insert(), Taylor< T >::integrate(), OrbitThreader::integrate(), TBeamline< T >::iterate(), vmap< Key, T, Compare >::lower_bound(), TBeamline< T >::makeSharable(), ProbeHistReader::minimum(), OpalElement::OpalElement(), FVector< T, N >::operator*=(), Vector< T >::operator*=(), Matrix< T >::operator*=(), FMatrix< T, N, M >::operator*=(), Taylor< T >::operator*=(), FTps< T, N >::operator*=(), FVector< T, N >::operator+=(), Vector< T >::operator+=(), Matrix< T >::operator+=(), FMatrix< T, N, M >::operator+=(), Taylor< T >::operator+=(), FVector< T, N >::operator-(), Vector< T >::operator-(), Taylor< T >::operator-(), FTps< T, N >::operator-(), FVector< T, N >::operator-=(), Vector< T >::operator-=(), Matrix< T >::operator-=(), FMatrix< T, N, M >::operator-=(), Taylor< T >::operator-=(), FVector< T, N >::operator/=(), Vector< T >::operator/=(), Matrix< T >::operator/=(), FMatrix< T, N, M >::operator/=(), Taylor< T >::operator/=(), vmap< Key, T, Compare >::operator[](), interpolation::PPSolveFactory::outOfBoundsPosition(), mslang::parse(), Expression::parse(), interpolation::PolynomialPatch::PolynomialPatch(), Timing::print(), OrbitThreader::processElementRegister(), PutSingleItem< T, false, false >::put(), FTps< T, N >::put(), IndexMap::query(), DiscField< Dim >::read_meta(), SDDS::SDDSParser::readFile(), OrbitThreader::registerElement(), OpalElement::registerOwnership(), Object::registerOwnership(), SIndex< Dim >::removeIndex(), DistributionMoments::reset(), ParallelTTracker::restoreCavityPhases(), Util::rewindLinesSDDS(), OpalBeamline::save3DInput(), OpalBeamline::save3DLattice(), IndexMap::saveSDDS(), FTps< T, N >::scaleMonomials(), OrbitThreader::setDesignEnergy(), VariableRFCavityFringeField::setEndField(), SectorField::setPolarBoundingBox(), ParticleSpatialLayout< T, Dim, Mesh >::short_swap_particles(), TBeamline< T >::size(), interpolation::PPSolveFactory::solve(), AmrParticleBase< PLayout >::sort(), H5PartWrapper::storeCavityInformation(), FVps< T, N >::substitute(), FTps< T, N >::substitute(), Taylor< T >::sum(), ParticleSpatialLayout< T, Dim, Mesh >::swap_particles(), OpalVariableRFCavityFringeField::update(), ParallelTTracker::updateReferenceParticle(), vmap< Key, T, Compare >::upper_bound(), MeshGenerator::write(), BConds< T, D, M, C >::write(), and LField< T, Dim >::write().

units but all components up to the maximum must be given

Definition at line 24 of file multipole_t.tex.

clearpage the user may choose between constant or variable radius This model includes fringe fields HAPERT =real

Definition at line 7 of file multipole_t.tex.

item [EANGLE] Entrance edge counterclockwise This enables to obtain skew at each point along the its radius is computed such that the reference trajectory always remains in the centre of the magnet In the body of the magnet the radius is set from the LENGTH and ANGLE attributes It is then continuously changed to be proportional to the dipole field on the reference trajectory while entering the end fields This attribute is only to be set TRUE for a non zero dipole the axis hat
Initial value:
{s}$ is the central axis of the magnet.
\ifthenelse{\boolean{ShowMap}}{\seefig{straight}}{}.
\noindent The following example shows a combined function magnet with a dipole component
of 2 Tesla and a quadrupole gradient of 0.1 Tesla/m.
\begin{example}
we have to be quite careful how things are indexed For example
the intent is to exercise the right to control the distribution of derivative or collective works based on the Program In mere aggregation of another work not based on the Program with the under Section in object code or executable form under the terms of Sections and above provided that you also do one of the following
Definition: LICENSE:139
item[EANGLE] Entrance edge counterclockwise This enables to obtain skew at each point along the its radius is computed such that the reference trajectory always remains in the centre of the magnet In the body of the magnet the radius is set from the LENGTH and ANGLE attributes It is then continuously changed to be proportional to the dipole field on the reference trajectory while entering the end fields This attribute is only to be set TRUE for a non zero dipole component(Default:FALSE)\item[VARSTEP] The step size(meters) used in calculating the reference trajectory for VARRARDIUS
and that you know you can do these things To protect your we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights These restrictions translate to certain responsibilities for you if you distribute copies of the or if you modify it For if you distribute copies of such a whether gratis or for a you must give the recipients all the rights that you have You must make sure that receive or can get the source code And you must show them these terms so they know their rights We protect your rights with two and(2) offer you this license which gives you legal permission to copy
without end the magnet is considered to be straight(ANGLE=0.0).This is not the total bending angle since the end fields cause additional bending.The radius of the multipole is set from the LENGTH and ANGLE attributes.\item[VAPERT] Vertical(non-bend plane) aperture of the magnet(meters).(Default
Definition: multipole_t.tex:14
b mention the algorithm in the References section The appropriate citation is
Definition: README.TXT:103
item[EANGLE] Entrance edge counterclockwise This enables to obtain skew at each point along the magnet
Definition: multipole_t.tex:32

Definition at line 39 of file multipole_t.tex.

item [EANGLE] Entrance edge counterclockwise This enables to obtain skew at each point along the its radius is computed such that the reference trajectory always remains in the centre of the magnet In the body of the magnet the radius is set from the LENGTH and ANGLE attributes It is then continuously changed to be proportional to the dipole field on the reference trajectory while entering the end fields This attribute is only to be set TRUE for a non zero dipole the axis L =real
item [EANGLE] Entrance edge counterclockwise This enables to obtain skew at each point along the its radius is computed such that the reference trajectory always remains in the centre of the magnet In the body of the magnet the radius is set from the LENGTH and ANGLE attributes It is then continuously changed to be proportional to the dipole field on the reference trajectory while entering the end fields This attribute is only to be set TRUE for a non zero dipole the axis LFRINGE =real

Definition at line 8 of file multipole_t.tex.

item [EANGLE] Entrance edge counterclockwise This enables to obtain skew at each point along the magnet
item [EANGLE] Entrance edge counterclockwise This enables to obtain skew at each point along the its radius is computed such that the reference trajectory always remains in the centre of the magnet In the body of the magnet the radius is set from the LENGTH and ANGLE attributes It is then continuously changed to be proportional to the dipole field on the reference trajectory while entering the end fields This attribute is only to be set TRUE for a non zero dipole the axis RFRINGE =real

Definition at line 8 of file multipole_t.tex.

clearpage section
Initial value:
{General Multipole (extension)}
\label{sec:multipoleT}
\index{MULTIPOLET}
A \keyword{MULTIPOLET} is in \opalt a general multipole with extended features. It can represent a straight or curved magnet. In the curved case
or
Definition: LICENSE:140
Interface for general multipole.
Definition: Multipole.h:47
without end the magnet is considered to be straight(ANGLE=0.0).This is not the total bending angle since the end fields cause additional bending.The radius of the multipole is set from the LENGTH and ANGLE attributes.\item[VAPERT] Vertical(non-bend plane) aperture of the magnet(meters).(Default
Definition: multipole_t.tex:14
b mention the algorithm in the References section The appropriate citation is
Definition: README.TXT:103
Tps< T > sec(const Tps< T > &x)
Secant.
Definition: TpsMath.h:153
item[EANGLE] Entrance edge counterclockwise This enables to obtain skew at each point along the magnet
Definition: multipole_t.tex:32

Definition at line 2 of file multipole_t.tex.

Referenced by Ring::appendElement().

item [EANGLE] Entrance edge counterclockwise This enables to obtain skew at each point along the its radius is computed such that the reference trajectory always remains in the centre of the magnet In the body of the magnet the radius is set from the LENGTH and ANGLE attributes It is then continuously changed to be proportional to the dipole field on the reference trajectory while entering the end fields This attribute is only to be set TRUE for a non zero dipole the axis TP =real-vector

Definition at line 8 of file multipole_t.tex.

Referenced by OpParens< TP >::OpParens().

clearpage the user may choose between constant or variable radius This model includes fringe fields VAPERT =real

Definition at line 7 of file multipole_t.tex.

item [EANGLE] Entrance edge counterclockwise This enables to obtain skew at each point along the its radius is computed such that the reference trajectory always remains in the centre of the magnet In the body of the magnet the radius is set from the LENGTH and ANGLE attributes It is then continuously changed to be proportional to the dipole field on the reference trajectory while entering the end fields This attribute is only to be set TRUE for a non zero dipole the axis VARRADIUS =bool

Definition at line 8 of file multipole_t.tex.