Releases: PyCOMPLETE/PyHEADTAIL
PyHEADTAIL v1.7.3
- Add verbose mode in synchrotrons to print attributes of one turn map. Useful for inspection since often some kwargs are not actually passed through to the objects using them.
PyHEADTAIL v1.7.2
- Improved slicing:
- SliceSet: introduced particles_outside_cut
- Particles: indeces handled correcly by: add, radd, and extract_slices
- Particles: include_non_sliced functionality added to extract_slices
- For lepton simulations
- Better estimate of Q_s in generate_6D_Gaussian_bunch
- Longitudinal tracking and matching work with negative charge
- Added CLIC-DR example with electrons
PyHEADTAIL v1.7.1
- Hotfix: import error in LHC example
- Few extra features added to synchrotron (should be backwards compatible):
- RF can be placed in the middle or at the end of the one turn map
- extra keyword to pass arbitrary detuners on top of Q' and anharmonicities
- explicit disable for cython transverse map
PyHEADTAIL v1.7.0
- Particles: added z_beamframe attribute for space charge calculations.
- Particles: make z_beamframe settable
- Make _version.py git evaluation comply with PEP440.
- Using Makefile instead of unclear ./install script.
- Make generators and Particles conform with the Printing interface!
- Adding SilentPrinters to tests and making test_particles work …
- versioning: only amend 4th number if different from master version! …
- Introduced extract_slices method
- m_p has been eliminated
- Introduced machines.synchrotron...
PyHEADTAIL v1.6.0
Changes:
- new interface for TransverseMap: removed circumference, detuners are an explicit list
- Particles instances can now be added. E.g.: beam3 = beam1 + beam2 (useful a.o. for multi-bunch studies)
- get_injection_optics method of TransverseMap now returns a dict instead of a tuple
PyHEADTAIL v1.5.0
Merry Christmas! :-)
New features:
- UniformBinSlicer allows for specified sampling points (for wakes)
- RFSystems can remove kicks
- KV 1D and 2D distribution included into generators
- Particles can sort their arrays and apply given permutations
- a first version of the GPU module enters PyHEADTAIL (Particles, Slicing etc on GPU)
- CUDA thrust library interface for specific functions
- ParticlesGPU implements sorting via thrust
- slicing with PyPIC (e.g. for GPU usage)
- RFBucketMatcher allows for margin along separatrix
- optimised RFBucketMatcher generation (much quicker!)
- longitudinal wrapping to keep z within circumference
- pre-commit hooks (make sure to include these in your GIT config!)
- ParticleGenerator interface change (linear_matcher removed)
- pure python RFQ implementation (besides existing cython version)
- adaptation of Bunch-/SliceMonitor for GPU usage
PyHEADTAIL v1.4.2
Hotfix of longitudinal tracking for non-proton-type beams
The calculation of the synchronous phase takes the
charge given at the instantiation of RFSystems.
This argument is new and defaults to the proton value.
The setting of the charge only affects the phase locking
for multi-harmonic systems, otherwise phi_s is not used
internally.
This hotfix should correct for electron use as Xu Haisheng
(PSI) pointed out. Thanks for making the point.
PyHEADTAIL v1.4.1
Hotfix: detuners did not use relative phase advances accQ_x, accQ_y.
This hotfix makes the detuners use the relative bare betatron
phase advance per segment instead of the averaged segment_length.
This is important if accQ_x and accQ_y in the TransverseMap
during setup are not given as scalar values of the betatron tune
(which ends in the smooth approximation) but instead are taken as
varying arrays e.g. from real TWISS lattices.
RFQ, Detuners and TransverseTrackings have been adapted in both
Python and Cython versions. Also the tests have been adapted
both in interactive-tests and unittests.
PyHEADTAIL v1.4.0
New interface for:
- Generators for Particles instances / beams (much cleaner)
New features:
- Seperate generating and matching phase space functionality
- Matchor for linear transverse and longitudinal Twiss parameters ('matching section')
- Matching for dispersion
- Adopted and extended previous functionalities (CutRFBucket now for any distribution etc.)
PyHEADTAIL v1.3.2
Bugfix in the interplay of RFSystems and dispersion.
This version supports dispersion !=0 for RFSystems as longitudinal trackers (not only for LinearMaps)