Plasma Application Modeling, POSTECH ECE586: Advanced E&M Simulation (2004) On PDX1 Program HyunChul Kim and J.K. Lee Plasma Application Modeling, POSTECH 2004. 9. 16 References: Minicourse by Dr. J. P. Verboncoeur (PTS Group of UC Berkeley) in IEEE International Conference on Plasma Science (2002) “Plasma Physics via Computer Simulation” by C.K. Birdsall and A.B. Langdon (Adam Hilger, 1991)
A Series of XPDX1* XPDx1: X window (using xgrafix library), Plasma Device, 1 Dimensional (1d3v), Bounded (with external circuit drive), Electrostatic Code XPDP1 (x=P) : Planar Configuration XPDC1 (x=C) : Cylindrical Configuration XPDS1 (x=S) : Spherical Configuration r ~ LRC Computation Space * Developed by PTS group, UC Berkeley All are available at http://ptsg.eecs.berkeley.edu
PIC Overview PIC Codes Overview Plasma behavior of a large number of charges particles are simulated by using a few representative “super particles”. PIC codes solve fundamental equations, the Newton-Lorentz equation of motion to move particles in conjunction with Maxwell’s equations (or a subset) with few approximations. PIC codes are quite successful in simulating kinetic and nonlinear plasma phenomenon like ECR, stochastic heating, etc.
Computer Simulation of Plasma Kinetic Description Fluid Description Vlasov, Fokker-Planck Codes Particle Codes Hybrid Codes Fluid Codes Particle codes The particle-particle model The particle-mesh model The particle-particleparticle-mesh model
XPDx1 Flow Chart I II V IV III IV Particles in continuum space Fields at discrete mesh locations in space Coupling between particles and fields I II V IV III IV Fig: Flow chart for an explicit PIC-MCC scheme
I. Particle Equations of Motion Newton-Lorentz equations of motion In finite difference form, the leapfrog method Second order accurate Stable for
I. Particle Equations of Motion Boris algorithm
I. Particle Equations of Motion Finally,
XPDx1 Flow Chart I II V IV III IV Fig: Flow chart for an explicit PIC-MCC scheme
II. Particle Boundary + – – Absorption Conductor : absorb charge, add to the global σ Secondary electron emission Ion impact secondary emission + – Electron impact secondary emission –
XPDx1 Flow Chart I II V IV III IV Fig: Flow chart for an explicit PIC-MCC scheme
III. Electrostatic Field Model Maxwell’s equation in vacuum In electrostatics, (Poisson’s equation) Or Gauss’ law
III. Electrostatic Field Model Possion’s equation Finite difference form in 1D planar geometry Boundary condition : External circuit From Gauss’s law, Short circuit Open circuit
III. Electrostatic Field Model Voltage driven series RLC circuit From Kirchhoff’s voltage law, ― One second order difference equation where
XPDx1 Flow Chart I II V IV III IV Fig: Flow chart for an explicit PIC-MCC scheme
IV. Coupling Fields to Particles Particle and force weighting : connection between grid and particle quantities Weighting of charge to grid Weighting of fields to particles grid point a point charge
IV. Coupling Fields to Particles Nearest grid point (NGP) weighting fast, simple bc, noisy Linear weighting : particle-in-cell (PIC) or cloud-in-cell (CIC) relatively fast, simple bc, less noisy Higher order weighting schemes slow, complicated bc, low noisy Quadratic spline NGP 1.0 Linear spline Cubic spline 0.5 0.0 Position (x) Fig: Density distribution function of a particle at for various weightings in 1D
IV. Coupling Fields to Particles Weighting in 1D For linear weighting in cylindrical coordinates, ( 0 < j < N )
XPDx1 Flow Chart I II V IV III IV Fig: Flow chart for an explicit PIC-MCC scheme
Collisions Electron-neutral collisions Elastic scattering (e + A → e + A) Excitation (e + A → e + A*) Ionization (e + A → e + A+ + e) Ion-neutral collisions Elastic scattering (A+ + A → A+ + A) Charge exchange (A+ + A → A + A+)
V. Monte-Carlo Collision Model The MCC model statistically describes the collision processes, using cross sections for each reaction of interest. Probability of a collision event For a pure Monte Carlo method, the timestep is chosen as the time interval between collisions. However, this method can only be applied when space charge and self-field effects can be neglected.
V. Monte-Carlo Collision Model There is a finite probability that the i-th particle will undergo more than one collision in the timestep. Since XPDx1 deals with only one collision in the timestep, the total number of missed collisions Hence, XPDx1 is constrained by for accuracy.
V. Monte-Carlo Collision Model Computing the collision probability for each particle each timestep is computationally expensive. → Null collision method 1. The fraction of particles undergoing a collision each time step is given by 2. The particles undergoing collisions are chosen at random from the particle list. 3. The type of collisions for each particle is determined by choosing a random number, Null collision Collision type 3 Collision type 2 Collision type 1 Fig: Summed collision frequencies for the null collision method.
Numerical Parameters Choose Δx and Δt to resolve the smallest important physical feature Require Δx < Debye length, sheath length, wave length, Larmor radius, boundary feature, etc. Require for all species (“particle Courant”) for accurate sampling of fields. Require for accuracy of explicit leap frog mover or for accuracy when space charge forces are important. Require when collisions are important. Require # of superparticles per cell > 10. It should be larger in simulations where particles remain trapped for long times.
Example of XPDP1 Input File RF DISCHARGE(IN MKS UNITS) Voltage-driven with electron-neutral collisions (Argon atom) -nsp---nc---nc2p---dt[s]---length[m]--area[m^2]--epsilonr---B[Tesla]---PSI[D]-- 2 400 1.8e6 8e-12 0.03 0.01 1.0 0 .0 0.0 -rhoback[C/m^3]---backj[Amp/m^2]---dde--extR[Ohm]--extL[H]---extC[F]---q0[C]- 0.0 0.0 0.0 0.0 0.0 1.0 0.0 -dcramped--source--dc[V|Amp]--ramp[(V|Amp)/s]---ac[V|Amp]---f0[Hz]--theta0[D]- 0 v 0.0 0.0 100 13.56e6 0 --secondary--e_collisional---i_collisional---reflux---nfft--n_ave--nsmoothing--ntimestep-- 1 1 2 0 0 276549 6 0 --seec(electrons)---seec(ions)---ion_species----Gpressure[Torr]---GTemp[eV]---imp-- 0.0 0.2 2 100e-3 0.026 0 ---GAS----psource--nstrt-- 1 0 0 SPECIES 1 ----q[C]-------m[Kg]---j0L[Amp/m^2]---j0R[Amp/m^2]----initn[m^-3]----k-- -1.602e-19 9.11e-31 0.0 0.0 5e14 1 --vx0L[m/s]---vxtL[m/s]--vxcL[m/s]---vxLloader(0=RNDM,1=QS)-- 0.0 4.19e5 0.0 1 --vx0R[m/s]---vxtR[m/s]--vxcR[m/s]---vxRloader 0.0 4.19e5 0.0 1 --v0y[m/s]---vty[m/s]---vyloader---v0z[m/s]---vtz[m/s]--vzloader-- 0.0 4.19e5 1 0.0 4.19e5 1 --nbin----Emin[eV]----Emax[ev]---maxnp— 200 0.0 20.0 300000 -For-Mid-Diagnostic---nbin----Emin[eV]---Emax[eV]----XStart--XFinish— 300 0.0 20.0 0.0 0.03 SPECIES 2 ----q[C] ------m[Kg]---j0L[Amp/m^2]---j0R[Amp/m^2]----initn[m^-3]----k- 1.602e-19 6.68e-26 0.0 0.0 5e14 1 -vx0L[m/s]---vxtL[m/s]--vxcL[m/s]---vxLloader(0=RNDM,1=QS)-- 0.0 97.8 0.0 1 --vx0R[m/s]---vxtR[m/s]--vxcR[m/s]---vxRloader 0.0 97.8 0.0 1 --v0y[m/s]---vty[m/s]---vyloader---v0z[m/s]---vtz[m/s]--vzloader-- 0.0 97.8 0 0.0 97.8 1 --nbin----Emin[eV]----Emax[ev]---maxnp-- 100 0.0 100.0 300000 -For-Mid-Diagnostic---nbin----Emin[eV]---Emax[eV]----XStart--XFinish-- 200 0.0 0.3 0.0 0.03
Some Input Parameters nsp : Number of species. nc: The number of spatial cells. Δx=length/nc nc2p: Superparticle to actual particle weight. The initial number of superparticles is N=initn·area·length/nc2p. dt: Timestep for simulation in seconds. length: The length of the system (distance between electrodes) in meters. B: Applied homogeneous magnetic field in Tesla PSI: Angle of the B-field in degrees extC: The external circuit capacitance in Farads. Used in conjuction with extL, extR and the driving source. source: Either a voltage (v) or current (i) source f0: AC frequency of the source. GAS: The type of gas, important when collisions are turned on. Helium = 1, Argon = 2, Neon = 3, Oxygen = 4. Gpressure : Background gas pressure in Torr. q: Charge of the particle in Coulombs. m: Mass of the particle in Kgs. initn: Initial particle number density For details, refer the source code itself or the manual inside the package of source file.
Example of Result (driven by RF) Vx vs. x for electrons Vx vs. x for ions Density vs. x Potential vs. x Ion flux vs. Ion Energy Electron Temperature vs. x