Comments (7)
Is it corrected ? If not I do not understand the issue ?
from at.
the issue is still unresolved up to my knowledge.
atlinopt
does not return the correct phase advance if only specific locations are asked.
[l,t,c]=atlinopt(r,0,1:length(ring)+1)
gives the correct l.mu
at all elements
[l,t,c]=atlinopt(r,0, length(ring)+1)
does not give the correct l.mu
at the last element if the phase advance of ring is more than 2pi (to be checked).
from at.
I do not see anything to do: if you want to right phase advance, be sure to set enough locations so that there is no locations such that the phase progresses by more than 2pi in-between. It would be very inefficient for most uses to have atlinopt
compute at all points and later extract the requested points of interest. You can do it manually as proposed by Simone in his 1st comment if you need it.
from at.
The problem historically raised from atmatch
.
When matching the total phase advance for ESRF EBS cell, the call to match l.mu
at a given location (cell end) specified using atvariablebuilder
made the matching fail (no convergence) due to the above problem in atlinopt
. The work arround ever since is the one mentioned above, calling with all indexes (could be optimized) between the lattice start and the desired location. This makes the matching slow, since that way all optics are computed at all locations rather than at the few specific ones (I remind that atmatch
is optimized such that if different optics knobs are asked at the same locations, atlinopt
is called only once per independent location).
The issue is open to look for a different algorithm for atlinopt
that would provide the correct phase advance without knowing the optics of the elements before. I do not know if such algorithm exists, but MAD
and elegant
do not have this kind of problem.
from at.
It looks to me like a fundamental problem: you cannot measure the integer part of the tune with a single BPM (end of the turn) To get it properly you need to look all around the ring and sample it finely enough not to miss one integer. It's the same in simulation. So no other algorithm ! If you want to be fast, you can match the fractional tune (or phase advance modulo 2pi).
from at.
can this be closed @simoneliuzzo ?
from at.
no objection.
from at.
Related Issues (20)
- In place behaviour of sbreak HOT 2
- Improve error message in matching
- help of tracking method + start method handle HOT 1
- Addition of Resonator and Resistive Wall functions as direct passmethods HOT 5
- SBEND ignores ByError in backwards compatibility call to atsbend HOT 2
- nans are not handled in get_tunes harmonic HOT 1
- python multiprocessing start_method HOT 11
- atidtable_dat error when reading a square (NxN) table HOT 1
- pyAT MAT file V7.3 HOT 5
- atreforbit not working properly if R1 and R2 are set HOT 1
- beamloading set point not correct for simple_ring HOT 16
- pyAT 'Multipole has no attribute PolynomB' exception for loading multipoles from a .mat file with both PolynomB and K value defined HOT 1
- ATX makes matlab crash when Exact* integrators are used. HOT 3
- python get_1d_acceptance: return 0.0 instead of error if no particle survives HOT 2
- np.float gives error in acceptance/touschek.py HOT 1
- Improve element rotation help HOT 1
- python windows version installation HOT 5
- synoptics not visible in atplot when vertical values are above zero HOT 1
- pyat shift_elem ignores R1,R2 and the effect of bending angles HOT 5
- pyAT Distinguish between a sector bending magnet and a rectangular bending magnet HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from at.