1 of 40

Stochastic Dynamics

Undergraduate Students: Giles El-Assal, Mateo Price-Otero, Rachel Rakushkin

Post Doctorate: Debangana Mukhopadhyay

Advisor: Ken Duffy

1

2 of 40

Presentation Overview

  1. Introduction
  2. Diffusion Limited Aggregation
  3. Monte Carlo Simulations
    • Metropolis Monte Carlo
    • Kinetic Monte Carlo
  4. Comparison and Takeaways

2

3 of 40

Introduction

    • Introduction
    • Diffusion Limited Aggregation
    • Monte Carlo Simulations
    • Comparison and Takeaways

3

4 of 40

Project Goal

To study, model, and analyze generative stochastic processes from which patterns emerge

4

5 of 40

Motivation

5

  • Despite much work being done, certain features remain unexplained (no clear analytical explanations, no rigorous proofs)

  • The same rate-limited growth recurs across unrelated systems
    • Biological Behaviors
      • Bacteria colony growth
      • Antibody to antigen attachments
    • Dielectric Breakdown
      • Dielectrics of semiconductor devices
      • Lightning
    • Formation in Nature
      • Snowflakes
    • Fabrication Techniques
      • Physical Vapor Deposition

Physical Vapor Deposition

Snowflakes

Dielectric Breakdowns

Bacteria Colony

6 of 40

Diffusion Limited Aggregation

    • Introduction
    • Diffusion Limited Aggregation
    • Markov Chain Monte Carlo
    • Comparison and Takeaways

6

7 of 40

Diffusion Limited Aggregation

A Repetitive Game

Initial Conditions: seed at some position and a defined boundary

    • Randomly select position from boundary
    • Begin a random walk from that position
    • When walker reaches seed/cluster it may stick and become part of the cluster; if it does, repeat steps 1-3 with new walker

Increasing Complexity

    • Vary the sticking probability
    • Bias the walk
    • Vary spawn positions
    • Increase number of particles
    • Allow for cluster movement

7

8 of 40

8

d=2

Modeling Diffusion

 

Brownian Motion

 

 

d=1

 

9 of 40

9

DLA Aggregate growth with 10,000 particles and P = 1 

DLA Aggregate growth with 10,000 particles and P = 0.1

Example Implementation and Analysis

 

 

Density-Density Correlation

r

C(r)

10 of 40

Cluster Diffusion 1/N

10

11 of 40

Monte Carlo Simulations

    • Introduction
    • Diffusion Limited Aggregation
    • Monte Carlo Simulations
    • Comparison and Takeaways

11

12 of 40

Context

  •  

12

 

13 of 40

13

13

1

Probability proportional to multiplicity

Probability of system being in microstate i, is proportional to the number of reservoir microstates holding the rest of the energy

2

Taylor expansion

Taylor-expand about total energy

Substitute

 

Exponentiate

Re-exponentiating gives the reservoir count as a Boltzmann factor

 

Example: Deriving a Distribution

 

1.

2.

3.

4.

14 of 40

Markov Chain Monte Carlo

  •  

14

 

 

 

 

15 of 40

Metropolis Monte Carlo: A Lattice Gas and Its Energy

The system

• 2D lattice; each site is empty (σ = 0) or holds a particle (σ ∈ {1,…,k})

• Our runs: 150×150 lattice, density 0.15 (3375 particles), k = 1

• Conserved (Kawasaki) dynamics: a particle hops to an adjacent empty site — particle number is fixed

The energy (Hamiltonian)

H = −J Σ δ(σ_r , σ_r′) · [ 1 − δ(σ_r , 0) ]

• Sum runs over nearest-neighbor pairs in 4 lattice directions

• A pair counts only if same-state AND occupied

• Each such “bond” lowers the energy by J

• Lower energy ⇔ more same-type contacts ⇔ larger, denser clusters

(units: J = 1, k_B = 1, so T is in units of J / k_B)

Temperature & the point

• Acceptance Critera: P(config) ∝ e^(−ΔH / k_B * T)

• Low T → energy wins → condensation / clustering

• High T → entropy wins → disordered “gas”

• MMC samples this distribution to measure the equilibrium structures (cluster size, fractal dimension) that emerge vs. T

15

16 of 40

