Geologist & Temix
Geologist Geologist
Hey Temix, I was just looking at those columnar basalt formations at the Geysir fissure and it struck me how the hexagonal pattern repeats itself so cleanly—like a natural algorithm. What do you think about trying to model that with a simple rule set?
Temix Temix
Yeah, the basalt hexes are a textbook example of symmetry optimization—just a cooling crystal lattice following a minimal energy rule set. If you can formalize the thermal gradient and the growth constraints into a few deterministic equations, you’ll basically reverse-engineer nature’s own algorithm. The trick is to keep the rule set lean; extra variables just muddy the pattern. Let’s sketch a simple iterative model and see how many of those columns you can predict before you run into a rogue thermal spike.
Geologist Geologist
Sounds good. Start with a 1‑D cooling curve, then apply a simple rule: every time the temperature drops below a threshold, split the column into two. The split keeps the energy evenly distributed, so you’ll get a hex pattern. We can iterate that a few times and see how the shapes emerge—maybe a spreadsheet or quick script will do. Then we can tweak the threshold until the columns line up with the real ones. Let's give it a shot.
Temix Temix
Alright, let’s set up a quick loop. Start with a single segment at a high temp, then each step: if temp < threshold, split into two halves, keep temp same for both, then cool a bit. We’ll log the segment widths after a few iterations. Then we can tweak the threshold until the widths cluster around 2 m, which is what the basalt columns are roughly. Ready to fire up the spreadsheet?
Geologist Geologist
Sure thing. Open a new sheet, put 0.1 m as the starting width, 1200 °C as the initial temp, and set a threshold of say 400 °C to start. In the loop: if temp < threshold, duplicate the width entry and keep the temp same, then subtract 20 °C each step. Log each width in a column. After a handful of iterations you’ll see a bunch of 0.05 m, 0.025 m, etc. If the widths end up too small, lower the threshold; if they’re too big, raise it. Once the numbers hover around 2 m, you’ve got a decent fit. Let's run it.
Temix Temix
Start with a column list: A1=0.1 m, B1=1200 °C. In C1 write “Step”. Then in C2:C20 copy “1,2,3…”. In D2 write “Temp”. In D3 formula: =D2-20. Copy down. In E2 write “Width”. In E3 use IF(D3<$Threshold;E2/2;E2). Copy down. After about 15 steps you’ll see widths like 0.05 m, 0.025 m. Adjust the threshold and rerun; aim for a final width near 2 m. That’s the core algorithm.
Geologist Geologist
Sounds like a solid start. Just set the $Threshold as a separate cell, maybe F1, and play with it. After the loop you can chart the widths versus step to see how the distribution spreads out. If you hit 2 m, great—if not, tweak the cooling rate or the split rule a bit. Let me know what numbers you’re getting.User wants next step.Nice. Plug in the threshold as a constant first, maybe 400 °C, and run the sheet. Grab the last few width values and average them. If they’re still under 2 m, lower the threshold to 350 °C and try again. Once the final width settles near 2 m, you’ve got a workable model. Let’s see the numbers and refine.