10.62 MAPSOLENOID—A numerically-integrated solenoid specified as a map of (Bz, Br) vs (z, r).

A numerically-integrated solenoid specified as a map of (Bz, Br) vs (z, r).
Parallel capable? : yes
GPU capable? : no
Back-tracking capable? : no






Parameter NameUnitsType Default

Description






L M double 0.0

length






DX M double 0.0

misalignment






DY M double 0.0

misalignment






ETILT RADdouble 0.0

misalignment






EYAW RADdouble 0.0

misalignment






EPITCH RADdouble 0.0

misalignment






N_STEPS long 100

number of steps (for nonadaptive integration)






INPUTFILE STRINGNULL

SDDS file containing (Br, Bz) vs (r, z). Each page should have values for a fixed r.






RCOLUMN STRINGNULL

column containing r values






ZCOLUMN STRINGNULL

column containing z values






BRCOLUMN STRINGNULL

column containing Br values






BZCOLUMN STRINGNULL

column containing Bz values






FACTOR double 0.0001

factor by which to multiply fields in file






BXUNIFORM double 0.0

uniform horizontal field to superimpose on solenoid field






BYUNIFORM double 0.0

uniform vertical field to superimpose on solenoid field






LUNIFORM double 0.0

length of uniform field superimposed on solenoid field






ACCURACY double 0.0001

integration accuracy






METHOD STRINGrunge-kutta

integration method (runge-kutta, bulirsch-stoer, non-adaptive runge-kutta, modified midpoint)






GROUP string NULL

Optionally used to assign an element to a group, with a user-defined name. Group names will appear in the parameter output file in the column ElementGroup






The input file must be an SDDS file and must have one page for each value of the radius. Each page must be sorted in increasing order by the z coordinate. The z and r data must be in meters, while the Bz and Br data must be in Tesla.

Starting with a single-page file containing (z,r,Bz,Br), one can easily produce the required file using this command sequence

sddssort solenoid.sdds -pipe=out -column=r -column=z \  
 | sddsbreak -pipe=in mapSolenoid.sdds -change=r

The preferred integrator is non-adaptive Runge-Kutta, since the adaptive integrators tend to have convergence problems.

N.B.: for historical reasons, the default value of the FACTOR parameter is set to 0.0001, which is apt to introduce confusion.

MARK