Brownian Crystallisation (Diffusion-Limited Aggregation)

Stochastic simulation of crystallisation via Brownian motion and irreversible aggregation (DLA).

PhysicsSimulation
PythonNumPyMatplotlibMonte CarloStochastic Processes

Demo clip of the simulation output (poster shown before playback).

Overview

This project investigates Brownian crystallisation using a diffusion-limited aggregation (DLA) model. Particles undergo random walks on a 2D lattice and irreversibly bind on contact with a growing cluster, producing emergent crystalline and fractal-like structures.

The goal is to show how simple stochastic rules at the microscopic level generate complex macroscopic morphology.

Physical model

Core rules

  • Particles perform discrete 2D Brownian motion (random walk)
  • Motion occurs on a finite square lattice
  • Particles stick irreversibly upon first contact with the aggregate
  • The aggregate acts as a growing absorbing boundary

DLA is a minimal model for diffusion-dominated pattern formation, relevant to crystal growth, electrodeposition, corrosion, and colloidal aggregation.

Implementation

Simulation

  • Monte Carlo random-walk simulation
  • Efficient state updates with vectorized NumPy operations
  • Explicit tracking of aggregate geometry over time

Visualization

  • Frame-by-frame rendering of the evolving cluster
  • Animation generation for qualitative inspection
  • Parameters exposed for morphology exploration (density, lattice size, release radius)

Key observations

Why this matters

This is a clean example of non-equilibrium structure formation: macroscopic order and complexity emerging from simple, local probabilistic rules. The same modeling mindset applies across physics, materials, and complex systems.