Xibs

Latest version: v0.8.0

Safety actively analyzes 638452 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 2 of 2

0.4.0

Release `0.4.0` brings some new functionality and an internal refactor of the analytical code.

Package Changes

**"Breaking Changes**

- The `BeamParameters` class now asks for energies in `eV` instead of `GeV`. If instantiating from the `.from_line` or `.from_madx` constructor methods, no changes from the user are required.

**Code Refactor**

- Analytical classes are now based on a new `AnalyticalIBS` ABC class, which implements itself `.coulomb_log` and `.emittance_evolution`, and provides API footprints for abstract methods to implement. This improves code clarity and helped reduce some overheads.

**New Functionality**

- Both geometric and normalized emittances can be provided wherever emittances are expected as input, and the user can specify which is given with a `normalized_emittances` boolean argument. Conversion is handled internally.
- Where emittances are returned, the same type as the ones given is returned (normalized as inputs leads to normalized as outputs etc).
- The `BjorkenMtingwaIBS` class can now handle coasting beams for growth rates calculation, with a new `bunched` boolean argument. Methods called internally (`.coulomb_log` and `._Gamma`) have also had this implemented and the parameter is propagated.
- The `NagaitsevIBS` class has matched the API but raises a `NotImplementedError` if `bunched=True` is given.
- The `OpticsParameters` class now checks for betatron coupling presence in constructor methods and logs a warning to the user if some is present in the machine, as it might make results inaccurate.

**Maintenance**

- Fixed some deprecation warnings in constructors.
- Added tests for all new behaviours and changes.

Documentation Changes

- Added an FAQ section for geometric & normalized emittances.
- Added an FAQ section for bunched & coasting beams.
- Updated all API docs according to the changes above.
- Added reference to Physics Vade Mecum and cite it in docstring of Coulomb log.
- Adapted benchmarks and example galleries to new APIs.

Other Changes

- Updated CI to use the newer action version for `setup-python`.
- Explicitely included Python 3.12 to test matrices.
- Added authors file for Zenodo integration.
- Included badges in README.

See the [documentation](https://fsoubelet.github.io/xibs/) for details on all new functionality.

**Full Changelog**: https://github.com/fsoubelet/xibs/compare/0.3.0...0.4.0

0.3.0.0

Release `0.3.0` brings a new analytical IBS formalism: Bjorken-Mtingwa.

Additions:
- A new class, `xibs.analytical.BjorkenMtingwaIBS` that takes into account vertical dispersion.
- A helper function, `xibs.ibs`, for formalism dispatch.
- The `.emittance_evolution` in `xibs.analytical` classes now also computes the evolution of bunch length according to that of the momentum spread.
- The input classes `BeamParameters` and `OpticsParameters` now provide convenience builder methods, `.from_line` and `.from_madx` to easily instanciate the object.
- `OpticsParameters` internally checks if TWISS was calculated at the center of elements.

Maintenance:
- The `kicks` submodule has been turned into a single file (module) for its future implementation (next feature release).
- All stored lines for tests have been updated with a fix for their `.particle_ref`, which was previously wrong.
- Tests have been added for all new functionality.
- New examples have been added to the documentation gallery, including a benchmark.
- Large updates have been made to the documentation.

See the [documentation](https://fsoubelet.github.io/xibs/) for details on all new functionality.

Page 2 of 2

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.