computation of synchrotron radiation on arbitrary …this are shown in gure 4. these were calculated...

3
COMPUTATION OF SYNCHROTRON RADIATION ON ARBITRARY GEOMETRIES IN 3D WITH MODERN GPU, MULTI-CORE, AND GRID COMPUTING Dean Andrew Hidas * , Brookhaven National Laboratory, Upton, NY, USA Abstract Open Source Code for Advanced Radiation Simula- tion (OSCARS) is an open source project developed at Brookhaven National Laboratory for the computation of synchrotron radiation from arbitrary particle beams in arbi- trary magnetic (and electric) fields on arbitrary geometries in 3D. OSCARS was designed with considerations for mod- ern and large scale computing infrastructure. These include the ability to use graphical processing units (GPUs) for com- putations, multi-threaded computations, and utilities for grid (or cloud) computing. Primary applications include, but are not limited to, the computation of spectra, photon flux densities, and notably, power density distributions on arbi- trary geometries in 3D which is of interest in accelerator component study and design. This modern approach and several complex geometries are highlighted and elaborated on. INTRODUCTION OSCARS [1] is an open source software developed at Brookhaven National Laboratory (BNL). OSCARS is a general purpose code for the calculation of radiation from charged particles in motion. Primary uses are for syn- chrotron and accelerator facilities where photon density dis- tributions and heat loads on accelerator and beam-line equip- ment is of interest. This software allows for the calculation of these properties on arbitrary shaped surfaces in 3 dimen- sions and is designed for the most modern high performance computing infrastructures. The core code is written in modern C++ for speed and has a python extension which serves as the main applica- tion programming interface (API). The API was written in python for ease of use and integrability by the larger scien- tific community. Currently OSCARS is available for python 2.7 and python 3+. No additional packages are required to run the core of OSCARS. The user is free to choose any visualization platform, though visualization tools do exist for OSCARS based on matplotlib [2]. Throughout this paper the 2 example undulators referred to (U49 and EPU49) have a period of 49 mm, 55 periods plus terminating fields, and a peak magnetic field of 1 Tesla. U49 is a planar undulator with the only non-zero component of the magnetic field ~ B being a sinusoidally varying B v (vertical component). EPU49 is an elliptically polarizing undulator where B h (horizontal component) and B v are sinusoidally varying with the same peak magnitude, but phase shifted by π/2 relative to each other while B l (longitudinal component) * [email protected] remains zero. The beam parameters used in these simula- tions are that of the NSLS-II 6.6 m straight sections with a beam energy E = 3 GeV, energy spread ΔE/E = 0.001, emittance h, v = [0.9 , 0.008] nm rad, and beta function in the center β h, v = [1.5 , 0.8] m. PARTICLE BEAMS Particle beams in OSCARS are defined by particle mass, energy, current, and their position and direction. Optionally one can include the emittance ( h, v ), beta function ( β h, v ), and energy spread (ΔE/E). In multi-particle simulations the energy, initial position, and initial momentum are sam- pled accordingly assuming a Gaussian distribution of the position (σ) and momentum (σ 0 ). OSCARS also allows for the definition of multiple beams which are sampled ran- domly according to their relative weights given. Any beam direction is valid in OSCARS. For convenience several pre- defined beams exist in OSCARS, for example in this case “NSLSII-ShortStraight”. MAGNETIC AND ELECTRIC FIELDS Several field types (applicable to both magnetic and elec- tric fields) are available in OSCARS, including uniform fields in a given range, Gaussian fields, sinusoidal undulator (wiggler) fields with terminating fields, user input python function for a field, and 1D, 2D, and 3D discrete field data. In the case of the 1D discrete field data, the field points do not need to be uniformly distributed in space as OSCARS will regularize it by interpolation for internal use and fast internal field lookup. OSCARS also has an interpolating tool (using a cubic spline method) in the case that you have field data measured at several parameter points (such as un- dulator gap, but not restricted to this) but wish to use the field at an intermediate point. Several input data formats are implemented for convenience. CALCULATION OF ELECTRIC FIELD Particle trajectories are calculated in 3D according to the relativistic Lorentz equation given in equation 1 using a fourth-order Runge-Kutta algorithm. d ~ p dτ = q ( ~ E + c ~ β × ~ B) (1) The electric field in the frequency domain is given in equation 2 which is derived by taking a Fourier transform of the Liéard-Wiechert potentials and given in many texts, for example [35]. Equation 2 is valid for relativistic and non-relativistic particles as well as in the near-field. WEPIK121 Proceedings of IPAC2017, Copenhagen, Denmark ISBN 978-3-95450-182-3 3238 Copyright © 2017CC-BY-3.0 and by the respective authors 05 Beam Dynamics and Electromagnetic Fields D03 Calculations of EM Fields - Theory and Code Developments

