some new tools for simulating nano scale crystal growth t
play

Some new tools for simulating nano-scale crystal growth T. P. - PDF document

Some new tools for simulating nano-scale crystal growth T. P. Schulze Department of Mathematics University of Tennessee Thanks to NSF (grant 0103825) for supporting this research. Outline 1. Kinetic Monte Carlo (KMC) & KMC algorithms 2.


  1. Some new tools for simulating nano-scale crystal growth T. P. Schulze Department of Mathematics University of Tennessee Thanks to NSF (grant 0103825) for supporting this research.

  2. Outline 1. Kinetic Monte Carlo (KMC) & KMC algorithms 2. Burton-Cabrera-Frank (BCF) model & hybrid scheme 3. Off lattice KMC 7 6 5 4 3 2 1 0 10 15 20 25 30 35 40 45 50 0 10 20 z 30 40 50 60 70 5 80 x 90 0 100

  3. Kinetic Monte-Carlo • Early work: – F.F. Abraham and G.W. White (1970) – G.H. Gilmer and P. Bennema (1972) • Stochastic adatom deposition. • Hopping rate k (∆ φ, T ) = k 0 exp ( − ∆ φ/k B T ) • Barriers can be measured, calculated or modeled... φ S=0 S>0 • Example: ∆ φ = E S + mE N + max[( m i − m f ) , 0] E B (Smilauer & Vvdensky 1995)

  4. Poisson Processes The Poisson process assumes discrete events with ex- ponentially distributed waiting times: p ( t ) = r exp ( rt ) , t > 0 , where r is the rate at which the process occurs, i.e. the average frequency per unit time. The expected waiting time is � ∞ tp ( t ) dt = 1 � tp ( t ) � = r . 0 The CDF, probability of waiting less than time t , is � T P ( { t < T } ) = p ( t ) dt = 1 − exp ( − rT ) . 0

  5. Multiple Processes For two independent processes occurring with rates r 1 and r 2 , the probability of at least one event occurring before time T is P ( { t 1 < T or t 2 < T } ) = P 1 ( T ) + P 2 ( T ) − P 1 ( T ) P 2 ( T ) = 1 − exp [ − ( r 1 + r 2 ) T ] The corresponding distribution of waiting times re- mains exponential with a rate that is the sum of the rates of the individual processes: p ( t ) = ( r 1 + r 2 ) exp [ − ( r 1 + r 2 ) t ] . This generalizes to an arbitrary number of processes.

  6. Kinetic Monte-Carlo algorithms Principal algorithm: Bortz, Kalos &. Lebowitz (1975) 1. Randomly select the time it takes for the next event to occur 2. Decide which event it is using relative rates This simulates M independent Poisson processes with rates r m that sum to give an overall rate R . Performance of KMC algorithms: • Rejection algorithm: usually not good for KMC • Vanilla BKL with linear search: O ( M ) • Binning technique: O ( M 1 / 2 ) (Mayksum 1988) • Binary search: O (log( M )) (Blue, Beichl & Sullivan 1995) • Maintaining inverse list can eliminate this cost: (Schulze 2002) E nm : ( n, m ) → ( i, j, k ) E − 1 i,j,k : ( i, j, k ) → ( m, n )

  7. Minimal search KMC algorithm: 1. Compute the overall rate R = S N = � N n =1 r n C n ; retain the partial sums S n 2. Select a random number r ∈ [0 , R ). 3. Search through the list of partial sums S n until S n > r 4. Select an event from the set of events that occur at this rate by computing � ( S n − r ) � m = Int + 1 . r n 5. Execute that event and update the configuration { h ij } . 6. For the (local) events that have their rates changed from r n i to r n f : (a) Move them to the end of column n f ; add one to C n f ; update E − 1 i,j,k . (b) Move the event listed as E n i C ni into the vacated position in column n i ; reduce C n i by one; up- date E − 1 i,j,k .

  8. Performance ✸ 14 12 ✸ ✸ ✸ ✸ 10 ✸ T 8 ✸ ✸ ✸ ✸ 6 4 2 0 2 4 6 8 10 12 p Computation time for 10 5 events of a 2 p × 2 p simulation for binary search (upper curve) and minimal-search KMC (lower curve). • If necessary, event lists can be packed into a flat array of length M • For arbitrary rates, this can be combined with the rejection algorithm.

  9. Other facets of film-growth modelling 7 6 5 4 3 2 1 0 10 15 20 25 30 35 40 45 50 0 10 20 z 30 40 50 60 70 5 80 x 90 0 100 �✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁� ✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂ �✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁� ✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂ �✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁� ✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂ ✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂ �✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁� �✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁� ✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂ �✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁� ✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂ �✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁�✁� ✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂

  10. Terrace/Step models Reference: Burton, Cabrera and Frank (1954) x x 2 x 1 3 ρ t = Dρ xx − τ − 1 ρ + F ; x ∈ ( x i , x i +1 ) ± Dρ x | ± = α ± ( ρ | ± − ρ e ) , x = x i � + νdx i Dρ x + dx i � dt = , x = x i dt ρ −

  11. Hybrid Scheme Collaborators: P. Smereka (Mich.), W. E (Princeton) • Diffusion equation on terraces: ρ t = Dρ xx + F ∈ Ω BCF • KMC simulation near step edges: Ω = Ω BCF ∪ Ω KMC

  12. Two-grid system • N × N sites partitioned into N c × N c cells • Cell-width M × M ( N = MN C ) • Cell is ∈ Ω KMC if – it contains an edge – its neighbors contain an edge

  13. KMC region • Adatoms are defined as sites where h ij – is one greater than at lateral nearest neighbors, – all of which have the same height. • For Hybrid simulation, we add events correspond- ing to: – hops out of the continuum with rate ∼ Dρ – nucleation ∼ ρ 2 ? – other processes as desired... • This requires a list of boundary segments

  14. Continuum region j + D ∆ t ρ n +1 = ρ n ρ n j − 1 − 2 ρ n j + ρ n � � + F ∆ t j +1 j ∆ x 2 • ρ n j is average “adatom” density in cell j • Discrete time step ∆ t , • Coarse grid ∆ x = aM , • There are many KMC events per ∆ t t { t ∆

  15. Interface • If adatom Ω KMC → Ω BCF – remove the adatom from list – set ρ n + ν = ρ n j + 1 /M j – mass is immediately spread over cell • If adatom Ω BCF → Ω KMC – add adatom to list – set ρ n + ν = ρ n j − 1 /M j – rate for this event type is Dρ j – event not added to list if ρ j < 1 /M • ν indicates fractional timestep (one event)

  16. Moving boundary • If a cell changes type, a local conversion process takes place: – To change KMC-cell → BCF-cell ∗ Locate adatoms using inverse list ∗ Remove hopping events from list ∗ Update cell-list – To change BCF-cell → KMC-cell ∗ Randomly position Int( Mρ j ) adatoms in cell ∗ Add hopping events to list ∗ Update cell-list

  17. Nucleation, etc. • To nucleate islands within the BCF region – Add nucleation events with rate ∼ ( Mρ j ) 2 ? – If event is chosen, convert cell and its neighbors • This approach has proven useful in level-set simu- lations of BCF model • A similar procedure applies to vacancy formation, chemical reactions, etc. • Deposition and evaporation can be handled at the continuum level.

  18. 1D Hybrid Simulations Adatoms per cell 4 3.5 3 2.5 2 1.5 1 0.5 0 0 10 20 30 40 50 60 70 80 90 100 4 3.5 3 2.5 2 1.5 1 0.5 0 0 10 20 30 40 50 60 70 80 90 100 4 3.5 3 2.5 2 1.5 1 0.5 0 0 10 20 30 40 50 60 70 80 90 100 • Continuum regions tend toward parabolic adatom density profile • Step velocities, step widths and number of adatoms on surface fluctuate

  19. Average density and fluctuations 0.5 0.45 0.4 0.35 0.3 ✸ + + + σ e 0.25 ✸ + + 0.2 + ✸ + + + + ✸ + ✸ + + 0.15 + + ✸ + ✸ + + ✸ + + + ✸ + + ✸ + + + + + + + 0.1 0.05 0 1e+06 0 200000 400000 600000 800000 D/F 0.02 ✸ 0.015 ✸ ✸ ✸ ✸ ✸ ✸ ✸ ✸ ✸ + σ ρ + + 0.01 + + + + + + + + + + + + + + + + + + + + + + + + + + + 0.005 0 1e+06 0 200000 400000 600000 800000 D/F

  20. Computational cost (1D) • For 1D KMC: – N net attachment events per layer – Each adatom performs O ( L 2 ) hops – Total cost is O ( NL 2 ) (or O ( N log N L 2 )) • For 1D hybrid scheme: – Total cost = KMC-cost + BCF-cost – KMC-cost reduced to ⇒ O ( NM 2 ) NMD )( 1 L ∆ t )( N ( NM 2 )( � � – BCF-cost is: O M ) (events/layer)(time/event)(calls/time)(operations/call) – CFL condition requires ∆ t < M 2 2 D – Total cost is O ( NM 2 ) + O ( NL M 2 )

  21. Accuracy • Errors inherent to BCF model: – Errors resulting from interactions – Errors from neglected events • Errors relative to “adatom” KMC: – Discretization error ∼ M 2 ≡ (∆ x ) 2 – Variance reduction – Coupling error ρ cell scale

Recommend


More recommend