This project explores designing heat sinks by simulating coral growth. Rhino python was used to create a computational model to create branching structures similar to stony corals. The aim is to eventually model heat sink conditions and grow optimal forms accordingly. A detailed video explanation is here.
Heat Sinks, commonly used to cool electronic components, must meet seemingly conflicting requirements: high surface area, large cross-sectional area, and geometry that allows fluid to flow over the surface. The fractal-like geometries often observed in natural and biological systems seem to have characteristics that might meet these requirements. Corals and blood vessel networks seem especially pertinent.
Corals are colonial organisms, composed of thousands of tiny polyps, which resemble small sea anemones. Coral colonies form structures that appear to maximize access of nutrients to many of the polyps which form the colony. Corals ‘hunt’ organic matter but they also photosynthesize, thanks to a symbiosis with an algae that lives in their tissue called zooxanthellae. This combination of feeding methods means that corals respond to many different environmental conditions. A single coral species can exhibit a wide range of forms according to conditions like light, flow and competition from other colonies. This seemingly adaptive behavior arises not from coordination through a centralized controller, but instead from the specific and quite simple behaviors that each polyp exhibits.  While corals may not be performing as heat sinks, this method of growth could be abstracted into a basic model which could generate structures suited for surface-interactions. These structures could include heat sinks, filters, and chemical process machines.
As a first step in creating biomimetic heat sinks, which could potentially eliminate the need for cooling fans by provide much more effective passive cooling, the present project explores generating branching structures by simulating coral colony growth. The simulation starts with an arbitrary ‘seed’ composed of points, called nodes, which represent polyps, and edges, which represent the connections between polyps. This structure is called a mesh. Spheres, representing nutrients, move in a pseudo-random walk, biased downwards. The random walk is an approximation of diffusion, which is in part a mechanism for the transport of coral-nutrients. When a sphere contacts a node, that ‘nourished’ node grows away from its neighbors perpendicular to the mesh surface. The neighbors of that node also grow, but by an amount proportional to there distance from the ‘nourished’ node. This extremely mechanistic algorithm produces surprisingly complex forms which bear some resemblance to stony corals. The present model could be altered to simulate heat conduction and convective effects (fluid flow) around the mesh. This simulation would serve to calculate the ‘nutrient’ level at each node in the mesh. More complex rules might be developed, such as vertices releasing a chemical that impedes growth of other neighbors and growth based on velocity or temperature gradients. 
 Personal Communication with Roeland Merks
a host of research in this area that inspired this project is here