Lecturers and links to material locations:
SL: Steven Lund
https://people.nscl.msu.edu/~lund/uspas/sbp_2018/lec_intro/
DB: David Bruhwiler
https://people.nscl.msu.edu/~lund/uspas/sbp_2018/lec_bruhwiler/
RL: Remi Lehe
https://people.nscl.msu.edu/~lund/uspas/sbp_2018/lec_python/
https://people.nscl.msu.edu/~lund/uspas/sbp_2018/lec_em_pic/
https://people.nscl.msu.edu/~lund/uspas/sbp_2018/lec_warp/
https://people.nscl.msu.edu/~lund/uspas/sbp_2018/lec_adv/
JLV: Jean-Luc Vay
https://people.nscl.msu.edu/~lund/uspas/sbp_2018/lec_warp/
https://people.nscl.msu.edu/~lund/uspas/sbp_2018/lec_adv/
DW: Daniel Winklehner
https://people.nscl.msu.edu/~lund/uspas/sbp_2018/lec_python/
https://people.nscl.msu.edu/~lund/uspas/sbp_2018/lec_inj/
Monday January 15
(SL 0:20) Course Overview https://people.nscl.msu.edu/~lund/uspas/sbp_2018/
Expectations
Organization
Grading
(SL 0:30) Overview 01.intro.pdf
Why Numerical Simulation?
Which Numerical Tools?
(SL 1:30) Overview of Basic Numerical Methods 03.bnm.pdf
Discretization
Discrete Numerical Operations
Time Advance
(DB 0:30) Computational Reproducibility 01_CompRepro.pdf
a: technical & social difficulties
b: application containers and VMs
c: cloud-based delivery of simulations
Lunch break
(DB 2:00) Computer Lab 01_CompReproLab.pdf
a) learn to run the Synergia code from a Jupyter notebook
https://uspas-jupyter.radiasoft.org
(DW/RL 2:00) Python Interpreter W1_Python_interpreter_day1.pdf
Overview
Python Programming
Numerical Python (Numpy, matplotlib/gist)
Object-Oriented Programming in Python
Packages/Forthon
Problem Set 01 Handout hw_w1_monday.pdf
Tuesday January 16
(SL 3:00) Classes of Intense Beam Simulations 02.cscs.pdf
Overview
Particle Methods
Distribution Methods
Moment Methods
Hybrid Methods
Lunch break
(DB 1:00) Version Control and Collaboration 02_VersionCont.pdf
a: git and GitHub
b: learn to fork a repo, clone it, create a branch, merge
c: using 'issues' (aka tickets) to collaborate
(DB 1:30) Computer Lab 02_VersionCont_Lab.pdf
a: students will create a GitHub user account (if necessary)
b: they will clone a Python repo, https://github.com/radiasoft/rsbeams
c: make a branch, then a code modification, then merge & push
(DW/RL 1:15) Python Interpreter W1_Python_interpreter_day2.pdf
Continuation of Python Lectures/Exercises from Monday Schedule
(DW/All) Recitation
Problem Set 02 Handout
Wednesday January 17
(SL 3:30) Numerical Methods for Particle and Distribution Methods 04.pic.pdf
Overview
Integration of Equations of Motion: Leapfrog Advance
- Electric Force
- Numerical Stability
- Electric and Magnetic Force: Boris Mover
Electrostatic Field Solution
- Green's Function Approach
- Gridded Solution: Poisson Equation and Boundary Conditions
- Methods of Gridded Field Solution
- Spectral Methods and the FFT
Weighting: Depositing Particles on Field Mesh and
Interpolating Gridded Fields to Particles
- Overview of Approaches
-Approaches: Nearest-Grid-Point, Cloud-in-Cell, Area, Splines
Computational Cycle for Particle-in-Cell Simulations
Lunch break
(DB 0:45) Graphical User Interfaces 03.GUI.pdf
a. general principles
b. desktop vs cloud-based approach
c. use of HTML5 technologies for browser-based GUIs
d. cloud-based computing and computational reproducibility
(DB 1:45) Computer Lab 03.GUI_Lab.pdf
a: demo of Sirepo/Elegant, https://uspas-sirepo.radiasoft.org
b: students login to Sirepo server
c: use examples to become familiar with the GUI
d: try adding transverse space charge to a simple drift
(DW/All) Recitation
Problem Set 03 Handout
Thursday January 18
(RL 1:30) Electromagnetic PIC A1a_EM_PIC.pdf
Electromagnetic PIC vs electrostatic PIC
- Domains of validity
- PIC loop
Finite-difference electromagnetic field solvers
- Staggering in time
- Staggering in space
- Conservation equations
Current deposition and continuity equation
- Direct current deposition and continuity equation
- Boris correction
Charge-conserving deposition
(DB: 0:45) Reducing Slice Energy Spread 04_Slice_dE.pdf
a: overview of LPA-driven FEL concept
b: concept of slice energy spread
c: use of chicane to stretch the longitudinal phase space
Lunch break
(DB 1:45) Computer Lab 04_Slice_dE_Lab.pdf
a: use Sirepo/Elegant to construct a chicane from scratch
b: study the effect of changing system parameters
(RL 1:30) Electromagnetic Waves A1b_EM_Waves.pdf
Numerical dispersion and Courant limit
- Dispersion and Courant limit in 1D
- Dispersion and Courant limit in 3D
- Spectral solvers and numerical dispersion
Out-going wave boundaries
- Silver-Muller absorbing boundaries
Perfectly Matched Layers
(DW/All) Recitation
Problem Set 04 Handout
Friday January 19
(SL 1:00) Practical Considerations 08.prac.pdf
Overview
Fast Memory
Run Time
Machine Architectures
- Serial
- Parallel
(RL 1:00) Parallel Computing Intro_parallel_computing.pdf
Overview
MPI Libraries and Programming Techniques
OpenMP/GPU
Example Simulations
(DB 0:45) Use case: a sub-fs beam diagnostic at ATF 05_fs_diag.pdf
a: overview of the Accelerator Test Facility (ATF)
b: demo of Sirepo/Elegant (laser modulator plus transport line & cavity)
Lunch break
(DB 1:45) Computer Lab
a: students construct beamline with laser modulator & transverse kicker
b: study the effect of changing system parameters
c: share results back to the instructor via URL
(SL 2:00) Initial Distributions and Particle Loading 06.init.odp
Overview
KV Load and the rms Equivalent Beam
Beam Envelope Matching
Semi-Gaussian Load
PseudoEquilibrium Distributions Based on Continuous Focusing Equilibria
Injection off a Source
(DW/All) Recitation
Monday January 22
(JLV 1:30) Introduction to the Warp Code Intro_Warp.pdf
Intro
Installing & running Warp
Units and variables
Warp script outline
Particles
Simulation mesh & Boundary conditions
Fields solvers, Internal conductors & lattice
Stepping, Diagnostics and plots & Saving/retrieving data
Command line options
(DB 0:45) Electron Bunch Compression 06_beam_compress.pdf
a: brief review of linear optics and R-matrix
b: discussion of simple chicane concept
c: need for bunch compression
Lunch break
(DB 1:45) Computer Lab
a: create a Sirepo/elegant simulation with linac & chicane
b: learn how to correctly specify accelerating phase for compression
(JLV 1:30) Example Warp Simulations – I Examples_Warp_simulations_day1.pdf
Overview
Quadrupole Transport – 3D
Quadrupole Transport – 2D XY
Plasma acceleration
(DW/All) Recitation
Problem Set 06 Handout
Tuesday January 23
(SL 2:00) Diagnostics 05.diag.pdf
Overview
Snapshot Diagnostics
- Phase-Space Projections
- Fields
History Diagnostics
- Centroid
- rms Beam Extents
- rms Phase Space Area (Emittance)
Synthetic Diagnostics
(DB 0:45) Coherent Synchrotron Radiation 07_CSR.pdf
a: overview of CSR physics
b: CSR models, simple to complex
Lunch break
(DB 1:45) Computer Lab
a: add CSR effects to yesterday’s simulation (CSR example #1)
b: modify example and add a parameter sweep (CSR example #2)
(JLV 1:30) Example Warp Simulations – II Examples_Warp_simulations_day2.pdf
Emission between parallel plates
Injectors
Solenoid Transport
(DW/All) Recitation
Problem Set 07 Handout
Wednesday January 24
(SL 2:00) Numerical Convergence 06.conv.pdf
Overview
Resolution: Advance Step
- Courant Conditions
- Applied Field Structures
- Collective Waves
Resolution: Spatial Grid
- Beam Edge
- Collective Waves
Statistics
Illustrative Examples with the Warp Code
- Weak Space-Charge
- Intermediate Space Charge
- Strong Space Charge
- Strong Space Charge with Instabilities
(DB 0:45) Software Testing
a: general principles
b: use of pytest, https://docs.pytest.org/en/latest/
Lunch break
(DB 1:45) Computer Lab
a: work with previously cloned repo, https://github.com/radiasoft/rsbeams
b: develop one or more tests, using pytest
c: issue a pull request
(JLV 1:00) Simulation Collaborations
Overview
Open Sourced Collaborations
CAMPA / OpenPMD / AMI/PICMI
(DW/All) Recitation
Problem Set 08 Handout
Thursday January 25
(JLV 2:00) Mesh Refinement in Field Solvers
Why mesh refinement?
Potential issues
Electrostatic MR
Electromagnetic MR
Special MR for particle emission
(DW 1:00) Injector Simulations
Overview
(DW 2:00) Injector Simulations
Simulation Examples with IGUN
Simulation Examples with Warp
(DW/All) Recitation
Final Exam Handout
Friday January 26
(JLV 2:00) Special Topics in Particle/Field Moving
Alternative Particle pushers
Quasistatic method
Optimal Lorentz boosted frame
(SL 0:15) Closing Comments
End of Course (before noon)