Skip to content

Releases: xsuite/xtrack

Xtrack version v0.41.1

30 Aug 15:41
Compare
Choose a tag to compare

Changes:

  • Fixes an issue with xsuite-prebuild when xtrack is installed from pypi

Full Changelog: v0.41.0...v0.41.1

Xtrack version 0.41.0

29 Aug 14:19
Compare
Choose a tag to compare

Changes:

  • Introduce computation of equilibrium emittances in the result of twiss(..., ene_loss_and_damping=True).
  • Introduce Line.match(compensate_radiation_energy_loss=True).
  • Introduce Line.vv as alias of Line.varval.
  • Introduce Line.attr for quick extraction of commonly used element attributes (length, hxl, hyl, low order strengths).
  • Introduce backtrack for CombinedFunctionMagnet.
  • Introduce Line.metadata and Multiline.metadata.
  • Introduce Target(..., optimize_log=True) flag to optimize the logarithm of a quantity.
  • Introduce support for Int64 attributes in Multisetter.
  • Introduce TwissInit.to_dict(...), TwissInit.from_dict(...), TwissInit.to_json(...), TwissInit.from_json(...).
  • Refactor prebuilt kernel management to control the order in which they are checked.
  • Refactor Line.compensate_radiation_energy_loss() to preserve expressions. New implementation is also considerably faster.
  • Switched to radiation_method = "kick_as_co" as default in the presence of radiation (significantly faster than full).
  • Fix sign error on weak focusing from hyl in multipole.
  • In mad_loader, add entry and exit markers also for thin elements that are not markers themselves.
  • Use shorter suffix when splitting drifts to insert elements.
  • Performance improvement in line.__getitem__.
  • Improved speed in LastTurnMonitor.

Full Changelog: v0.40.2...v0.41.0

Xtrack version v0.40.2

26 Aug 11:41
Compare
Choose a tag to compare

Changes:

  • Introduce NonLinearLens element (based on MAD-X nllens).

Full Changelog: v0.40.1...v0.40.2

Xtrack version 0.40.1

22 Aug 14:49
Compare
Choose a tag to compare

Changes:

  • Introduce ParticlesMonitor.to_dict and ParticlesMonitor.from_dict methods.

Full Changelog: v0.40.0...v0.40.1

Xtrack version 0.40.0

11 Aug 09:01
Compare
Choose a tag to compare

Changes

  • Introduce only_markers mode for Line.twiss.
  • In Line.twiss finite-difference steps are automatically adapted to estimated beam size.
  • New feature in Line.match
    • xtrack.START and xtrack.END can be used as location in match targets.
    • TargetSet can be used to specify multiple parameters at the same location.
    • Default values for vary limits and steps can be specified in Line.vars.vary_default.
    • Line.match always returns the optimizer object.
  • Add examples of rematching for LHC optics.

Full Changelog: v0.39.0...v0.40.0

Xtrack version 0.39.0

21 Jul 09:12
Compare
Choose a tag to compare

Changes

  • New capabilities related to element compounds:
    • Insertion of elements within compounds.
    • Slicing of thick elements within compounds with propagation to all slices of the aperture and related tilts and shifts.
  • New feature in matching with generation of an optimizer object to inspect and drive the matching process (the object can be obtained with optimizer = line.match(solve=False)). The optimizer object allows the following actions:
    • Perform an assigned number of optimization steps calling optimizer.step(...).
    • Iterate until solution is found or termination condition is met through optimized.solve(...).
    • Disable/enable targets and vary objects through their active flag.
    • Inspect vary's and targets of the optimizer using the method optimizer.show().
    • Assign a tag to groups of vary's and targets and disable/enable groups by calling optimizer.disable_targets(tag=...), optimizer.disable_vary(tag=...), optimizer.enable_targets(tag=...), optimizer.enable_vary(tag=...).
    • Inspect the optimizer iteration history through optimizer.log(). History can be deleted by optimizer.clear_log()
    • Reload the state from a given iteration by calling optimizer.reload(...).
    • Provide defaults for vary steps and limits through Line.vars.vary_default.
    • Provide defaults for target tolerances through match(default_tol={...}.
    • Expose all features above in the matching of knobs.
  • Introduced Line.vars.load_madx_optics_file method.
  • Introduce Line.varval to easily access variable values (line.varval['a'] equivalent to line.vars['a']._value)
  • Introduce backtracking for thick elements Quadrupole and Bend (the latter only in expanded mode).
  • Introduce Multiline.copy() method.
  • Introduce method TwissTable.concatenate to concatenate twiss tables.
  • Introduced TargetRelPhaseAdvance to match relative phase advance between two points.
  • Fix handling of custom twiss_init when twiss_default['reverse'] is True.

Full Changelog: v0.38.3...v0.39.0

Xtrack version 0.38.3

18 Jul 11:24
Compare
Choose a tag to compare

Changes:

  • Fix in dipole wedge map (issue with ions)
  • Add Tracker._init_io_buffer method.

Full Changelog: v0.38.2...v0.38.3

Xtrack version 0.38.2

09 Jul 04:44
Compare
Choose a tag to compare

Changes:

  • Fixes in Fringe fields and expanded bend
  • Fix in Line.optimize_for_tracking

Full Changelog: v0.38.1...v0.38.2

Xtrack version 0.38.1

05 Jul 11:09
Compare
Choose a tag to compare

Changes:

  • ShiftZeta element shifts only time variable.

Xtrack version 0.38.0

04 Jul 15:00
Compare
Choose a tag to compare

Changes:

  • Introduce non-linear fringe effects in DipoleEdge element (can be enabled using Line.configure_bend_model(edge='full'))
  • Introduce "compound elements" in Line.
    • Elements within compounds can be grouped in twiss using the option group_compound_elements=True
  • Rename Bend.method into Bend. model.

Full Changelog: v0.37.2...v0.38.0