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

 

Problem Set 05 Handout

 

 

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

 
Lunch break
 

(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)