xtrack 0.48.2__tar.gz → 0.50.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (141) hide show
  1. {xtrack-0.48.2/xtrack.egg-info → xtrack-0.50.0}/PKG-INFO +1 -1
  2. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/elements.py +6 -6
  3. {xtrack-0.48.2 → xtrack-0.50.0}/setup.py +2 -1
  4. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/__init__.py +5 -6
  5. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/_temp/lhc_match/lhc_match.py +46 -46
  6. xtrack-0.50.0/xtrack/_version.py +1 -0
  7. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements.py +123 -482
  8. xtrack-0.50.0/xtrack/beam_elements/elements_src/bend.h +250 -0
  9. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/linesegmentmap.h +8 -9
  10. xtrack-0.50.0/xtrack/beam_elements/elements_src/quadrupole.h +27 -0
  11. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/track_thick_bend.h +20 -1
  12. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/line.py +289 -59
  13. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/mad_loader.py +9 -8
  14. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/match.py +285 -94
  15. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/multiline/multiline.py +11 -1
  16. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/prebuild_kernels.py +0 -3
  17. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/prebuilt_kernels/kernel_definitions.py +0 -2
  18. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/twiss.py +392 -297
  19. {xtrack-0.48.2 → xtrack-0.50.0/xtrack.egg-info}/PKG-INFO +1 -1
  20. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack.egg-info/SOURCES.txt +0 -3
  21. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack.egg-info/requires.txt +2 -0
  22. xtrack-0.48.2/xtrack/_version.py +0 -1
  23. xtrack-0.48.2/xtrack/beam_elements/elements_src/bend.h +0 -61
  24. xtrack-0.48.2/xtrack/beam_elements/elements_src/combinedfunctionmagnet.h +0 -45
  25. xtrack-0.48.2/xtrack/beam_elements/elements_src/lineartransfermatrix.h +0 -216
  26. xtrack-0.48.2/xtrack/beam_elements/elements_src/multipolar_kick.h +0 -55
  27. xtrack-0.48.2/xtrack/beam_elements/elements_src/quadrupole.h +0 -42
  28. {xtrack-0.48.2 → xtrack-0.50.0}/LICENSE +0 -0
  29. {xtrack-0.48.2 → xtrack-0.50.0}/MANIFEST.in +0 -0
  30. {xtrack-0.48.2 → xtrack-0.50.0}/README.md +0 -0
  31. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/__init__.py +0 -0
  32. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/base_classes.py +0 -0
  33. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/be_beamfields/BB6D.py +0 -0
  34. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/be_beamfields/BB6Ddata.py +0 -0
  35. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/be_beamfields/__init__.py +0 -0
  36. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/be_beamfields/beambeam.py +0 -0
  37. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/be_beamfields/boost.py +0 -0
  38. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/be_beamfields/gaussian_fields.py +0 -0
  39. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/be_beamfields/propagate_sigma_matrix.py +0 -0
  40. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/be_beamfields/qgauss.py +0 -0
  41. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/be_beamfields/slicing.py +0 -0
  42. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/be_beamfields/spacecharge.py +0 -0
  43. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/line.py +0 -0
  44. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/mathlibs.py +0 -0
  45. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/particles.py +0 -0
  46. {xtrack-0.48.2 → xtrack-0.50.0}/ducktrack/temp_pyparticles.py +0 -0
  47. {xtrack-0.48.2 → xtrack-0.50.0}/pyproject.toml +0 -0
  48. {xtrack-0.48.2 → xtrack-0.50.0}/setup.cfg +0 -0
  49. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/_temp/__init__.py +0 -0
  50. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/_temp/lhc_match/__init__.py +0 -0
  51. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/_temp/lhc_match/gen_madx_optics_file.py +0 -0
  52. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/_temp/lhc_match/var_limits.py +0 -0
  53. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/base_element.py +0 -0
  54. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/__init__.py +0 -0
  55. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/apertures.py +0 -0
  56. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/apertures_src/limitellipse.h +0 -0
  57. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/apertures_src/limitpolygon.h +0 -0
  58. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/apertures_src/limitracetrack.h +0 -0
  59. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/apertures_src/limitrect.h +0 -0
  60. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/apertures_src/limitrectellipse.h +0 -0
  61. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/apertures_src/longitudinallimitrect.h +0 -0
  62. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/beam_interaction.py +0 -0
  63. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/cavity.h +0 -0
  64. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/dipoleedge.h +0 -0
  65. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/drift.h +0 -0
  66. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/drift_elem.h +0 -0
  67. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/elens.h +0 -0
  68. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/exciter.h +0 -0
  69. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/firstordertaylormap.h +0 -0
  70. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/fringe.h +0 -0
  71. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/fringe_track.h +0 -0
  72. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/multipole.h +0 -0
  73. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/nonlinearlens.h +0 -0
  74. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/referenceenergyincrease.h +0 -0
  75. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/rfmultipole.h +0 -0
  76. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/second_order_taylor_map.h +0 -0
  77. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/sextupole.h +0 -0
  78. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/simplethinbend.h +0 -0
  79. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/simplethinquadrupole.h +0 -0
  80. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/solenoid.h +0 -0
  81. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/srotation.h +0 -0
  82. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/track_thick_cfd.h +0 -0
  83. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/track_yrotation.h +0 -0
  84. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/wedge.h +0 -0
  85. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/wedge_track.h +0 -0
  86. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/wire.h +0 -0
  87. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/xrotation.h +0 -0
  88. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/xyshift.h +0 -0
  89. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/yrotation.h +0 -0
  90. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/elements_src/zetashift.h +0 -0
  91. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/beam_elements/exciter.py +0 -0
  92. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/compounds.py +0 -0
  93. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/footprint.py +0 -0
  94. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/general.py +0 -0
  95. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/headers/atomicadd.h +0 -0
  96. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/headers/checks.h +0 -0
  97. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/headers/constants.h +0 -0
  98. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/headers/particle_states.h +0 -0
  99. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/headers/synrad_spectrum.h +0 -0
  100. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/internal_record.py +0 -0
  101. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/linear_normal_form.py +0 -0
  102. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/loss_location_refinement/__init__.py +0 -0
  103. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/loss_location_refinement/loss_location_refinement.py +0 -0
  104. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/lumi.py +0 -0
  105. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/monitors/__init__.py +0 -0
  106. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/monitors/beam_position_monitor.h +0 -0
  107. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/monitors/beam_position_monitor.py +0 -0
  108. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/monitors/beam_profile_monitor.h +0 -0
  109. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/monitors/beam_profile_monitor.py +0 -0
  110. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/monitors/beam_size_monitor.h +0 -0
  111. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/monitors/beam_size_monitor.py +0 -0
  112. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/monitors/last_turns_monitor.h +0 -0
  113. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/monitors/last_turns_monitor.py +0 -0
  114. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/monitors/particles_monitor.h +0 -0
  115. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/monitors/particles_monitor.py +0 -0
  116. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/multiline/__init__.py +0 -0
  117. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/multiline/shared_knobs.py +0 -0
  118. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/multisetter/__init__.py +0 -0
  119. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/multisetter/multisetter.py +0 -0
  120. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/pipeline/__init__.py +0 -0
  121. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/pipeline/core.py +0 -0
  122. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/pipeline/manager.py +0 -0
  123. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/pipeline/multitracker.py +0 -0
  124. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/prebuilt_kernels/__init__.py +0 -0
  125. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/progress_indicator.py +0 -0
  126. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/random/__init__.py +0 -0
  127. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/random/random_generators.py +0 -0
  128. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/random/random_src/exponential.h +0 -0
  129. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/random/random_src/exponential_integral_Ei.h +0 -0
  130. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/random/random_src/normal.h +0 -0
  131. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/random/random_src/rutherford.h +0 -0
  132. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/random/random_src/uniform.h +0 -0
  133. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/slicing.py +0 -0
  134. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/survey.py +0 -0
  135. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/tapering.py +0 -0
  136. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/targets.py +0 -0
  137. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/tracker.py +0 -0
  138. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/tracker_data.py +0 -0
  139. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack/tracker_src/tracker.h +0 -0
  140. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack.egg-info/dependency_links.txt +0 -0
  141. {xtrack-0.48.2 → xtrack-0.50.0}/xtrack.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: xtrack
