SLIDE 1 Some new tools for simulating nano-scale crystal growth
Department of Mathematics University of Tennessee
Thanks to NSF (grant 0103825) for supporting this research.
SLIDE 2 Outline
- 1. Kinetic Monte Carlo (KMC) & KMC algorithms
- 2. Burton-Cabrera-Frank (BCF) model & hybrid scheme
- 3. Off lattice KMC
10 20 30 40 50 60 70 80 90 100 x 5 10 15 20 25 30 35 40 45 50 z 1 2 3 4 5 6 7
SLIDE 3 Kinetic Monte-Carlo
– F.F. Abraham and G.W. White (1970) – G.H. Gilmer and P. Bennema (1972)
- Stochastic adatom deposition.
- Hopping rate k(∆φ, T) = k0 exp (−∆φ/kBT)
- Barriers can be measured, calculated or modeled...
φ S=0 S>0
∆φ = ES + mEN + max[(mi − mf), 0]EB (Smilauer & Vvdensky 1995)
SLIDE 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) =
∞
tp(t)dt = 1 r . The CDF, probability of waiting less than time t, is P({t < T}) =
T
p(t)dt = 1 − exp (−rT).
SLIDE 5
Multiple Processes
For two independent processes occurring with rates r1 and r2, the probability of at least one event occurring before time T is P({t1 < T or t2 < T}) = P1(T) + P2(T) − P1(T)P2(T) = 1 − exp [−(r1 + r2)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) = (r1 + r2) exp [−(r1 + r2)t]. This generalizes to an arbitrary number of processes.
SLIDE 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 rm 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) Enm : (n, m) → (i, j, k) E−1
i,j,k : (i, j, k) → (m, n)
SLIDE 7 Minimal search KMC algorithm:
- 1. Compute the overall rate R = SN = N
n=1 rnCn;
retain the partial sums Sn
- 2. Select a random number r ∈ [0, R).
- 3. Search through the list of partial sums Sn until
Sn > r
- 4. Select an event from the set of events that occur
at this rate by computing m = Int
(Sn − r)
rn
- + 1.
- 5. Execute that event and update the configuration
{hij}.
- 6. For the (local) events that have their rates changed
from rni to rnf: (a) Move them to the end of column nf; add one to Cnf; update E−1
i,j,k.
(b) Move the event listed as EniCni into the vacated position in column ni; reduce Cni by one; up- date E−1
i,j,k.
SLIDE 8 Performance
2 4 6 8 10 12 14 2 4 6 8 10 12
T p ✸ ✸ ✸ ✸ ✸ ✸ ✸ ✸ ✸ ✸ Computation time for 105 events of a 2p × 2p 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.
SLIDE 9 Other facets of film-growth modelling
10 20 30 40 50 60 70 80 90 100 x 5 10 15 20 25 30 35 40 45 50 z 1 2 3 4 5 6 7
✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁ ✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁ ✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁ ✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁ ✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁ ✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁ ✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁✁ ✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂ ✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂ ✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂ ✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂ ✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂ ✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂ ✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂✁✂
SLIDE 10 Terrace/Step models
Reference: Burton, Cabrera and Frank (1954)
x x
3 1
x2
ρt = Dρxx − τ−1ρ + F; x ∈ (xi, xi+1) ±Dρx|± = α±(ρ|± − ρe), x = xi νdxi dt =
dt ρ
+
−
, x = xi
SLIDE 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
SLIDE 12 Two-grid system
- N × N sites partitioned into Nc × Nc cells
- Cell-width M × M (N = MNC)
- Cell is ∈ ΩKMC if
– it contains an edge – its neighbors contain an edge
SLIDE 13 KMC region
- Adatoms are defined as sites where hij
– 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
SLIDE 14 Continuum region
ρn+1
j
= ρn
j + D ∆t
∆x2
j−1 − 2ρn j + ρn j+1
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
SLIDE 15 Interface
– remove the adatom from list – set ρn+ν
j
= ρn
j + 1/M
– mass is immediately spread over cell
– add adatom to list – set ρn+ν
j
= ρn
j − 1/M
– rate for this event type is Dρj – event not added to list if ρj < 1/M
- ν indicates fractional timestep (one event)
SLIDE 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
SLIDE 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.
SLIDE 18 1D Hybrid Simulations
Adatoms per cell
0.5 1 1.5 2 2.5 3 3.5 4 10 20 30 40 50 60 70 80 90 100 0.5 1 1.5 2 2.5 3 3.5 4 10 20 30 40 50 60 70 80 90 100 0.5 1 1.5 2 2.5 3 3.5 4 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
- n surface fluctuate
SLIDE 19 Average density and fluctuations
0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 200000 400000 600000 800000 1e+06
σe D/F + + + + + + + + + + ✸ ✸ ✸ ✸ ✸ ✸ ✸ ✸ ✸ ✸ + + + + + + + + + + + + + + + + + + + +
0.005 0.01 0.015 0.02 200000 400000 600000 800000 1e+06
σρ D/F + + + + + + + + + + ✸ ✸ ✸ ✸ ✸ ✸ ✸ ✸ ✸ ✸ + + + + + + + + + + + + + + + + + + + +
SLIDE 20 Computational cost (1D)
– N net attachment events per layer – Each adatom performs O(L2) hops – Total cost is O(NL2) (or O(N log N L2))
– Total cost = KMC-cost + BCF-cost – KMC-cost reduced to ⇒ O(NM 2) – BCF-cost is: O
L NMD)( 1 ∆t)( N M)
- (events/layer)(time/event)(calls/time)(operations/call)
– CFL condition requires ∆t < M2
2D
– Total cost is O(NM2) + O(NL
M2)
SLIDE 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 ρ
SLIDE 22
Step edge instability
Experiment: Behm, et. al. Phys. Rev. Lett.(1994)
Theory: Bales & Zangwill, Phys. Rev. B (1990) Simulation: Rost, Smilauer & Krug, Surf. Sci- ence (1996).
SLIDE 23 KMC and Hybrid surface
’ftn40’ 24 23 22 21 20 50 100 150 200 250 3000 50 100 150 200 250 300 19 20 21 22 23 24 ’ftn40’ 25 24 23 22 21 50 100 150 200 250 3000 50 100 150 200 250 300 20 21 22 23 24 25
- KMC (left) took about 12 days to simiulate.
- Hybrid (right) took about 56 hours with cell width
10
SLIDE 24 KMC and Hybrid surface
’ftn40’ 24 23 22 21 20 50 100 150 200 250 3000 50 100 150 200 250 300 19 20 21 22 23 24 50 100 150 200 250 3000 50 100 150 200 250 300 13 14 15 16 17 18
- KMC (left) took about 12 days to simiulate.
- Hybrid (right) took about 70 hours with cell width
15
SLIDE 25 Hybrid and Adaptive KMC surface
’ftn40’ 25 24 23 22 21 50 100 150 200 250 3000 50 100 150 200 250 300 20 21 22 23 24 25 50 100 150 200 250 300 0 50 100 150 200 250 300 22 22.5 23 23.5 24 24.5 25
The simulaion on the right uses a crude, coarse-grained KMC instead of solving a discretized diffusion equation. It was slightly faster.
SLIDE 26 Off-lattice KMC
Collaborators: Weidong Guo (post-doc, UTK) Weinan E (Princeton)
- In all KMC models, transition state theory predicts
rates of the form R ∼ exp[−∆Φ]
- In lattice-based models, the energy landscape Φ is
prescribed.
- In off-lattice KMC, we wish to allow an arbitrary
set of atom positions {ri}.
- The potential energy of such a collection is often
modeled as a sum of pair-wise interactions, e.g. the Lennard-Jones potential: Φ =
Φij =
σ
rij
12
−
σ
rij
6
SLIDE 27 Off-lattice KMC Algorithm
- 1. Identify the set of likely transitions xik (i.e.
new local minima) for each particle
xik = min
x∈Sik Φ(x, {rj=i})
- 2. Identify the barrier ∆Φ = Φ∗ − Φ0 for each transi-
tion, where Φ∗ = min
ri(s)∈P max s∈[0,1] Φ(ri, {rj=i})
- 3. Use the BKL algorithm to randomly select and
execute an event
- 4. Locally relax new configuration, with occasional
global relaxation
SLIDE 28 Off-lattice KMC
- This is rather slow.
- Applications might include nano-tubes, wires, pipeflow,
gears, levers...
SLIDE 29 Summary
– provides a minimal-search KMC algorithm – combine with rejection for arbitrary rate sets
– significantly faster than KMC – many complications with respect to accuracy
– Off-lattice KMC – Adaptive/multi-grid KMC
SLIDE 30
For further details... T.P. Schulze,“A Hybrid Method for Simulating Epitax- ial Growth,” Journal of Crystal Growth 263 (2004) 605-615. T.P. Schulze, P. Smereka and Weinan E, “Coupling Kinetic Monte-Carlo and Continuum Models with Ap- plication to Epitaxial Growth,” J. Comp. Phys. 189 (2003) 197-211. T.P. Schulze, “Kinetic Monte-Carlo with Minimal Search- ing,” Phys. Rev. E 65 (2002) 036704. http://www.math.utk.edu/ schulze/publications.htm