Michael,
I am just curious, is it possible to implement sympletic runge-kutta method to simulate wigglers and undulators ? Except the computational cost, is there any other reason not using it?
Ji
transverse gradient undulator
Moderators: cyao, michael_borland
-
- Posts: 1951
- Joined: 19 May 2008, 09:33
- Location: Argonne National Laboratory
- Contact:
Re: transverse gradient undulator
Ji,
I'm not sure about Runge-Kutta integrators in particular. My colleague Ryan Lindberg thinks that even sympletric RK integrators will have to be implicit, which will make them slow. The implicit midpoint integrator we use now has the virtue of good convergence.
BTW, we are working on the BGGEXP using your previously-provided files as a test case.
--Michael
I'm not sure about Runge-Kutta integrators in particular. My colleague Ryan Lindberg thinks that even sympletric RK integrators will have to be implicit, which will make them slow. The implicit midpoint integrator we use now has the virtue of good convergence.
BTW, we are working on the BGGEXP using your previously-provided files as a test case.
--Michael
-
- Posts: 1951
- Joined: 19 May 2008, 09:33
- Location: Argonne National Laboratory
- Contact:
Re: transverse gradient undulator
Ji,
I find that when I set STRENGTH=0 on the BGGEXP element, the lattice is unstable. I assume that this is related to changes needed to compensate for the wiggler. Can you post a lattice without the wiggler as well?
--Michael
I find that when I set STRENGTH=0 on the BGGEXP element, the lattice is unstable. I assume that this is related to changes needed to compensate for the wiggler. Can you post a lattice without the wiggler as well?
--Michael
Re: transverse gradient undulator
Michael,
Yes, the lattice is unstable if the wiggler is switched off. Actually the optics is optimized for wiggler, because we need certain dispersion value at the wiggler to manipulate the damping partition numbers.
The lattice without wiggler is attached.
Ji
Yes, the lattice is unstable if the wiggler is switched off. Actually the optics is optimized for wiggler, because we need certain dispersion value at the wiggler to manipulate the damping partition numbers.
The lattice without wiggler is attached.
Ji
- Attachments
-
- standard1.zip
- (25.26 MiB) Downloaded 173 times
Re: transverse gradient undulator
Michael,
How it goes with BGGEXP ? When the new version of elegant will be released?
Ji
How it goes with BGGEXP ? When the new version of elegant will be released?
Ji
-
- Posts: 1951
- Joined: 19 May 2008, 09:33
- Location: Argonne National Laboratory
- Contact:
Re: transverse gradient undulator
Ji,
Sorry it took so long to get back to you. The just-released version of elegant and computeGeneralizedGradients should work for most of what you need. Unfortunately, we didn't get the damping rates in there.
See the attached example.
--Michael
Sorry it took so long to get back to you. The just-released version of elegant and computeGeneralizedGradients should work for most of what you need. Unfortunately, we didn't get the damping rates in there.
See the attached example.
--Michael
- Attachments
-
- bggexp.zip
- (11.31 MiB) Downloaded 230 times
Re: transverse gradient undulator
Michael,
Thanks a lot! I can have good results by running the example you provide.
Now I optimized the filed and tried to run the tracking again. I found if I put the 50 phi(Br) in one page in field.sdds file, I met problem with running computeGeneralizedGradients. The error message is 'warning: no rows selected for page 1........'. And if I use 40 phi(Br) in one page, it works without problem.
Anyway, I get different tracking results after running
computeGeneralizedGradients -input field.sdds -output ggExp -mainHarmonic 1 -nHarmonics 10 -allHarmonics 1
No matter the input file is the field.sdds file in the example you provide or new input file I generated. I wonder how you generate ggExp.grad file excatly and which step I did wrong.
Ji
Thanks a lot! I can have good results by running the example you provide.
Now I optimized the filed and tried to run the tracking again. I found if I put the 50 phi(Br) in one page in field.sdds file, I met problem with running computeGeneralizedGradients. The error message is 'warning: no rows selected for page 1........'. And if I use 40 phi(Br) in one page, it works without problem.
Anyway, I get different tracking results after running
computeGeneralizedGradients -input field.sdds -output ggExp -mainHarmonic 1 -nHarmonics 10 -allHarmonics 1
No matter the input file is the field.sdds file in the example you provide or new input file I generated. I wonder how you generate ggExp.grad file excatly and which step I did wrong.
Ji
-
- Posts: 1951
- Joined: 19 May 2008, 09:33
- Location: Argonne National Laboratory
- Contact:
Re: transverse gradient undulator
Ji,
I used
The results are similar if I use 10 harmonics.
Are you using an old version of computeGeneralizedGradients? You should use the one in the latest distribution.
As for the other problem, can you upload the field files that cause the error message to be generated?
--Michael
I used
Code: Select all
computeGeneralizedGradients -input field.sdds -output ggExp -mainHarmonic 1 -nHarmonics 6 -allHarmonics 1
Are you using an old version of computeGeneralizedGradients? You should use the one in the latest distribution.
As for the other problem, can you upload the field files that cause the error message to be generated?
--Michael