Releases: fsoubelet/PyhDToolkit
Release 0.9.1
Release 0.9.1 brings the following:
Added:
- An
install_mpl_style
function in theutils.defaults
module to create aphd.mplstyle
file inmatplotlib
's stylelib directory, making the style callable throughplt.style.use("phd")
.
Changed:
- The
PLOT_PARAMS
dictionary inutils.defaults
has been updated.
Removed:
- The
numba
library's used has been removed, easing the package's dependencies.
Additional dependencies are pydantic
, rich
and pendulum
. The llvmlite
dependency is also added explicitely, though it is a dependency of numba
and the version constraint is here to guarantee pyhdtoolkit
will build on Python 3.9.
Tests now include Python 3.9.
Release 0.9.0
Release 0.9.0 brings the following:
Added:
- A
misalign_lhc_ir_quadrupoles
function in thecpymadtools.errors
module to conveniently applyEALIGN
to IR quadrupoles. - A
misalign_lhc_triplets
function in thecpymadtools.errors
, convenience wrapper around the aforementioned one for triplets. - A
correct_lhc_orbit
function in thecpymadtools.orbit
module to perform orbit correction usingMCB.*
elements in the LHC. - A
vary_independent_ir_quadrupoles
function in thecpymadtools.special
to conveniently send thevary
commands for the desired quadrupoles in the IRs. - A
tune
module incpymadtools
with currently amake_footprint_table
function that creates aDYNAP
setup according to parameters and returns the generated table. - An
utils.htc_monitor
module with functionality to query the HTCondor queue, process the returned data and nicely display it. To be ran directly, but different functionality can be imported.
Changed:
- The
telescopic_squeeze
parameter inmatch_tunes_and_chromaticities
now defaults to True, to reflect the LHC scenario as of Run III. - The
get_ips_twiss
andget_ir_twiss
functions have been moved fromcpymadtools.special
tocpymadtools.twiss
.
Fixed:
- Fixed an issue in
plot_latwiss
where the function would sometimes mishandle thexlimits
argument. - Fixed a mistake in
apply_lhc_rigidity_waist_shift_knob
where theside
argument would be ignored if uppercase.
Additional dependencies are pydantic
, rich
and pendulum
. The llvmlite
dependency is also added explicitely, though it is a dependency of numba
and the version constraint is here to guarantee pyhdtoolkit
will build on Python 3.9.
Tests now include Python 3.9.
Release 0.8.5
Release 0.8.5 brings minor fixes and changes.
Fixed:
- The
match _tunes_and_chromaticities
now properly behaves if some of the targets are set to 0.
Changed:
- The default behavior in lattice slicing is changed to have
makedipedge
asFalse
, which compensates the effect of the default slicing styleTEAPOT
.
Release 0.8.4
Changes:
- The machine layout plotting in
plot_latwiss
has been exported to its own function. It is a private function.
Added:
- An
xoffset
variable toplot_latwiss
, allowing to center the plot on a specific element.
Release 0.8.3
Added:
- A function in
cpymadtools.twiss
to export the entire twiss table to aTfsDataFrame
.
Release 0.8.2
Release 0.8.2 brings some fixes QoL additions.
Added:
- A
maths.utils
module with convenience functions related to magnitude. - An
optics.ripken
module with functions to calculate beam size according to Lebedev and Bogacz's formalism. - A convenience logging setup function in
utils.defaults
. plot_latwiss
now adds a legend for different elements in the layout.plot_latwiss
can now optionally plot BPM patches.plot_latwiss
now accepts kwargs that will be transmitted to the layout plotting function.- QoL information in various docstrings.
Changed:
- The
PLOT_PARAMS
have been moved toutils.defaults
. - The
get_pattern_twiss
default argument values now select the entire twiss table. plot_latwiss
changed the parameterplot_sextupoles
tok2l_lim
, creating a dedicated axis for sextupole patches in the layout.
Fixed:
get_pattern_twiss
now properly capitalizes variable names in the returnedTfsDataFrame
.plot_latwiss
now only draws elements in the desired area whenxlimits
is provided, for a drastic speedup on big machines.
Removed:
- The
plotting.settings
module has been removed. plot_latwiss
doesn't force thepdf
format when saving the figure anymore.
Release 0.8.1
Release 0.8.1 brings a very minor fix.
Fixed:
- Fixed inacurrate logging statements during tunes and chromaticities matching.
Removed:
- Removed the unused
scripts
folder as well as the scripts' dependencies.
Release 0.8.0
Release 0.8.0 brings some fixes and a additional cpymadtools
.
Added:
- a
twiss
submodule to easily get specific patterns. - a
track
submodule to handle particle tracking with MAD-X'sTRACK
command. - utilities to get
TWISS
frame for specific IP or IR locations - utilities to
MAKETHIN
for (HL)LHC sequences. - utility to install an AC dipole in LHC beam 1.
Changed:
- The
cpymadtools
now usemadx
as a parameter name instead ofcpymad_instance
. - Relaxed dependencies.
Fixed:
- Closest tune approach determination now properly handles explicit targets
- Beam definition
Release 0.7.0
Release 0.7.0 brings API consistency changes and a reworked cpymadtools
module with new functionality, including:
- an
errors
submodule to handle (HL)LHC magnetic errors setup - a
matching
submodule with routines for MAD-X matching and closest tune approach determination - an
orbit
submodule to handle (HL)LHC orbit variables setup - a
ptc
submodule with routines for MAD-X PTC operations - a
special
submodule with routines for personal use cases for (HL)LHC in MAD-X
Additionally, the release brings a cleanup of some other modules, an improved test coverage and a few tweaks to dev configurations.
Release 0.6.0
Release 0.6.0 brings the following changes:
-
Full compatibility across OSes (thanks to
cpymad
's progress) -
Added a
tfstools
module -
Added a
beam
module inoptics
-
Added an (experimental)
timedata
module inplotting
-
Improved object validation with
pydantic
-
Made
cpymad
a default dependency -
Added a
docs
dependency -
Updated dependencies.
-
Moved CI to Github Actions, now covers all platforms
-
Improved test coverage.
-
Started documentation site