Upload: others

Post on 04-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Computation of Synchrotron Radiation on Arbitrary …this are shown in gure 4. These were calculated using the GPU option available in OSCARS, but can as well easily be computed on

COMPUTATION OF SYNCHROTRON RADIATION ON ARBITRARYGEOMETRIES IN 3D WITH MODERN GPU, MULTI-CORE, AND GRID

COMPUTINGDean Andrew Hidas∗, Brookhaven National Laboratory, Upton, NY, USA

AbstractOpen Source Code for Advanced Radiation Simula-

tion (OSCARS) is an open source project developed atBrookhaven National Laboratory for the computation ofsynchrotron radiation from arbitrary particle beams in arbi-trary magnetic (and electric) fields on arbitrary geometriesin 3D. OSCARS was designed with considerations for mod-ern and large scale computing infrastructure. These includethe ability to use graphical processing units (GPUs) for com-putations, multi-threaded computations, and utilities for grid(or cloud) computing. Primary applications include, butare not limited to, the computation of spectra, photon fluxdensities, and notably, power density distributions on arbi-trary geometries in 3D which is of interest in acceleratorcomponent study and design. This modern approach andseveral complex geometries are highlighted and elaboratedon.

INTRODUCTIONOSCARS [1] is an open source software developed at

Brookhaven National Laboratory (BNL). OSCARS is ageneral purpose code for the calculation of radiation fromcharged particles in motion. Primary uses are for syn-chrotron and accelerator facilities where photon density dis-tributions and heat loads on accelerator and beam-line equip-ment is of interest. This software allows for the calculationof these properties on arbitrary shaped surfaces in 3 dimen-sions and is designed for the most modern high performancecomputing infrastructures.The core code is written in modern C++ for speed and

has a python extension which serves as the main applica-tion programming interface (API). The API was written inpython for ease of use and integrability by the larger scien-tific community. Currently OSCARS is available for python2.7 and python 3+. No additional packages are required torun the core of OSCARS. The user is free to choose anyvisualization platform, though visualization tools do existfor OSCARS based on matplotlib [2].

Throughout this paper the 2 example undulators referredto (U49 and EPU49) have a period of 49 mm, 55 periods plusterminating fields, and a peak magnetic field of 1 Tesla. U49is a planar undulator with the only non-zero component ofthemagnetic field ~B being a sinusoidally varying Bv (verticalcomponent). EPU49 is an elliptically polarizing undulatorwhere Bh (horizontal component) and Bv are sinusoidallyvarying with the same peak magnitude, but phase shifted byπ/2 relative to each other while Bl (longitudinal component)

[email protected]

remains zero. The beam parameters used in these simula-tions are that of the NSLS-II 6.6 m straight sections witha beam energy E = 3 GeV, energy spread ∆E/E = 0.001,emittance εh,v = [0.9, 0.008] nm rad, and beta function inthe center βh,v = [1.5, 0.8] m.

PARTICLE BEAMSParticle beams in OSCARS are defined by particle mass,

energy, current, and their position and direction. Optionallyone can include the emittance (εh,v), beta function (βh,v),and energy spread (∆E/E). In multi-particle simulationsthe energy, initial position, and initial momentum are sam-pled accordingly assuming a Gaussian distribution of theposition (σ) and momentum (σ′). OSCARS also allowsfor the definition of multiple beams which are sampled ran-domly according to their relative weights given. Any beamdirection is valid in OSCARS. For convenience several pre-defined beams exist in OSCARS, for example in this case“NSLSII-ShortStraight”.

MAGNETIC AND ELECTRIC FIELDSSeveral field types (applicable to both magnetic and elec-

tric fields) are available in OSCARS, including uniformfields in a given range, Gaussian fields, sinusoidal undulator(wiggler) fields with terminating fields, user input pythonfunction for a field, and 1D, 2D, and 3D discrete field data.In the case of the 1D discrete field data, the field points donot need to be uniformly distributed in space as OSCARSwill regularize it by interpolation for internal use and fastinternal field lookup. OSCARS also has an interpolatingtool (using a cubic spline method) in the case that you havefield data measured at several parameter points (such as un-dulator gap, but not restricted to this) but wish to use thefield at an intermediate point. Several input data formats areimplemented for convenience.

CALCULATION OF ELECTRIC FIELDParticle trajectories are calculated in 3D according to the

relativistic Lorentz equation given in equation 1 using afourth-order Runge-Kutta algorithm.

d~pdτ= q( ~E + c ~β × ~B) (1)

The electric field in the frequency domain is given inequation 2 which is derived by taking a Fourier transformof the Liéard-Wiechert potentials and given in many texts,for example [3–5]. Equation 2 is valid for relativistic andnon-relativistic particles as well as in the near-field.

