Transcript Document
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 Vlasov, Fokker-Planck Codes Particle Codes Fluid Description Hybrid Codes Particle codes • The particle-particle model • The particle-mesh model • The particle-particleparticle-mesh model Fluid Codes XPDx1 Flow Chart • Particles in continuum space ( x,v)i • Fields at discrete mesh locations in space (E,B) j • Coupling between particles and fields I II Subcycling : ti slow kt fast , k 1 IV III IV Fig: Flow chart for an explicit PIC-MCC scheme V I. Particle Equations of Motion Newton-Lorentz equations of motion d mv F q (E v B) dt d xv dt In finite difference form, the leapfrog method vt t / 2 vt t / 2 q t vt t / 2 vt t / 2 (E Bt ) t m 2 x t t x t vt t / 2 t • Second order accurate • Stable for wp t 2 I. Particle Equations of Motion • Boris algorithm v v t t / 2 qtE t 2m t q t E v vt t / 2 2m v v q ( v v ) Bt t 2m v v v v v v t q B t t bˆ tan( ) 2 2m t I. Particle Equations of Motion Finally, v' v v t t 2t t v v v' 1 tt tt 2t t v' 1 tt tt v v' v v t t 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 + io n – electron – se • 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 E B , D , D 0 E t D H J , B 0 , B 0 H t • In electrostatics, E 0 E 2 0 (Poisson’s equation) Or Gauss’ law D d s S V dV Qenclosed III. Electrostatic Field Model Possion’s equation (x, t ) (x, t ), • Finite difference form in 1D planar geometry j 1 2 j j 1 x 2 j , Boundary condition : External circuit J EJ 0 E0 From Gauss’s law, t0 1t 0t 0t x 2 E1/ 2 x t Q t Q t t t t t 0 0 J plasma dt t t A • Short circuit 0 (t ) is specified, J (t ) 0 • Open circuit t 0 t t 0 t t t J plasma dt III. Electrostatic Field Model • Voltage driven series RLC circuit From Kirchhoff’s voltage law, d 2Q(t ) dQ(t ) Q(t ) L R 2 dt dt C V (t ) J (t ) 0 (t ) ― 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 x S ( x xi ) 1.0 Quadratic spline NGP Linear spline Cubic spline 0.5 0.0 xi 2x Position (x) xi x xi xi x xi 2x Fig: Density distribution function of a particle at xi for various weightings in 1D ( X j ) qi S ( X j xi ) i Fi qi x E j S ( X j xi ) j 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 Pi 1 exp[ng T ( i )i t ] where T ( i ) j j ( i ) • For a pure Monte Carlo method, the timestep is chosen as the time interval between collisions. ti ln(1 R) ng T ( i )i 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 Pi 2 r Pi . 1 Pi k k Hence, XPDx1 is constrained by vmaxt 1 for accuracy. where vmax ng max ( T ( ) ) 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 PT 1 exp[ maxt ]. 2. The particles undergoing collisions are chosen at random from the particle list. Nc N PT 3. The type of collisions for each particle is determined by choosing a random number, 0 R max . 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 t x / max for all species (“particle Courant”) for accurate sampling of fields. Require t 0.2 / wp for accuracy of explicit leap frog mover or for accuracy when space charge forces are important. Require t 1 / 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]----k1.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 Density vs. x Ion flux vs. Ion Energy Vx vs. x for ions Potential vs. x Electron Temperature vs. x