Metropolis Monte Carlo (MMC)

Propose move

Randomly select a particle; propose a new adjacent lattice site.

Compute ΔH

Calculate energy difference: ΔH = H(new) − H(old).

Accept / Reject

If ΔH ≤ 0: accept. If ΔH > 0: accept with prob. exp(−ΔH/T).

Update & record

Apply move if accepted; increment step counter; record observables.

Equilibration

Discard early sweeps (transient); measure only after equilibration.

Sweep = N moves

One MC sweep ≈ N attempted moves (one per particle on average).

What MMC does

- Samples equilibrium distribution correctly��- Efficient configuration-space exploration��- Clean energy / temperature control��

16

1.

2.

3.

4.

5.

6.

17 of 40

Metropolis Monte Carlo – Single Particle Movement

17

18 of 40

Review – Radius of Gyration and Fractal Dimension

  • Radius of gyration: the root-mean-square distance of a cluster's particles from its own center of mass

18

  • Dimension is the exponent linking size to mass: Area = Radius/Side-Length^(Dimension)
    • Example: Take a square of side length 1 and double the length. Area increases from 1 to 4. Take a cube of side length 1 and double the length. Area increases from 1 to 8. 
  • Size ∝ R_g^(D_f) with 1 < D_f < 2 in 2D. The fractional exponent D_f measures how efficiently the cluster fills space — 2 = compact blob, 1 = thin chain.

19 of 40

Metropolis Monte Carlo – Single Particle Movement

19

Panel 1 — Equilibration: Total Energy

  • System Energy vs. sweeps, averaged over 3 trials
  • Lower temperature leads to lower energy as same-state bonds form
  • Hot runs (T = 1.0, 2.5) barely relax due to constant noise breaking bonds

Panel 2 — Phase State: Cluster Count

  • Number of distinct clusters ⟨N_c⟩ vs. sweeps
  • Cooling drives coalescence into fewer, larger domains
  • Structural mirror of the energy drop in Panel 1

Panel 3 — Morphology: Fractal Dimension

  • R_g vs. cluster size (log–log); slope gives fractal dimension: 1 / D_f
  • Most compact at T = 0.5 (D_f ≈ 1.70) — same run that hit lowest energy
  • T = 0.1 most ramified (D_f ≈ 1.30) → frozen before it can compact

20 of 40

Metropolis Monte Carlo – Single Particle Movement

20

21 of 40

Metropolis Monte Carlo – Single Particle Movement

21

T=0.5 ; Sweeps = 500 ; Particles = 3375 ; 150 x 150 lattice

  •  run_simulation 7.73 s — the whole run; everything nests inside it
  •  perform_sweep 6.27 s — the gap to the right (~1.5 s) is measurement: per-sweep measure_clusters_advanced (full-lattice DFS), R_g  snapshots
  •  attempt_single_move 5.16 s — the gap to the right (~1.1 s) is per-sweep RNG and looping
  •  Space below attempt_single_move — per-attempt Python logic (boundary/exclusion checks, ΔH arithmetic)
  •  Only ~⅔ of runtime the simulation physics.  ~20% is measurement, ~14% is RNG/loop scaffolding

22 of 40

Why Add Cluster Moves?

Single-particle moves

• At low T, any move that breaks a bond has ΔH > 0 and is almost always rejected (e^(−ΔH/T) ≈ 0)

• A compact cluster can only rearrange at its surface — whole domains can’t translate or merge

• System freezes in a metastable, partly-coarsened state; never reaches equilibrium in feasible sweeps

Rigid cluster moves

• Propose translating an entire connected cluster by one lattice step

• Restores large-scale mobility, allowing domains to diffuse and coalesce toward true equilibrium

• Size-dependent acceptance (mobility ∝ 1/√size): big clusters move less often

21

Identifying and moving clusters is expensive, and the cost grows as clusters coarsen

23 of 40

Metropolis Monte Carlo – Single+Cluster Particle Movement

23

24 of 40

Metropolis Monte Carlo – Single+Cluster Particle Movement

24

Panel 1 — Equilibration: Total Energy

• System energy vs. sweeps, single+cluster, averaged over [3] trials

• Cluster moves merge whole domains, meaning energy drops faster and reaches lower values than single moves alone

