Skip to content

Releases: like2000/PyHEADTAIL

RFSystems Interface Change

19 Feb 17:35

Choose a tag to compare

  • Kick objects and Drift objects are now completely hidden behind RFSystems, do NOT use them anymore
  • all RF parameters (only!) available via

$ >>> longitudinal_map = RFSystems(..., some_harmonics, some_voltages, some_phi_offsets, ...)
$ >>> list(longitudinal_map.voltages) == some_voltages
True
$ >>> list(longitudinal_map.harmonics) == some_harmonics
True
$ >>> list(longitudinal_map.phi_offets) == some_phi_offsets
True

  • in the context of the RF parameter interface, general.utils.ListProxy has been added
  • RFBucket instances are now ONLY fixed blueprints (same concept as for SliceSet instances).
    Access the current state of the RF bucket configuration (for Hamiltonians and matching) via

$ >>> longitudinal_map.get_bucket(some_gamma)

This release has been tested with the PS transition situation, the corresponding test notebook will soon be integrated into the PyHEADTAIL testing suite.

Attention:
It is discouraged to store slice views (blabla = rfsystems.voltages[2:4]) of the RFSystems parameter interfaces.
(Reason: their internal reference lists are not updated if RFSystems._kicks is restructured (via pop etc))

PyHEADTAIL v1.1.1

10 Feb 18:09

Choose a tag to compare

Minor changes / adaptions to the new, fixed implementation of the aperture module
(see PyHEADTAIL v1.1.0):

  • Aperture module: Update docstrings, remove obsolete apply_losses_here, pass along consistently the *args, **kwargs.
  • Particles module: Update docstrings.
  • ApertureNLosses interactive test: use new implementation of the aperture module.
  • setup.py: remove the obsolete particles/cython_functions.pyx module.

PyHEADTAIL v1.1.0

10 Feb 15:11

Choose a tag to compare

Add losses - remove views, instead use arrays with alive particles directly.

PyHEADTAIL v1.0.15

09 Feb 17:06

Choose a tag to compare

Added 64 bit compatibility to aperture module.

PyHEADTAIL v1.0.14

28 Jan 18:07

Choose a tag to compare

  • New feature: apertures and particle losses.
  • In Wakes module:
    Make function_longitudinal(..) and function_transverse(..) public and
    clean up redundant code.
  • In Particles: add(..) method now takes dictionary as argument.

PyHEADTAIL v1.0.13

28 Jan 14:08

Choose a tag to compare

  • In AmplitudeDetuningSegment: Include alpha_{x,y} in calculation of transverse action.
  • In Resonator and ResistiveWall WakeSources: Rename Yokoya_Z parameter.
  • In Resonator: clean up methods _function_transverse and _function_longitudinal (remove R_shunt, frequency, Q from args. Access them directly using self. ...).

PyHEADTAIL v1.0.12

18 Jan 17:46

Choose a tag to compare

Replace reference in the particles update method by copy. Does require numpy arrays at this stage.

PyHEADTAIL v1.0.11

17 Jan 06:33

Choose a tag to compare

Improved matching using semi-analytic evaluations for better convergence of longitudinal emittances.

PyHEADTAIL v1.0.10

16 Jan 17:53

Choose a tag to compare

Bugfixlongitudinal broadband resonator
Added transverse space charge (needs PyPIC)
Added transverse E field map (needs PyPIC)

PyHEADTAIL v1.0.9

15 Jan 19:00

Choose a tag to compare

Bugfix in transverse_tracking module:
Use numpy float comparison in transverse_tracking.py and transverse_tracking_cython.pyx to ensure that s[-1]==C.

Other float comparisons have been eliminated e.g. in the particles.py and the generators.py modules. However, some are still present in the code and need to be fixed (e.g. in wakes.py, tbc how).