60 likes | 272 Views
Status of the PTC- pyOrbit code development. H. Bartosik Space charge meeting Juy 3 rd 2014. Discussions during (and after) IPAC14. Discussions with Sarah Cousineau
E N D
Status of the PTC-pyOrbit code development H. Bartosik Space charge meeting Juy 3rd 2014
Discussions during (and after) IPAC14 • Discussions with Sarah Cousineau • Slice-by-slice 2D space charge solver agreed to be included in the pyOrbit SVN repository (done already, see following slides) • Frozen space charge module – should also be included in the pyOrbit SVN repository (still some implementation details for the Teapot lattice to be sorted out – see next slides) • BunchTwissAnalysis class presently computes the effectiverms emittance ( including the dispersive part) – agreed to extend the module to compute also the pure betatron emittance (see next slides) • Discussions with Sasha Molodozhentsev • Agreed to continue a common effort to optimize the PTC part of the PTC-pyOrbit interface (e.g. clean-up of unnecessary unit conversions) together with Jeff Holmes • Idea is to further develop PTC, test and include the changes in the official CERN PTC release and with py-Orbit; check into SVN as last step SC meeting July 3rd 2014
Status of the slice-by-slice 2D module development • Motivations see 41st SC meeting • Simple tests with and without boundary conditions successful • C++ routines and Python interface submitted to the py-Orbit SVN repository • together with manual/documentation on the py-Orbit wiki Page • including example scripts for demonstrating the usage • Sabrina Appel (GSI) started to do some benchmarking with the Teapot lattice of SIS100 in comparison with the PATRIC code ongoing • Tests for the SPS case • So far, the unphysical instability observed with the “2.5D” module (2D space charge weighted by line density) is not observed with the slice-by-slice 2D module tests are ongoing, very promising SC meeting July 3rd 2014
Status of the Frozen space charge module development • Motivation for frozen SC in py-Orbit see 41st SC meeting • Implementation in C++ with Python interface done for PTC lattices • Added the possibility to update bunch parameters (emittances, intensity, momentum spread, line density) on Python level flexibility for the user for how and when to update parameters • Added the possibility of using an arbitrary line density profile (interpolation of a pair of vectors for z and the line density) • Benchmarking / Testing • Few test cases for the PS were run with and without updating the emittance • Raymond is running the MADX frozen SC simulations without the emittance update to allow for a direct comparison Results of these tests to be presented in one of the next meetings SC meeting July 3rd 2014
Emittance calculation in BunchTwissAnalysis • The BunchTwissAnalysis module calculates the effectivermsemittances and the effectivestatistical optics functions – but for the moment not the pure betatronemittances and optics functions without dispersive part … • After discussions about possibilities to include the calculation of the pure betatron emittance and optics functions we agreed on a strategy • Change BunchTwissAnalysis.getEmittance to calculate pure betatron emittance • Change BunchTwissAnalysis.getAlpha (and likewise .getBeta .getGamma) to calculate the statistical optics functions without dispersive part • The old methods for calculating the effective emittances and effective optics functions will be accessible through BunchTwissAnalysis.getEffectiveEmittance, BunchTwissAnalysis.getEffectiveAlpha … • Implementation finished tests are successfull • Will be checked into the SVN repository after cross-check with py-Orbit developers !Warning! results of the emittance calculation will be different once the code is updated SC meeting July 3rd 2014
Summary • Slice-by-slice module • Uploaded to SVN repository and available in latest CERN executable • Tests at CERN and GSI ongoing • Frozen SC module • New features implemented: updating bunch parameters, arbitrary line density • Tests with PS and SPS lattice ongoing • Still some implementation to be done for the Teapot lattice • BunchTwissAnalsysis modules • Modifications for pure betatron emittance and optics functions implemented • Will be uploaded to SVN after cross-check with py-Orbit developers SC meeting July 3rd 2014