An implementation of a 2D cellular automaton of simulation of the growth of snowflakes (or ice crystals) using Python.
The script requires Python 3 and the following external libraries:
numpymatplotlib
You can install the dependencies using pip:
pip install numpy matplotlib
- Clone the repository to your local machine:
git clone https://github.com/auroyi/snowflake-simulator/
cd snowflake-simulator
- Run the Python script:
python snowflake.py
- Beta (Background Level): Represents how humid the surrounding atmosphere is. The grid initializes with this value, and the boundary conditions at the edges are permanently fixed at Beta to act as an infinite reservoir.
- Gamma (Addition Constant): Represents the humidity of the environment added directly to receptive sites. It informally captures the idea that water vapor may be available from outside the 2D plane of growth.
- Alpha (Diffusion Term): Approximates the discrete diffusion over a hexagonal lattice. When Alpha is 1.0, the updated value weights the current cell at one half and its six nearest neighbors at one twelfth each.
Reiter, C. A. (2005). A Local Cellular Model for Snow Crystal Growth. Chaos, Solitons and Fractals, 23, 1111-1119.