3
- Version: 0.48.2
3
+ Version: 0.50.0
4
4
  Summary: Tracking library for particle accelerators
5
5
  Home-page: https://xsuite.readthedocs.io/
6
6
  Download-URL: https://pypi.python.org/pypi/xtrack
@@ -636,10 +636,10 @@ class LinearTransferMatrix(Element):
636
636
  ("Q_s","","",0.0),
637
637
  ("chroma_x","","",0.0),
638
638
  ("chroma_y","","",0.0),
639
- ("detx_x","","",0.0),
640
- ("detx_y","","",0.0),
641
- ("dety_y","","",0.0),
642
- ("dety_x","","",0.0),
639
+ ("det_xx","","",0.0),
640
+ ("det_xy","","",0.0),
641
+ ("det_yy","","",0.0),
642
+ ("det_yx","","",0.0),
643
643
  ("energy_ref_increment","","",0.0),
644
644
  ("energy_increment","","",0.0),
645
645
  ("x_ref_0","","",0.0),
@@ -694,10 +694,10 @@ class LinearTransferMatrix(Element):
694
694
  (1.0 + self.alpha_y_0*self.alpha_y_0)/self.beta_y_0 * p.y*p.y
695
695
  + 2*self.alpha_y_0 * p.y*p.py
696
696
  + self.beta_y_0 * p.py*p.py)
697
- phase = 2*np.pi*(self.Q_x+self.chroma_x*p.delta+self.detx_x*J_x+self.detx_y*J_y)
697
+ phase = 2*np.pi*(self.Q_x+self.chroma_x*p.delta+self.det_xx*J_x+self.det_xy*J_y)
698
698
  cos_x = cos(phase)
699
699
  sin_x = sin(phase)
700
- phase = 2*np.pi*(self.Q_y+self.chroma_y*p.delta+self.dety_y*J_y+self.dety_x*J_x)
700
+ phase = 2*np.pi*(self.Q_y+self.chroma_y*p.delta+self.det_yy*J_y+self.det_yx*J_x)
701
701
  cos_y = cos(phase)
702
702
  sin_y = sin(phase)
703
703
 
@@ -41,12 +41,13 @@ setup(
41
41
  include_package_data=True,
42
42
  install_requires=[
43
43
  'numpy>=1.0',
44
+ "pandas>=2.0",
44
45
  'scipy',
45
46
  'xobjects',
46
47
  'xpart',
47
48
  'xdeps'
48
49
  ],
49
50
  extras_require={
50
- 'tests': ['cpymad', 'PyHEADTAIL', 'pytest', 'pytest-mock'],
51
+ 'tests': ['cpymad', 'NAFFlib', 'PyHEADTAIL', 'pytest', 'pytest-mock'],
51
52
  },
52
53
  )
@@ -36,15 +36,14 @@ from .footprint import Footprint, LinearRescale
36
36
  # Flags and test functions
37
37
  from .line import _is_drift, _behaves_like_drift, _is_aperture, _is_thick, _allow_backtrack
38
38
  from .line import _lines_equal, _apertures_equal
39
+
40
+ from .slicing import Strategy, Uniform, Teapot
39
41
  from .loss_location_refinement import _skip_in_loss_location_refinement
40
42
 
41
- from xdeps import Table
43
+ from xdeps import Table, FunctionPieceWiseLinear
42
44
 
43
45
  from ._version import __version__
44
46
 
45
- from xpart import Particles, PROTON_MASS_EV, ELECTRON_MASS_EV
47
+ from xpart import(Particles, PROTON_MASS_EV, ELECTRON_MASS_EV,
48
+ enable_pyheadtail_interface, disable_pyheadtail_interface)
46
49
 
47
- def enable_pyheadtail_interface(*args, **kwargs):
48
- raise ValueError(
49
- "\n`xtrack.enable_pyheadtail_interface` not available anymore,"
50
- "\nplease use `xpart.enable_pyheadtail_interface`")
@@ -41,21 +41,21 @@ def get_arc_periodic_solution(collider, line_name=None, arc_name=None):
41
41
  line = collider[line_name]
42
42
 
43
43
  twinit_cell = line.twiss(
44
- ele_start=start_cell,
45
- ele_stop=end_cell,
46
- twiss_init='periodic',
44
+ start=start_cell,
45
+ end=end_cell,
46
+ init='periodic',
47
47
  only_twiss_init=True)
48
48
 
49
49
  tw_to_end_arc = line.twiss(
50
- ele_start=twinit_cell.element_name,
51
- ele_stop=end_arc,
52
- twiss_init=twinit_cell,
50
+ start=twinit_cell.element_name,
51
+ end=end_arc,
52
+ init=twinit_cell,
53
53
  )
54
54
 
55
55
  tw_to_start_arc = line.twiss(
56
- ele_start=start_arc,
57
- ele_stop=twinit_cell.element_name,
58
- twiss_init=twinit_cell)
56
+ start=start_arc,
57
+ end=twinit_cell.element_name,
58
+ init=twinit_cell)
59
59
 
60
60
  res = xt.TwissTable.concatenate([tw_to_start_arc, tw_to_end_arc])
61
61
  res['mux'] = res['mux'] - res['mux', start_arc]
@@ -162,7 +162,7 @@ def compute_ats_phase_advances_for_auxiliary_irs(line_name,
162
162
 
163
163
  def propagate_optics_from_beta_star(collider, ip_name, line_name,
164
164
  beta_star_x, beta_star_y,
165
- ele_start, ele_stop):
165
+ start, end):
166
166
 
167
167
  assert collider.lhcb1.twiss_default.get('reverse', False) is False
168
168
  assert collider.lhcb2.twiss_default['reverse'] is True
@@ -178,13 +178,13 @@ def propagate_optics_from_beta_star(collider, ip_name, line_name,
178
178
  ele_stop_left = ip_name
179
179
  ele_start_right = ip_name
180
180
 
181
- tw_left = collider[line_name].twiss(ele_start=ele_start, ele_stop=ele_stop_left,
182
- twiss_init=xt.TwissInit(line=collider[line_name],
181
+ tw_left = collider[line_name].twiss(start=start, end=ele_stop_left,
182
+ init=xt.TwissInit(line=collider[line_name],
183
183
  element_name=ele_stop_left,
184
184
  betx=beta_star_x,
185
185
  bety=beta_star_y))
186
- tw_right = collider[line_name].twiss(ele_start=ele_start_right, ele_stop=ele_stop,
187
- twiss_init=xt.TwissInit(line=collider[line_name],
186
+ tw_right = collider[line_name].twiss(start=ele_start_right, end=end,
187
+ init=xt.TwissInit(line=collider[line_name],
188
188
  element_name=ele_start_right,
189
189
  betx=beta_star_x,
190
190
  bety=beta_star_y))
@@ -384,9 +384,9 @@ def rematch_ir2(collider, line_name,
384
384
  opt = collider[f'lhc{bn}'].match(
385
385
  solve=False,
386
386
  default_tol=default_tol,
387
- ele_start=f's.ds.l2.{bn}', ele_stop=f'e.ds.r2.{bn}',
387
+ start=f's.ds.l2.{bn}', end=f'e.ds.r2.{bn}',
388
388
  # Left boundary
389
- twiss_init='preserve_start', table_for_twiss_init=boundary_conditions_left,
389
+ init=boundary_conditions_left, init_at=xt.START,
390
390
  targets=[
391
391
  xt.TargetSet(at=xt.END,
392
392
  tars=('betx', 'bety', 'alfx', 'alfy', 'dx', 'dpx'),
@@ -444,8 +444,8 @@ def rematch_ir3(collider, line_name,
444
444
  opt = collider[f'lhc{bn}'].match(
445
445
  solve=False,
446
446
  default_tol=default_tol,
447
- ele_start=f's.ds.l3.{bn}', ele_stop=f'e.ds.r3.{bn}',
448
- twiss_init='preserve_start', table_for_twiss_init=boundary_conditions_left,
447
+ start=f's.ds.l3.{bn}', end=f'e.ds.r3.{bn}',
448
+ init=boundary_conditions_left, init_at=xt.START,
449
449
  targets=[
450
450
  xt.TargetSet(at='ip3',
451
451
  alfx=alfx_ip3, alfy=alfy_ip3, betx=betx_ip3, bety=bety_ip3,
@@ -491,8 +491,8 @@ def rematch_ir4(collider, line_name,
491
491
  opt = collider[f'lhc{bn}'].match(
492
492
  solve=False,
493
493
  default_tol=default_tol,
494
- ele_start=f's.ds.l4.{bn}', ele_stop=f'e.ds.r4.{bn}',
495
- twiss_init='preserve_start', table_for_twiss_init=boundary_conditions_left,
494
+ start=f's.ds.l4.{bn}', end=f'e.ds.r4.{bn}',
495
+ init=boundary_conditions_left, init_at=xt.START,
496
496
  targets=[
497
497
  xt.TargetSet(at='ip4',
498
498
  alfx=alfx_ip4, alfy=alfy_ip4, betx=betx_ip4, bety=bety_ip4,
@@ -540,9 +540,9 @@ def rematch_ir6(collider, line_name,
540
540
  opt = collider[f'lhc{bn}'].match(
541
541
  solve=False,
542
542
  default_tol=default_tol,
543
- ele_start=f's.ds.l6.{bn}', ele_stop=f'e.ds.r6.{bn}',
543
+ start=f's.ds.l6.{bn}', end=f'e.ds.r6.{bn}',
544
544
  # Left boundary
545
- twiss_init='preserve_start', table_for_twiss_init=boundary_conditions_left,
545
+ init=boundary_conditions_left, init_at=xt.START,
546
546
  targets=[
547
547
  xt.TargetSet(at='ip6',
548
548
  alfx=alfx_ip6, alfy=alfy_ip6, betx=betx_ip6, bety=bety_ip6,
@@ -583,9 +583,9 @@ def rematch_ir7(collider, line_name,
583
583
  opt = collider[f'lhc{bn}'].match(
584
584
  solve=False,
585
585
  default_tol=default_tol,
586
- ele_start=f's.ds.l7.{bn}', ele_stop=f'e.ds.r7.{bn}',
586
+ start=f's.ds.l7.{bn}', end=f'e.ds.r7.{bn}',
587
587
  # Left boundary
588
- twiss_init='preserve_start', table_for_twiss_init=boundary_conditions_left,
588
+ init=boundary_conditions_left, init_at=xt.START,
589
589
  targets=[
590
590
  xt.TargetSet(at='ip7',
591
591
  alfx=alfx_ip7, alfy=alfy_ip7, betx=betx_ip7, bety=bety_ip7,
@@ -633,9 +633,9 @@ def rematch_ir8(collider, line_name,
633
633
  opt = collider[f'lhc{bn}'].match(
634
634
  solve=False,
635
635
  default_tol=default_tol,
636
- ele_start=f's.ds.l8.{bn}', ele_stop=f'e.ds.r8.{bn}',
636
+ start=f's.ds.l8.{bn}', end=f'e.ds.r8.{bn}',
637
637
  # Left boundary
638
- twiss_init='preserve_start', table_for_twiss_init=boundary_conditions_left,
638
+ init=boundary_conditions_left, init_at=xt.START,
639
639
  targets=[
640
640
  xt.TargetSet(at='ip8',
641
641
  alfx=alfx_ip8, alfy=alfy_ip8, betx=betx_ip8, bety=bety_ip8,
@@ -709,12 +709,12 @@ def match_orbit_knobs_ip2_ip8(collider):
709
709
  ]
710
710
 
711
711
  bump_range_ip2 = {
712
- 'ele_start': ['s.ds.l2.b1', 's.ds.l2.b2'],
713
- 'ele_stop': ['e.ds.r2.b1', 'e.ds.r2.b2'],
712
+ 'start': ['s.ds.l2.b1', 's.ds.l2.b2'],
713
+ 'end': ['e.ds.r2.b1', 'e.ds.r2.b2'],
714
714
  }
715
715
  bump_range_ip8 = {
716
- 'ele_start': ['s.ds.l8.b1', 's.ds.l8.b2'],
717
- 'ele_stop': ['e.ds.r8.b1', 'e.ds.r8.b2'],
716
+ 'start': ['s.ds.l8.b1', 's.ds.l8.b2'],
717
+ 'end': ['e.ds.r8.b1', 'e.ds.r8.b2'],
718
718
  }
719
719
 
720
720
  correctors_ir2_single_beam_h = [
@@ -760,7 +760,7 @@ def match_orbit_knobs_ip2_ip8(collider):
760
760
  xt.TargetSet(line='lhcb2', at='ip2', y=offset_match, py=0),
761
761
  ]),
762
762
  vary=xt.VaryList(correctors_ir2_single_beam_v),
763
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip2,
763
+ run=False, init=twinit_zero_orbit, **bump_range_ip2,
764
764
  )
765
765
  opt_o2v.solve()
766
766
  opt_o2v.generate_knob()
@@ -774,7 +774,7 @@ def match_orbit_knobs_ip2_ip8(collider):
774
774
  xt.TargetSet(line='lhcb2', at='ip2', x=offset_match, px=0),
775
775
  ]),
776
776
  vary=xt.VaryList(correctors_ir2_single_beam_h),
777
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip2,
777
+ run=False, init=twinit_zero_orbit, **bump_range_ip2,
778
778
  )
779
779
  opt_o2h.solve()
780
780
  opt_o2h.generate_knob()
@@ -788,7 +788,7 @@ def match_orbit_knobs_ip2_ip8(collider):
788
788
  xt.TargetSet(line='lhcb2', at='ip8', y=offset_match, py=0),
789
789
  ]),
790
790
  vary=xt.VaryList(correctors_ir8_single_beam_v),
791
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip8,
791
+ run=False, init=twinit_zero_orbit, **bump_range_ip8,
792
792
  )
793
793
  opt_o8v.solve()
794
794
  opt_o8v.generate_knob()
@@ -802,7 +802,7 @@ def match_orbit_knobs_ip2_ip8(collider):
802
802
  xt.TargetSet(line='lhcb2', at='ip8', x=offset_match, px=0),
803
803
  ]),
804
804
  vary=xt.VaryList(correctors_ir8_single_beam_h),
805
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip8,
805
+ run=False, init=twinit_zero_orbit, **bump_range_ip8,
806
806
  )
807
807
  opt_o8h.solve()
808
808
  opt_o8h.generate_knob()
@@ -822,7 +822,7 @@ def match_orbit_knobs_ip2_ip8(collider):
822
822
  xt.TargetSet(line='lhcb2', at='ip2', x=0, px=ang_offset_match),
823
823
  ]),
824
824
  vary=xt.VaryList(correctors_ir2_single_beam_h),
825
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip2,
825
+ run=False, init=twinit_zero_orbit, **bump_range_ip2,
826
826
  )
827
827
 
828
828
  opt_a2h.solve()
@@ -837,7 +837,7 @@ def match_orbit_knobs_ip2_ip8(collider):
837
837
  xt.TargetSet(line='lhcb2', at='ip2', y=0, py=ang_offset_match),
838
838
  ]),
839
839
  vary=xt.VaryList(correctors_ir2_single_beam_v),
840
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip2,
840
+ run=False, init=twinit_zero_orbit, **bump_range_ip2,
841
841
  )
842
842
 
843
843
  opt_a2v.solve()
@@ -852,7 +852,7 @@ def match_orbit_knobs_ip2_ip8(collider):
852
852
  xt.TargetSet(line='lhcb2', at='ip8', x=0, px=ang_offset_match),
853
853
  ]),
854
854
  vary=xt.VaryList(correctors_ir8_single_beam_h),
855
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip8,
855
+ run=False, init=twinit_zero_orbit, **bump_range_ip8,
856
856
  )
857
857
 
858
858
  opt_a8h.solve()
@@ -867,7 +867,7 @@ def match_orbit_knobs_ip2_ip8(collider):
867
867
  xt.TargetSet(line='lhcb2', at='ip8', y=0, py=ang_offset_match),
868
868
  ]),
869
869
  vary=xt.VaryList(correctors_ir8_single_beam_v),
870
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip8,
870
+ run=False, init=twinit_zero_orbit, **bump_range_ip8,
871
871
  )
872
872
 
873
873
  opt_a8v.solve()
@@ -891,7 +891,7 @@ def match_orbit_knobs_ip2_ip8(collider):
891
891
  vary=[
892
892
  xt.VaryList(correctors_ir2_single_beam_h),
893
893
  xt.VaryList(correctors_ir2_common_h, tag='mcbx')],
894
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip2,
894
+ run=False, init=twinit_zero_orbit, **bump_range_ip2,
895
895
  )
896
896
  # Set mcbx by hand
897
897
  testkqx2=abs(collider.varval['kqx.l2'])*7000./0.3
@@ -915,7 +915,7 @@ def match_orbit_knobs_ip2_ip8(collider):
915
915
  vary=[
916
916
  xt.VaryList(correctors_ir2_single_beam_v),
917
917
  xt.VaryList(correctors_ir2_common_v, tag='mcbx')],
918
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip2,
918
+ run=False, init=twinit_zero_orbit, **bump_range_ip2,
919
919
  )
920
920
  # Set mcbx by hand
921
921
  testkqx2=abs(collider.varval['kqx.l2'])*7000./0.3
@@ -939,7 +939,7 @@ def match_orbit_knobs_ip2_ip8(collider):
939
939
  vary=[
940
940
  xt.VaryList(correctors_ir8_single_beam_h),
941
941
  xt.VaryList(correctors_ir8_common_h, tag='mcbx')],
942
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip8,
942
+ run=False, init=twinit_zero_orbit, **bump_range_ip8,
943
943
  )
944
944
 
945
945
  # Set mcbx by hand (reduce value by 10, to test matching algorithm)
@@ -985,7 +985,7 @@ def match_orbit_knobs_ip2_ip8(collider):
985
985
  vary=[
986
986
  xt.VaryList(correctors_ir8_single_beam_v),
987
987
  xt.VaryList(correctors_ir8_common_v, tag='mcbx')],
988
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip8,
988
+ run=False, init=twinit_zero_orbit, **bump_range_ip8,
989
989
  )
990
990
 
991
991
  # Set mcbx by hand
@@ -1022,7 +1022,7 @@ def match_orbit_knobs_ip2_ip8(collider):
1022
1022
  vary=[
1023
1023
  xt.VaryList(correctors_ir2_single_beam_h),
1024
1024
  xt.VaryList(correctors_ir2_common_h, tag='mcbx')],
1025
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip2,
1025
+ run=False, init=twinit_zero_orbit, **bump_range_ip2,
1026
1026
  )