• Cold runs no longer freeze: T = 0.1 now relaxes toward equilibrium

Panel 2 — Phase State: Cluster Count

• Distinct clusters ⟨N_c⟩ vs. sweeps

• Domain diffusion speeds coalescence → fewer, larger clusters than single-mode

• At low T the system can condense to [a single dominant cluster]

Panel 3 — Morphology: Fractal Dimension

• R_g vs. cluster size (log–log); slope gives 1 / D_f

• All temperatures converge to D_f ≈ 1.8 — close to compact 2D aggregates

• Reaches a more compact equilibrium than single moves at the same T

25 of 40

Metropolis Monte Carlo – Single+Cluster Particle Movement

25

Runtime: the cost of cluster dynamics

• Cumulative runtime vs. sweep count, single+cluster, density 0.15

• Single-particle cost is ≈ linear; single+cluster grows super-linearly at low T. This is because as domains coarsen, each move must traverse a larger cluster

26 of 40

Metropolis Monte Carlo – Single+Cluster Particle Movement

26

• Cluster identification (DFS) dominates the cost

• The self-runtime in attempt_cluster_move covers the visited-array allocation, the boundary/collision checks over every cluster cell, the energy (ΔH) recalculation, and the coordinate bookkeeping that rewrites particle positions on an accepted move.

• Optimizations: kinetic pre-check from a once-per-sweep cluster-size snapshot (scipy labeling) + O(cluster-size) coordinate updates

• Previous 500-sweep runs were taking hours. Now only takes 195 s allowing full data collection

T=0.5 ; Sweeps = 500 ; Particles = 3375 ; 150 x 150 Lattice

27 of 40

Metropolis Monte Carlo – Single vs. Single+Cluster

27

  • Energy (left): single-particle freezes at ⟨H⟩ ≈ −3,000; single+cluster keeps relaxing to ≈ −4,700 — the true energy floor
  • Cluster count (right): single stays fragmented at ~600 clusters; single+cluster coalesces to a handful

28 of 40

Why we need another model

  • Metropolis Monte Carlo has no meaningful time
    • No rates, no diffusion coefficient, no timescales
  • Code stalls when temperature is low

28

29 of 40

Kinetic Monte Carlo (KMC) 

Program Steps

    • Enumerate all possible events from the current state, each with rate rₖ
    • Compute the total rate R
    • Select event k with vector entry rₖ / R (cumulative sum + uniform draw)
    • Execute event k and update the configuration
    • Advance time stochastically by Δt

29

30 of 40

Example Implementation

30

31 of 40

KMC Cluster Analysis

31

32 of 40

Comparison and Takeaways

    • Introduction
    • Diffusion Limited Aggregation
    • Monte Carlo Simulations
    • Comparison and Takeaways

32

33 of 40

KMC vs MMC Comparison (Cluster Size)

33

34 of 40

KMC vs MMC Comparison (Cluster Number)

34

35 of 40

KMC vs MMC (Final-State Comparison)

35

36 of 40

Takeaways

  • Each model has its use
    • DLA for diffusion-limited growth
    • MMC for correct equilibrium structure
    • KMC for true kinetics
  • Equilibrium vs Non-equilibrium

36

Model

Purpose

“Time” is…

DLA

a specific non-equilibrium growth process

Physical

MMC / MCMC

sample an equilibrium distribution

Fictitious (MC steps)

KMC

simulate real-time evolution

Physical

37 of 40

Future Work

  • Higher dimensions and off-lattice movement
  • Longer KMC runs
  • Runtime reduction
  • Applying these models to real-world experimental results

37

38 of 40

Sources

Tronnolone, Hayden, et al. "Diffusion-limited growth of microbial colonies." Scientific Reports 8.1 (2018): 5992.

Witten, Thomas A., and Leonard M. Sander. "Diffusion-limited aggregation, a kinetic critical phenomenon." Physical review letters 47.19 (1981): 1400.

Witten, Thomas A., and Leonard M. Sander. "Diffusion-limited aggregation." Physical review B 27.9 (1983): 5686.

Newman, Mark. Computational Physics. Revised ed., CreateSpace Independent Publishing Platform, 2013.

38

39 of 40

Thank you

Q & A

39

40 of 40

40