↑Top
Blog
Various
About me

Probably kindah like a Snowflake simulation

Probably kindah like a Snowflake simulation

Made for a christmas card kindah thing.

(click for shitty simulation printouts) Step cnt: Total ice:

; hum / temp


It has a whole bunch of “crystal forms”. As with the turtles, the query string can mess with a bunch of parameters. This is mode=grid, ordering somewhat by interest, there is hex, tri, cross. (And block, tri2, badhex, broadhex, hibroadhex, hihex, flathex, and asymhex) These are just little lists of relative positions new ice can form. Given symmetry and that they need to ultimately adjoin on the simulation grid, there are limits.

Description of simulation

It simulates freezing-on and heat conduction on a grid. Each square on the grid has two values, temperature(T) and ice thickness(d).

Heat conduction

The heat transferred between two squares is proportional to heat_transferred∝ΔT⋅d⋅dt/s with s the square size and dt the timestep. In the code, the timestep and square size are effectively in the constants. I didn’t really go to much length with regard to accuracy at all. The ice thickness is estimated to be the average thickness between the two

The temperature goes up ∝heat_transferred/d (if thickness is uniform, it ultimately does not matter.

Air conducts heat too, to a lesser degree. Also vertical and horizontal to-air heat conduction is different. The temperature of the air is taken to be constant. (as the snowflake falls through air) The air temperature and humidity vary randomly, which is why it grows at varying rates.

Ice formation

Ice can only form at 1) where there is already ice and 2) if one of the nearby squares has more than some amount of ice. The different crystal forms are about which nearby squares.

Freezing adds heat, the amount it freezes is proportional to -humidity⋅Temperature. Limited by the temperature change due to added heat never sending the temperature above zero.

Realism of simulation

I do not know, really, i would suspect very low. I think the -humidity⋅Temperature is probably wrong. Not quite sure what it should be.

In many crystal formation cases, it might be kindah close, different directions of growth could have different affinities. Instead of heat conduction you could consider diffusion of the particles that are crystalizing.(or both)

One might even consider a local thermal equilibrium model. Possibly accurate in some cases.

One thing i have wondered for a time now, is how much you could control crystal growth. For instance when voltage controls crystal growth on the cathode. (a time-dependent voltage at the cathode might be able to have more control over the voltages across the crystal)

Update: Hoppering

Blog Posts

2021-07-17 Type Stack Calculation project intro
2020-08-26 Camcorder planet viewing
2020-05-15 I Made a Sha256 based port knocking program
2017-12-26 Probably kindah like a Snowflake simulation
2017-10-29 More Pixel fun turtles
2016-09-22 Pixel fun - messing with turtles
2016-05-17 Finally put together page_html
2015-11-12 libre decentralized software
2015-02-03 Tinfoilchat inspired ideas
2015-01-07 Public goods and business models
2014-12-22 Captcha Quicky
2014-12-12 Assurance contract mention
2014-11-21 Publishing DAO, and its holy grail
2014-11-02 Grudge escrow contract
2014-09-11 The core Blockchain idea
2014-06-03 Hanging blocks
2014-05-29 Voting power needed for DAO/DO decisions
2014-05-17 What is Ethereum to people?
2014-05-08 Just show up anytime jobs
2014-05-08 Proof of Reserve and voting
2014-05-08 DHTs: more than just storage