Skip to content

Modular, polymorphic, differentiable, and portable (CPU/GPU compatible) accelerator physics code

License

Notifications You must be signed in to change notification settings

bmad-sim/SciBmad.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SciBmad

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 ROCm
  • GTPSA.jl: Fast high-order (Taylor mode) automatic differentiation using the Generalised Truncated Power Series Algebra (GTPSA) library
  • Beamlines.jl: Defines accelerator lattices in a fast, flexible, fully-polymorphic, and differentiable way, providing both eagerly- and lazily-evaluated deferred expressions for interdependent parameters
  • NonlinearNormalForm.jl: Map-based perturbation theory of differential-algebraic maps, which may include spin and large damping, using Lie algebraic methods
  • AtomicAndPhysicalConstants.jl: Library providing physical constants and properties for any atomic or subatomic particle for use in simulations

Installation instructions

SciBmad is compatible with Windows, Mac, or Linux. Click on your corresponding system to be linked to detailed installation instructions.

Examples

Users are pointed to example Jupyter notebooks in both Julia and Python in the examples directory.

About

Modular, polymorphic, differentiable, and portable (CPU/GPU compatible) accelerator physics code

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages