LHC - deviations from mechanical axis (profiles) Geometry processing steps as documented by Per Hagen Last update 05.10.2010 The output files (ASCII format) are in folder \\wise.web.cern.ch\WISE\Other\Geometry Uses an augmented sequence generated from LHC layout database The flag c-rotation is used to keep track of if longitudinal geometry measurement axis is rotated wrt tunnel orientation. This flag is separate from another well-known MAD flag which tells if measurement of magnetic axis must be rotated into tunnel ref frame. The c-rotation flag is the same for "mech" and "mag"-axis. That is, a given cryostat is always measured using the same coord system (except for definiton of longituidinal vertex). The input are measurements as function of magnet, aperture LHC mech axis for aperture: The code is based upon the WISE code but is contained in the separate file lhc_mech_axis.xls in the Geometry folder For each mech axis measurements, build a map ----|-------------------------------------> Y (measurement axis) Y1 0 Y2 Y3 Yn For each point Yn assuming linear evolution of dependent transversal coords (dx, dz) from Yn -> Yn+1 Measured points cannot be assumed to be at equidistance Compute each interpolation map[i] as: domain: Ym <= Y < Ym+1 kx = (dx_m+1 - dx_m) / ( Ym+1 - Ym) kz = (dz_m+1 - dz_m) / ( Ym+1 - Ym) dx(Y) = dx_m + kx * (Y-Ym) dz(Y) = dz_m + kz * (Y-Ym) Add 2 extra artificial points Y=-"infinite"=-100 [m], Y=+"infinite"=+100 [m] if attempting to map outside domain. These maps all have slopes = 0. Rename mech coord system to WISE conventions for axis: Y->s, x->x, z->y (the direction of axis coincide) Output data as function of bno where bno = "function of"(c-rotation, ap, sector) Elements considered: All cryostats, all warm magnets c-rotation = false: for all magnets in assembly using normal magnet order (ascending s-coord of b1): create a local cryostat coord system s': 0 --------------> cryolen, ----> s c_rotation = true: for all magnets in assembly using reverse magnet order (descending s-coord of b1): create a local cryostat coord system s': cryolen <------------- 0, ----> s local meas coord system and local s' coord related by a constant offset depending upon definition of vertex (0). This is given by a table lookup based upon info from SUrvey group and cross-checked by Patrick Bestmann. Furthermore, thermal contraction must also be taken into account for magnets where mech axis ref sytem is based upon "warm" and the magnets operate at "cold" (all LB and LE). This is given by table lookup cross-checked by Patrick Bestmann. Since we ask for transversal displacements[s'] where s' @ cold we thermally strecth the coord: delta_s_thermic = (1 / k_mech_axis - 1) * (s' - cryolen / 2) k_mech_axis = 0.9970 found by the average ratio of (MB_maglen_cold / MB_maglen_warm) NOTE: Using cryolen / 2 is an approximation. That is, there is a fixed point at middle of cryostat that does not move s'' = s' + delta_s_thermic - offset k_mech_axis = 0.9970 for LB and LE, otherwise 1.00 Split magnet into k equidistant slices given by table lookup and where max slices <= 100 Compute dx(s'') and dy(s'') for each slice using interpolation maps Adjustment of measurement data to WISE global coord: c_rotation = true: dx = -dx Output data to Excel sheet "MAD mech axis" Output FID shift data to Excel sheet "MAD mech axis" where only renaming of axis done: Y->s, x->x, z->y FID shifts are always in tunnel ref frame so c-rotation irrelevant SU alignment error loaded into sheet "SU GEO" using SU conventions dL, dR, dV. Alignment is in tunnel ref frame so c-rotation irrelevant The additional "internal" errors estimated by SU group is for the Q1-Q3: coldmass repeair and vacuum forces. These errors are much larger than usual alignment errors (many mm) and is not in the normal SU errors. These errors are stored in the sheet "MQX ref" which is updated manually. Output SU align error to Excel sheet "MAD mech axis" where only renaming of axis done: dL->s, dR->-x, dV->y The alignment error is evaulated at the middle of the main magnet(s) inside the cryostat. Only displacements of the error vector are used. Rotations are ignored. Process final output files by processing Excel sheet "MAD mech axis" with different options for adding FID shift and SU align error. Both MAD b1 and b2 (fake clockwise B2) use same coord system, where compared to WISE: s_mad=s_wise, x_mad=-x_wise, y_mad=y_wise We also make a side-product: Excel sheet "WISE mech axis" which is used by WISE itself when magnetic axis are not available. LHC mag axis for feeddown: The code is directly based upon the WISE code where options to avoid simulation uncertainty has been switched off. The input comes from the geometry database using complex SQL statements to load data directly into Excel sheets (little processing done by WISE) There is one FID-shift value for each cryostat (dx, dy, ds) expressed in the tunnel ref frame. The measurement coord axis are renamed as usual: Y->s, x->x, z->y For each magnet there is also a value for displacement of magnetic centre, with same name of axis, Y->s, x->x, z->y In case of no real measurement, the corrsponding displacement of mech axis is used. A table lookup is done to add systematic difference between mech and mag axis, based upon statistics. SQL given by Elena Wildner and people working for her + partially checked by Patrick Bestmann. SU alignment error loaded into sheet "SU GEO" using SU conventions dL, dR, dV. Alignment is in tunnel ref frame so c-rotation irrelevant The alignment error is evaulated at the middle of the main magnet(s) inside the cryostat. All 6 components of the error vector are used (3 displacements + 3 rotations) The output of WISE geometry errors are first written to the sheet "MAD GEO errors" using the WISE coord system. Process final output files by processing Excel sheet "MAD GEO errors" with different options for adding FID shift and SU align error. Output data as function of bno where bno = "function of"(c-rotation, ap, sector) c_rotation = true: for each magnet's individual error vector: dx = -dx, ds=-ds, psi=-psi, phi=-phi Both MAD b1 and b2 use same coord system, and when compared to WISE: s_mad=s_wise, x_mad=-x_wise, y_mad=y_wise WISE settings Common settings Magnet types: all Error sources: magnet geometry Options: No uncertainty, MAD-X Ealign method = combine, b2 is clockwise Case 1: noshifts Common settings Case 2: fidshifts Common settings + Error sources: tunnel movements Options: Ignore alignment errors Case 3: fidshifts_sualign Common settings + Error sources: tunnel movements Summary of conventions and coordinate sytems used ================================================= (1) Geometry measurements stored in database and imported into WISE spread sheets (1a) Local measurement reference frame (Y "into paper", X and Z are cross-section) Y = longitudinal position of measurement inside magnet (increasing Y coord) X = horisontal displacement [ dx = f(Y) ] wrt design centre of aperture, "rightwards" Z = vertical displacement [ dz = f(Y) ] wrt design centre of aperture, "upwards" Both beams use same axis and orientation wrt aperture (shared or unique for a beam) There are 2 kind of geometry axis: mech axis for profile and mag axis for field Transformation into WISE "GEO" spread sheets: X -> x, Z -> y, Y -> s A flag is used in WISE to signal if the magnet orientation in the tunnel <> measurement frame The only transformation that occur in practice is "Rot(y, pi)". That is: x -> -x, y -> y, s -> -s (1b) FID installation shifts used to install magnets in tunnel with a deliberate offset Local tunnel reference frame (Y "direction of beam 1", X and Z are cross-section) Y = longitudinal position in beam 1 direction (increasing Y coord) X = horisontal displacement [ dx = f(Y) ] wrt design centre of cryostat, "towards LHC centre" Z = vertical displacement [ dz = f(Y) ] wrt design centre of cryostat, "up against gravity" The FID shift can be added linearly (superimposed) as constants to the various axis described here Transformation into WISE "GEO" spread sheets: X -> x, Z -> y, Y -> s (1c) Measured SU alignment errors of installed magnets in tunnel using local tunnel reference frame dL = longitudinal displacement in beam 1 direction (increasing L coord) dR = horisontal displacement [ dx = f(Y) ] wrt design centre of cryostat, "away from LHC centre" dV = vertical displacement [ dz = f(Y) ] wrt design centre of cryostat, "up against gravity" The SU alignment error can be added linearly (superimposed) as constants to the various axis described here Transformation into WISE "GEO" spread sheets: dL -> s, dR -> -x, dV -> y (2) Magnetic field measurements stored in database and imported into WISE spread sheets Same local Cartesian coordinate system as for (1a) TF is expressed as unity (=10E4 units) for each magnet and the multipoles expressed relative to this (units). The fields, other than dipole field, is expressed at Rref=0.017 m inside WISE. Rescaling takes place inside WISE for a few cases with different Rref in the measurement data. The longitudinal axis of the measurements is CS "conn side" -> "NCS" non-connction side The LHC layout used the notation "D" if the magnet is rotated "downstream" in tunnel wrt measurement frame This is the same rotation as for (1a) "Rot(y, pi)" but since multiple rotations can take place from field measurement to orientation in tunnel (how it is assembled) rotations of geometry and field do not necessarily "go together" and separate "book-keeping" is needed. Transformations of multipoles only takes place in MAD-X scripts (sign of multipoles depends upon transformation of WISE to MAD-X coord systems) (3) WISE geometry ouput (3a) lhc_mech_axis.xls sheet 'MAD mech axis' All displacement data, FID shifts, SU errors, cross-section are in local tunnel ref frame using WISE coord system Data output to lhc_mech_axis*-b1.madx are expressed in MAD-X LHC "beam1" coord system Data output to lhc_mech_axis*-b2.madx are expressed in MAD-X LHC "beam2" coord system The transformation from WISE to MAD-X is equal for the 2 beams: x -> -x, y -> y, s -> s Likewise output to lhc_mech_axis_shifts-b*.tfs are in "beam1" or "beam2" coord system (3b) wise.xls sheet 'MAD GEO errors' Both beams in same sheet. Same WISE coord systems for both beams. m_vector represents indivudal magnet displacements wrt magnetic axis using measurement ref frame ma_ vector represents displacement of the assembly (magnets and monitors with fixed rel positions) using tunnel ref frame ma_rotation = 180: m_vector must be rotated around vertical axis: "Rot(y, pi)" (3b) MAD-X Ealign method = script "EGEO" .tfs table with WISE coord system for both beams Processed by macro 'Ealign_All' in file Ealign_Subroutines.madx This macro combines m_ and ma_ vectors and it transforms b2 to MAD-X LHC coord system BEAM 4 (3c) MAD-X Ealign method = seterr "EGEOSE" .tfs table using MAD-X command 'seterr' format Only alignment errors are given values, all other parameters = 0 so field quality errors must be added afterwards if needed. WISE combines m_ and ma_ vectors Beam 2 is converted to MAD-X LHC coord system BEAM 2 or 4 according to option 'b2 is clockwise' See header 'Options' in .tfs table (3d) MAD-X Ealign method = combine This format option is used for Frank Schmidt's "online model" "EGEOC" .tfs table with WISE coord system for both beams Processed by macro 'Ealign_C_All' in file Ealign_Subroutines.madx This macro uses the combined mc_ vector = m_ and ma_ combined mc_ computed by WISE (requested by Frank Schmidt) for direct use in ealign command Beam 2 is converted to MAD-X LHC coord system BEAM 2 or 4 according to option 'b2 is clockwise' See header 'Options' in .tfs table