WEPIK121 Proceedings of IPAC2017, Copenhagen, Denmark

ISBN 978-3-95450-182-33238Co

pyrig

ht©

2017

CC-B

Y-3.

0an

dby

ther

espe

ctiv

eaut

hors

05 Beam Dynamics and Electromagnetic FieldsD03 Calculations of EM Fields - Theory and Code Developments

Page 2: Computation of Synchrotron Radiation on Arbitrary …this are shown in gure 4. These were calculated using the GPU option available in OSCARS, but can as well easily be computed on

445 455 465Energy [eV]

0

1

2

3

4

[/m

m2 /0

.1%

bw/s

]1e14 U49 Spectrum

single-electronmulti-electron

Figure 1: On-axis spectrum for the simulated U49 undulator30 [m] downstream showing the 3rd harmonic for a filamentbeam (single-electron), and realistic beam using the NSLS-II design parameters for a 6.6 [m] straight section (multi-electron).

~E(~x, ω) =ieω

4πcε0

∫ +∞

−∞

~β − n(1 + icωD )

Deiω(τ+D

c )dτ (2)

Here, ~p is the particle momentum, τ the laboratory time,q particle charge, ~E electric field, c speed of light in vacuum,~β the particle velocity divided by c, ~B the magnetic field, and~x the observation point. ω is the photon angular frequencyof interest, ε0 the permittivity of free space, n a unit vectorin the direction from the particle to the observation point,and D the distance between the particle and the observationpoint.

For the calculation of spectra and flux OSCARS performsa numerical integration of equation 2 once the trajectory hasbeen calculated using equation 1. This is done either on theCentral Processing Unit (CPU) or GPU depending on whichmode is selected. The spectrum in figure 1 and flux densitiesin figure 2 use this method.

POWER DENSITYOnce the trajectory is calculated the power density can

be calculated from equation 3 where I is the beam current,~a the particle acceleration and S a unit normal vector forthe surface point at position ~x. Here again, the numericalintegration is performed either on the CPU or the GPU ifdesired.

P(~x) =qI

16π2ε0c

∫ ∞

−∞

~n × ((~n − ~β) × ~ac )

(1 − ~β · ~n)5

1D2 (n · S) dτ

(3)

2 1 0 1 2X [m] 1e 3

2

1

0

1

2

Y [m

]

1e 3 Flux [ /mm2/0.1%bw/s]

5e+13

1e+14

2e+14

2e+14

2e+14

3e+14

4e+14

4e+14

2 1 0 1 2X [m] 1e 3

2

1

0

1

2

Y [m

]

1e 3 Flux [ /mm2/0.1%bw/s]

5e+13

1e+14

2e+14

2e+14

2e+14

Figure 2: Flux for the simulated U49 undulator 30 [m] down-stream showing the 3rd harmonic for a filament beam (left)and realistic beam (right) using the NSLS-II design parame-ters for a 6.6 [m] straight section.

2 1 0 1 2X [m] 1e 2

2

1

0

1

2

Y [m

]

1e 2 Power Density [W/mm2]

5e+00

1e+01

2e+01

2e+01

2e+01

Figure 3: Power density from U49 as seen 30 [m] down-stream from the source.

The power density distribution in the X-Y plane 30 [m]downstream from the example U49 is shown in figure 3.OSCARS allows for the calculation of power density dis-tributions on arbitrary objects in 3D. Several examples ofthis are shown in figure 4. These were calculated using theGPU option available in OSCARS, but can as well easilybe computed on a single-core, in multi-threaded mode, orusing grid/cloud computing.

GPU, MULTI-THREADING, AND GRIDCOMPUTING

OSCARS was designed as a multi-threaded applicationwhich is also capable of using the GPU. Native multi-threading is available by default for all calculations on allplatforms. The GPU routines are currently written usingCUDA [6] for compatible NVidia GPUs and are also avail-able for all calculations. For both multi-threaded and GPUcalculations one typically has a set of points in 1D (likea spectrum), 2D (for instance flux maps or power densitydistributions), or 3D (arbitrary shapes and surfaces in 3D).Given a trajectory, these points are then distributed to thespecified number of threads in the case of multi-threading,or sent to the GPU in large thread-blocks until complete.

Proceedings of IPAC2017, Copenhagen, Denmark WEPIK121

05 Beam Dynamics and Electromagnetic FieldsD03 Calculations of EM Fields - Theory and Code Developments

ISBN 978-3-95450-182-33239 Co

pyrig

ht©

2017

CC-B

Y-3.

0an

dby

ther

espe

ctiv

eaut

hors

Page 3: Computation of Synchrotron Radiation on Arbitrary …this are shown in gure 4. These were calculated using the GPU option available in OSCARS, but can as well easily be computed on

