Simulated Snowflakes

Science Fair 2004-2005


Explain your science fair project.


In this project, I attempt to develop a computer simulation of the formation of a snowflake, a process characterized by the crystal lattice form of molecular bonding. While understanding the process of snowflake formation has little immediate practical use, the crystal form of molecular bonding is very common in our environment. Snowflakes are a universal medium in which the crystal growth can be easily displayed.


Can a computer simulate the formation of snowflakes and, if so, to what degree of accuracy?

Null hypothesis:

Computers will not be able to simulate the formation of snowflakes with a molecular dynamics program because of the compute intensity. There will be some other kind of program that will achieve the purpose.


First, a program must be found or written that will simulate the formation of the crystal lattice. As molecular dynamics programs are popular, many programmers have made their simulators available for free download so that other programmers can use and modify them. Molecular dynamics programs simulate the exact placement of a number of molecules and how the molecules affect each other. GROMACS is highly recommended molecular dynamics program.

Little is known about how the water molecules bond to create branching instability. Furthermore, it takes five minutes to simulate less than a second. Given the number of complexities, simulating a snowflake with a MD program such as GROMACS is currently not possible.

Time for a new approach. The reason that MD didn’t work was (a. it was slow and (b. it didn’t form branching instability. It’s possible that a program that calculated the probability of ice condensing would work better. With this in mind, I found a paper that had some equations for this. I wrote the equations into my program called ‘cellular automata’.

First, the computer makes a hexagonal grid, the shape of the snowflake. Each grid space is called a cell. Then, each cell is assigned a ‘state of frozenness’, 1 being frozen and 0 being liquid. The computer calculates how the temperature changes depending on how frozen the cell’s neighbor’s are. This creates a pattern that will grow and branch out just like a snowflake does.


Although GROMACS gave a more accurate picture, the cellular automata program was more successful in making a snowflake pattern. The computer was able to simulate the formation of the snowflake.

I would like to thank my dad who taught me C++, checked GROMACS for viruses, and installed Linux on my computer. My mom has helped me in writing my report and making it coherent. I got my idea from making paper snowflakes and learning to program.

Word count: 435