Introduction
Tetrahedron packing is the open mathematical/computational problem of how best to fill space with tiny pyramids, or tetrahedra.
Tetrahedron do not completely fill space, though the best packings come pretty close (around 83% — compared to ~74% for spheres)
I built a tetrahedral packing program inspired by chemical packing of tetrahedra. I couldn’t get this approach to work very well — in fact it’s trivial to beat my program by just placing tetrahedra on a grid. Nevertheless, it was fun to construct and I might revisit it sometime later.
Some Figures
The code and some explanation is available on my github. The idea was to start with a solid-state structure known to be approximately tetrahedrally close-packed, insert regular tetrahedra into the spaces, and compress.
You can see many more images here.
Conclusions
I used some techniques I was familiar with from the chemical literature (annealing, Ewald summation) to try to move tetrahedra into a higher packing density. While this was able to break out of early jamming, this approach seemed to stall around 14% packing density. This is unfortunate, because a Bravais packing (i.e. placing tetrahedra on a grid) gives 33% packing density! The initial configuration doesn’t seem to make a big difference:
Adding a cooling profile helps a little bit:
Random initial configurations do about as well (if not better) than TCP-inspired configuration (I didn’t look into this extensively, but in retrospect this is not surprising given how distorted some tetrahedra are in the chemical structure).
I ran the simulations on my laptop, which is CPU limiting. I ran one simulation for a very long time, but progress seems to hit a wall around 14%:
Game, tet, match. Oh well!
No comments:
Post a Comment