qualifying sixtracklib
play

Qualifying SixTrackLib :-) Adrian Oeftiger Accelerator Physics - PowerPoint PPT Presentation

Qualifying SixTrackLib :-) Adrian Oeftiger Accelerator Physics Meeting 6 June 2019 Setting up SixTrackLib: Strategy I Goal: Setting up new fast tracker (ultimately with collective effects) based on the hardware (GPU) accelerated tracking code


  1. Qualifying SixTrackLib :-) Adrian Oeftiger Accelerator Physics Meeting 6 June 2019

  2. Setting up SixTrackLib: Strategy I Goal: Setting up new fast tracker (ultimately with collective effects) based on the hardware (GPU) accelerated tracking code SixTrackLib. Intermediate steps ( only single-particle tracking ): I. SIS-18 and SIS-100 thin lattices from MAD-X into SixTrackLib (STL) ✓ STL: include MAD-X multipole errors in lattice ✗ STL: closed orbit offset and tilt errors missing ✗ STL: dipole edges and local apertures are being implemented ✓ II. check for same tunes between MAD-X TWISS and STL tracking ✓ III. quadrupole SIS-100 lattice: compare thin lens tracking, MAD-X vs. STL − → off- and on-coupling resonance = ⇒ effect of coupling induced by exact drift (momentum conservation) ✓ IV. SIS-100 lattice with non-linear errors: compare tune scan Adrian Oeftiger Accelerator Physics Meeting – 6 June 2019

  3. Setting up SixTrackLib: Strategy II Steps towards multi-particle tracking : split the lattice into many segments ✗ inject space charge (SC) nodes in between these tracking sequences ✗ PyHEADTAIL frozen model ✗ PyHEADTAIL self-consistent PIC model ✗ (to be implemented) STL frozen model ✗ SIS-18 space charge benchmark ✗ SIS-100 tune scan with space charge (+compare to Vera’s MAD-X results) Adrian Oeftiger Accelerator Physics Meeting – 6 June 2019

  4. I. Lattice from MAD-X into SixTrackLib How to set up SixTrackLib (STL)? = ⇒ python interface! load lattice in MAD-X via cpymad 1 python library 1 − → for the moment, remove dipedges (dipole fringe fields) → load magnet error table and add multipole errors to magnet knl , ksl − pass MAD-X sequence to pysixtracklib 2 python library 2 define STL beam 3 define STL tracking job (which device to run on, could be usual 4 CPU or a GPU) profit from hardware acceleration :-) 5 Examples in jupyter notebooks: SIS-18 in cpymad – MAD-X tracking ր SIS-18 in PySixTrackLib incl. MAD-X makethin ր SIS-100 tracking with errors in PySixTrackLib ր 1 https://pypi.org/project/cpymad/ 2 shipped with SixTrackLib Adrian Oeftiger Accelerator Physics Meeting – 6 June 2019

  5. II. Basic Physics: Tune Benchmark Compare FFT spectrum of particle trajectory in STL with MAD-X TWISS tune for SIS-100 lattice (thin lens, dipole edges removed): SIS100: single particle tracking in PySixTrackLib horizontal plane vertical plane 0.05 0.03 spectrum x in PySTL spectrum y in PySTL TWISS tune (1 q x ) TWISS tune (1 q y ) 0.04 0.02 0.03 0.02 0.01 0.01 0.00 0.00 0.0655 0.0660 0.0665 0.0670 0.0675 0.3640 0.3645 0.3650 0.3655 0.3660 = ⇒ thin lens tracking in STL accurately reproduces proper tunes! Adrian Oeftiger Accelerator Physics Meeting – 6 June 2019

  6. III. MAD-X vs. STL Tracking Comparison Tracking the SIS-100 clean lattice (no errors, quadrupoles only): jupyter notebook for 3 working points ր Figure: Benchmark element-by-element MAD-X vs. STL: ǫ = O (10 − 10 ) 10 MAD-X vs. PySTL tracking for one turn of SIS100 1e MAD-X vs. PySTL tracking for one turn of SIS100 1e 9 4 x MADX x PySTL twiss-normalised error x MADX x PySTL twiss-normalised error x x x x 0.5 2 y MADX y PySTL y MADX y PySTL y y y y 0 0.0 2 0.5 4 0 200 400 600 800 1000 0 200 400 600 800 1000 s [m] s [m] (b) off-coupling Q x = 18 . 84, Q y = 18 . 73 (a) on-coupling Q x = Q y = 18 . 88 10 MAD-X vs. PySTL tracking for one turn of SIS100 1e twiss-normalised error 4 x MADX x PySTL x x y MADX y PySTL 2 y y 0 2 4 0 200 400 600 800 1000 s [m] (c) different integers Q x = 19 . 84, Q y = 17 . 73 Adrian Oeftiger Accelerator Physics Meeting – 6 June 2019

  7. III. MAD-X vs. STL Tracking Comparison Tracking the SIS-100 clean lattice (no errors, quadrupoles only): jupyter notebook for 3 working points ր Figure: Benchmark 10000 turns MAD-X vs. STL: transverse ǫ x , y = O (10 − 7 ) and longitudinal ǫ z = O (10 − 9 ) Compare tracking 100 turns Compare tracking 100 turns Compare tracking 100 turns of SIS100 in PySTL vs. MAD-X # particles (out of 1000) of SIS100 in PySTL vs. MAD-X # particles (out of 1000) # particles (out of 1000) of SIS100 in PySTL vs. MAD-X 10 3 10 3 10 2 10 2 10 2 10 1 10 1 10 1 10 0 10 0 10 0 0 10 20 0 20 40 0.0 0.1 0.2 relative distance in x [10 8 ] relative distance in y [10 8 ] relative distance in z [10 8 ] (a) horizontal plane (b) vertical plane (c) longitudinal plane = ⇒ single-particle physics in MAD-X and SixTrackLib are equivalent (up to numerical errors) Adrian Oeftiger Accelerator Physics Meeting – 6 June 2019

  8. Coupling Resonance: Emittance Exchange For equal tunes in a thin-lens quadrupole lattice find emittance exchange: jupyter notebook ր Figure: Comparing MAD-X and SixTackLib for quadrupole-only lattice! 10 MAD-X vs. PySTL tracking for one turn of SIS100 1e MAD-X vs. PySTL tracking for one turn of SIS100 4 twiss-normalised error x MADX x PySTL twiss-normalised error x x 0.0001 2 y MADX y PySTL y y 0.0000 0 x MADX x PySTL 0.0001 2 x x y MADX y PySTL y y 4 0 200 400 600 800 1000 0 200 400 600 800 1000 s [m] s [m] (a) using truncated drift in STL (b) using exact drift in STL − → MAD-X uses exact drift (full expression with the 3-momentum norm) − → MAD-X TWISS gives zero coupling ( r 11 = r 12 = r 21 = r 22 = 0) = ⇒ higher-order coupling through exact drift! Adrian Oeftiger Accelerator Physics Meeting – 6 June 2019

  9. Coupling Resonance: Emittance Exchange For equal tunes in a thin-lens quadrupole lattice find emittance exchange: jupyter notebook ր Figure: SixTrackLib tracking of 10000 turns comparing both drifts PySTL tracking SIS100 (only quads) PySTL tracking SIS100 (only quads) using truncated drift using exact drift Transverse offset [m] Transverse offset [m] 0.010 0.010 x y 0.005 0.005 x 0.000 0.000 y 0.005 0.005 0.010 0.010 0 2500 5000 7500 10000 0 2500 5000 7500 10000 Turns Turns (a) using truncated drift in STL (b) using exact drift in STL = ⇒ this is a direct measure of how much the paraxial approximation is broken for SIS-100 (under this approximation p z ≈ p 0 and the truncated drift is identical to the exact drift) Adrian Oeftiger Accelerator Physics Meeting – 6 June 2019

  10. Short Discussion: Drift Space and Coupling Exact Hamiltonian for a drift space region reads � (1 + δ ) 2 − p 2 x − p 2 y H ( x , p x , y , p y , z , p z ; s ) = p z − . (1) p 0 where x , y : transverse displacement, p x , p y : canon. conj. transverse momenta, z : longitudinal offset, p z : canon. conj. longitudinal momentum, δ = p z − p 0 : momentum deviation p 0 p 0 = βγ mc : total momentum Adrian Oeftiger Accelerator Physics Meeting – 6 June 2019

  11. Short Discussion: Drift Space and Coupling Exact Hamiltonian for a drift space region reads � (1 + δ ) 2 − p 2 x − p 2 y H ( x , p x , y , p y , z , p z ; s ) = p z − . (1) p 0 With Hamilton’s equations of motion, the transfer map through a drift space of length L becomes x �→ x + x ′ L p x �→ p x y �→ y + y ′ L p y �→ p y with exact expression linearisation in p x , p y x ′ = x ′ = p x p x √ p 2 p 0 (1+ δ ) 0 (1+ δ ) 2 − p 2 x − p 2 y y ′ = y ′ = p y p y √ p 0 (1+ δ ) p 2 0 (1+ δ ) 2 − p 2 x − p 2 y see e.g. PhD thesis of Mattias Fjellstr¨ om, section 2.5 in https://cds.cern.ch/record/1642385/files/CERN-THESIS-2013-248.pdf Adrian Oeftiger Accelerator Physics Meeting – 6 June 2019

  12. Short Discussion: Drift Space and Coupling Exact Hamiltonian for a drift space region reads � (1 + δ ) 2 − p 2 x − p 2 y H ( x , p x , y , p y , z , p z ; s ) = p z − . (1) p 0 With Hamilton’s equations of motion, the transfer map through a drift Coupling space of length L becomes exact expression � transverse coupling: x �→ f ( x , p x , p y , δ ) vs. x �→ x + x ′ L p x �→ p x linearised expression � no transverse coupling: x �→ f ( x , p x , δ ) y �→ y + y ′ L p y �→ p y with exact expression linearisation in p x , p y x ′ = x ′ = p x p x √ p 2 p 0 (1+ δ ) 0 (1+ δ ) 2 − p 2 x − p 2 y y ′ = y ′ = p y p y √ p 0 (1+ δ ) p 2 0 (1+ δ ) 2 − p 2 x − p 2 y see e.g. PhD thesis of Mattias Fjellstr¨ om, section 2.5 in https://cds.cern.ch/record/1642385/files/CERN-THESIS-2013-248.pdf Adrian Oeftiger Accelerator Physics Meeting – 6 June 2019

  13. IV. SIS-100 Tune Scan in SixTrackLib The SIS-100 benchmark on SixTrackLib tracking with errors (no space charge) is available in the aoeftiger github repository ր . Have a look at the evaluation notebook comparing the results to Vera’s results: Figure: jupyter notebook for evaluation ր = ⇒ serial tune scan finishes in less than half a working day on NVIDIA V100 GPU cards (for 20000 turns and 1000 particles) Adrian Oeftiger Accelerator Physics Meeting – 6 June 2019

  14. Tune Scan Results Vera losses losses 1000 1000 18.9 998 18.9 995 surviving particles 996 990 18.8 18.8 994 Q y 985 Q y 992 18.7 18.7 980 990 988 975 18.6 18.6 986 970 18.6 18.7 18.8 18.9 18.6 18.7 18.8 18.9 Q x Q x (a) Vera’s loss results (b) STL loss results (global aperture 1 m) final final x y x [m] y [m] 0.015 0.0070 18.9 18.9 horizontal RMS beam size vertical RMS beam size 0.014 0.0065 18.8 18.8 0.0060 0.013 Q y Q y 0.0055 18.7 18.7 0.012 0.0050 0.011 18.6 18.6 0.0045 18.6 18.7 18.8 18.9 18.6 18.7 18.8 18.9 Q x Q x (c) STL horizontal beam growth (d) STL vertical beam growth Adrian Oeftiger Accelerator Physics Meeting – 6 June 2019

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend