/pyoptics

Classes to work with mad and LHC optics

Primary LanguagePython

pyoptics

Classes to work with mad and LHC optics

install

pip install git+https://github.com/rdemaria/pyoptics.git

Content:

  • generic table manager with specific twiss/track/survey post-prossinging src
    • row filtering on regexp and column expression, new column on expressions
    • plots with lattices (automatic reload on changes)
    • reload on change
    • interpolation with s
    • table pretty printer
    • twiss/survey:
    • interpolation with s, cycle w/wo reset cumulative quantity, range extraction, append
    • twiss:
      • calculate beta max inside quadrupole, integral k*beta, normalized dispersion, transfer matrix in between points, 2D normalization matrix, partial integrals to compute Q', Q'
      • add errors from error tables
      • compute driving terms kernels
      • compute detuning factor
      • compute footprint based on detuning equations
    • survey:
      • redefine origin to any point (2D only)
      • compute rotation matrix
    • tfs reader/basic writer src
  • beam envelope class src
    • draw 2d section of beam-envelopes and apertures x-y, s-x, s-y around reference orbit or lab frame
    • compute aperture margin
    • plot beam-beam separations
  • madx language parser src
    • parse MAD-X definitions (no support for macros) and build data structure including expressions
    • compute dependency matrix
  • harmonic fit src
    • various tune fitting routines on turn-by-turn data
    • optics transition tables (table of strength) src
    • plot, polynomial fit with consraints on deritives, convert fit to madx expressions
    • jacobian matching method in python src
  • LHC circuit model src
    • compute max ktoI and ItoK, max V, I', I'' using data from LSA or from IREF/VREF fit
    • compute minimum beam-process time base on I', I'' max
  • sdds reader src
  • yasp reader src
  • lot of obselete files ;-)