Skip to content

Releases: PyCOMPLETE/PyHEADTAIL

PyHEADTAIL v1.3.1

19 Jun 15:59
Compare
Choose a tag to compare

Minor bug fixes for setup.py, WakeTest.ipynb, versioning without git and README.

PyHEADTAIL v1.3.0

19 Jun 12:39
Compare
Choose a tag to compare

New features:

  • RFBucket Hamiltonian supports other potentials
    and fields (like space charge)
  • Multiturn wakefields
  • higher-order chromaticities (arbitrary order)
  • dispersion supported
  • unit tests
  • beam optics (optics functions like the beta function as
    inferred from the beam solely via statistical methods)
  • full phase advance for each segment (in addition to
    previous calculation of phase advance proportionally to s)
  • new SliceSet interface with statistics saved at creation for the slices
    and slice profile / derivative profile, also beam properties are taken over
  • Bassetti Erskine space charge
  • performance optimisation

PyHEADTAIL v1.2.0

19 Jun 14:29
Compare
Choose a tag to compare

RFSystems Interface Change

  • 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.

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

19 Jun 14:30
Compare
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

19 Jun 14:30
Compare
Choose a tag to compare

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

PyHEADTAIL v1.0.15

19 Jun 14:31
Compare
Choose a tag to compare

Added 64 bit compatibility to aperture module.

PyHEADTAIL v1.0.14

19 Jun 14:33
Compare
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

19 Jun 14:33
Compare
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

19 Jun 14:34
Compare
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

19 Jun 14:34
Compare
Choose a tag to compare

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