Skip to content

Releases: xsuite/xwakes

v0.2.0

21 Nov 13:53
Compare
Choose a tag to compare

Changes:

  • add copyright header everywhere
  • add PR workflow, so that tests are ran on GitHub every time that a PR is opened and upon new commits
  • fixes to pyproject.toml and setup.py for the tests to work
  • add contributors list
  • add new trackable wakes: WakeFromTable, WakeResonator, WakeThickResistiveWall together with a base class BaseWake
  • add Yokoya class for geometric factors
  • add CollectiveMonitor class
  • add TransverseDamper class
  • add function to configure pipeline for parallel tracking (used, but not exposed to the user)
  • refactored utility factory methods into classes (keeping the factory methods for backward compatibility)
  • improve examples:
    • usage of the slicer and compressed profile from xfields (with MPI)
    • usage of the new Wakefields
    • checks on the wake kicks in simple setting
    • checks on the tune shift
    • SPS tune-shift example (single-bunch, multi-bunch serial, multi-bunch MPI-parallel)
    • HL-LHC tune-shift example (single-bunch, multi-bunch serial, multi-bunch MPI-parallel)
    • LHC instability vs PyHEADTAIL benchmark
    • more tests on usage of the new wakes
  • tests for the new features
  • improvement of existing tests
  • added MPI tests (to be added to the pipeline)

Full Changelog: v0.1.0...v0.2.0

Xwakes version 0.1.0

21 Jun 12:06
Compare
Choose a tag to compare

This repository contains the package that was previously hosted at https://gitlab.cern.ch/IRIS/pywit

Changes with respect to original repository:

  • Main package renamed from PyWIT to Xwakes.
  • Package published in PyPI (https://pypi.org/project/xwakes/)
  • Content originally under pywit moved to xwakes.wit.
    • pywit is kept as alias of xwakes.wit for backward compatibility.
  • Add xwakes/wit/materials.json to MANIFEST, so that the file is copied when installing with pip.
  • Create new setup.py identical to other Xsuite ones.
    • Dependencies and test dependences checked
    • pywit folder in the user's home is not created on installation but can be optionally created by running python -c 'import xwakes; xwakes.initialize_pywit_directory(). This is required only for using the IW2D interface. (README file updated accordingly).
  • Add release.sh script to make releases in PyPI.
  • Add Apache 2 license file (no change in conditions compared to license file in PyWIT, just a bit more explicit).
  • Existing CI workflow made compatible with GitHub and is now triggered automatically when a PR is created. This has been tested (tests are passing).
  • Tests involving IW2D are skipped by pytest when IW2D is not installed.
  • Only minor modifications to the code itself, namely:
    • Removed dependency on sortednp. See commit.
    • Handled a numpy array access warning. See commit.
    • Make matplotlib optional. See commit.
    • Replace numpy.trapz (deprecated in numpy 2.0) with numpy.trapezoid.

Full Changelog: v0.0.3...v0.1.0