Orbit#
Functions
find the closed orbit |
|
finds closed orbit in the 4-d transverse phase |
|
finds closed orbit in the full 6-d phase space |
|
finds closed orbit, synchronous with the RF cavity |
|
Closed Orbit Distortion |
- findorbit(ring, refpts)#
- find the closed orbitDepending on the lattice, findorbit will:- use findorbit6 if radiation is ON,- use findsyncorbit if radiation is OFF and ct is specified,- use findorbit4 otherwise[orbit,fixedpoint]=findorbit(ring,refpts)ORBIT: 6xNrefs, closed orbit at the selected reference pointsFIXEDPOINT: 6x1 closed orbit at the entrance of the lattice[…]=findorbit(ring,…,’dp’,dp) Specify the momentum deviation whenradiation is OFF (default: 0)[…]=findorbit(ring,…,’dct’,dct) Specify the path lengthening whenradiation is OFF (default: 0)[…]=findorbit(ring,…,’df’,df) Specify the RF frequency deviationradiation is OFF (default: 0)[…]=findorbit(ring,…,’orbit’,orbit) Specify the orbit at the entranceof the ring, if known. findorbit will then transfer it to the reference points[…]=findorbit(ring,…,’guess’,guess) The search will start with GUESS asinitial conditionsFor other keywords, see the underlying functions.
- findorbit4(ring)#
- finds closed orbit in the 4-d transverse phasespace by numerically solving for a fixed point of the one turnmap M calculated with LINEPASS(X, PX, Y, PY, dP2, CT2 ) = M (X, PX, Y, PY, dP1, CT1)under the CONSTANT MOMENTUM constraint, dP2 = dP1 = dP andthere is NO constraint on the 6-th coordinate CTIMPORTANT !!!findorbit4 gives a wrong result with 6-d rings. If you still want toget the result, set ‘strict’ to -1 or 0.findorbit4 imposes a constraint on dP and relaxesthe constraint on the revolution frequency. A physical storagering does exactly the opposite: the momentum deviation of aparticle on the closed orbit settles at the valuesuch that the revolution is synchronous with the RF cavityHarmNumber*Frev = FrfTo impose this artificial constraint in findorbit4PassMethod used for any elemen SHOULD NOT1. change the longitudinal momentum dP (cavities , magnets with radiation)2. have any time dependence (localized impedance, fast kickers etc)findorbit4(ring) is 4x1 vector - fixed point at theentrance of the 1-st element of the RING (x,px,y,py)findorbit4(ring,refpts) is 4xlength(refpts)array of column vectors - fixed points (x,px,y,py)at the entrance of each element indexed by the REFPTS array.REFPTS is an array of increasing indexes that select elementsfrom the range 1 to length(RING)+1.See further explanation of REFPTS in the ‘help’ for FINDSPOSfindorbit4(ring,dp,refpts,…) Obsolete syntaxfindorbit4(ring, …,’strict’,strict) Default: 0.If STRICT is -1, check_6d is skippedIf STRICT is 0, check_6d emits a warning for non-6d rings.If STRICT is 1, check_6d emits an error for non-6d rings.findorbit4(ring,…,’dp’,dp) Specifies the off-momentumfindorbit4(ring,…,’dct’,dct) Specifies the path lengtheningfindorbit4(ring,…,’df’,df) Specifies RF frequency deviationfindorbit4(ring,dp,refpts,guess)findorbit4(…,’guess’,guess) The search for the fixed pointstarts from initial condition GUESS. Otherwise the search starts from[0; 0; 0; 0; 0; 0]. GUESS must be a 6x1 vector.findorbit4(…,’orbit’,orbit) Specify the orbit at the entranceof the ring, if known. findorbit4 will then transfer it to thereference points. ORBIT must be a 6x1 vector.[orbit, fixedpoint] = findorbit4( … )The optional second return parameter is a 6x1 vector:closed orbit at the entrance of the RING.
- findorbit6(ring, refpts, guess)#
- finds closed orbit in the full 6-d phase spaceby numerically solving for a fixed point of the one turnmap M calculated with RINGPASS(X, PX, Y, PY, DP, CT2 ) = M (X, PX, Y, PY, DP, CT1)with constraint % CT2 - CT1 = C*HarmNumber(1/Frf - 1/Frf0)IMPORTANT!!! findorbit6 is a realistic simulation1. The Frf frequency in the RF cavities (may be different from Frf0)imposes the synchronous conditionCT2 - CT1 = C*HarmNumber(1/Frf - 1/Frf0)2. The algorithm numerically calculates6-by-6 Jacobian matrix J6. In order for (J-E) matrixto be non-singular it is NECESSARY to use a realisticPassMethod for cavities with non-zero momentum kick(such as RFCavityPass).3. findorbit6 can find orbits with radiation.In order for the solution to exist the cavity must supplyadequate energy compensation.In the simplest case of a single cavity, it must have‘Voltage’ field set so that Voltage > Erad - energy loss per turn4. findorbit6 starts the search from [ 0 0 0 0 0 0 ]’, unlessthe third argument is specified: findorbit6(ring,refpts,guess)There exist a family of solutions that correspond to different RF bucketsThey differ in the 6-th coordinate by C*Nb/Frf. Nb = 1 .. HarmNum-15. The value of the 6-th coordinate found at the cavity givesthe equilibrium RF phase. If there is no radiation the phase is 0;findorbit6(ring) is 6x1 vector - fixed point at theentrance of the 1-st element of the RING (x,px,y,py,dp,ct)findorbit6(ring,refpts) is 6xlength(refpts)array of column vectors - fixed points (x,px,y,py,dp,ct)at the entrance of each element indexed by the REFPTS array.REFPTS is an array of increasing indexes that select elementsfrom the range 1 to length(RING)+1.See further explanation of REFPTS in the ‘help’ for FINDSPOSfindorbit6(…,’dp’,dp)Specify the off-momentum. The RF frequency will be adjusted to get thedesired valuefindorbit6(…,’dct’,dct)Specify the path lengthening. The RF frequency will be adjusted to getthe desired valuefindorbit6(…,’df’,df)Specify the RF frequency deviationfindorbit6(ring,refpts,guess)findorbit6(…,’guess’,guess) The search for the fixed pointstarts from initial condition GUESS. Otherwise the search starts fromthe synchronous phase. GUESS must be a 6x1 vector.findorbit6(…,’orbit’,orbit) Specify the orbit at the entranceof the ring, if known. findorbit6 will then transfer it to thereference points. ORBIT must be a 6x1 vector.[orbit, fixedpoint] = findorbit6( … )The optional second return parameter is a 6x1 vector:closed orbit at the entrance of the RING.See also
findorbit4()
,findsyncorbit()
- findsyncorbit(ring)#
- finds closed orbit, synchronous with the RF cavityand momentum deviation dP (first 5 components of the phase space vector)by numerically solving for a fixed pointof the one turn map M calculated with LINEPASS(X, PX, Y, PY, dP2, CT2 ) = M (X, PX, Y, PY, dP1, CT1)under constraints CT2 - CT1 = dCT = C(1/Frev - 1/Frev0) and dP2 = dP1 , whereFrev0 = Frf0/HarmNumber is the design revolution frequencyFrev = (Frf0 + dFrf)/HarmNumber is the imposed revolution frequencyIMPORTANT!!!findsyncorbit gives a wrong result with 6-d rings. If you still want toget the result, set ‘strict’ to -1 or 0.findsyncorbit imposes a constraint (CT2 - CT1) anddP2 = dP1 but no constraint on the value of dP1, dP2The algorithm assumes time-independent fixed-momentum ringto reduce the dimensionality of the problem.To impose this artificial constraint in findsyncorbitPassMethod used for any element SHOULD NOT1. change the longitudinal momentum dP (cavities , magnets with radiation)2. have any time dependence (localized impedance, fast kickers etc).findsyncorbit(ring) is 5x1 vector - fixed point at theentrance of the 1-st element of the RING (x,px,y,py,dP)findsyncorbit(ring,refpts) is 5xlength(refpts)array of column vectors - fixed points (x,px,y,py,dP)at the entrance of each element indexed by the REFPTS array.REFPTS is an array of increasing indexes that select elementsfrom the range 1 to length(RING)+1.See further explanation of REFPTS in the ‘help’ for FINDSPOSfindsyncorbit(ring, …,’strict’,strict) Default: 0.If STRICT is -1, check_6d is skippedIf STRICT is 0, check_6d emits a warning for non-6d rings.If STRICT is 1, check_6d emits an error for non-6d rings.
- plotcod(ring, dp)#
- Closed Orbit Distortionplotcod(ring,dp) finds and plots closed orbit for a given momentumdeviation DP. It calls FINDORBIT4 which assumes a latticewith NO accelerating cavities and NO radiation