X [m] 0.050.00

0.05Z [m

]29.96

30.00

30.04

Y [m

]

0.05

0.00

0.05

Power Density [W/mm2]

0.0

2.0

4.0

6.0

8.0

10.0

12.0

X [m] 0.050.00

0.05Z [m

]29.96

30.00

30.04

Y [m

]

0.05

0.00

0.05

Power Density [W/mm2]

0.0

2.0

4.0

6.0

8.0

10.0

12.0

X [m] 0.050.00

0.05Z [m

]29.96

30.00

30.04

Y [m

]

0.05

0.00

0.05

Power Density [W/mm2]

2.0

4.0

6.0

8.0

10.0

12.0

X [m] 0.050.00

0.05Z [m

]29.96

30.00

30.04

Y [m

]

0.05

0.00

0.05

Power Density [W/mm2]

0.2

0.5

0.8

1.0

1.2

1.5

1.8

2.0

Figure 4: Power density on various 3D shapes for the simu-lated EPU49 undulator 30 [m] downstream.

On a modern GPU the time for a calculation similar to thesingle-particle flux in figure 2 for a 300x300 grid is signifi-cantly reduced going from 1 core of an Intel® Xeon® CPUE5-2630 v3 @ 2.40GHz to using the GPU option in OS-CARS on a modest 1344 core Quadro® K4200 GPU (greaterthan a factor of 15). On a modern high performance GPUone should easily achieve over a factor of 100 in performanceimprovement.For extremely large-scale simulations OSCARS was de-

signed to be run on modern grid/cloud computing infras-tructures such as the Open Science Grid (OSG) [7]. Themulti-particle spectra and flux shown in figures 1 and 2 re-spectively were performed on OSG and contain 100,000particles sampled from the beam distributions. Tools arealso available for the commonly used Message-Passing In-terface (MPI) [8] which may be beneficial when one has acluster which utilizes MPI, however on a typical workstationthe multi-threaded utility will outperform MPI since thereis very little overhead in the straightforward implementationused as compared to MPI.

BRIGHTNESSOSCARS now (as of version 1.36.00) has a module (.th)

which consists of specific analytic formulae for undulatorand bending magnets. This includes a calculation of undu-lator brightness an example of which is shown for severalodd harmonics of of the U49 undulator (maximum deflec-tion parameter Kmax = 4.58) in 6.6 [m] straight section ofNSLSII is shown in figure 5.

103 104

Energy [eV]

109

1011

1013

1015

1017

1019

1021

[/m

m2 /m

rad2 /0

.1%

bw/s

]

Brightness

Harmonic 1Harmonic 3Harmonic 5Harmonic 7Harmonic 9Harmonic 11Harmonic 13Harmonic 15

Figure 5: Brightness curves for the simulated U49 showingthe first 8 odd harmonics.

CONCLUSIONA new and modern simulation code for advanced radia-

tion simulation has been developed which is fast, powerful,flexible, and open source. Notably, this new simulation is ca-pable of calculating power densities on arbitrary geometriesin 3D and utilizes native multi-threading and GPU comput-ing infrastructure for significantly increased performancefor large-scale simulations.

ACKNOWLEDGMENTSThis work has been supported by the U.S. Department of

Energy, under contract DE-SC0012704

[1] http://oscars.bnl.gov

[2] J. D. Hunter, “Matplotlib: A 2D graphics environment,” inComputing In Science and Engineering vol 9 n 3, 2007.

[3] J. D. Jackson, “Classical Electrodynamics,” Berkeley, CA,USA, 1981.

[4] A. Hoffman, “The Physics of Synchrotron Radiation,” Cam-bridge, UK, 2004.

[5] H. Onuki, P. Elleaume, “Undulators, Wigglers and Their Ap-plications,” London, UK, 2003.

[6] J. Nickolls, I. Buck, M. Garland, K. Skadron, “Scalable Par-allel Programming with CUDA,” ACM Queue, vol. 6 no. 2,March/April 2008, pp. 39-53.

[7] R. Pordes et al., “The Open Science Grid,” in J. Phys. Conf.Ser. 78, 012057.doi:10.1088/1742-6596/78/1/012057, 2007.https://www.opensciencegrid.org

[8] L. Dalcín, R. Paz, M. Storti, “MPI for Python,” in Journal ofParallel and Distributed Computing, vol 65 n 9, 2005.

WEPIK121 Proceedings of IPAC2017, Copenhagen, Denmark

ISBN 978-3-95450-182-33240Co

pyrig

ht©

2017

CC-B

Y-3.

0an

dby

ther

espe

ctiv

eaut

hors

05 Beam Dynamics and Electromagnetic FieldsD03 Calculations of EM Fields - Theory and Code Developments