[MAP] ICOOL SOL model 1

Berg, J Scott jsberg at bnl.gov
Thu Feb 28 09:56:56 EST 2013


Hello ICOOL users,

If you do not have ICOOL input files that use SOL model 1, feel free to ignore this message.

I want to make a change to SOL model 1, which should be backward compatible with the documented behavior, but I want to try to avoid creating problems for existing input files. First I'll go through the existing behavior, the describe what I propose to change.

SOL model 1 has had two incarnations: 

ICOOL Version < 3.23:

2 : B0
3 : CLEN
4 : ELEN1
5 : BOFF
6 : ELEN2

z < ELEN1 : Bz = BOFF + z*B0/ELEN1
ELEN1 <= z <= ELEN1+CLEN : Bz = BOFF + B0
ELEN1+CLEN < z : Bz = BOFF + B0*(ELEN1+CLEN-z)/ELEN2

if ELEN2=0, then the latter is replaced with

ELEN1+CLEN < z : Bz = BOFF + B0

If ELEN1=0 or ELEN2=0, there was no corresponding hard-edge kick added. A documented way of getting a constant field in the entire sregion was to set B0=0 and BOFF to the desired field value.

ICOOL Version >= 3.23:

2 : B0
3 : CLEN
4 : ELEN1
5 : B1
6 : ELEN2
7 : B2

z < ELEN1 : Bz = (ELEN1-z)*B1/ELEN1 + z*B0/ELEN1
ELEN1 <= z <= ELEN1+CLEN : Bz = B0
ELEN1+CLEN < z : Bz = (ELEN2+CLEN+ELEN1-z)*B0/ELEN2 + (z-ELEN1-CLEN)*B2/ELEN2

In other words, the field increased linearly from B1 to B0 in going from from z=0 to z=ELEN; was constant at B0 until z=ELEN1+CLEN; then changed linearly beyond z=ELEN1+CLEN, starting at B0 and reaching B2 at z=ELEN1+CLEN+ELEN2 but continuing to change linearly beyond that.

if ELEN2=0, then the last equation is replaced with 

ELEN1+CLEN < z : Bz = B0

If ELEN1=0 or ELEN2=0, there was no corresponding hard-edge kick added.

=======

There is still some potentially unexpected behavior that can occur when ELEN1=0 (roundoff-related) or ELEN2=0 (note the different behavior described above). Furthermore, if the length of the sregion is greater than CLEN+ELEN1+ELEN2, the field continue to fall below B2 for larger z. So I have which should be compatible with the documented behavior of the recent versions of ICOOL: add an eighth parameter, Zoff. Then

z <= Zoff : Bz = B1
Zoff < z < Zoff+ELEN1 : Bz = (Zoff+ELEN1-z)*B1/ELEN1 + (z-Zoff)*B0/ELEN1
Zoff+ELEN1 <= z <= Zoff+ELEN1+CLEN : Bz = B0
Zoff+ELEN1+CLEN < z < Zoff+ELEN1+CLEN+ELEN2 : Bz = (Zoff+ELEN1+ELEN2+CLEN-z)*B0/ELEN2 + (z-Zoff-ELEN1-CLEN)*B2/ELEN2
Zoff+ELEN1+CLEN+ELEN2 <= z : Bz = B2

The change is that there are 5 regions: the first region with B1, then a second region which changes linearly from B1 to B0, a third region with B0, a fourth region changing linearly to B2, then a fifth region staying constant at B2. There are still no hard edge kicks of ELEN1 or ELEN2 are zero. This should be backward compatible assuming that A) your input file had set parameter 8 (unused before) to zero, and B) you had not relied on the field continuing linearly past B2 when z > ELEN1+CLEN+ELEN2.

Please let me know if this change would cause problems for you.

Thanks,

-Scott


More information about the MAP-l mailing list