diff options
Diffstat (limited to 'Docs/source/theory.rst')
-rw-r--r-- | Docs/source/theory.rst | 2331 |
1 files changed, 0 insertions, 2331 deletions
diff --git a/Docs/source/theory.rst b/Docs/source/theory.rst deleted file mode 100644 index 81b28d172..000000000 --- a/Docs/source/theory.rst +++ /dev/null @@ -1,2331 +0,0 @@ -======== -Theory -======== - -Introduction -============ - -Computer simulations have had a profound impact on the design and -understanding of past and present plasma acceleration experiments -(**???**; **???**; **???**; **???**), with accurate modeling of wake -formation, electron self-trapping and acceleration requiring fully -kinetic methods (usually Particle-In-Cell) using large computational -resources due to the wide range of space and time scales involved. -Numerical modeling complements and guides the design and analysis of -advanced accelerators, and can reduce development costs significantly. -Despite the major recent experimental successesLeemans et al. (2014; -Blumenfeld et al. 2007; Bulanov S V and Wilkens J J and Esirkepov T Zh -and Korn G and Kraft G and Kraft S D and Molls M and Khoroshkov V S -2014; Steinke et al. 2016), the various advanced acceleration concepts -need significant progress to fulfill their potential. To this end, -large-scale simulations will continue to be a key component toward -reaching a detailed understanding of the complex interrelated physics -phenomena at play. - -For such simulations, the most popular algorithm is the Particle-In-Cell -(or PIC) technique, which represents electromagnetic fields on a grid -and particles by a sample of macroparticles. However, these simulations -are extremely computationally intensive, due to the need to resolve the -evolution of a driver (laser or particle beam) and an accelerated beam -into a structure that is orders of magnitude longer and wider than the -accelerated beam. Various techniques or reduced models have been -developed to allow multidimensional simulations at manageable -computational costs: quasistatic approximation (**???**; **???**; -**???**; Mora and Antonsen 1997; Huang et al. 2006), ponderomotive -guiding center (PGC) models (**???**; **???**; Huang et al. 2006; -**???**; **???**), simulation in an optimal Lorentz boosted frame -(**???**; Bruhwiler et al. 2009; Vay et al. 2009; Vay -:math:`\backslash`\ it Et Al. 2009; Martins :math:`\backslash`\ It Et -Al. 2009; Vay et al. 2010; **???**; **???**; **???**; **???**; Vay et -al. 2011; **???**; Yu et al. 2016), expanding the fields into a -truncated series of azimuthal modes (**???**; Lifschitz et al. 2009; -Davidson et al. 2015; Lehe et al. 2016; Andriyash, Lehe, and Lifschitz -2016), fluid approximation (**???**; **???**; **???**) and scaled -parameters (**???**; **???**). Many codes have been developed and are -used for the modeling of plasma accelerators. A list of such codes is -given in table [table\_codes], with the name of the code, its main -characteristics, the web site if existing or a reference, and the -availability and license, if known. - -[] - -| @llll@ Code & Type & Web site/reference & Availability/License -| ALaDyn/PICCANTE & EM-PIC 3D & http://aladyn.github.io/piccante & - Open/GPLv3+ -| Architect & EM-PIC RZ & https://github.com/albz/Architect & Open/GPL -| Calder & EM-PIC 3D & - http://iopscience.iop.org/article/10.1088/0029-5515/43/7/317 & - Collaborators/Proprietary -| Calder-Circ & EM-PIC RZ\ :math:`^{+}` & - http://dx.doi.org/10.1016/j.jcp.2008.11.017 & Upon Request/Proprietary -| CHIMERA & EM-PIC RZ+ & https://github.com/hightower8083/chimera & - Open/GPLv3 -| ELMIS & EM-PIC 3D & - http://www.diva-portal.org/smash/record.jsf?pid=diva2%3A681092&dswid=-8610 - & Collaborators/Proprietary -| EPOCH & EM-PIC 3D& http://www.ccpp.ac.uk/codes.html & - Collaborators/GPL -| FBPIC & EM-PIC RZ\ :math:`^{+}` & https://fbpic.github.io & - Open/modified BSD -| HiPACE & QS-PIC 3D & http://dx.doi.org/10.1088/0741-3335/56/8/084012 & - Collaborators/Proprietary -| INF&RNO & QS/EM-PIC RZ & http://dx.doi.org/10.1063/1.3520323 & - Collaborators/Proprietary -| LCODE & QS-PIC RZ & http://www.inp.nsk.su/~lotov/lcode & Open/None -| LSP & EM-PIC 3D/RZ & http://www.lspsuite.com/LSP/index.html & - Commercial/Proprietary -| MAGIC & EM-PIC 3D & http://www.mrcwdc.com/magic/index.html & - Commercial/Proprietary -| Osiris & EM-PIC 3D/RZ\ :math:`^{+}` & - http://picksc.idre.ucla.edu/software/software-production-codes/osiris - & Collaborators/Proprietary -| PHOTON-PLASMA & EM-PIC 3D & https://bitbucket.org/thaugboelle/ppcode & - Open/GPLv2 -| PICADOR & EM-PIC 3D & - http://hpc-education.unn.ru/en/research/overview/laser-plasma & - Collaborators/Proprietary -| PIConGPU & EM-PIC 3D & http://picongpu.hzdr.de & Open/GPLv3+ -| PICLS & EM-PIC 3D & http://dx.doi.org/10.1016/j.jcp.2008.03.043 & - Collaborators/Proprietary -| PSC & EM-PIC 3D & - http://www.sciencedirect.com/science/article/pii/S0021999116301413 & - Open/GPLv3 -| QuickPIC & QS-PIC 3D & - http://picksc.idre.ucla.edu/software/software-production-codes/quickpic - & Collaborators/Proprietary -| REMP & EM-PIC 3D & http://dx.doi.org/10.1016/S0010-4655(00)00228-9 & - Collaborators/Proprietary -| Smilei & EM-PIC 2D & - http://www.maisondelasimulation.fr/projects/Smilei/html/licence.html & - Open/CeCILL -| TurboWave & EM-PIC 3D/RZ & http://dx.doi.org/10.1109/27.893300 & - Collaborators/Proprietary -| UPIC-EMMA & EM-PIC 3D & - http://picksc.idre.ucla.edu/software/software-production-codes/upic-emma - & Collaborators/Proprietary -| VLPL & EM/QS-PIC 3D & http://www.tp1.hhu.de/~pukhov/ & - Collaborators/Proprietary -| VPIC & EM-PIC 3D & http://github.com/losalamos/vpic & Open/BSD - clause-3 license -| VSim (Vorpal) & EM-PIC 3D & https://txcorp.com/vsim & - Commercial/Proprietary -| Wake & QS-PIC RZ & http://dx.doi.org/10.1063/1.872134 & - Collaborators/Proprietary -| Warp & EM-PIC 3D/RZ\ :math:`^{+}` & http://warp.lbl.gov & - Open/modified BSD - -| EM=electromagnetic, QS=quasi-static, PIC=Particle-In-Cell, - 3D=three-dimensional, RZ=axi-symmetric, RZ\ :math:`^+`\ =axi-symmetric - with azimuthal Fourier decomposition. - -[table\_codes] - -In Section 2 of this chapter, we review the standard methods employed in -relativistic electromagnetic Particle-In-Cell (PIC) simulations of -plasma accelerators, including the core PIC loop steps (particle push, -fields update, current deposition from the particles to the grid and -fields gathering from the grid to the particles positions), the use of -moving window and Lorentz boosted frame, the numerical Cherenkov -instability and its mitigation. The electromagnetic quasistatic -approximation is presented in section 3, the ponderomotive guiding -center approximation in section 4, and azimuthal Fourier decomposition -in section 5. Additional considerations such as filtering and -inputs/outputs are discussed respectively in sections 6 and 7. - -The electromagnetic Particle-In-Cell method -=========================================== - -In the electromagnetic Particle-In-Cell method (**???**), the -electromagnetic fields are solved on a grid, usually using Maxwell’s -equations - -.. math:: - - \begin{aligned} - \frac{\mathbf{\partial B}}{\partial t} & = & -\nabla\times\mathbf{E}\label{Eq:Faraday-1}\\ - \frac{\mathbf{\partial E}}{\partial t} & = & \nabla\times\mathbf{B}-\mathbf{J}\label{Eq:Ampere-1}\\ - \nabla\cdot\mathbf{E} & = & \rho\label{Eq:Gauss-1}\\ - \nabla\cdot\mathbf{B} & = & 0\label{Eq:divb-1}\end{aligned} - -given here in natural units (:math:`\epsilon_0=\mu_0=c=1`), where -:math:`t` is time, :math:`\mathbf{E}` and :math:`\mathbf{B}` are the -electric and magnetic field components, and :math:`\rho` and -:math:`\mathbf{J}` are the charge and current densities. The charged -particles are advanced in time using the Newton-Lorentz equations of -motion - -.. math:: - - \begin{aligned} - \frac{d\mathbf{x}}{dt}= & \mathbf{v},\label{Eq:Lorentz_x-1}\\ - \frac{d\left(\gamma\mathbf{v}\right)}{dt}= & \frac{q}{m}\left(\mathbf{E}+\mathbf{v}\times\mathbf{B}\right),\label{Eq:Lorentz_v-1}\end{aligned} - -where :math:`m`, :math:`q`, :math:`\mathbf{x}`, :math:`\mathbf{v}` and -:math:`\gamma=1/\sqrt{1-v^{2}}` are respectively the mass, charge, -position, velocity and relativistic factor of the particle given in -natural units (:math:`c=1`). The charge and current densities are -interpolated on the grid from the particles’ positions and velocities, -while the electric and magnetic field components are interpolated from -the grid to the particles’ positions for the velocity update. - -Particle push -------------- - -A centered finite-difference discretization of the Newton-Lorentz -equations of motion is given by - -.. math:: - - \begin{aligned} - \frac{\mathbf{x}^{i+1}-\mathbf{x}^{i}}{\Delta t}= & \mathbf{v}^{i+1/2},\label{Eq:leapfrog_x}\\ - \frac{\gamma^{i+1/2}\mathbf{v}^{i+1/2}-\gamma^{i-1/2}\mathbf{v}^{i-1/2}}{\Delta t}= & \frac{q}{m}\left(\mathbf{E}^{i}+\mathbf{\bar{v}}^{i}\times\mathbf{B}^{i}\right).\label{Eq:leapfrog_v}\end{aligned} - -In order to close the system, :math:`\bar{\mathbf{v}}^{i}` must be -expressed as a function of the other quantities. The two implementations -that have become the most popular are presented below. - -Boris relativistic velocity rotation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The solution proposed by Boris Boris (1970) is given by - -.. math:: - - \begin{aligned} - \mathbf{\bar{v}}^{i}= & \frac{\gamma^{i+1/2}\mathbf{v}^{i+1/2}+\gamma^{i-1/2}\mathbf{v}^{i-1/2}}{2\bar{\gamma}^{i}}.\label{Eq:boris_v}\end{aligned} - - where :math:`\bar{\gamma}^{i}` is defined by -:math:`\bar{\gamma}^{i} \equiv (\gamma^{i+1/2}+\gamma^{i-1/2} )/2`. - -The system ([Eq:leapfrog\_v],[Eq:boris\_v]) is solved very efficiently -following Boris’ method, where the electric field push is decoupled from -the magnetic push. Setting :math:`\mathbf{u}=\gamma\mathbf{v}`, the -velocity is updated using the following sequence: - -.. math:: - - \begin{aligned} - \mathbf{u^{-}}= & \mathbf{u}^{i-1/2}+\left(q\Delta t/2m\right)\mathbf{E}^{i}\\ - \mathbf{u'}= & \mathbf{u}^{-}+\mathbf{u}^{-}\times\mathbf{t}\\ - \mathbf{u}^{+}= & \mathbf{u}^{-}+\mathbf{u'}\times2\mathbf{t}/(1+t^{2})\\ - \mathbf{u}^{i+1/2}= & \mathbf{u}^{+}+\left(q\Delta t/2m\right)\mathbf{E}^{i}\end{aligned} - -where :math:`\mathbf{t}=\left(q\Delta - t/2m\right)\mathbf{B}^{i}/\bar{\gamma}^{i}` and where -:math:`\bar{\gamma}^{i}` can be calculated as -:math:`\bar{\gamma}^{i}=\sqrt{1+(\mathbf{u}^-/c)^2}`. - -The Boris implementation is second-order accurate, time-reversible and -fast. Its implementation is very widespread and used in the vast -majority of PIC codes. - -Lorentz-invariant formulation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -It was shown in (**???**) that the Boris formulation is not Lorentz -invariant and can lead to significant errors in the treatment of -relativistic dynamics. A Lorentz invariant formulation is obtained by -considering the following velocity average - -.. math:: - - \begin{aligned} - \mathbf{\bar{v}}^{i}= & \frac{\mathbf{v}^{i+1/2}+\mathbf{v}^{i-1/2}}{2},\label{Eq:new_v}\end{aligned} - - This gives a system that is solvable analytically (see (**???**) for a -detailed derivation), giving the following velocity update: - -.. math:: - - \begin{aligned} - \mathbf{u^{*}}= & \mathbf{u}^{i-1/2}+\frac{q\Delta t}{m}\left(\mathbf{E}^{i}+\frac{\mathbf{v}^{i-1/2}}{2}\times\mathbf{B}^{i}\right),\label{pusher_gamma}\\ - \mathbf{u}^{i+1/2}= & \left[\mathbf{u^{*}}+\left(\mathbf{u^{*}}\cdot\mathbf{t}\right)\mathbf{t}+\mathbf{u^{*}}\times\mathbf{t}\right]/\left(1+t^{2}\right),\label{pusher_upr}\end{aligned} - -where :math:`\mathbf{t}=\bm{\tau}/\gamma^{i+1/2}`, -:math:`\bm{\tau}=\left(q\Delta t/2m\right)\mathbf{B}^{i}`, -:math:`\gamma^{i+1/2}=\sqrt{\sigma+\sqrt{\sigma^{2}+\left(\tau^{2}+w^{2}\right)}}`, -:math:`w=\mathbf{u^{*}}\cdot\bm{\tau}`, -:math:`\sigma=\left(\gamma'^{2}-\tau^{2}\right)/2` and -:math:`\gamma'=\sqrt{1+(\mathbf{u}^{*}/c)^{2}}`. This Lorentz invariant -formulation is particularly well suited for the modeling of -ultra-relativistic charged particle beams, where the accurate account of -the cancellation of the self-generated electric and magnetic fields is -essential, as shown in (**???**). - -Field solve ------------ - -Various methods are available for solving Maxwell’s equations on a grid, -based on finite-differences, finite-volume, finite-element, spectral, or -other discretization techniques that apply most commonly on single -structured or unstructured meshes and less commonly on multiblock -multiresolution grid structures. In this chapter, we summarize the -widespread second order finite-difference time-domain (FDTD) algorithm, -its extension to non-standard finite-differences as well as the -pseudo-spectral analytical time-domain (PSATD) and pseudo-spectral -time-domain (PSTD) algorithms. Extension to multiresolution (or mesh -refinement) PIC is described in, e.g. Vay et al. (2012; Vay, Adam, and -Heron 2004). - -Finite-Difference Time-Domain (FDTD) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The most popular algorithm for electromagnetic PIC codes is the -Finite-Difference Time-Domain (or FDTD) solver - -.. math:: - - \begin{aligned} - D_{t}\mathbf{B} & = & -\nabla\times\mathbf{E}\label{Eq:Faraday-2}\\ - D_{t}\mathbf{E} & = & \nabla\times\mathbf{B}-\mathbf{J}\label{Eq:Ampere-2}\\ - \left[\nabla\cdot\mathbf{E}\right. & = & \left.\rho\right]\label{Eq:Gauss-2}\\ - \left[\nabla\cdot\mathbf{B}\right. & = & \left.0\right].\label{Eq:divb-2}\end{aligned} - -The differential operator is defined as -:math:`\nabla=D_{x}\mathbf{\hat{x}}+D_{y}\mathbf{\hat{y}}+D_{z}\mathbf{\hat{z}}` -and the finite-difference operators in time and space are defined -respectively as -:math:` `\ :math:`D_{t}G|_{i,j,k}^{n}=\left(G|_{i,j,k}^{n+1/2}-G|_{i,j,k}^{n-1/2}\right)/\Delta t`\ :math:` ` -and -:math:`D_{x}G|_{i,j,k}^{n}=\left(G|_{i+1/2,j,k}^{n}-G|_{i-1/2,j,k}^{n}\right)/\Delta x`, -where :math:`\Delta t` and :math:`\Delta x` are respectively the time -step and the grid cell size along :math:`x`, :math:`n` is the time index -and :math:`i`, :math:`j` and :math:`k` are the spatial indices along -:math:`x`, :math:`y` and :math:`z` respectively. The difference -operators along :math:`y` and :math:`z` are obtained by circular -permutation. The equations in brackets are given for completeness, as -they are often not actually solved, thanks to the usage of a so-called -charge conserving algorithm, as explained below. As shown in Figure -[fig:yee\_grid], the quantities are given on a staggered (or “Yee”) grid -Yee (1966), where the electric field components are located between -nodes and the magnetic field components are located in the center of the -cell faces. Knowing the current densities at half-integer steps, the -electric field components are updated alternately with the magnetic -field components at integer and half-integer steps respectively. - -Non-Standard Finite-Difference Time-Domain (NSFDTD) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -In (**???**; **???**), Cole introduced an implementation of the -source-free Maxwell’s wave equations for narrow-band applications based -on non-standard finite-differences (NSFD). In (**???**), Karkkainen *et -al.* adapted it for wideband applications. At the Courant limit for the -time step and for a given set of parameters, the stencil proposed in -(**???**) has no numerical dispersion along the principal axes, provided -that the cell size is the same along each dimension (i.e. cubic cells in -3D). The “Cole-Karkkainnen” (or CK) solver uses the non-standard finite -difference formulation (based on extended stencils) of the -Maxwell-Ampere equation and can be implemented as follows (**???**): - -.. math:: - - \begin{aligned} - D_{t}\mathbf{B} & = & -\nabla^{*}\times\mathbf{E}\label{Eq:Faraday}\\ - D_{t}\mathbf{E} & = & \nabla\times\mathbf{B}-\mathbf{J}\label{Eq:Ampere}\\ - \left[\nabla\cdot\mathbf{E}\right. & = & \left.\rho\right]\label{Eq:Gauss}\\ - \left[\nabla^{*}\cdot\mathbf{B}\right. & = & \left.0\right]\label{Eq:divb}\end{aligned} - -Eq. [Eq:Gauss] and [Eq:divb] are not being solved explicitly but -verified via appropriate initial conditions and current deposition -procedure. The NSFD differential operators is given by -:math:`\nabla^{*}=D_{x}^{*}\mathbf{\hat{x}}+D_{y}^{*}\mathbf{\hat{y}}+D_{z}^{*}\mathbf{\hat{z}}` -where -:math:`D_{x}^{*}=\left(\alpha+\beta S_{x}^{1}+\xi S_{x}^{2}\right)D_{x}` -with -:math:`S_{x}^{1}G|_{i,j,k}^{n}=G|_{i,j+1,k}^{n}+G|_{i,j-1,k}^{n}+G|_{i,j,k+1}^{n}+G|_{i,j,k-1}^{n}`, -:math:`S_{x}^{2}G|_{i,j,k}^{n}=G|_{i,j+1,k+1}^{n}+G|_{i,j-1,k+1}^{n}+G|_{i,j+1,k-1}^{n}+G|_{i,j-1,k-1}^{n}`. -:math:`G` is a sample vector component, while :math:`\alpha`, -:math:`\beta` and :math:`\xi` are constant scalars satisfying -:math:`\alpha+4\beta+4\xi=1`. As with the FDTD algorithm, the quantities -with half-integer are located between the nodes (electric field -components) or in the center of the cell faces (magnetic field -components). The operators along :math:`y` and :math:`z`, i.e. -:math:`D_{y}`, :math:`D_{z}`, :math:`D_{y}^{*}`, :math:`D_{z}^{*}`, -:math:`S_{y}^{1}`, :math:`S_{z}^{1}`, :math:`S_{y}^{2}`, and -:math:`S_{z}^{2}`, are obtained by circular permutation of the indices. - -Assuming cubic cells (:math:`\Delta x=\Delta y=\Delta z`), the -coefficients given in (**???**) (:math:`\alpha=7/12`, :math:`\beta=1/12` -and :math:`\xi=1/48`) allow for the Courant condition to be at -:math:`\Delta t=\Delta x`, which equates to having no numerical -dispersion along the principal axes. The algorithm reduces to the FDTD -algorithm with :math:`\alpha=1` and :math:`\beta=\xi=0`. An extension to -non-cubic cells is provided by Cowan, *et al.* in 3-D in Cowan et al. -(2013) and was given by Pukhov in 2-D in Pukhov (1999). An alternative -NSFDTD implementation that enables superluminous waves is also given by -Lehe *et al.* in Lehe et al. (2013). - -As mentioned above, a key feature of the algorithms based on NSFDTD is -that some implementations (**???**; Cowan et al. 2013) enable the time -step :math:`\Delta t=\Delta x` along one or more axes and no numerical -dispersion along those axes. However, as shown in (**???**), an -instability develops at the Nyquist wavelength at (or very near) such a -timestep. It is also shown in the same paper that removing the Nyquist -component in all the source terms using a bilinear filter (see -description of the filter below) suppresses this instability. - -Pseudo Spectral Analytical Time Domain (PSATD) -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Maxwell’s equations in Fourier space are given by - -.. math:: - - \begin{aligned} - \frac{\partial{\mathbf{\tilde{E}}}}{\partial t} & = & i{\mathbf{k}}\times{\mathbf{\tilde{B}}}-{\mathbf{\tilde{J}}}\\ - \frac{\partial{\mathbf{\tilde{B}}}}{\partial t} & = & -i{\mathbf{k}}\times{\mathbf{\tilde{E}}}\\ - {}[i{\mathbf{k}}\cdot{\mathbf{\tilde{E}}}& = & \tilde{\rho}]\\ - {}[i{\mathbf{k}}\cdot{\mathbf{\tilde{B}}}& = & 0]\end{aligned} - -where :math:`\tilde{a}` is the Fourier Transform of the quantity -:math:`a`. As with the real space formulation, provided that the -continuity equation -:math:`\partial\tilde{\rho}/\partial t+i{\mathbf{k}}\cdot{\mathbf{\tilde{J}}}=0` -is satisfied, then the last two equations will automatically be -satisfied at any time if satisfied initially and do not need to be -explicitly integrated. - -Decomposing the electric field and current between longitudinal and -transverse components -:math:`{\mathbf{\tilde{E}}}={\mathbf{\tilde{E}}}_{L}+{\mathbf{\tilde{E}}}_{T}={\mathbf{\hat{k}}}({\mathbf{\hat{k}}}\cdot{\mathbf{\tilde{E}}})-{\mathbf{\hat{k}}}\times({\mathbf{\hat{k}}}\times{\mathbf{\tilde{E}}})` -and -:math:`{\mathbf{\tilde{J}}}={\mathbf{\tilde{J}}}_{L}+{\mathbf{\tilde{J}}}_{T}={\mathbf{\hat{k}}}({\mathbf{\hat{k}}}\cdot{\mathbf{\tilde{J}}})-{\mathbf{\hat{k}}}\times({\mathbf{\hat{k}}}\times{\mathbf{\tilde{J}}})` -gives - -.. math:: - - \begin{aligned} - \frac{\partial{\mathbf{\tilde{E}}}_{T}}{\partial t} & = & i{\mathbf{k}}\times{\mathbf{\tilde{B}}}-\mathbf{\tilde{J}_{T}}\\ - \frac{\partial{\mathbf{\tilde{E}}}_{L}}{\partial t} & = & -\mathbf{\tilde{J}_{L}}\\ - \frac{\partial{\mathbf{\tilde{B}}}}{\partial t} & = & -i{\mathbf{k}}\times{\mathbf{\tilde{E}}}\end{aligned} - -with :math:`{\mathbf{\hat{k}}}={\mathbf{k}}/k`. - -If the sources are assumed to be constant over a time interval -:math:`\Delta t`, the system of equations is solvable analytically and -is given by (see (**???**) for the original formulation and Vay, Haber, -and Godfrey (2013) for a more detailed derivation): - -[Eq:PSATD] - -.. math:: - - \begin{aligned} - {\mathbf{\tilde{E}}}_{T}^{n+1} & = & C{\mathbf{\tilde{E}}}_{T}^{n}+iS{\mathbf{\hat{k}}}\times{\mathbf{\tilde{B}}}^{n}-\frac{S}{k}{\mathbf{\tilde{J}}}_{T}^{n+1/2}\label{Eq:PSATD_transverse_1}\\ - {\mathbf{\tilde{E}}}_{L}^{n+1} & = & {\mathbf{\tilde{E}}}_{L}^{n}-\Delta t{\mathbf{\tilde{J}}}_{L}^{n+1/2}\\ - {\mathbf{\tilde{B}}}^{n+1} & = & C{\mathbf{\tilde{B}}}^{n}-iS{\mathbf{\hat{k}}}\times{\mathbf{\tilde{E}}}^{n}\\ - &+&i\frac{1-C}{k}{\mathbf{\hat{k}}}\times{\mathbf{\tilde{J}}}^{n+1/2}\label{Eq:PSATD_transverse_2}\end{aligned} - -with :math:`C=\cos\left(k\Delta t\right)` and -:math:`S=\sin\left(k\Delta t\right)`. - -Combining the transverse and longitudinal components, gives - -.. math:: - - \begin{aligned} - {\mathbf{\tilde{E}}}^{n+1} & = & C{\mathbf{\tilde{E}}}^{n}+iS{\mathbf{\hat{k}}}\times{\mathbf{\tilde{B}}}^{n}-\frac{S}{k}{\mathbf{\tilde{J}}}^{n+1/2}\\ - & + &(1-C){\mathbf{\hat{k}}}({\mathbf{\hat{k}}}\cdot{\mathbf{\tilde{E}}}^{n})\nonumber \\ - & + & {\mathbf{\hat{k}}}({\mathbf{\hat{k}}}\cdot{\mathbf{\tilde{J}}}^{n+1/2})\left(\frac{S}{k}-\Delta t\right),\label{Eq_PSATD_1}\\ - {\mathbf{\tilde{B}}}^{n+1} & = & C{\mathbf{\tilde{B}}}^{n}-iS{\mathbf{\hat{k}}}\times{\mathbf{\tilde{E}}}^{n}\\ - &+&i\frac{1-C}{k}{\mathbf{\hat{k}}}\times{\mathbf{\tilde{J}}}^{n+1/2}.\label{Eq_PSATD_2}\end{aligned} - -For fields generated by the source terms without the self-consistent -dynamics of the charged particles, this algorithm is free of numerical -dispersion and is not subject to a Courant condition. Furthermore, this -solution is exact for any time step size subject to the assumption that -the current source is constant over that time step. - -As shown in Vay, Haber, and Godfrey (2013), by expanding the -coefficients :math:`S_{h}` and :math:`C_{h}` in Taylor series and -keeping the leading terms, the PSATD formulation reduces to the perhaps -better known pseudo-spectral time-domain (PSTD) formulation Dawson -(1983; **???**): - -.. math:: - - \begin{aligned} - {\mathbf{\tilde{E}}}^{n+1} & = & {\mathbf{\tilde{E}}}^{n}+i\Delta t{\mathbf{k}}\times{\mathbf{\tilde{B}}}^{n+1/2}-\Delta t{\mathbf{\tilde{J}}}^{n+1/2},\\ - {\mathbf{\tilde{B}}}^{n+3/2} & = & {\mathbf{\tilde{B}}}^{n+1/2}-i\Delta t{\mathbf{k}}\times{\mathbf{\tilde{E}}}^{n+1}.\end{aligned} - -The dispersion relation of the PSTD solver is given by -:math:`\sin(\frac{\omega\Delta t}{2})=\frac{k\Delta t}{2}.` In contrast -to the PSATD solver, the PSTD solver is subject to numerical dispersion -for a finite time step and to a Courant condition that is given by -:math:`\Delta t\leq \frac{2}{\pi}\left(\frac{1}{\Delta x^{2}}+\frac{1}{\Delta y^{2}}+\frac{1}{\Delta x^{2}}\right)^{-1/2}.` - -The PSATD and PSTD formulations that were just given apply to the field -components located at the nodes of the grid. As noted in Ohmura and -Okamura (2010), they can also be easily recast on a staggered Yee grid -by multiplication of the field components by the appropriate phase -factors to shift them from the collocated to the staggered locations. -The choice between a collocated and a staggered formulation is -application-dependent. - -Spectral solvers used to be very popular in the years 1970s to early -1990s, before being replaced by finite-difference methods with the -advent of parallel supercomputers that favored local methods. However, -it was shown recently that standard domain decomposition with Fast -Fourier Transforms that are local to each subdomain could be used -effectively with PIC spectral methods Vay, Haber, and Godfrey (2013), at -the cost of truncation errors in the guard cells that could be -neglected. A detailed analysis of the effectiveness of the method with -exact evaluation of the magnitude of the effect of the truncation error -is given in Vincenti and Vay (2016) for stencils of arbitrary order -(up-to the infinite “spectral” order). - -Current deposition ------------------- - -The current densities are deposited on the computational grid from the -particle position and velocities, employing splines of various orders -(**???**). - -.. math:: - - \begin{aligned} - \rho & = & \frac{1}{\Delta x \Delta y \Delta z}\sum_nq_nS_n\\ - \mathbf{J} & = & \frac{1}{\Delta x \Delta y \Delta z}\sum_nq_n\mathbf{v_n}S_n\end{aligned} - -In most applications, it is essential to prevent the accumulation of -errors resulting from the violation of the discretized Gauss’ Law. This -is accomplished by providing a method for depositing the current from -the particles to the grid that preserves the discretized Gauss’ Law, or -by providing a mechanism for “divergence cleaning” (**???**; **???**; -**???**; **???**; Munz et al. 2000). For the former, schemes that allow -a deposition of the current that is exact when combined with the Yee -solver is given in (**???**) for linear splines and in Esirkepov (2001) -for splines of arbitrary order. - -The NSFDTD formulations given above and in Pukhov (1999; **???**; Cowan -et al. 2013; Lehe et al. 2013) apply to the Maxwell-Faraday equation, -while the discretized Maxwell-Ampere equation uses the FDTD formulation. -Consequently, the charge conserving algorithms developed for current -deposition (**???**; Esirkepov 2001) apply readily to those NSFDTD-based -formulations. More details concerning those implementations, including -the expressions for the numerical dispersion and Courant condition are -given in Pukhov (1999; **???**; Cowan et al. 2013; Lehe et al. 2013). - -In the case of the pseudospectral solvers, the current deposition -algorithm generally does not satisfy the discretized continuity equation -in Fourier space -:math:`\tilde{\rho}^{n+1}=\tilde{\rho}^{n}-i\Delta t{\mathbf{k}}\cdot\mathbf{\tilde{J}}^{n+1/2}`. -In this case, a Boris correction (**???**) can be applied in :math:`k` -space in the form -:math:`{\mathbf{\tilde{E}}}_{c}^{n+1}={\mathbf{\tilde{E}}}^{n+1}-\left({\mathbf{k}}\cdot{\mathbf{\tilde{E}}}^{n+1}+i\tilde{\rho}^{n+1}\right){\mathbf{\hat{k}}}/k`, -where :math:`{\mathbf{\tilde{E}}}_{c}` is the corrected field. -Alternatively, a correction to the current can be applied (with some -similarity to the current deposition presented by Morse and Nielson in -their potential-based model in (**???**)) using -:math:`{\mathbf{\tilde{J}}}_{c}^{n+1/2}={\mathbf{\tilde{J}}}^{n+1/2}-\left[{\mathbf{k}}\cdot{\mathbf{\tilde{J}}}^{n+1/2}-i\left(\tilde{\rho}^{n+1}-\tilde{\rho}^{n}\right)/\Delta t\right]{\mathbf{\hat{k}}}/k`, -where :math:`{\mathbf{\tilde{J}}}_{c}` is the corrected current. In this -case, the transverse component of the current is left untouched while -the longitudinal component is effectively replaced by the one obtained -from integration of the continuity equation, ensuring that the corrected -current satisfies the continuity equation. The advantage of correcting -the current rather than the electric field is that it is more local and -thus more compatible with domain decomposition of the fields for -parallel computation J. L. Vay, Haber, and Godfrey (2013). - -Alternatively, an exact current deposition can be written for the -pseudospectral solvers, following the geometrical interpretation of -existing methods in real space (**???**; **???**; Esirkepov 2001), -thereby averaging the currents of the paths following grid lines between -positions :math:`(x^n,y^n)` and :math:`(x^{n+1},y^{n+1})`, which is -given in 2D (extension to 3D follows readily) for :math:`k\neq0` by J. -L. Vay, Haber, and Godfrey (2013): - -.. math:: - - \begin{aligned} - {\mathbf{\tilde{J}}}^{k\neq0}=\frac{i\mathbf{\tilde{D}}}{{\mathbf{k}}} - \label{Eq_Jdep_1}\end{aligned} - - with - -.. math:: - - \begin{aligned} - D_x = \frac{1}{2\Delta t}\sum_i q_i - [\Gamma(x_i^{n+1},y_i^{n+1})-\Gamma(x_i^{n},y_i^{n+1}) \nonumber\\ - +\Gamma(x_i^{n+1},y_i^{n})-\Gamma(x_i^{n},y_i^{n})],\\ - D_y = \frac{1}{2\Delta t}\sum_i q_i - [\Gamma(x_i^{n+1},y_i^{n+1})-\Gamma(x_i^{n+1},y_i^{n}) \nonumber \\ - +\Gamma(x_i^{n},y_i^{n+1})-\Gamma(x_i^{n},y_i^{n})],\end{aligned} - - where :math:`\Gamma` is the macro-particle form factor. The -contributions for :math:`k=0` are integrated directly in real space J. -L. Vay, Haber, and Godfrey (2013). - -Field gather ------------- - -In general, the field is gathered from the mesh onto the macroparticles -using splines of the same order as for the current deposition -:math:`\mathbf{S}=\left(S_{x},S_{y},S_{z}\right)`. Three variations are -considered: - -- “momentum conserving”: fields are interpolated from the grid nodes to - the macroparticles using - :math:`\mathbf{S}=\left(S_{nx},S_{ny},S_{nz}\right)` for all field - components (if the fields are known at staggered positions, they are - first interpolated to the nodes on an auxiliary grid), - -- “energy conserving (or Galerkin)”: fields are interpolated from the - staggered Yee grid to the macroparticles using - :math:`\left(S_{nx-1},S_{ny},S_{nz}\right)` for :math:`E_{x}`, - :math:`\left(S_{nx},S_{ny-1},S_{nz}\right)` for :math:`E_{y}`, - :math:`\left(S_{nx},S_{ny},S_{nz-1}\right)` for :math:`E_{z}`, - :math:`\left(S_{nx},S_{ny-1},S_{nz-1}\right)` for :math:`B_{x}`, - :math:`\left(S_{nx-1},S_{ny},S_{nz-1}\right)` for :math:`B{}_{y}` - and\ :math:`\left(S_{nx-1},S_{ny-1},S_{nz}\right)` for :math:`B_{z}` - (if the fields are known at the nodes, they are first interpolated to - the staggered positions on an auxiliary grid), - -- “uniform”: fields are interpolated directly form the Yee grid to the - macroparticles using - :math:`\mathbf{S}=\left(S_{nx},S_{ny},S_{nz}\right)` for all field - components (if the fields are known at the nodes, they are first - interpolated to the staggered positions on an auxiliary grid). - -As shown in (**???**; Hockney and Eastwood 1988; Lewis 1972), the -momentum and energy conserving schemes conserve momentum and energy -respectively at the limit of infinitesimal time steps and generally -offer better conservation of the respective quantities for a finite time -step. The uniform scheme does not conserve momentum nor energy in the -sense defined for the others but is given for completeness, as it has -been shown to offer some interesting properties in the modeling of -relativistically drifting plasmas Godfrey and Vay (2013). - -Moving window and optimal Lorentz boosted frame ------------------------------------------------ - -The simulations of plasma accelerators from first principles are -extremely computationally intensive, due to the need to resolve the -evolution of a driver (laser or particle beam) and an accelerated -particle beam into a plasma structure that is orders of magnitude longer -and wider than the accelerated beam. As is customary in the modeling of -particle beam dynamics in standard particle accelerators, a moving -window is commonly used to follow the driver, the wake and the -accelerated beam. This results in huge savings, by avoiding the meshing -of the entire plasma that is orders of magnitude longer than the other -length scales of interest. - -Even using a moving window, however, a full PIC simulation of a plasma -accelerator can be extraordinarily demanding computationally, as many -time steps are needed to resolve the crossing of the short driver beam -with the plasma column. As it turns out, choosing an optimal frame of -reference that travels close to the speed of light in the direction of -the laser or particle beam (as opposed to the usual choice of the -laboratory frame) enables speedups by orders of magnitude (**???**; -**???**). This is a result of the properties of Lorentz contraction and -dilation of space and time. In the frame of the laboratory, a very short -driver (laser or particle) beam propagates through a much longer plasma -column, necessitating millions to tens of millions of time steps for -parameters in the range of the BELLA or FACET-II experiments. As -sketched in Fig. [fig:PIC], in a frame moving with the driver beam in -the plasma at velocity :math:`v=\beta c` (where :math:`c` is the speed -of light in vacuum), the beam length is now elongated by -:math:`\approx(1+\beta)\gamma` while the plasma contracts by -:math:`\gamma` (where :math:`\gamma=1/\sqrt{1-\beta^2}` is the -relativistic factor associated with the frame velocity). The number of -time steps that is needed to simulate a “longer” beam through a -“shorter” plasma is now reduced by up to -:math:`\approx(1+\beta) \gamma^2` (a detailed derivation of the speedup -is given below). - -The modeling of a plasma acceleration stage in a boosted frame involves -the fully electromagnetic modeling of a plasma propagating at near the -speed of light, for which Numerical Cerenkov (**???**; **???**) is a -potential issue, as explained in more details below. In addition, for a -frame of reference moving in the direction of the accelerated beam (or -equivalently the wake of the laser), waves emitted by the plasma in the -forward direction expand while the ones emitted in the backward -direction contract, following the properties of the Lorentz -transformation. If one had to resolve both forward and backward -propagating waves emitted from the plasma, there would be no gain in -selecting a frame different from the laboratory frame. However, the -physics of interest for a laser wakefield is the laser driving the wake, -the wake, and the accelerated beam. Backscatter is weak in the -short-pulse regime, and does not interact as strongly with the beam as -do the forward propagating waves which stay in phase for a long period. -It is thus often assumed that the backward propagating waves can be -neglected in the modeling of plasma accelerator stages. The accuracy of -this assumption has been demonstrated by comparison between explicit -codes which include both forward and backward waves and envelope or -quasistatic codes which neglect backward waves (**???**; **???**; -**???**). - -Theoretical speedup dependency with the frame boost -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The derivation that is given here reproduces the one given in (**???**), -where the obtainable speedup is derived as an extension of the formula -that was derived earlier(**???**), taking in addition into account the -group velocity of the laser as it traverses the plasma. - -Assuming that the simulation box is a fixed number of plasma periods -long, which implies the use (which is standard) of a moving window -following the wake and accelerated beam, the speedup is given by the -ratio of the time taken by the laser pulse and the plasma to cross each -other, divided by the shortest time scale of interest, that is the laser -period. To first order, the wake velocity :math:`v_w` is set by the 1D -group velocity of the laser driver, which in the linear (low intensity) -limit, is given by (**???**): - -.. math:: v_w/c=\beta_w=\left(1-\frac{\omega_p^2}{\omega^2}\right)^{1/2} - -where :math:`\omega_p=\sqrt{(n_e e^2)/(\epsilon_0 m_e)}` is the plasma -frequency, :math:`\omega=2\pi c/\lambda` is the laser frequency, -:math:`n_e` is the plasma density, :math:`\lambda` is the laser -wavelength in vacuum, :math:`\epsilon_0` is the permittivity of vacuum, -:math:`c` is the speed of light in vacuum, and :math:`e` and :math:`m_e` -are respectively the charge and mass of the electron. - -In practice, the runs are typically stopped when the last electron beam -macro-particle exits the plasma, and a measure of the total time of the -simulation is then given by - -.. math:: T=\frac{L+\eta \lambda_p}{v_w-v_p} - - where :math:`\lambda_p\approx 2\pi c/\omega_p` is the wake wavelength, -:math:`L` is the plasma length, :math:`v_w` and :math:`v_p=\beta_p c` -are respectively the velocity of the wake and of the plasma relative to -the frame of reference, and :math:`\eta` is an adjustable parameter for -taking into account the fraction of the wake which exited the plasma at -the end of the simulation. For a beam injected into the :math:`n^{th}` -bucket, :math:`\eta` would be set to :math:`n-1/2`. If positrons were -considered, they would be injected half a wake period ahead of the -location of the electrons injection position for a given period, and one -would have :math:`\eta=n-1`. The numerical cost :math:`R_t` scales as -the ratio of the total time to the shortest timescale of interest, which -is the inverse of the laser frequency, and is thus given by - -.. math:: R_t=\frac{T c}{\lambda}=\frac{\left(L+\eta \lambda_p\right)}{\left(\beta_w-\beta_p\right) \lambda} - - In the laboratory, :math:`v_p=0` and the expression simplifies to - -.. math:: R_{lab}=\frac{T c}{\lambda}=\frac{\left(L+\eta \lambda_p\right)}{\beta_w \lambda} - - In a frame moving at :math:`\beta c`, the quantities become - -.. math:: - - \begin{aligned} - \lambda_p^*&=&\lambda_p/\left[\gamma \left(1-\beta_w \beta\right)\right] \\ - L^*&=&L/\gamma \\ - \lambda^*&=& \gamma\left(1+\beta\right) \lambda\\ - \beta_w^*&=&\left(\beta_w-\beta\right)/\left(1-\beta_w\beta\right) \\ - v_p^*&=&-\beta c \\ - T^*&=&\frac{L^*+\eta \lambda_p^*}{v_w^*-v_p^*} \\ - R_t^*&=&\frac{T^* c}{\lambda^*} = \frac{\left(L^*+\eta \lambda_p^*\right)}{\left(\beta_w^*+\beta\right) \lambda^*}\end{aligned} - - where :math:`\gamma=1/\sqrt{1-\beta^2}`. - -The expected speedup from performing the simulation in a boosted frame -is given by the ratio of :math:`R_{lab}` and :math:`R_t^*` - -.. math:: - - S=\frac{R_{lab}}{R_t^*}=\frac{\left(1+\beta\right)\left(L+\eta \lambda_p\right)}{\left(1-\beta\beta_w\right)L+\eta \lambda_p} - \label{Eq_scaling1d0} - -We note that assuming that :math:`\beta_w\approx1` (which is a valid -approximation for most practical cases of interest) and that -:math:`\gamma<<\gamma_w`, this expression is consistent with the -expression derived earlier (**???**) for the laser-plasma acceleration -case, which states that :math:`R_t^*=\alpha R_t/\left(1+\beta\right)` -with :math:`\alpha=\left(1-\beta+l/L\right)/\left(1+l/L\right)`, where -:math:`l` is the laser length which is generally proportional to -:math:`\eta \lambda_p`, and :math:`S=R_t/R_T^*`. However, higher values -of :math:`\gamma` are of interest for maximum speedup, as shown below. - -For intense lasers (:math:`a\sim 1`) typically used for acceleration, -the energy gain is limited by dephasing (**???**), which occurs over a -scale length :math:`L_d \sim \lambda_p^3/2\lambda^2`. Acceleration is -compromised beyond :math:`L_d` and in practice, the plasma length is -proportional to the dephasing length, i.e. :math:`L= \xi L_d`. In most -cases, :math:`\gamma_w^2>>1`, which allows the approximations -:math:`\beta_w\approx1-\lambda^2/2\lambda_p^2`, and -:math:`L=\xi \lambda_p^3/2\lambda^2\approx \xi \gamma_w^2 \lambda_p/2>>\eta \lambda_p`, -so that Eq.([Eq\_scaling1d0]) becomes - -.. math:: - - S=\left(1+\beta\right)^2\gamma^2\frac{\xi\gamma_w^2}{\xi\gamma_w^2+\left(1+\beta\right)\gamma^2\left(\xi\beta/2+2\eta\right)} - \label{Eq_scaling1d} - - For low values of :math:`\gamma`, i.e. when :math:`\gamma<<\gamma_w`, -Eq.([Eq\_scaling1d]) reduces to - -.. math:: - - S_{\gamma<<\gamma_w}=\left(1+\beta\right)^2\gamma^2 - \label{Eq_scaling1d_simpl2} - - Conversely, if :math:`\gamma\rightarrow\infty`, Eq.([Eq\_scaling1d]) -becomes - -.. math:: - - S_{\gamma\rightarrow\infty}=\frac{4}{1+4\eta/\xi}\gamma_w^2 - \label{Eq_scaling_gamma_inf} - - Finally, in the frame of the wake, i.e. when :math:`\gamma=\gamma_w`, -assuming that :math:`\beta_w\approx1`, Eq.([Eq\_scaling1d]) gives - -.. math:: - - S_{\gamma=\gamma_w}\approx\frac{2}{1+2\eta/\xi}\gamma_w^2 - \label{Eq_scaling_gamma_wake} - - Since :math:`\eta` and :math:`\xi` are of order unity, and the -practical regimes of most interest satisfy :math:`\gamma_w^2>>1`, the -speedup that is obtained by using the frame of the wake will be near the -maximum obtainable value given by Eq.([Eq\_scaling\_gamma\_inf]). - -Note that without the use of a moving window, the relativistic effects -that are at play in the time domain would also be at play in the spatial -domain (**???**), and the :math:`\gamma^2` scaling would transform to -:math:`\gamma^4`. Hence, it is important to use a moving window even in -simulations in a Lorentz boosted frame. For very high values of the -boosted frame, the optimal velocity of the moving window may vanish -(i.e. no moving window) or even reverse. - -Numerical Stability and alternate formulation in a Galilean frame ------------------------------------------------------------------ - -The numerical Cherenkov instability (NCI) (**???**) is the most serious -numerical instability affecting multidimensional PIC simulations of -relativistic particle beams and streaming plasmas (**???**; Vay et al. -2010; **???**; Sironi and Spitkovsky 2011; Godfrey and Vay 2013; Xu et -al. 2013). It arises from coupling between possibly numerically -distorted electromagnetic modes and spurious beam modes, the latter due -to the mismatch between the Lagrangian treatment of particles and the -Eulerian treatment of fields Godfrey (1975). - -In recent papers the electromagnetic dispersion relations for the -numerical Cherenkov instability were derived and solved for both FDTD -Godfrey and Vay (2013; Godfrey and Vay 2014) and PSATD Godfrey, Vay, and -Haber (2014b; Godfrey, Vay, and Haber 2014c) algorithms. - -Several solutions have been proposed to mitigate the NCI Godfrey, Vay, -and Haber (2014a; Godfrey, Vay, and Haber 2014c; Godfrey, Vay, and Haber -2014b; Godfrey and Vay 2015; Yu, Xu, Decyk, et al. 2015; Yu, Xu, -Tableman, et al. 2015). Although these solutions efficiently reduce the -numerical instability, they typically introduce either strong smoothing -of the currents and fields, or arbitrary numerical corrections, which -are tuned specifically against the NCI and go beyond the natural -discretization of the underlying physical equation. Therefore, it is -sometimes unclear to what extent these added corrections could impact -the physics at stake for a given resolution. - -For instance, NCI-specific corrections include periodically smoothing -the electromagnetic field components (**???**), using a special time -step Vay et al. (2010; **???**) or applying a wide-band smoothing of the -current components Vay et al. (2010; **???**; Vay et al. 2011). Another -set of mitigation methods involve scaling the deposited currents by a -carefully-designed wavenumber-dependent factor Godfrey and Vay (2014; -Godfrey, Vay, and Haber 2014c) or slightly modifying the ratio of -electric and magnetic fields (:math:`E/B`) before gathering their value -onto the macroparticles Godfrey, Vay, and Haber (2014b; Godfrey and Vay -2015). Yet another set of NCI-specific corrections Yu, Xu, Decyk, et al. -(2015; Yu, Xu, Tableman, et al. 2015) consists in combining a small -timestep :math:`\Delta t`, a sharp low-pass spatial filter, and a -spectral or high-order scheme that is tuned so as to create a small, -artificial “bump” in the dispersion relation Yu, Xu, Decyk, et al. -(2015). While most mitigation methods have only been applied to -Cartesian geometry, this last set of methods (Yu, Xu, Decyk, et al. -(2015; Yu, Xu, Tableman, et al. 2015)) has the remarkable property that -it can be applied Yu, Xu, Tableman, et al. (2015) to both Cartesian -geometry and quasi-cylindrical geometry (i.e. cylindrical geometry with -azimuthal Fourier decomposition Lifschitz et al. (2009; Davidson et al. -2015; Lehe et al. 2016)). However, the use of a small timestep -proportionally slows down the progress of the simulation, and the -artificial “bump” is again an arbitrary correction that departs from the -underlying physics. - -A new scheme was recently proposed, in (**???**; **???**), which -completely eliminates the NCI for a plasma drifting at a uniform -relativistic velocity – with no arbitrary correction – by simply -integrating the PIC equations in *Galilean coordinates* (also known as -*comoving coordinates*). More precisely, in the new method, the Maxwell -equations *in Galilean coordinates* are integrated analytically, using -only natural hypotheses, within the PSATD framework -(Pseudo-Spectral-Analytical-Time-Domain (**???**; J. L. Vay, Haber, and -Godfrey 2013)). - -The idea of the proposed scheme is to perform a Galilean change of -coordinates, and to carry out the simulation in the new coordinates: - -.. math:: - - \label{eq:change-var} - {\boldsymbol{x}}' = {\boldsymbol{x}} - {{\boldsymbol{v}}_{gal}}t - - where -:math:`{\boldsymbol{x}} = x\,{\boldsymbol{u}}_x + y\,{\boldsymbol{u}}_y + z\,{\boldsymbol{u}}_z` -and -:math:`{\boldsymbol{x}}' = x'\,{\boldsymbol{u}}_x + y'\,{\boldsymbol{u}}_y + z'\,{\boldsymbol{u}}_z` -are the position vectors in the standard and Galilean coordinates -respectively. - -When choosing :math:`{{\boldsymbol{v}}_{gal}}= {\boldsymbol{v}}_0`, -where :math:`{\boldsymbol{v}}_0` is the speed of the bulk of the -relativistic plasma, the plasma does not move with respect to the grid -in the Galilean coordinates :math:`{\boldsymbol{x}}'` – or, -equivalently, in the standard coordinates :math:`{\boldsymbol{x}}`, the -grid moves along with the plasma. The heuristic intuition behind this -scheme is that these coordinates should prevent the discrepancy between -the Lagrangian and Eulerian point of view, which gives rise to the NCI -Godfrey (1975). - -An important remark is that the Galilean change of coordinates -([eq:change-var]) is a simple translation. Thus, when used in the -context of Lorentz-boosted simulations, it does of course preserve the -relativistic dilatation of space and time which gives rise to the -characteristic computational speedup of the boosted-frame technique. - -Another important remark is that the Galilean scheme is *not* equivalent -to a moving window (and in fact the Galilean scheme can be independently -*combined* with a moving window). Whereas in a moving window, gridpoints -are added and removed so as to effectively translate the boundaries, in -the Galilean scheme the gridpoints *themselves* are not only translated -but in this case, the physical equations are modified accordingly. Most -importantly, the assumed time evolution of the current -:math:`{\boldsymbol{J}}` within one timestep is different in a standard -PSATD scheme with moving window and in a Galilean PSATD scheme -(**???**). - -In the Galilean coordinates :math:`{\boldsymbol{x}}'`, the equations of -particle motion and the Maxwell equations take the form - -.. math:: - - \begin{aligned} - \frac{d{\boldsymbol{x}}'}{dt} &= \frac{{\boldsymbol{p}}}{\gamma m} - {{\boldsymbol{v}}_{gal}}\label{eq:motion1} \\ - \frac{d{\boldsymbol{p}}}{dt} &= q \left( {\boldsymbol{E}} + - \frac{{\boldsymbol{p}}}{\gamma m} \times {\boldsymbol{B}} \right) \label{eq:motion2}\\ - \left( { \frac{\partial \;}{\partial t}} - {{\boldsymbol{v}}_{gal}}\cdot{{\boldsymbol{\nabla'}}}\right){\boldsymbol{B}} &= -{{\boldsymbol{\nabla'}}}\times{\boldsymbol{E}} \label{eq:maxwell1}\\ - \frac{1}{c^2}\left( { \frac{\partial \;}{\partial t}} - {{\boldsymbol{v}}_{gal}}\cdot{{\boldsymbol{\nabla'}}}\right){\boldsymbol{E}} &= {{\boldsymbol{\nabla'}}}\times{\boldsymbol{B}} - \mu_0{\boldsymbol{J}} \label{eq:maxwell2}\end{aligned} - -where :math:`{{\boldsymbol{\nabla'}}}` denotes a spatial derivative with -respect to the Galilean coordinates :math:`{\boldsymbol{x}}'`. - -Integrating these equations from :math:`t=n\Delta -t` to :math:`t=(n+1)\Delta t` results in the following update equations -(see (**???**) for the details of the derivation): - -.. math:: - - \begin{aligned} - {\mathbf{\tilde{B}}}^{n+1} &= \theta^2 C {\mathbf{\tilde{B}}}^n - -\frac{\theta^2 S}{ck}i{\boldsymbol{k}}\times {\mathbf{\tilde{E}}}^n \nonumber \\ - & + \;\frac{\theta \chi_1}{\epsilon_0c^2k^2}\;i{\boldsymbol{k}} \times - {\mathbf{\tilde{J}}}^{n+1/2} \label{eq:disc-maxwell1}\\ - {\mathbf{\tilde{E}}}^{n+1} &= \theta^2 C {\mathbf{\tilde{E}}}^n - +\frac{\theta^2 S}{k} \,c i{\boldsymbol{k}}\times {\mathbf{\tilde{B}}}^n \nonumber \\ - & +\frac{i\nu \theta \chi_1 - \theta^2S}{\epsilon_0 ck} \; {\mathbf{\tilde{J}}}^{n+1/2}\nonumber \\ - & - \frac{1}{\epsilon_0k^2}\left(\; \chi_2\;{\hat{\mathcal{\rho}}}^{n+1} - - \theta^2\chi_3\;{\hat{\mathcal{\rho}}}^{n} \;\right) i{\boldsymbol{k}} \label{eq:disc-maxwell2} - -where we used the short-hand notations -:math:`{\mathbf{\tilde{E}}}^n \equiv -{\mathbf{\tilde{E}}}({\boldsymbol{k}}, n\Delta t)`, -:math:`{\mathbf{\tilde{B}}}^n \equiv -{\mathbf{\tilde{B}}}({\boldsymbol{k}}, n\Delta t)` as well as: - -.. math:: - - \begin{aligned} - &C = \cos(ck\Delta t) \quad S = \sin(ck\Delta t) \quad k - = |{\boldsymbol{k}}| \label{eq:def-C-S}\\& - \nu = \frac{{\boldsymbol{k}}\cdot{{\boldsymbol{v}}_{gal}}}{ck} \quad \theta = - e^{i{\boldsymbol{k}}\cdot{{\boldsymbol{v}}_{gal}}\Delta t/2} \quad \theta^* = - e^{-i{\boldsymbol{k}}\cdot{{\boldsymbol{v}}_{gal}}\Delta t/2} \label{eq:def-nu-theta}\\& - \chi_1 = \frac{1}{1 -\nu^2} \left( \theta^* - C \theta + i - \nu \theta S \right) \label{eq:def-chi1}\\& - \chi_2 = \frac{\chi_1 - \theta(1-C)}{\theta^*-\theta} \quad - \chi_3 = \frac{\chi_1-\theta^*(1-C)}{\theta^*-\theta} \label{eq:def-chi23}\end{aligned} - -Note that, in the limit -:math:`{{\boldsymbol{v}}_{gal}}={\boldsymbol{0}}`, ([eq:disc-maxwell1]) -and ([eq:disc-maxwell2]) reduce to the standard PSATD equations -(**???**), as expected. As shown in (**???**; **???**), the elimination -of the NCI with the new Galilean integration is verified empirically via -PIC simulations of uniform drifting plasmas and laser-driven plasma -acceleration stages, and confirmed by a theoretical analysis of the -instability. - -The electromagnetic quasi-static method -======================================= - -The electromagnetic quasi-static method was developed earlier than the -Lorentz boosted frame method, as a way to tackle the large separation of -length and time scales between the plasma and the driver. The -quasi-static approximation (**???**) takes advantage of the facts that -(a) the laser or particle beam driver is moving close to the speed of -light, and is hence very rigid with a slow time response, and (b) the -plasma response is extremely fast, in comparison to the driver’s. The -separation of the driver and plasma time responses enables a separation -in the treatment of the two components as follows. - -Assuming the driver at a given time and position, its high rigidity -enables the approximation that it is quasi-static during the time that -it takes for traversing a transverse slice of the plasma (assumed to be -unperturbed by the driver ahead of it). The response of the plasma can -thus be computed by following the evolution of the plasma slice as the -driver propagates through it (See Fig. [fig:quasistatic]). The -reconstruction of the longitudinal and transverse structure of the wake -from the succession of transverse slices gives the full electric and -magnetic field map for evolving the beam momenta and positions on a time -scale that is commensurate with its rigidity. - -Most formulations use the speed-of-light frame, defined as -:math:`\zeta=z-ct`, to follow the evolution of the plasma slices. -Assuming a slice initialized ahead of the driver, the evolution of the -plasma particles inside the slice is given by: - -.. math:: - - \begin{aligned} - \frac{d\mathbf{x}_p}{d\zeta} & = & \frac{d\mathbf{x}_p}{dt}\frac{dt}{d\zeta}=\frac{\mathbf{v}_p}{v_{pz}-c},\\ - \frac{d\mathbf{p}_p}{d\zeta} & = & \frac{q}{v_{pz}-c}\left(\mathbf{E}+\mathbf{v}_p\times\mathbf{B} \right).\end{aligned} - -The plasma charge and current densities are computed by accumulating the -contributions of each plasma macro-particle :math:`i`, corrected by the -time taken by the particle to cross an interval of :math:`\zeta`: - -.. math:: - - \begin{aligned} - \rho_p&=&\frac{1}{\delta x \delta y \delta \zeta}\sum_i \frac{q_i}{1-v_{iz}/c}, \\ - \mathbf{J}_p&=&\frac{1}{\delta x \delta y \delta \zeta}\sum_i \frac{q_i \mathbf{v_i}}{1-v_{iz}/c}.\end{aligned} - -In contrast, the evolution of a charged particle driver or witness beam -(assumed to propagate near the speed of light), is given using the -standard equations of motion: - -.. math:: - - \begin{aligned} - \frac{d\mathbf{x}_{d/w}}{dt} & = &\mathbf{v}_{d/w},\\ - \frac{d\mathbf{p}_{d/w}}{dt} & = & q_{d/w}\left(\mathbf{E}+\mathbf{v}_{d/w}\times\mathbf{B} \right),\end{aligned} - -while their contributions to the charge and current densities are - -.. math:: - - \begin{aligned} - \rho_{d/w}&=&\frac{1}{\delta x \delta y \delta z}\sum_i q_i, \\ - \mathbf{J}_{d/w}&=&\frac{1}{\delta x \delta y \delta z}\sum_i q_i \mathbf{v_i}.\end{aligned} - -The electric and magnetic fields are obtained by either solving the -equations of the scalar and vector potentials in the Coulomb or Lorentz -gauge Mora and Antonsen (1997; Huang et al. 2006) or directly the -Maxwell’s equations (**???**; Lotov 2003; Mehrling et al. 2014; An et -al. 2013) which, under the quasi-static assumption - -.. math:: \partial/\partial \zeta = \partial/\partial z = -\partial/\partial ct - -become - -.. math:: - - \begin{aligned} - &&\nabla_\bot \times \mathbf{E}_\bot = \frac{\partial B_z}{\partial\zeta}\hat{\mathbf{z}}, \\ - &&\nabla_\bot \times E_z\hat{\mathbf{z}} = \frac{\partial \left(\mathbf{B}_\bot-\hat{\mathbf{z}}\times \mathbf{E}_\bot \right)}{\partial\zeta},\\ - &&\nabla_\bot \times \mathbf{B}_\bot -J_z \hat{\mathbf{z}} = -\frac{\partial E_z}{\partial\zeta}\hat{\mathbf{z}}, \\ - &&\nabla_\bot \times B_z\hat{\mathbf{z}} -\mathbf{J}_\bot = -\frac{\partial \left(\mathbf{E}_\bot+\hat{\mathbf{z}}\times \mathbf{B}_\bot \right)}{\partial\zeta}, \\ - &&\nabla_\bot \cdot \mathbf{E}_\bot - \rho = -\frac{\partial E_z}{\partial\zeta}, \\ - &&\nabla_\bot \cdot \mathbf{B}_\bot = -\frac{\partial B_z}{\partial\zeta}. \end{aligned} - -The set of equations on the potentials or the fields can then be -rearranged in a set of 2-D Poisson-like equations that are solved -iteratively with the particle motion equations. Unlike the -Particle-In-Cell method, there is no single way of marching the set of -equations together and the reader should refer to the descriptions of -implementations in the various codes for more specific details Mora and -Antonsen (1997; Huang et al. 2006; **???**; Lotov 2003; Mehrling et al. -2014; An et al. 2013). - -The Ponderomotive Guiding Center approximation -============================================== - -For laser pulses with envelopes that are long compared to the laser -oscillations, it is advantageous to average over the fast laser -oscillations and solve the laser evolution with an envelope equation -Mora and Antonsen (1997; Gordon, Mori, and Antonsen 2000; Huang et al. -2006; **???**; Benedetti et al. 2012). Assuming a laser pulse in the -form of an envelope modulating a plane wave traveling at the speed of -light, - -.. math:: - - \begin{aligned} - \tilde{A}_\bot = \hat{A}_\bot\left(z,\mathbf{x}_\bot,t\right)\exp{ik_0\zeta}+c.c.,\end{aligned} - -the average response of a plasma to the fast laser oscillations can be -described by a ponderomotive force that inserts into a modified equation -of motion: - -.. math:: - - \begin{aligned} - \frac{d\mathbf{p}}{dt} & = & q\left(\mathbf{E}+\mathbf{v}\times\mathbf{B} \right)-\frac{q^2}{\gamma mc^2}\nabla |\hat{A}_\bot|^2,\end{aligned} - -with - -.. math:: - - \begin{aligned} - \gamma = \sqrt{1+\frac{|\mathbf{p}|^2}{m^2c^2}+\frac{2|q\hat{A}_\bot|^2}{m^2c^4}}.\end{aligned} - -Most codes Mora and Antonsen (1997; Gordon, Mori, and Antonsen 2000; -Huang et al. 2006; **???**) solve the approximate envelope equation - -.. math:: - - \begin{aligned} - \left[\frac{2}{c}\frac{\partial}{\partial t}\left(ik_0+\frac{\partial}{\partial \zeta}\right) + \nabla^2_\bot\right] \hat{A}_\bot \nonumber \\ - = \frac{q^2}{mc^2} \Bigg \langle \frac{n}{\gamma}\Bigg \rangle \hat{A}_\bot \end{aligned} - -while the more complete envelope equation - -.. math:: - - \begin{aligned} - \left[\frac{2}{c}\frac{\partial}{\partial t}\left(ik_0+\frac{\partial}{\partial \zeta}\right) + \nabla^2_\bot - \frac{\partial^2}{\partial t^2}\right] \hat{A}_\bot \nonumber \\ - = \frac{q^2}{mc^2} \Bigg \langle \frac{n}{\gamma}\Bigg \rangle \hat{A}_\bot \end{aligned} - -that retains the second time derivative is solved in the code INF&RNO -Benedetti et al. (2012). The latter equation is more exact, enabling the -accurate simulation of the laser depletion into strongly depleted -stages. As noted in Benedetti et al. (2012), in order to avoid numerical -inaccuracies, or having to grid the simulation very finely in the -longitudinal direction, it is advantageous to use the polar -representation of the laser complex field, namely -:math:`\hat{A}_\bot(\zeta)=A_\bot(\zeta)\exp[i\theta(\zeta)]`, rather -than the more common Cartesian splitting between the real and imaginary -parts -:math:`\hat{A}_\bot(\zeta)=\Re[A_\bot(\zeta)]+\imath\Im[A_\bot(\zeta)]`. -As it turns out, the functions :math:`A_\bot(\zeta)` and -:math:`\theta(\zeta)` are much smoother functions with respect to -:math:`\zeta` than :math:`\Re[A_\bot(\zeta)]` and -:math:`\Im[A_\bot(\zeta)]`, which both exhibit very short wavelength -oscillations in :math:`\zeta`, leading to more accurate numerical -differentiation along :math:`\zeta` of the polar representation at a -given longitudinal resolution. - -Axi-symmetry and azimuthal Fourier decomposition -================================================ - -Although full PIC codes are powerful tools, which capture a wide range -of physical phenomena, they also require large computational ressources. -This is partly due to the use of a 3D Cartesian grid, which leads to a -very large number of grid cells. (Typical 3D simulations of -laser-wakefield acceleration require :math:`\sim 10^6`–:math:` 10^8` -grid cells.) For this reason, these algorithms need to be highly -parallelized, and high-resolution simulations can only be run on costly -large-scale computer facilities. However, when the driver is -cylindrically-symmetric, it is possible to take advantage of the -symmetry of the problem to reduce the computational cost of the -algorithm (**???**; Lifschitz et al. 2009; Davidson et al. 2015; Lehe et -al. 2016). - -Azimuthal decomposition ------------------------ - -Let us consider the fields :math:`{\boldsymbol{E}}`, -:math:`{\boldsymbol{B}}`, :math:`{\boldsymbol{J}}` and :math:`\rho` in -cylindral coordinates :math:`(r,\theta,z)`, expressed as a Fourier -series in :math:`\theta`: - -.. math:: - - F(r,\theta,z) = \mathrm{Re}\left[ \sum_{\ell=0}^\infty - \tilde{F}_{\ell}(r,z) e^{-i\ell\theta} \right] - \label{eq:chap2:azimuthal} - -.. math:: - - \mathrm{with} \qquad \tilde{F}_{\ell} = C_\ell \int_0^{2\pi} d\theta - \,F(r,\theta,z)e^{i\ell\theta} \qquad - \label{eq:chap2:Fourier-coeffs} - -.. math:: - - \mathrm{and} \; - \left \{ \begin{array}{l l} - C_{0} = 1/2\pi &\\ - C_\ell = 1/\pi &\mathrm{for}\,\ell > 0 - \end{array} \right. - - where :math:`F` represents any of the quantities :math:`E_r`, -:math:`E_\theta`, :math:`E_z`, :math:`B_r`, :math:`B_\theta`, -:math:`B_z`, :math:`J_r`, :math:`J_\theta`, :math:`J_z` are -:math:`\rho`, and where the :math:`\tilde{F}_\ell` are the associated -Fourier components (:math:`\ell` is the index of the corresponding -azimuthal mode). In the general case, this azimuthal decomposition does -not simplify the problem, since an infinity of modes have to be -considered in ([eq:chap2:azimuthal]). However, in the case of a -cylindrically-symmetric laser pulse, only the very first modes have -non-zero components. For instance, the wakefield is represented -exclusively by the mode :math:`\ell = 0`. (This is because the -quantities :math:`E_r`, :math:`E_\theta`, :math:`E_z`, :math:`B_r`, -:math:`B_\theta`, :math:`B_z`, :math:`J_r`, :math:`J_\theta`, -:math:`J_z` and :math:`\rho` associated with the wakefield are -independent of :math:`\theta`.) On the other hand, the field of the -laser pulse *does* depend on :math:`\theta`, in cylindrical coordinates. -For example, for a cylindrically-symmetric pulse propagating along -:math:`z` and polarized along -:math:`{\boldsymbol{e}}_\alpha = \cos(\alpha){\boldsymbol{e}}_x + \sin(\alpha){\boldsymbol{e}}_y`: - -.. math:: - - \begin{aligned} - {\boldsymbol{E}} &= E_0(r,z){\boldsymbol{e}}_\alpha \\ - & = E_0(r,z) [\; \cos(\alpha)(\cos(\theta){\boldsymbol{e}}_r - \sin(\theta){\boldsymbol{e}}_\theta) \; \nonumber \\ - & + \; \sin(\alpha)(\sin(\theta){\boldsymbol{e}}_r + \cos(\theta){\boldsymbol{e}}_\theta) \; ]\\ - & = \mathrm{Re}[ \; E_0(r,z) e^{i\alpha} e^{-i\theta} \; ]{\boldsymbol{e}}_r \; \nonumber \\ - & + \; \mathrm{Re}[ \; -i E_0(r,z) e^{i\alpha} e^{-i\theta} \; ]{\boldsymbol{e}}_\theta.\end{aligned} - - Here the amplitude :math:`E_0` does not depend on :math:`\theta` -because the pulse was assumed to be cylindrically symmetric. In this -case, the above relation shows that the fields :math:`E_r` and -:math:`E_\theta` of the laser are represented exclusively by the mode -:math:`\ell = 1`. A similar calculation shows that the same holds for -:math:`B_r` and :math:`B_\theta`. On the whole, only the modes -:math:`\ell = 0` and :math:`\ell = 1` are a priori necessary to model -laser-wakefield acceleration. Under those conditions, the infinite sum -in ([eq:chap2:azimuthal]) is truncated at a chosen :math:`\ell_{max}`. -In principle, :math:`\ell_{max} = 1` is sufficient for laser-wakefield -acceleration. However, :math:`\ell_{max}` is kept as a free parameter in -the algorithm, in order to verify that higher modes are negligible, as -well as to allow for less-symmetric configurations. Because codes based -on this algorithm are able to take into account the modes with -:math:`\ell > 0`, they are said to be “quasi-cylindrical” (or “quasi-3D” -by some authors Davidson et al. (2015)), in contrast to cylindrical -codes, which assume that all fields are independent of :math:`\theta`, -and thus only consider the mode :math:`\ell = 0`. - -Discretized Maxwell equations ------------------------------ - -When the Fourier expressions of the fields are injected into the Maxwell -equations (written in cylindrical coordinates), the different azimuthal -modes decouple. In this case, the Maxwell-Ampère and Maxwell-Faraday -equations – which are needed to update the fields in the PIC cycle – can -be written separately for each azimuthal mode :math:`\ell`: - -.. math:: - - \begin{aligned} - \frac{\partial \tilde{B}_{r,\ell} }{\partial t} &= - \frac{i\ell}{r}\tilde{E}_{z,\ell} + \frac{\partial - \tilde{E}_{\theta,\ell}}{\partial z} \\[3mm] - \frac{\partial \tilde{B}_{\theta,\ell} }{\partial t} &= - - \frac{\partial \tilde{E}_{r,\ell}}{\partial z} + \frac{\partial - \tilde{E}_{z,\ell}}{\partial r} \\[3mm] - \frac{\partial \tilde{B}_{z,\ell} }{\partial t} &= - - \frac{1}{r} \frac{\partial (r\tilde{E}_{\theta,\ell})}{\partial r} - \frac{i\ell}{r}\tilde{E}_{r,\ell} \\[3mm] - \frac{1}{c^2} \frac{\partial \tilde{E}_{r,\ell} }{\partial t} &= - -\frac{i\ell}{r}\tilde{B}_{z,\ell} - \frac{\partial - \tilde{B}_{\theta,\ell}}{\partial z} - \mu_0 \tilde{J}_{r,\ell} \\[3mm] - \frac{1}{c^2}\frac{\partial \tilde{E}_{\theta,\ell} }{\partial t} &= - \frac{\partial \tilde{B}_{r,\ell}}{\partial z} - \frac{\partial - \tilde{B}_{z,\ell}}{\partial r} - \mu_0 \tilde{J}_{\theta,\ell} \\[3mm] - \frac{1}{c^2}\frac{\partial \tilde{E}_{z,\ell} }{\partial t} &= - \frac{1}{r} \frac{\partial (r\tilde{B}_{\theta,\ell})}{\partial r} + - \frac{i\ell}{r}\tilde{B}_{r,\ell} - \mu_0 \tilde{J}_{z,\ell}\end{aligned} - -In order to discretize these equations, each azimuthal mode is -represented on a two-dimensional grid, on which the discretized -Maxwell-Ampère and Maxwell-Faraday equations are given by - -.. math:: - - \begin{aligned} - D_{t}\tilde{B}_r|_{j,\ell,k+{\frac{1}{2}}}^{n} \nonumber - =& \frac{i\,\ell}{j\Delta r}{\tilde{E_z}^{n}_{j,\ell,k+{\frac{1}{2}}}} \\ - & + D_z \tilde{E}_{\theta}|^n_{j,\ell,k+{\frac{1}{2}}} \\ - D_{t}\tilde{B}_\theta|_{j+{\frac{1}{2}},\ell,k+{\frac{1}{2}}}^{n} \nonumber - =& -D_z \tilde{E}_r|^n_{j+{\frac{1}{2}},\ell,k+{\frac{1}{2}}} \\ - & + D_r \tilde{E}_z|^{n}_{j+{\frac{1}{2}},\ell,k+{\frac{1}{2}}} \\ - D_{t}\tilde{B}_z|_{j+{\frac{1}{2}},\ell,k}^{n} =& \nonumber - -\frac{(j+1){\tilde{E_\theta}^{n}_{j+1,\ell,k}} }{(j+{\frac{1}{2}})\Delta r} \\ \nonumber - & +\frac{ j{\tilde{E_\theta}^{n}_{j,\ell,k}}}{(j+{\frac{1}{2}})\Delta r} \\ - & - \frac{i\,\ell}{(j+{\frac{1}{2}}) \Delta r}{\tilde{E_r}^{n}_{j+{\frac{1}{2}},\ell,k}} \end{aligned} - -for the magnetic field components, and - -.. math:: - - \begin{aligned} - \frac{1}{c^2}D_{t}\tilde{E}_r|_{j+{\frac{1}{2}},\ell,k}^{n+{\frac{1}{2}}} \nonumber - =& -\frac{i\,\ell}{(j+{\frac{1}{2}})\Delta r}{\tilde{B_z}^{n+{\frac{1}{2}}}_{j+{\frac{1}{2}},\ell,k}} \\ - & - D_z \tilde{B}_{\theta}|^{n+{\frac{1}{2}}}_{j+{\frac{1}{2}},\ell,k} \nonumber\\ - & - \mu_0{\tilde{J_r}^{n+{\frac{1}{2}}}_{j+{\frac{1}{2}},\ell,k}} \\ - \frac{1}{c^2}D_{t}\tilde{E}_\theta|_{j,\ell,k}^{n+{\frac{1}{2}}} \nonumber - =& D_z \tilde{B}_r|^{n+{\frac{1}{2}}}_{j,\ell,k} - D_r \tilde{B}_z|^{n+{\frac{1}{2}}}_{j,\ell,k} \\ - & - \mu_0{\tilde{J_\theta}^{n+{\frac{1}{2}}}_{j,\ell,k}} \\ - \frac{1}{c^2}D_{t}\tilde{E}_z|_{j,\ell,k+{\frac{1}{2}}}^{n+{\frac{1}{2}}} \nonumber - =& \frac{\left(j+{\frac{1}{2}}\right){\tilde{B_\theta}^{n+{\frac{1}{2}}}_{j+{\frac{1}{2}},\ell,k+{\frac{1}{2}}}} }{j\Delta r} \\ - =& -\frac{\left(j-{\frac{1}{2}}\right){\tilde{B_\theta}^{n+{\frac{1}{2}}}_{j-{\frac{1}{2}},\ell,k+{\frac{1}{2}}}}}{j\Delta r} \nonumber\\ - & + \frac{i\,\ell}{j\Delta r}{\tilde{B_r}^{n+{\frac{1}{2}}}_{j,\ell,k+{\frac{1}{2}}}} \nonumber\\ - & - \mu_0{\tilde{J_z}^{n+{\frac{1}{2}}}_{j,\ell,k+{\frac{1}{2}}}}\end{aligned} - -for the electric field components. - -The numerical operator :math:`D_r` and :math:`D_z` are defined by - -.. math:: - - \begin{aligned} - (D_r F)_{j',\ell,k'} = \frac{F_{j'+{\frac{1}{2}},\ell,k'}-F_{j'-{\frac{1}{2}},\ell,k'} }{\Delta r} \\ - (D_z F)_{j',\ell,k'} = \frac{F_{j',\ell,k'+{\frac{1}{2}}}-F_{j',\ell,k'-{\frac{1}{2}}} }{\Delta z} \\ \end{aligned} - - where :math:`j'` and :math:`k'` can be integers or half-integers. -Notice that these discretized Maxwell equations are not valid on-axis -(i.e. for :math:`j=0`), due to singularities in some of the terms. -Therefore, on the axis, these equations are replaced by specific -boundary conditions, which are based on the symmetry properties of the -fields (see Lifschitz et al. (2009) for details). - -Compared to a 3D Cartesian calculation with -:math:`n_x\times n_y \times n_z` grid cells, a quasi-cylindrical -calculation with two modes (:math:`l=0` and :math:`l=1`) will require -only :math:`3 \,n_r \times n_z` grid cells. Assuming -:math:`n_x=n_y=n_r=100` as a typical transverse resolution, a -quasi-cylindrical calculation is typically over an order of magnitude -less computationally demanding than its 3D Cartesian equivalent. - -Filtering -========= - -It is common practice to apply digital filtering to the charge or -current density in Particle-In-Cell simulations as a complement or an -alternative to using higher order splines (**???**). A commonly used -filter in PIC simulations is the three points filter -:math:`\phi_{j}^{f}=\alpha\phi_{j}+\left(1-\alpha\right)\left(\phi_{j-1}+\phi_{j+1}\right)/2` -where :math:`\phi^{f}` is the filtered quantity. This filter is called a -bilinear filter when :math:`\alpha=0.5`. Assuming :math:`\phi=e^{jkx}` -and :math:`\phi^{f}=g\left(\alpha,k\right)e^{jkx}`, the filter gain -:math:`g` is given as a function of the filtering coefficient -:math:`\alpha` and the wavenumber :math:`k` by -:math:`g\left(\alpha,k\right)=\alpha+\left(1-\alpha\right)\cos\left(k\Delta x\right)\approx1-\left(1-\alpha\right)\frac{\left(k\Delta x\right)^{2}}{2}+O\left(k^{4}\right)`. -The total attenuation :math:`G` for :math:`n` successive applications of -filters of coefficients :math:`\alpha_{1}`...\ :math:`\alpha_{n}` is -given by -:math:`G=\prod_{i=1}^{n}g\left(\alpha_{i},k\right)\approx1-\left(n-\sum_{i=1}^{n}\alpha_{i}\right)\frac{\left(k\Delta x\right)^{2}}{2}+O\left(k^{4}\right)`. -A sharper cutoff in :math:`k` space is provided by using -:math:`\alpha_{n}=n-\sum_{i=1}^{n-1}\alpha_{i}`, so that -:math:`G\approx1+O\left(k^{4}\right)`. Such step is called a -“compensation” step (**???**). For the bilinear filter -(:math:`\alpha=1/2`), the compensation factor is -:math:`\alpha_{c}=2-1/2=3/2`. For a succession of :math:`n` applications -of the bilinear factor, it is :math:`\alpha_{c}=n/2+1`. - -It is sometimes necessary to filter on a relatively wide band of -wavelength, necessitating the application of a large number of passes of -the bilinear filter or on the use of filters acting on many points. The -former can become very intensive computationally while the latter is -problematic for parallel computations using domain decomposition, as the -footprint of the filter may eventually surpass the size of subdomains. A -workaround is to use a combination of filters of limited footprint. A -solution based on the combination of three point filters with various -strides was proposed in (**???**) and operates as follows. - -The bilinear filter provides complete suppression of the signal at the -grid Nyquist wavelength (twice the grid cell size). Suppression of the -signal at integer multiples of the Nyquist wavelength can be obtained by -using a stride :math:`s` in the filter -:math:`\phi_{j}^{f}=\alpha\phi_{j}+\left(1-\alpha\right)\left(\phi_{j-s}+\phi_{j+s}\right)/2` -for which the gain is given by -:math:`g\left(\alpha,k\right)=\alpha+\left(1-\alpha\right)\cos\left(sk\Delta x\right)\approx1-\left(1-\alpha\right)\frac{\left(sk\Delta x\right)^{2}}{2}+O\left(k^{4}\right)`. -For a given stride, the gain is given by the gain of the bilinear filter -shifted in k space, with the pole :math:`g=0` shifted from the -wavelength :math:`\lambda=2/\Delta x` to :math:`\lambda=2s/\Delta x`, -with additional poles, as given by -:math:`sk\Delta x=\arccos\left(\frac{\alpha}{\alpha-1}\right)\pmod{2\pi}`. -The resulting filter is pass band between the poles, but since the poles -are spread at different integer values in k space, a wide band low pass -filter can be constructed by combining filters using different strides. -As shown in (**???**), the successive application of 4-passes + -compensation of filters with strides 1, 2 and 4 has a nearly equivalent -fall-off in gain as 80 passes + compensation of a bilinear filter. Yet, -the strided filter solution needs only 15 passes of a three-point -filter, compared to 81 passes for an equivalent n-pass bilinear filter, -yielding a gain of 5.4 in number of operations in favor of the -combination of filters with stride. The width of the filter with stride -4 extends only on 9 points, compared to 81 points for a single pass -equivalent filter, hence giving a gain of 9 in compactness for the -stride filters combination in comparison to the single-pass filter with -large stencil, resulting in more favorable scaling with the number of -computational cores for parallel calculations. - -Inputs and outputs -================== - -Initialization of the plasma columns and drivers (laser or particle -beam) is performed via the specification of multidimensional functions -that describe the initial state with, if needed, a time dependence, or -from reconstruction of distributions based on experimental data. Care is -needed when initializing quantities in parallel to avoid double counting -and ensure smoothness of the distributions at the interface of -computational domains. When the sum of the initial distributions of -charged particles is not charge neutral, initial fields are computed -using generally a static approximation with Poisson solves accompanied -by proper relativistic scalings (**???**; Cowan et al. 2013). - -Outputs include dumps of particle and field quantities at regular -intervals, histories of particle distributions moments, spectra, etc, -and plots of the various quantities. In parallel simulations, the -diagnostic subroutines need to handle additional complexity from the -domain decomposition, as well as large amount of data that may -necessitate data reduction in some form before saving to disk. - -Simulations using the quasistatic method or in a Lorentz boosted frame -require additional considerations, as described below. - -Outputs in parallel quasi-static simulations --------------------------------------------- - -When running in parallel with domain decomposition in the direction of -propagation, the slices of the driver and wake are known at various -positions (or “stations”) in the plasma column, complicating the output -of data. The parallelization in the transverse direction (perpendicular -to the direction of propagation) uses standard domain decomposition of -the particles and fields, and does not add complexity compared to -standard PIC simulations. The parallelization in the direction of -propagation uses pipelining Feng et al. (2009), as follows. - -Assuming that the grid has :math:`n_z` cells along the longitudinal -dimension and that :math:`N` processors are used for a run, -:math:`n_z/N` consecutive slices are assigned to each computational -core, as sketched in figure [Fig\_QSpipelining]. During the first -iteration, the computational core :math:`N` evolves the slices at the -front of the grid that it contains, then passes the data marching -through :math:`\zeta` to the previous core :math:`N-1` while pushing the -driver beam particle to the next station in the plasma column. During -the second iteration, both cores :math:`N` and :math:`N-1` evolve the -slices that they contain at two subsequent stations. After :math:`N` -steps, all processors are active and the procedure is repeated until the -slices on processor 1 reach the last station at the exit of the plasma -column (See Fig. [Fig\_QSpipelining]). Because each core contains a -slice that is at a different station in the plasma column, the output -modules must write data at different steps for each computational core. - -Inputs and outputs in a boosted frame simulation ------------------------------------------------- - -|image| |image| - -The input and output data are often known from, or compared to, -experimental data. Thus, calculating in a frame other than the -laboratory entails transformations of the data between the calculation -frame and the laboratory frame. This section describes the procedures -that have been implemented in the Particle-In-Cell framework Warp Grote -et al. (2005) to handle the input and output of data between the frame -of calculation and the laboratory frame (**???**). Simultaneity of -events between two frames is valid only for a plane that is -perpendicular to the relative motion of the frame. As a result, the -input/output processes involve the input of data (particles or fields) -through a plane, as well as output through a series of planes, all of -which are perpendicular to the direction of the relative velocity -between the frame of calculation and the other frame of choice. - -Input in a boosted frame simulation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Particles - -^^^^^^^^^^^^ - -Particles are launched through a plane using a technique that is generic -and applies to Lorentz boosted frame simulations in general, including -plasma acceleration, and is illustrated using the case of a positively -charged particle beam propagating through a background of cold electrons -in an assumed continuous transverse focusing system, leading to a -well-known growing transverse “electron cloud” instability (**???**). In -the laboratory frame, the electron background is initially at rest and a -moving window is used to follow the beam progression. Traditionally, the -beam macroparticles are initialized all at once in the window, while -background electron macroparticles are created continuously in front of -the beam on a plane that is perpendicular to the beam velocity. In a -frame moving at some fraction of the beam velocity in the laboratory -frame, the beam initial conditions at a given time in the calculation -frame are generally unknown and one must initialize the beam -differently. However, it can be taken advantage of the fact that the -beam initial conditions are often known for a given plane in the -laboratory, either directly, or via simple calculation or projection -from the conditions at a given time in the labortory frame. Given the -position and velocity :math:`\{x,y,z,v_x,v_y,v_z\}` for each beam -macroparticle at time :math:`t=0` for a beam moving at the average -velocity :math:`v_b=\beta_b c` (where :math:`c` is the speed of light) -in the laboratory, and using the standard synchronization -(:math:`z=z'=0` at :math:`t=t'=0`) between the laboratory and the -calculation frames, the procedure for transforming the beam quantities -for injection in a boosted frame moving at velocity :math:`\beta c` in -the laboratory is as follows (the superscript :math:`'` relates to -quantities known in the boosted frame while the superscript :math:`^*` -relates to quantities that are know at a given longitudinal position -:math:`z^*` but different times of arrival): - -#. project positions at :math:`z^*=0` assuming ballistic propagation - - .. math:: - - \begin{aligned} - t^* &=& \left(z-\bar{z}\right)/v_z \label{Eq:t*}\\ - x^* &=& x-v_x t^* \label{Eq:x*}\\ - y^* &=& y-v_y t^* \label{Eq:y*}\\ - z^* &=& 0 \label{Eq:z*}\end{aligned} - - the velocity components being left unchanged, - -#. apply Lorentz transformation from laboratory frame to boosted frame - - .. math:: - - \begin{aligned} - t'^* &=& -\gamma t^* \label{Eq:tp*}\\ - x'^* &=& x^* \label{Eq:xp*}\\ - y'^* &=& y^* \label{Eq:yp*}\\ - z'^* &=& \gamma\beta c t^* \label{Eq:zp*}\\ - v'^*_x&=&\frac{v_x^*}{\gamma\left(1-\beta \beta_b\right)} \label{Eq:vxp*}\\ - v'^*_y&=&\frac{v_y^*}{\gamma\left(1-\beta \beta_b\right)} \label{Eq:vyp*}\\ - v'^*_z&=&\frac{v_z^*-\beta c}{1-\beta \beta_b} \label{Eq:vzp*}\end{aligned} - - where :math:`\gamma=1/\sqrt{1-\beta^2}`. With the knowledge of the - time at which each beam macroparticle crosses the plane into - consideration, one can inject each beam macroparticle in the - simulation at the appropriate location and time. - -#. synchronize macroparticles in boosted frame, obtaining their - positions at a fixed :math:`t'=0` (before any particle is injected) - - .. math:: - - \begin{aligned} - z' &=& z'^*-\bar{v}'^*_z t'^* \label{Eq:zp}\end{aligned} - - This additional step is needed for setting the electrostatic or - electromagnetic fields at the plane of injection. In a - Particle-In-Cell code, the three-dimensional fields are calculated by - solving the Maxwell equations (or static approximation like Poisson, - Darwin or other (**???**)) on a grid on which the source term is - obtained from the macroparticles distribution. This requires - generation of a three-dimensional representation of the beam - distribution of macroparticles at a given time before they cross the - injection plane at :math:`z'^*`. This is accomplished by expanding - the beam distribution longitudinally such that all macroparticles (so - far known at different times of arrival at the injection plane) are - synchronized to the same time in the boosted frame. To keep the beam - shape constant, the particles are “frozen” until they cross that - plane: the three velocity components and the two position components - perpendicular to the boosted frame velocity are kept constant, while - the remaining position component is advanced at the average beam - velocity. As particles cross the plane of injection, they become - regular “active” particles with full 6-D dynamics. - -Figure [Fig\_inputoutput] (top) shows a snapshot of a beam that has -passed partly through the injection plane. As the frozen beam -macroparticles pass through the injection plane (which moves opposite to -the beam in the boosted frame), they are converted to “active" -macroparticles. The charge or current density is accumulated from the -active and the frozen particles, thus ensuring that the fields at the -plane of injection are consistent. - -Laser - -^^^^^^^^ - -Similarly to the particle beam, the laser is injected through a plane -perpendicular to the axis of propagation of the laser (by default -:math:`z`). The electric field :math:`E_\perp` that is to be emitted is -given by the formula - -.. math:: E_\perp\left(x,y,t\right)=E_0 f\left(x,y,t\right) \sin\left[\omega t+\phi\left(x,y,\omega\right)\right] - - where :math:`E_0` is the amplitude of the laser electric field, -:math:`f\left(x,y,t\right)` is the laser envelope, :math:`\omega` is the -laser frequency, :math:`\phi\left(x,y,\omega\right)` is a phase function -to account for focusing, defocusing or injection at an angle, and -:math:`t` is time. By default, the laser envelope is a three-dimensional -gaussian of the form - -.. math:: f\left(x,y,t\right)=e^{-\left(x^2/2 \sigma_x^2+y^2/2 \sigma_y^2+c^2t^2/2 \sigma_z^2\right)} - - where :math:`\sigma_x`, :math:`\sigma_y` and :math:`\sigma_z` are the -dimensions of the laser pulse; or it can be defined arbitrarily by the -user at runtime. If :math:`\phi\left(x,y,\omega\right)=0`, the laser is -injected at a waist and parallel to the axis :math:`z`. - -If, for convenience, the injection plane is moving at constant velocity -:math:`\beta_s c`, the formula is modified to take the Doppler effect on -frequency and amplitude into account and becomes - -.. math:: - - \begin{aligned} - E_\perp\left(x,y,t\right)&=&\left(1-\beta_s\right)E_0 f\left(x,y,t\right)\nonumber \\ - &\times& \sin\left[\left(1-\beta_s\right)\omega t+\phi\left(x,y,\omega\right)\right].\end{aligned} - -The injection of a laser of frequency :math:`\omega` is considered for a -simulation using a boosted frame moving at :math:`\beta c` with respect -to the laboratory. Assuming that the laser is injected at a plane that -is fixed in the laboratory, and thus moving at :math:`\beta_s=-\beta` in -the boosted frame, the injection in the boosted frame is given by - -.. math:: - - \begin{aligned} - E_\perp\left(x',y',t'\right)&=&\left(1-\beta_s\right)E'_0 f\left(x',y',t'\right)\nonumber \\ - &\times&\sin\left[\left(1-\beta_s\right)\omega' t'+\phi\left(x',y',\omega'\right)\right]\\ - &=&\left(E_0/\gamma\right) f\left(x',y',t'\right) \nonumber\\ - &\times&\sin\left[\omega t'/\gamma+\phi\left(x',y',\omega'\right)\right]\end{aligned} - - since :math:`E'_0/E_0=\omega'/\omega=1/\left(1+\beta\right)\gamma`. - -The electric field is then converted into currents that get injected via -a 2D array of macro-particles, with one positive and one dual negative -macro-particle for each array cell in the plane of injection, whose -weights and motion are governed by :math:`E_\perp\left(x',y',t'\right)`. -Injecting using this dual array of macroparticles offers the advantage -of automatically including the longitudinal component that arises from -emitting into a boosted frame, and to automatically verify the discrete -Gauss’ law thanks to using charge conserving (e.g. Esirkepov) current -deposition scheme Esirkepov (2001). - -Output in a boosted frame simulation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Some quantities, e.g. charge or dimensions perpendicular to the boost -velocity, are Lorentz invariant. Those quantities are thus readily -available from standard diagnostics in the boosted frame calculations. -Quantities that do not fall in this category are recorded at a number of -regularly spaced “stations", immobile in the laboratory frame, at a -succession of time intervals to record data history, or averaged over -time. A visual example is given on Fig. [Fig\_inputoutput] (bottom). -Since the space-time locations of the diagnostic grids in the laboratory -frame generally do not coincide with the space-time positions of the -macroparticles and grid nodes used for the calculation in a boosted -frame, some interpolation is performed at runtime during the data -collection process. As a complement or an alternative, selected particle -or field quantities can be dumped at regular intervals and quantities -are reconstructed in the laboratory frame during a post-processing -phase. The choice of the methods depends on the requirements of the -diagnostics and particular implementations. - -Outlook -======= - -The development of plasma-based accelerators depends critically on -high-performance, high-fidelity modeling to capture the full complexity -of acceleration processes that develop over a large range of space and -time scales. The field will continue to be a driver for pushing the -state-of-the-art in the detailed modeling of relativistic plasmas. The -modeling of tens of multi-GeV stages, as envisioned for plasma-based -high-energy physics colliders, will require further advances in -algorithmic, coupled to preparing the codes to take full advantage of -the upcoming generation of exascale supercomputers. - -Acknowledgments -=============== - -This work was supported by US-DOE Contract DE-AC02-05CH11231. - -This document was prepared as an account of work sponsored in part by -the United States Government. While this document is believed to contain -correct information, neither the United States Government nor any agency -thereof, nor The Regents of the University of California, nor any of -their employees, nor the authors makes any warranty, express or implied, -or assumes any legal responsibility for the accuracy, completeness, or -usefulness of any information, apparatus, product, or process disclosed, -or represents that its use would not infringe privately owned rights. -Reference herein to any specific commercial product, process, or service -by its trade name, trademark, manufacturer, or otherwise, does not -necessarily constitute or imply its endorsement, recommendation, or -favoring by the United States Government or any agency thereof, or The -Regents of the University of California. The views and opinions of -authors expressed herein do not necessarily state or reflect those of -the United States Government or any agency thereof or The Regents of the -University of California. - -.. raw:: html - - <div id="refs" class="references"> - -.. raw:: html - - <div id="ref-Quickpic2"> - -An, Weiming, Viktor K. Decyk, Warren B. Mori, and Thomas M. Antonsen. -2013. “An improved iteration loop for the three dimensional quasi-static -particle-in-cell algorithm: QuickPIC.” *Journal of Computational -Physics* 250: 165–77. -doi:\ `10.1016/j.jcp.2013.05.020 <https://doi.org/10.1016/j.jcp.2013.05.020>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-AndriyashPoP2016"> - -Andriyash, Igor A., Remi Lehe, and Agustin Lifschitz. 2016. -“Laser-Plasma Interactions with a Fourier-Bessel Particle-in-Cell -Method.” *Physics of Plasmas* 23 (3). -doi:\ `http://dx.doi.org/10.1063/1.4943281 <https://doi.org/http://dx.doi.org/10.1063/1.4943281>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-INFERNO"> - -Benedetti, Carlo, Carl B. Schroeder, Eric Esarey, and Wim P. Leemans. -2012. “Efficient Modeling of Laser-plasma Accelerators Using the -Ponderomotive-based Code INF&RNO.” In *ICAP*, THAAI2. -Rostock-Warnemünde, Germany: Jacow. -http://accelconf.web.cern.ch/AccelConf/ICAP2012/papers/thaai2.pdf. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Blumenfeld2007"> - -Blumenfeld, Ian, Christopher E Clayton, Franz-Josef Decker, Mark J -Hogan, Chengkun Huang, Rasmus Ischebeck, Richard Iverson, et al. 2007. -“Energy doubling of 42[thinsp]GeV electrons in a metre-scale plasma -wakefield accelerator.” *Nature* 445 (7129): 741–44. -`http://dx.doi.org/10.1038/nature05538 http://www.nature.com/nature/journal/v445/n7129/suppinfo/nature05538{\\\_}S1.html <http://dx.doi.org/10.1038/nature05538 http://www.nature.com/nature/journal/v445/n7129/suppinfo/nature05538{\_}S1.html>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-BorisICNSP70"> - -Boris, Jp. 1970. “Relativistic Plasma Simulation-Optimization of a -Hybrid Code.” In *Proc. Fourth Conf. Num. Sim. Plasmas*, 3–67. Naval -Res. Lab., Wash., D. C. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Bruhwileraac08"> - -Bruhwiler, D L, J R Cary, B M Cowan, K Paul, C G R Geddes, P J -Mullowney, P Messmer, et al. 2009. “New Developments In The Simulation -Of Advanced Accelerator Concepts.” In *Aip Conference Proceedings*, -1086:29–37. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-BulanovSV2014"> - -Bulanov S V and Wilkens J J and Esirkepov T Zh and Korn G and Kraft G -and Kraft S D and Molls M and Khoroshkov V S. 2014. “Laser ion -acceleration for hadron therapy.” *Physics-Uspekhi* 57 (12): 1149. -http://stacks.iop.org/1063-7869/57/i=12/a=1149. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-CowanPRSTAB13"> - -Cowan, Benjamin M, David L Bruhwiler, John R Cary, Estelle -Cormier-Michel, and Cameron G R Geddes. 2013. “Generalized algorithm for -control of numerical dispersion in explicit time-domain electromagnetic -simulations.” *Physical Review Special Topics-Accelerators And Beams* 16 -(4). -doi:\ `10.1103/PhysRevSTAB.16.041303 <https://doi.org/10.1103/PhysRevSTAB.16.041303>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-DavidsonJCP2015"> - -Davidson, A., A. Tableman, W. An, F.S. Tsung, W. Lu, J. Vieira, R.A. -Fonseca, L.O. Silva, and W.B. Mori. 2015. “Implementation of a hybrid -particle code with a PIC description in r–z and a gridless description -in ϕ into OSIRIS.” *Journal of Computational Physics* 281: 1063–77. -doi:\ `10.1016/j.jcp.2014.10.064 <https://doi.org/10.1016/j.jcp.2014.10.064>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-DawsonRMP83"> - -Dawson, J M. 1983. “Particle Simulation Of Plasmas.” *Reviews Of Modern -Physics* 55 (2): 403–47. -doi:\ `10.1103/RevModPhys.55.403 <https://doi.org/10.1103/RevModPhys.55.403>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Esirkepovcpc01"> - -Esirkepov, Tz. 2001. “Exact Charge Conservation Scheme For -Particle-In-Cell Simulation With An Arbitrary Form-Factor.” *Computer -Physics Communications* 135 (2): 144–53. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-QuickpicParallel"> - -Feng, B., C. Huang, V. Decyk, W.B. Mori, P. Muggli, and T. Katsouleas. -2009. “Enhancing parallel quasi-static particle-in-cell simulations with -a pipelining algorithm.” *Journal of Computational Physics* 228 (15): -5340–8. -doi:\ `10.1016/j.jcp.2009.04.019 <https://doi.org/10.1016/j.jcp.2009.04.019>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Godfreyjcp75"> - -Godfrey, Bb. 1975. “Canonical Momenta And Numerical Instabilities In -Particle Codes.” *Journal of Computational Physics* 19 (1): 58–76. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-GodfreyJCP2013"> - -Godfrey, Brendan B, and Jean-Luc Vay. 2013. “Numerical stability of -relativistic beam multidimensional {PIC} simulations employing the -Esirkepov algorithm.” *Journal of Computational Physics* 248 (0): 33–46. -doi:\ `http://dx.doi.org/10.1016/j.jcp.2013.04.006 <https://doi.org/http://dx.doi.org/10.1016/j.jcp.2013.04.006>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-GodfreyJCP2014"> - -Godfrey, Brendan B, Jean-Luc Vay, and Irving Haber. 2014a. “Numerical -stability analysis of the pseudo-spectral analytical time-domain {PIC} -algorithm.” *Journal of Computational Physics* 258 (0): 689–704. -doi:\ `http://dx.doi.org/10.1016/j.jcp.2013.10.053 <https://doi.org/http://dx.doi.org/10.1016/j.jcp.2013.10.053>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-GodfreyJCP2014_FDTD"> - -Godfrey, Brendan B., and Jean Luc Vay. 2014. “Suppressing the numerical -Cherenkov instability in FDTD PIC codes.” *Journal of Computational -Physics* 267: 1–6. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-GodfreyCPC2015"> - -———. 2015. “Improved numerical Cherenkov instability suppression in the -generalized PSTD PIC algorithm.” *Computer Physics Communications* 196. -Elsevier: 221–25. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-GodfreyJCP2014_PSATD"> - -Godfrey, Brendan B., Jean Luc Vay, and Irving Haber. 2014b. “Numerical -stability analysis of the pseudo-spectral analytical time-domain PIC -algorithm.” *Journal of Computational Physics* 258: 689–704. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-GodfreyIEEE2014"> - -———. 2014c. “Numerical stability improvements for the pseudospectral EM -PIC algorithm.” *IEEE Transactions on Plasma Science* 42 (5). Institute -of Electrical; Electronics Engineers Inc.: 1339–44. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Turbowave"> - -Gordon, Daniel F, W B Mori, and Thomas M Antonsen. 2000. “A -Ponderomotive Guiding Center Particle-in-Cell Code for Efficient -Modeling of Laser–Plasma Interactions.” *IEEE TRANSACTIONS ON PLASMA -SCIENCE* 28 (4). - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Warp"> - -Grote, D P, A Friedman, J.-L. Vay, and I Haber. 2005. “The Warp Code: -Modeling High Intensity Ion Beams.” In *Aip Conference Proceedings*, -55–58. 749. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-HockneyEastwoodBook"> - -Hockney, R W, and J W Eastwood. 1988. *Computer simulation using -particles*. Book. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Quickpic"> - -Huang, C, V K Decyk, C Ren, M Zhou, W Lu, W B Mori, J H Cooley, T M -Antonsen Jr., and T Katsouleas. 2006. “Quickpic: A Highly Efficient -Particle-In-Cell Code For Modeling Wakefield Acceleration In Plasmas.” -*Journal of Computational Physics* 217 (2): 658–79. -doi:\ `10.1016/J.Jcp.2006.01.039 <https://doi.org/10.1016/J.Jcp.2006.01.039>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-LeemansPRL2014"> - -Leemans, W P, A J Gonsalves, H.-S. Mao, K Nakamura, C Benedetti, C B -Schroeder, Cs. Tóth, et al. 2014. “Multi-GeV Electron Beams from -Capillary-Discharge-Guided Subpetawatt Laser Pulses in the Self-Trapping -Regime.” *Phys. Rev. Lett.* 113 (24). American Physical Society: 245002. -doi:\ `10.1103/PhysRevLett.113.245002 <https://doi.org/10.1103/PhysRevLett.113.245002>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-LehePRSTAB13"> - -Lehe, R, A Lifschitz, C Thaury, V Malka, and X Davoine. 2013. “Numerical -growth of emittance in simulations of laser-wakefield acceleration.” -*Physical Review Special Topics-Accelerators And Beams* 16 (2). -doi:\ `10.1103/PhysRevSTAB.16.021301 <https://doi.org/10.1103/PhysRevSTAB.16.021301>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Lehe2016"> - -Lehe, Rémi, Manuel Kirchen, Igor A. Andriyash, Brendan B. Godfrey, and -Jean-Luc Vay. 2016. “A spectral, quasi-cylindrical and dispersion-free -Particle-In-Cell algorithm.” *Computer Physics Communications* 203: -66–82. -doi:\ `10.1016/j.cpc.2016.02.007 <https://doi.org/10.1016/j.cpc.2016.02.007>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-LewisJCP1972"> - -Lewis, H.Ralph. 1972. “Variational algorithms for numerical simulation -of collisionless plasma with point particles including electromagnetic -interactions.” *Journal of Computational Physics* 10 (3): 400–419. -doi:\ `http://dx.doi.org/10.1016/0021-9991(72)90044-7 <https://doi.org/http://dx.doi.org/10.1016/0021-9991(72)90044-7>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-LifschitzJCP2009"> - -Lifschitz, A F, X Davoine, E Lefebvre, J Faure, C Rechatin, and V Malka. -2009. “Particle-in-Cell modelling of laser{â}plasma interaction using -Fourier decomposition.” *Journal of Computational Physics* 228 (5): -1803–14. -doi:\ `http://dx.doi.org/10.1016/j.jcp.2008.11.017 <https://doi.org/http://dx.doi.org/10.1016/j.jcp.2008.11.017>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-LotovPRSTAB2003"> - -Lotov, K. V. 2003. “Fine wakefield structure in the blowout regime of -plasma wakefield accelerators.” *Physical Review Special Topics - -Accelerators and Beams* 6 (6). American Physical Society: 061301. -doi:\ `10.1103/PhysRevSTAB.6.061301 <https://doi.org/10.1103/PhysRevSTAB.6.061301>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Martinspac09"> - -Martins :math:`\backslash`\ It Et Al., S F. 2009. “Boosted Frame Pic -Simulations Of Lwfa: Towards The Energy Frontier.” In *Proc. Particle -Accelerator Conference*. Vancouver, Canada. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Hipace"> - -Mehrling, T, C Benedetti, C B Schroeder, and J Osterhoff. 2014. “HiPACE: -a quasi-static particle-in-cell code.” *Plasma Physics and Controlled -Fusion* 56 (8). IOP Publishing: 084012. -doi:\ `10.1088/0741-3335/56/8/084012 <https://doi.org/10.1088/0741-3335/56/8/084012>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Morapop1997"> - -Mora, P, and Tm Antonsen. 1997. “Kinetic Modeling Of Intense, Short -Laser Pulses Propagating In Tenuous Plasmas.” *Phys. Plasmas* 4 (1): -217–29. doi:\ `10.1063/1.872134 <https://doi.org/10.1063/1.872134>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Munzjcp2000"> - -Munz, Cd, P Omnes, R Schneider, E Sonnendrucker, and U Voss. 2000. -“Divergence Correction Techniques For Maxwell Solvers Based On A -Hyperbolic Model.” *Journal of Computational Physics* 161 (2): 484–511. -doi:\ `10.1006/Jcph.2000.6507 <https://doi.org/10.1006/Jcph.2000.6507>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Ohmurapiers2010"> - -Ohmura, Y, and Y Okamura. 2010. “Staggered Grid Pseudo-Spectral -Time-Domain Method For Light Scattering Analysis.” *Piers Online* 6 (7): -632–35. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-PukhovJPP99"> - -Pukhov, A. 1999. “Three-dimensional electromagnetic relativistic -particle-in-cell code VLPL (Virtual Laser Plasma Lab).” *Journal of -Plasma Physics* 61 (3): 425–33. -doi:\ `10.1017/S0022377899007515 <https://doi.org/10.1017/S0022377899007515>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Spitkovsky:Icnsp2011"> - -Sironi, L, and A Spitkovsky. 2011. “No Title.” - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Steinke2016"> - -Steinke, S, J van Tilborg, C Benedetti, C G R Geddes, C B Schroeder, J -Daniels, K K Swanson, et al. 2016. “Multistage coupling of independent -laser-plasma accelerators.” *Nature* 530 (7589). Nature Publishing -Group, a division of Macmillan Publishers Limited. All Rights Reserved.: -190–93. -`http://dx.doi.org/10.1038/nature16525 http://10.1038/nature16525 <http://dx.doi.org/10.1038/nature16525 http://10.1038/nature16525>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Vaypac09"> - -Vay :math:`\backslash`\ it Et Al., J.-L. 2009. “Application Of The -Reduction Of Scale Range In A Lorentz Boosted Frame To The Numerical -Simulation Of Particle Acceleration Devices.” In *Proc. Particle -Accelerator Conference*. Vancouver, Canada. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-VayAAC2010"> - -Vay, J -. L, C G R Geddes, C Benedetti, D L Bruhwiler, E Cormier-Michel, -B M Cowan, J R Cary, and D P Grote. 2010. “Modeling Laser Wakefield -Accelerators In A Lorentz Boosted Frame.” *Aip Conference Proceedings* -1299: 244–49. -doi:\ `10.1063/1.3520322 <https://doi.org/10.1063/1.3520322>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Vaycpc04"> - -Vay, J.-L., J.-C. Adam, and A Heron. 2004. “Asymmetric Pml For The -Absorption Of Waves. Application To Mesh Refinement In Electromagnetic -Particle-In-Cell Plasma Simulations.” *Computer Physics Communications* -164 (1-3): 171–77. -doi:\ `10.1016/J.Cpc.2004.06.026 <https://doi.org/10.1016/J.Cpc.2004.06.026>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Vayscidac09"> - -Vay, J.-L., D L Bruhwiler, C G R Geddes, W M Fawley, S F Martins, J R -Cary, E Cormier-Michel, et al. 2009. “Simulating Relativistic Beam And -Plasma Systems Using An Optimal Boosted Frame.” *Journal of Physics: -Conference Series* 180 (1): 012006 (5 Pp.). - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-VayCSD12"> - -Vay, J.-L., D P Grote, R H Cohen, and A Friedman. 2012. “Novel methods -in the particle-in-cell accelerator code-framework warp.” Journal Paper. -*Computational Science and Discovery* 5 (1): 014019 (20 pp.). - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-VayJCP2013"> - -Vay, Jean Luc, Irving Haber, and Brendan B. Godfrey. 2013. “A domain -decomposition method for pseudo-spectral electromagnetic simulations of -plasmas.” *Journal of Computational Physics* 243: 260–68. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-VayJCP13"> - -Vay, Jean-Luc, Irving Haber, and Brendan B Godfrey. 2013. “A domain -decomposition method for pseudo-spectral electromagnetic simulations of -plasmas.” *Journal of Computational Physics* 243 (June): 260–68. -doi:\ `10.1016/j.jcp.2013.03.010 <https://doi.org/10.1016/j.jcp.2013.03.010>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-VayPOPL2011"> - -Vay, Jl, C G R Geddes, E Cormier-Michel, and D P Grote. 2011. “Effects -Of Hyperbolic Rotation In Minkowski Space On The Modeling Of Plasma -Accelerators In A Lorentz Boosted Frame.” *Physics Of Plasmas* 18 (3): -30701. doi:\ `10.1063/1.3559483 <https://doi.org/10.1063/1.3559483>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Vincenti2016a"> - -Vincenti, H., and J.-L. Vay. 2016. “Detailed analysis of the effects of -stencil spatial variations with arbitrary high-order finite-difference -Maxwell solver.” *Computer Physics Communications* 200 (March). ELSEVIER -SCIENCE BV, PO BOX 211, 1000 AE AMSTERDAM, NETHERLANDS: 147–67. -doi:\ `10.1016/j.cpc.2015.11.009 <https://doi.org/10.1016/j.cpc.2015.11.009>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-XuJCP2013"> - -Xu, Xinlu, Peicheng Yu, Samual F Martins, Frank S Tsung, Viktor K Decyk, -Jorge Vieira, Ricardo A Fonseca, Wei Lu, Luis O Silva, and Warren B -Mori. 2013. “Numerical instability due to relativistic plasma drift in -EM-PIC simulations.” *Computer Physics Communications* 184 (11): -2503–14. -doi:\ `http://dx.doi.org/10.1016/j.cpc.2013.07.003 <https://doi.org/http://dx.doi.org/10.1016/j.cpc.2013.07.003>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Yee"> - -Yee, Ks. 1966. “Numerical Solution Of Initial Boundary Value Problems -Involving Maxwells Equations In Isotropic Media.” *Ieee Transactions On -Antennas And Propagation* Ap14 (3): 302–7. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-Yu2016"> - -Yu, Peicheng, Xinlu Xu, Asher Davidson, Adam Tableman, Thamine -Dalichaouch, Fei Li, Michael D. Meyers, et al. 2016. “Enabling Lorentz -boosted frame particle-in-cell simulations of laser wakefield -acceleration in quasi-3D geometry.” *Journal of Computational Physics*. -doi:\ `10.1016/j.jcp.2016.04.014 <https://doi.org/10.1016/j.jcp.2016.04.014>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-YuCPC2015"> - -Yu, Peicheng, Xinlu Xu, Viktor K. Decyk, Frederico Fiuza, Jorge Vieira, -Frank S. Tsung, Ricardo A. Fonseca, Wei Lu, Luis O. Silva, and Warren B. -Mori. 2015. “Elimination of the numerical Cerenkov instability for -spectral EM-PIC codes.” *Computer Physics Communications* 192 (July). -ELSEVIER SCIENCE BV, PO BOX 211, 1000 AE AMSTERDAM, NETHERLANDS: 32–47. -doi:\ `10.1016/j.cpc.2015.02.018 <https://doi.org/10.1016/j.cpc.2015.02.018>`__. - -.. raw:: html - - </div> - -.. raw:: html - - <div id="ref-YuCPC2015-Circ"> - -Yu, Peicheng, Xinlu Xu, Adam Tableman, Viktor K. Decyk, Frank S. Tsung, -Frederico Fiuza, Asher Davidson, et al. 2015. “Mitigation of numerical -Cerenkov radiation and instability using a hybrid finite difference-FFT -Maxwell solver and a local charge conserving current deposit.” *Computer -Physics Communications* 197 (December). ELSEVIER SCIENCE BV, PO BOX 211, -1000 AE AMSTERDAM, NETHERLANDS: 144–52. -doi:\ `10.1016/j.cpc.2015.08.026 <https://doi.org/10.1016/j.cpc.2015.08.026>`__. - -.. raw:: html - - </div> - -.. raw:: html - - </div> - -.. |image| image:: Input.pdf - :width: 12.00000cm -.. |image| image:: Output.pdf - :width: 12.00000cm |