Correction Manual
Incomplete manual on orbit correction and orbit manupilations.
The specifications might be changed without notice. If you have
any complaint,
please do not hesitate to write to me.
kikuchim@post.kek.jp
1. Orbit correction
1.1 CorrectOrbit makes an orbit correction.
Usage:
CorrectOrbit[orbit-kind,monitor,steer,optics,options]
orbit-kind : a character string or a list
of character strings which
represent an orbit object to be corrected, for example,
"X", "EY", {"X","Y"}, {"Y","EY"}, etc., where "X" represents
horizontal orbit and "EY" the vertical dispersion.
monitor : a list of
monitor element which is defined by the
function Monitor.
steer :
a list of steering element which is defined by the
function Steer.
optics : a list
of optics parameters which is defined by the function
CalculateOptics.
options : optional parameters
in the form of opt->parameters;
________________________________________________________________________
option default
descriptions
------------------------------------------------------------------------
SetSteer True
Set calculated steer values after correction.
Solver "LeastSquare"
Type of solver routine. For MICADO method
Solver->{"Micado",n}, n is number
of correctors.
TotalKick {Null,Null}
Specifies a constraint to the steering strength.
TotalKick->{ax,ay} means that the sum of the
kick angle should be ax and ay for horizontal
and vertical steers, respectively.
ZeroSum False
ZeroSum->True is equivalent to TotalKick->{0,0}
TotalDZ Null
TotalDZ->dz imposes a constraint on the correction
that circumference is increased by amount of dz.
DN
{Null,Null} DN->{dnx,dny} imposes a constraint
on the
correction that the tune is increased by an amount
of {dnx,dny}. DTune can be used instead of DN.
Tune {0,0}
A list of tunes {nu-x,nu-y} which is used for a
calculation of the response matrix. If tune is zero,
that of the input optics is used.
Orbit {}
A list of orbit values that is to be minimized.
Calc True
Calulate a resultant optics and set it in the
Twiss buffer.
EPS 1e-8
Precision in the LinearSolve. Epsilon can be
used instead of EPS.
Condition {{},{}}
A list {c,d}, where c is a matrix and d is
a vector representing a condition equations
that the solution should obeys:
c.x==d .
More convenient form of Condition option is
available:
Condition->{{"ZX.1","ZX.2","ZX.3"},{1,-2,1},0}}
, for example, where "ZX" is the steer element.
This is equivalent to a condition equation
ZX.1 - 2*ZX.3 + ZX.3 == 0 .
Weight
Automatic A list of weight factors to the monitors. If Automatic
Sqrt of beta-function at the monitors is
applied. MonitorWeight can be used instead of Weight.
CorrectorWeight Automatic A list of weight
factors to the correctors. Default is
unity.
ExpectedOrbit False
Leave an expected orbit in the Twiss buffer
after corretion. (ExpectedOrbit->True)
overrides the (Calc->True). This option is
convenient for OPERATE mode.
MomentumCompaction Null If
not Null, an effect of circumference change is taken
into account in the calculation of single-kick response.
MomentumCorrection False Momentum
deviation is used as a corrector variable. If
True, resultant momentum-deviation is appended as the
last component of the list of kick angle.
MomentumWeight 1
Relative weight factor for the momentum deviation given
in a unit of betabpmbetacorr/etabpm2.
Effective if
MomentumCorrection->True.
------------------------------------------------------------------------
Result: (1) Returns a list of kick angle. If MomentumCorrection->True,
momentum
deviation is given as the last component.
(2) Resultant steer
strength is set to "K0" slot in the LINE
if SetSteer->True (default).
(3) Calculate optics
if Calc->True and ExpectedOrbit->False and
OPERATE flag is false.
(4) Leave an estimated
orbit in the Twiss buffer if
ExpectedOrbit->True.
1.2 Monitor specifies beam position monitors.
Usage:
Monitor[mon,options]
mon
: a character string or a list of character strings that
match beam-line-elements which will be used as beam position
monitors in the CorrectOrbit. Any beam-line-element can be
specified. Example: "QF", "QD*", {"MX*","MY*"}.
options : optional
parameters in the form of opt->parameters;
________________________________________________________________________
option default
descriptions
------------------------------------------------------------------------
AttachTo NearestMagnet
Element to which the beam position monitor is
assumed to be attached. Defualt selects nearest
quad or sext.
Offset {0,0}
Rms lateral offset relative to the AttachTo
element. In every call of Monitor random Gaussian
offset is generated.
Jitter {0,0}
Mesurement jitter in rms for horizontal and vertical
plane. In every call of CorrectOrbit, a random
Gaussian jitter is added to the orbit.
------------------------------------------------------------------------
Result: (1) Returns a list that represent a specification of the
bpm:
1st component: a list of bpm positions in the lattice.
2nd component: a list of list of horizontal and vertical offsets.
3rd component: a list of horizontal and vertical jitter.
4th component: a list of AttachTo element.
2. Orbit manupilation with bump
2.1 Bump creates a "Bump" object.
Usage:
b = Bump[str,options]
str :a list of steering element
which is defined by the
function
Steer.
options : optional parameters in the form of opt->parameters.
The following is the optional parameters, which are used
to specify
the desired shape of the bump.
____________________________________________________________________
option default
descriptions
--------------------------------------------------------------------
Range Null
Specifies the range of the bump
Center Null
Sepcifies the center position where
the bump is placed.
Plane Automatic
The plane of the bump. "H" or "V" or "HV".
Condition Null
Orbit conditions. The following forms
are allowed,
{"QF","X",1e-3} or
{{"QF","X",1e-3},{"QF","PX",0},...}
The first one means that x should be 1 mm at "QF",
and the second that x should be 1 mm and px is
0 mrad at "QF".
NumberOfSteers 6
Number of steers used for the bump.
--------------------------------------------------------------------
Result: (1) The symbol b is defined as a "Bump" object.
2.2 MakeBump makes an orbit bump.
Usage:
MakeBump[b,str,optics,options]
The function returns a list of steering
strength and index of steers used for
making a bump whose specification
is given by b. The resultant steer strength
is set to K0 slot in the LINE.
b :a bump
object defined through the function Bump as
b = Bump[str,Center->...,...]
str :a list of steering
element which is defined by the
function
Steer.
optics :a list of optics parameters which
is defined by the function
CalculateOptics.
options :optional parameters in the form of
opt->parameters;
____________________________________________________________________
option default
descriptions
--------------------------------------------------------------------
SetSteer True
Set steer values.
Calc True
Calulate a resultant optics and set it in
the Twiss buffer.
--------------------------------------------------------------------
Result: (1) Returns a list of kick angles and indices of used steers.
(2) Resultant steer
strength is set to "K0" slot in the LINE
if SetSteer->True(default).
(3) Calculate optics
if Calc->True and OPERATE flag is false.
2.3 CorrectOrbitBump makes an orbit correction using orbit-bumps
as
correctors (knobs).
Usage:
CorrectOrbitBump[v,f,bpm,str,optics,options]
The arguments are the same as those of CorrectOrbit
except for f,
which specifies bump variables. The function returns
a list of
steer strength and determined bump-variables. The
resultant
steer strength is set to "K0" slot in the LINE. SetSteer
option
is not accepted.
v a character string or a list of character
strings that represent
an orbit object to be corrected,
for example,
"X", "EY", {"X","Y"}, {"Y","EY"}, etc.
f bump variables defined through any
of the following forms.
f1=Bump[str,Center->..,...,Condition->{"QF","X",#}]&
f2=Bump[str,Center->..,...,Condition->{{"QF","X",#1},
{"QF","PX",#2}}]&
or f3=Function[x,
Bump[str,Center->..,...,Condition->{"QF","X",x}]
or f4[x_]=Bump[str,Center->..,...,Condition->{"QF","X",x}]
or f={f1,f2,f3,f4}
bpm a list of monitor element
which is defined by the
function
Monitor.
str a list of steering element
which is defined by the
function
Steer.
optics a list of optics parameters which is
defined by the function
CalculateOptics.
options optional parameters in the form of opt->parameters,
see
explanations
of CorrectOrbit
Result: (1) Returns a list of kick angles and bump variable.
(2) Resultant steer
strength is set to "K0" slot in the LINE.
(3) Calculates optics
if Calc->True and ExpectedOrbit->False and
OPERATE flag is false.
(4) Leaves an estimated
orbit in the Twiss buffer if
ExpectedOrbit->True.