Crystal Growth Simulator Back
Materials & Solidification

Crystal Growth Simulator

Watch DLA (Diffusion-Limited Aggregation) grow fractal dendritic crystals and snowflakes. Particles are colored by capture time. Fractal dimension estimated in real time.

Parameters

Particle size2
Sticking probability1.00
Max particles800
Symmetry
Concurrent walkers5
1
Particles
Fractal dim.
0
Cluster radius
0
Particles/s

What is Diffusion-Limited Aggregation?

🧑‍🎓
What exactly is happening in this simulator? I see particles randomly walking and sticking to a central cluster, forming these weird, branchy shapes.
🎓
Basically, you're watching a classic physics model called Diffusion-Limited Aggregation, or DLA. A "seed" particle is fixed in the center. Then, other particles perform a random walk—like they're diffusing through a liquid—until they touch the cluster and stick. The randomness creates those beautiful, fractal, snowflake-like arms. Try running the simulation a few times; you'll never get the same crystal twice!
🧑‍🎓
Wait, really? The shape depends on randomness? But the "Sticking Probability" slider isn't at 100%. What happens if I lower it?
🎓
Great observation! In practice, a 100% stick means a particle attaches on first contact, which tends to create denser outer fringes. Lowering the probability—say to 50%—lets the walker "bounce off" and wander deeper into the gaps between branches. This often creates a denser, more filled-in core. Play with that slider and watch how the internal structure of the crystal changes.
🧑‍🎓
And the "Fractal Dimension" it calculates? It's never a nice round number like 2. What does ~1.7 actually mean?
🎓
In plain language, it quantifies how efficiently the cluster fills space. A solid disk has dimension 2. A simple line has dimension 1. A DLA cluster's theoretical fractal dimension is about 1.71. This means its mass doesn't scale with the area (radius^2) but with radius^1.71—it's sparser. If you increase the "Walkers per Step" to grow a bigger cluster faster, you can watch the estimated dimension stabilize near that value.

Physical Model & Key Equations

The core of the simulation is the random walk of each particle, which models diffusion. The particle's position is updated step-by-step with no preferred direction.

$$ \vec{r}(t+\Delta t) = \vec{r}(t) + \delta \cdot (\cos\theta, \sin\theta) $$

Here, $\vec{r}$ is the particle's position, $\delta$ is the step length (often 1 pixel), and $\theta$ is a random angle chosen uniformly between $0$ and $2\pi$ at each step. This creates the "drunken walk" you see on screen.

The fractal dimension $D_f$ is estimated using the radius-of-gyration method. As the cluster grows, we measure how its mass $M$ scales with its characteristic size $R_g$.

$$ M \propto R_g^{\,D_f} $$

Here, $M$ is the number of particles in the cluster, and $R_g$ is the root-mean-square distance of particles from the cluster's center of mass. A plot of $\log(M)$ vs $\log(R_g)$ gives a slope of $D_f$. This is the number the simulator estimates and displays.

Real-World Applications

Electrodeposition & Battery Technology: When charging a lithium-ion battery, lithium metal can deposit on the electrodes in dendritic, DLA-like structures. These branches can short-circuit the battery, making DLA simulations crucial for understanding and preventing this dangerous failure mode.

Mineral & Snowflake Formation: The intricate patterns of ice crystals growing from water vapor, or minerals precipitating from a solution, are often governed by diffusion-limited processes. The simulator's branchy shapes mimic how real snowflakes and certain mineral deposits form in nature.

Porous Material & Filter Design: The structure of materials like activated carbon filters or bone tissue can resemble DLA clusters. Simulating their growth helps engineers design materials with optimal surface area and porosity for filtration or medical implants.

Dielectric Breakdown & Lightning: The path of a lightning bolt or an electrical spark through an insulating material follows a fractal pattern similar to DLA. The model helps physicists study how these unpredictable, branching discharges propagate.

Common Misconceptions and Points to Note

