ME 595M: Monte Carlo Simulation T.S. Fisher Purdue University 1
Monte Carlo Simulation BTE solutions are often difficult to obtain Closure issues force the use of BTE moments Inherent approximations Ballistic transport is often not described well by perturbed equilibrium distributions Instead, seek to track representative carriers and use statistical averaging to predict transport behavior Monte Carlo methods are essentially averaging or integration tools In neither case can we easily incorporate quantum (wave) effects 2
Scattering Treatment of scattering underlies almost all MC methods Consider electron scattering mechanisms Acoustic deformation potential (ADP) 1 τ Intervalley scattering by phonon absorption 1 τ Others (τ 3-1, τ 4-1, ) 2 13 ( ) Combine with Mathiessen s rule 1 = 2 10 E( p)/ q ( 13) = 1.5 10 E( p) / q+ 0.050 Γ ( p) = τ i i 1 ( p) (Effective Scattering Rate) 3
Combining Scattering Events Lundstrom Fig. 6.1 4
Equation of Motion The most complex transport equation employed in most MC simulations is Newton s law, F=ma F e dp = = qe dt Collision times are typically much smaller than free-flight times Collisions are treated as instantaneous events Carrier position can be expressed as an integral of velocity t r() t r(0) v(') t dt' = + 0 5
Free Flight Consider an electron under the action of an electric field directed along the z-axis px() t = px(0) p () t = p (0) Position relations become y y p () t = p (0) + ( q) E t z z z p (0) xt () = x(0) + x t * m py (0) y() t = y(0) + t * m Et () E(0) zt () = z(0) + ( q) E z E in numerator is energy last equality derives from the parabolic energy band assumption 6
Ensemble Scattering Consider a collection of carriers of concentration n CF that have not undergone scattering since time t=0 Assume a constant scattering rate Γ 0 (for now) The time evolution of n CF is expressed mathematically as dncf = Γ0nCF dt solution n () t = n (0) e Γ CF CF 0 t 7
Scattering Probability and Time Probability that an electron survives until time t without scattering is ncf () t Γ0t = e n (0) CF Probability that a carrier undergoes its first collision between t and t+dt is the scattering rate times the survival probability Ptdt () =Γ e 0 dt 0 Γ t 8
Random Selection Now we wish to choose a random number such that the probability of choosing a number between r and r+dr equals the probability of selecting a collision time between t and t+dt P() r dr = P() t dt let P(r) = 1 for a random number generator between 0 and 1 dr = Γ e 0 dt 0 Γ Γ t t r 1 0 c c = e 1 1 tc = ln(1 r ) = ln( r1 ) Γ c 0 Γ0 Note that r 1 is also a uniformly distributed random number between 0 and 1 Foregoing equation relates random numbers to collision times 9
Self-Scattering Lundstrom Fig. 6.4 10
t c based on all scattering events (including self-scattering) Collision Distributions tc 1 Γ 0 t c based on only real scattering events (not including self-scattering) t c 1 Γ ( p) Lundstrom Fig. 6.5 11
Identification of Scattering Events After selecting the duration of free flight (t c ), we must properly choose the type of scattering event that occurs Each scattering mechanism can alter the particle s momentum (direction and magnitude) differently Ultimately, the choices must be proportional to the relative likelihoods of occurrence 12
Cumulative Scattering Probabilities Consider k possible scattering mechanisms Imagine a cumulative bar chart that includes a sum of the fractional probabilities of each type Choose a uniformly distributed random number r 2 between 0 and 1 Select scattering event l if the following holds l 1 l 1 1 τ ( ) ( ) i 1 i p τ i 1 i p = r = 2 < Γ Γ 0 0 13
Graphical Interpretation Lundstrom, Fig. 6.8 14
Selecting a Final State Generally the most expensive part of the computation Must select the final magnitude of momentum (energy) and its direction Consider particle states immediately before (t c- ) and after (t c+ ) scattering ( ) c * pt ( c + ) p' = 2m E t +ΔE assumes parabolic energy bands ΔE is a fundamental characteristic of the scattering event (e.g., ΔE=0 for elastic scattering, ΔE ~ ħω for events involving phonons) 15
Selecting a Final Direction Align local coordinate system with initial momentum vector p Assume azimuthal invariance 2π 0 1 P( β) dβ= 1 P( β) dβ= dβ 2π Thus, we can select azimuthal angle from a uniformly distributed random number r 3 as β=2πr 3 Lundstrom Fig. 6.9 16
Determination of the Polar Angle Scattering often depends on the polar angle; hence, its treatment is more complicated π 0 P( α) dα = 1 P( α) dα = 2ππ 0 0 0 2π sin αdα S( p, p' ) dβp' dp' 0 0 S( p, p' )sin αdαdβp' dp If we assume a simple delta-function scattering mechanism [S~δ(E -E)], then 2 2 P( α) dα = sin αdα 2 17
Final Polar Angle Now we seek another uniformly distributed random number r 4 between 0 and 1 to satisfy sin αdα Prdr () = P( α) dα = Pr () = 1 2 r 4 α 1 1 dr = sin α' dα ' = ( 1 cos α) cos α = 1 2r 2 2 0 0 Finally, we find p in the local coordinate system as p 'sinαcosβ p' = p 'sin sin α β p 'cosα Last step involves transformation from local to global coordinates 4 18
Other Monte Carlo Topics Ensemble vs. incident flux approaches Ensemble follows particles in parallel in a time-stepping procedure Uses superelectron approximation Incident flux follows each particle sequentially from beginning to end Treatment of Coulomb effects Charged particles alter the local field through Coulomb interactions Can be handled by summing individual contributions If foregoing is too onerous, then particle-in-cell-type methods can be applied Must ensure that the size of the time step does not exceed natural fluctuations at the plasma frequency 19
Relation between Monte Carlo Simulation at the BTE Consider a 1D slab on infinitesimal thickness that contains a single particle trajectory δ ni (,) r t = δ( r ri ), and δ f ( r, p,) t = δ( r r ()) t δ( p p ()) t Apply the chain rule i i δfi dr d = rδf i i i p + p δf i i i t dt dt p = r δf i i v+ p δf i i qe+ i t coll but we notice that δ f = δf i r, p r, p p δf and i p δf i i i = t coll t now sum over all trajectories f f + r f v qe p f = t t i i coll coll 20
Homework Problem Collector Emitter x 1. Two parallel infinite plates 2. Particles leave the same spot on the source plate at a fixed initial velocity 3. Assume no interactions among particles, i.e. neglect the force between particles 4. Particles scatter with a constant cross section 5. Post-collision velocity will be determined by the model provided 6. The spacing is so small that, for each particle, at most one collision would occur 7. Determine the radial and angular distributions on the collector, and the total number of collisions 21
Data structure: Code Breakdown What do we use to represent a particle? Something to bind together all the interesting kinetic properties of particles A particle class in C++ A particle structure in C A n by 7 array in C/C++, matlab, or Fortran 77 1 Vx V y Vz x y z 2 Vx Vy V z x y z 3 V x V y V z x y z 22
Algorithm 23
Algorithm Breakdown Generate the particles at the emitter Set the V x according to the initial energy, assuming y, z velocity components of particles are neligible Set X,Y,Z to zero V x = y z 2 E / m, V = 0, V = 0 X = 0, Y = 0, Z = 0 24
What time step to use? Move particles P( Δt) = 1 exp( nσυδt) < 0.1 Recommendation: ~ 1 femtosecond or less L >υδt 25
Position Updates x n+ 1 x n = υ x dt y n+ 1 y n = υ y dt z n+ 1 z n = υ z dt 26
Collision Calculate the probability: P( Δt) = 1 exp( nσυδt) r [0,1] Select a random number If r<p, then a collision occurs See notes about polar scattering angle and azimuthal angle See notes about post-collision velocity 27
Parameters Number of particles: N=50,000 Initial kinetic energy of all particles: E=5eV 1 2 E = m e υ 2 Gap: L = 10 nm Cross-section, σ =10-18 m 2 Number density of media (target particles), n = 2.5x10 25 m -3 Assume that all scattering is elastic 28
Record the particle information When the particle hits the collector or the emitter, we assume it is absorbed without other side effects The final particle positions should be stored only for particles that have collided 29