Evidence collection
0.8.0-evidences-60.json 2320d9e6
Collected 4 months ago
Release notes
New features
Intrabeam Scattering
- Implementation of IBS effect in mbtrack2, the
IntrabeamScattering
class was added in mbtrack2.tracking.ibs. - It implements an approximate IBS kick based on an analytical model.
- Four analytical models are available: Piwinski Standard, Piwinski Modified, Completely Integrated Piwinski model, and Bane high-energy approximation. It is recommended to use Completely Integrated Piwinski model (CIMP) for fast simulations.
Optics
class
Important behavior change in - Default behavior of
Optics
is changed when AT lattice is loaded: now it defaults to optic function to s=0 instead of average ones. - Default behavior of
LongRangeResistiveWall
andImpedanceModel
when an AT lattice is loaded is to normalized byaverage_beta / local_beta
- Adds
Optics.average_beta
attribute
Nonlinear chromaticity
-
Synchrotron.get_chroma
can be used to compute nonlinear chromaticity from pyAT lattice. - Nonlinear chromaticity can be used in
TransverseMap
andTransverseSectorMap
. -
TransverseMap
now inherits fromTransverseSectorMap
.
SynchrotronRadiation
object
- Adds a
SynchrotronRadiation.qexcitation
optional parameter to turn off quantum excitation. - Improved performance.
Other improvements and modifications
- General performance improvements in many classes.
- Update
CircularResistiveWall
class in resistive_wall.py to replace numerical integrations with analytical forms for improved performance. - Use
scipy.integrate.trapezoid
for compatibility with newer version of numpy - Update
BeamIonElement
to work in a more general case. - Update
TransverseSpaceCharge
to work in a more general case. -
ComplexData.name_and_coefficients_table
is now a staticmethod. - Extend
WakeField
to "mixed" componenets (xydip, yxdip, ...). - Small fix/improvements for rf.py (
CavityResonator
for n_bin=1) - Add
Element.track_bunch_if_non_empty
decorator. - Modify
Bunch.binning
to add areturn_full_length
optional parameter. - Modify
Mpi.share_distributions
for n_bin=1. - Modify
WakePotential
for n_bin=1 and usetrack_bunch_if_non_empty
decorator. - Modify
PhysicalModel
to return errors if needed. - Adds
Beam.init_bunch_list_mpi
, a convenience method to initialize a beam using MPI parallelisation with aBunch
per core.
Project management
- Add > 400 tests and organize them in unit-tests and physics-tests.
- Add
assert_attr_changed
test function. - renamed particles_electromagnetic_fields.py into emfields.py and changed all the imports
- added CODEOWNERS file for automatic review assignment for merge requests
- Update pyproject.toml and poetry.lock with pytest-mock
Bugfix
- Fix
CavityResonator.is_CBI_stable
- Fix quadrupolar wake potential sign
- Bugfixes with beam_ion_elements.py
- Fix adts in
TransverseMapSector
- Fix
WakePotential.check_sampling
- Fix
Sweep.plot
- Fix
Monitor
sub-classes sometimes getting stuck when flushing data. - Fix
generate_transverse_map_sector
functionality to deduce chromaticity from pyAT lattice.
Authors who took part in this release
Alexis Gamelin, Vadim Gubaidulin, Keon Hee Kim, Watanyu Foosang, Teresia Olsson