1027
1027
 
1028
1028
  # Set mcbx by hand
@@ -1049,7 +1049,7 @@ def match_orbit_knobs_ip2_ip8(collider):
1049
1049
  vary=[
1050
1050
  xt.VaryList(correctors_ir2_single_beam_v),
1051
1051
  xt.VaryList(correctors_ir2_common_v, tag='mcbx')],
1052
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip2,
1052
+ run=False, init=twinit_zero_orbit, **bump_range_ip2,
1053
1053
  )
1054
1054
 
1055
1055
  # Set mcbx by hand
@@ -1076,7 +1076,7 @@ def match_orbit_knobs_ip2_ip8(collider):
1076
1076
  vary=[
1077
1077
  xt.VaryList(correctors_ir8_single_beam_h),
1078
1078
  xt.VaryList(correctors_ir8_common_h, tag='mcbx')],
1079
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip8,
1079
+ run=False, init=twinit_zero_orbit, **bump_range_ip8,
1080
1080
  )
1081
1081
 
1082
1082
  # Set mcbx by hand
@@ -1103,7 +1103,7 @@ def match_orbit_knobs_ip2_ip8(collider):
1103
1103
  vary=[
1104
1104
  xt.VaryList(correctors_ir8_single_beam_v),
1105
1105
  xt.VaryList(correctors_ir8_common_v, tag='mcbx')],
1106
- run=False, twiss_init=twinit_zero_orbit, **bump_range_ip8,
1106
+ run=False, init=twinit_zero_orbit, **bump_range_ip8,
1107
1107
  )
1108
1108
 
1109
1109
  # Set mcbx by hand
@@ -0,0 +1 @@
1
+ __version__ = '0.50.0'