TOSCA simulation for Pol He3 Field

From HallCWiki
Revision as of 15:44, 18 October 2021 by Jixie (Talk | contribs) (Scripts to combine maps)

Jump to: navigation, search

By Jixie Zhang, Sep 9th,2020


The TOSCA simulation geometry files were prepared by Steven Lassiter.
The simulation were performed by both Steven and Jixie.

In D2N, the target base was not rotated. The axis of horizontal large coils (HL) is along Lab X axis.
The axis of horizontal small coils (HS) is along Lab Z axis.
In A1N, the target base was rotated clockwise (top view) about Y axis by 45 degrees.

Please keep in mind that the coordinate system in the TOSCA simulation is defined in this way:
X axis goes to beam right, y axis goes up, Z axis goes to upstream.
We have rotated the output about Y axis by 180 degrees to make it in the Lab frame.

Jixie has analyzed the simulated field of each individual set of coils and compared them to the
real measurement to determine what is the real current that is matched to the current density used in
TOSCA simulation. There are still a few settings that the real measurement are not performed yet.
For example, HL, HS in D2N configuration, HB at 8.5 deg (2.129GeV), 11.0 deg (7.5GeV and 2.129 GeV) and
14.5 deg (6.4GeV). These should be done at the end of D2N.

Where is the maps located

The rotated TOSCA field maps for each single set of coils are stored in group dir:

Scripts to combine maps

Jixie provides python scrips to combine these 7 rotated individual maps (HB, HL, HS, VL, VS, HLCC and HSCC)
into one map with each map scaled to the given current. These scrips will also make some plots of "Field vs Y|Z"
and "Gradient vs Y|Z". These scrips are stored at

The output of these scripts (combined table, pdf files and figures) are stored at:

How to run these scripts to combine maps

First of all, the script require matplotlib, numpy, pandas modules. You need to install them before running it.

1) change "TableDir" to where the tables are located.

2) change "OutDir" as it is where to keep the output files

3) configure "Target_Currents_xxxxx[4][7]" 2-D list. It contains 4 rows and 7 columns.
The rows [0],[1],[2],[3] represent target polarization polarity of 0. 90, 180, and 270 deg, respectively.
The structure of each row are the currents for these coils: HB,HL,HS,VL,VS,HLCC,HSCC.

4) Keep in mind that in D2N experiment, HS coil current in read back is in opposite
sign, VL and VS are switched.
In A1N experiment, HS coil current in read back is also in opposite sign.
Make sure you know these when you provide "Target_current" and be enough careful.

5) This script can make some plot using functions. For example "PlotGradientVsZ(xx,yy,figname)"
will plot the 9 gradients as a function of z at line (x=xx,y=yy).
User need to specify xx and yy locations and output figure name.