When you start using this simulator, there are a few points that are easy to misunderstand, so let's cover them first. You might tend to think that increasing the number of particles makes the simulation closer to a real crystal, but it's not that simple. While more particles do create a finer structure, if the lattice size for calculation is insufficient, the cluster will hit the screen edges and its growth will become distorted. For instance, generating 100,000 particles on a 1000x1000 lattice will make edge effects non-negligible. The trick is to first increase the lattice size and then increase the particle count.

Next, the interpretation of the "Sticking Probability" parameter. While lowering it is described as "increasing bounces," remember this is an abstracted model that "probabilistically decides whether a particle sticks." In real-world phenomena, like electrodeposition, this corresponds to factors like the energy barrier at the interface or the influence of additives. So, understand that setting it to "0.1" doesn't mean the real-world probability is 10%; it's a parameter for observing relative trends.

Finally, how to read the fractal dimension value. You might see the value fluctuate between 1.5 and 1.8 during simulation and wonder, "Is the calculation wrong?" This is normal. In the early growth stages where few data points (cluster radius and mass) are used for estimation, the value is unstable. It converges toward the theoretical value of approximately 1.71 as the particle count increases. Therefore, refer to the value after growth has progressed somewhat (e.g., after the particle count exceeds 5000).

Related Engineering Fields

The concepts of this DLA simulation appear in various CAE fields. This is because the process of "something diffusing and then reacting/adhering on a surface" is extremely universal, even beyond direct "crystal growth."

For example, battery design engineering. During the charging of lithium-ion batteries, "lithium dendrites," where lithium metal deposits on the negative electrode (anode), grow in a DLA-like manner. If these penetrate the separator, they cause an internal short circuit, which can lead to fire. The experience of seeing how the structure changes when you adjust the "sticking probability" in the simulator relates to research on suppressing dendrite growth by changing electrolyte composition or additives.

Another is materials surface engineering and coating technology. When forming thin films via sputtering or CVD (Chemical Vapor Deposition), atoms diffuse across the substrate surface, gather, and form island-like structures before becoming a continuous film. The morphology in this initial growth stage varies greatly with substrate temperature (affecting how easily particles diffuse) and deposition rate (particle supply rate), influencing the final film's adhesion and mechanical properties. 2D DLA serves as a useful initial model for understanding this process.

Furthermore, it's deeply related to powder technology and granulation processes. The process where fine particles aggregate to form larger granules (agglomerates) can be modeled as random collisions and attachments in 3D. The fractal dimension of the resulting aggregates becomes a key parameter for estimating dissolution rates or behavior during compression molding.

For Further Learning

If this tool interests you, the next step is to delve a bit deeper into the mathematical background. Start by grasping the relationship between "random walks" and the "diffusion equation". The simulator having each particle walk randomly is equivalent to solving the diffusion equation $$ \frac{\partial c}{\partial t} = D \nabla^2 c $$ at the particle level, where $c$ is concentration and $D$ is the diffusion coefficient. With this perspective, you'll clearly see why DLA is called "diffusion-limited."

Building on that, I strongly recommend learning the basics of "fractal geometry". There are various methods for calculating the fractal dimension $D_f$, such as the box-counting method and correlation function method. Try to guess which method this simulator uses (likely the mass-radius method), and write a simple program to verify it yourself—this will dramatically deepen your understanding. For example, outputting the cluster coordinate data from a simulation and calculating $D_f$ with a different algorithm is excellent practice.

For your next topic, look into models that introduce "anisotropic sticking probability". The current tool's "hexagonal lattice" mode only changes the lattice shape, but to get closer to real snow crystals, you need to vary the ease of attachment (kinetic coefficient) depending on the crystal axis direction. Alternatively, challenge yourself with advanced models like "Particle-Cluster Aggregation (PCA)" or "Cluster-Cluster Aggregation (CCA)". These are powerful tools for understanding how colloids or aerosols form large aggregates.