Page 1 of 1

Radia kickmap

Posted: 24 Jul 2008, 09:01
by wguo
Radia kickmap is really simple in terms of scripting. I implemented the method into Elegant by using a SCRIPT element. In the lte file, the script element is defined as

DWSCRIPT: SCRIPT,COMMAND="./DWkickmap -input %i -output %o -Bmax %np0 -kickmapFile %sp0",&
verbosity=1,NP0=1.0, SP0="W90v5_pole80mm_finemesh_7m-x.sdds", KEEP_FILES=1,use_csh=0

Then I inserted this element to the lattice at the center of the straight section.
Tracking through the kick map is realized by the script DWkickmap, which is attached to this message.
DWkickmap needs four parameters, the input file, output file, Bmax, and the kickmap file. Bmax (0~1) is a scaling factor for the map. It can be interpreted as the relative field strength while the gap of the ID varies. The kickmap file is an sdds file. Another script, kickmap2sdds is also attached, which converts a typical text kickmap file (see the attachment) into sdds format.

Unfortunately at this stage the SCRIPT command works only for tracking. It is treated as a drift space when lattice functions are calculated. It would be nice if it will be upgraded into a normal element.


Weiming

attachement files

Posted: 24 Jul 2008, 09:18
by wguo
The maximum allowed number of attachment is 3, so I attached them here.


Weiming

Re: Radia kickmap

Posted: 24 Jul 2008, 10:31
by michael_borland
Weiming,

Thanks for posting this. I'm planning to include a built-in kick-map element in elegant in the next release.

Also, it should be possible to have elegant compute the matrix for the SCRIPT element using tracking, as it does with CWIGGLER.

--Michael

Re: Radia kickmap

Posted: 29 Sep 2008, 10:24
by wguo
Michael,

Could you add synchron radiation loss to ukickmap as what you did to Wiggler and Cwiggler? I guess you have similar subroutines.


Weiming

Re: Radia kickmap

Posted: 29 Sep 2008, 13:25
by michael_borland
Weiming,

It's a good suggestion. I should be able to get this into the next release.

--Michael