Skip to content

Conversation

@austin-hoover
Copy link
Contributor

This is an experimental module containing helper functions and classes for linac and ring simulations. Right now there are just a few things:

  • Position-dependent scalar beam parameters in linacs using AccActionContainer (terminal output + output file).
  • Backtracking in linacs.
  • Turn-by-turn scalar beam parameters in rings (terminal output + output file).

Another idea is to have an orbit.sim.Model class which stores an AccLattice and Bunch. Helper methods could be used to add space charge nodes, apertures, diagnostics, etc. --- things that could take multiple lines in PyORBIT but are done routinely. Subclasses of Model could be used to represent more complicated machines like the SNS Ring or Lattice, which may need to store data in addition to the AccLattice object.

I'm marking this as a draft if people have other ideas, and to discuss whether or not this is worth adding to PyORBIT.

@austin-hoover austin-hoover marked this pull request as draft September 22, 2025 22:42
@austin-hoover austin-hoover changed the title Add orbit.sim module Add orbit.sim module? Oct 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant