SciBmad is a new open source, high-performance, CPU/GPU compatible, polymorphic, and forwards-/backwards-/Taylor-differentiable accelerator physics simulation ecosystem, usable within either Python and Julia.
SciBmad consists of a set of modular packages:
BeamTracking.jl
: Universally polymorphic, differentiable, portable, and parallelized integrators for simulating charged particle beams on the CPU and various GPUs including NVIDIA CUDA, Apple Metal, Intel oneAPI, and AMD ROCmGTPSA.jl
: Fast high-order (Taylor mode) automatic differentiation using the Generalised Truncated Power Series Algebra (GTPSA) libraryBeamlines.jl
: Defines accelerator lattices in a fast, flexible, fully-polymorphic, and differentiable way, providing both eagerly- and lazily-evaluated deferred expressions for interdependent parametersNonlinearNormalForm.jl
: Map-based perturbation theory of differential-algebraic maps, which may include spin and large damping, using Lie algebraic methodsAtomicAndPhysicalConstants.jl
: Library providing physical constants and properties for any atomic or subatomic particle for use in simulations
SciBmad is compatible with Windows, Mac, or Linux. Click on your corresponding system to be linked to detailed installation instructions.
Users are pointed to example Jupyter notebooks in both Julia and Python in the examples directory.