Simulating foraminifera

Posted on 07 December 2015

Foraminifera are a phylum of mostly marine protists which produce a shell or "test" in the form of a series of linked chambers. One approach to modelling the morphology of foraminifera shells [Tyszka and Topa, Paleobiology 31(3), 522 (2005)] in two dimensions treats the chambers as overlapping circles. Let the vector from the centre of chamber $i$ to its "output" aperture be $\mathbf{r_i}$.

The script, foram.py (available on GitHub) defines the classes Chamber and Foram to represent a chamber and a foraminifera organism. The latter class grows a foraminifera by adding a requested number of chambers unless a chamber is found to fully enclose a previous chamber, in which case growth must cease. The Foram class is initialized by providing values for $GF$, $TF$ and $\Delta\Phi$; the morphology of the foraminifera corresponding to different values of these parameters is illustrated below.

Simulated foraminifera

Simulated two-dimensional foraminifera with the following parameters (clockwise, from top left): (a) $GF=1.02$, $TF=0.1$, $\Delta\Phi=0$, (b) $GF=1.1$, $TF=0.7$, $\Delta\Phi=235^\circ$, (c) $GF=1.1$, $TF=0.05$, $\Delta\Phi=180^\circ$, (d) $GF=1.0$, $TF=0.6$, $\Delta\Phi=-15^\circ$, (e) $GF=1.03$, $TF=0.3$, $\Delta\Phi=-45^\circ$, (f) $GF=1.2$, $TF=0.3$, $\Delta\Phi=-5^\circ$.

An updated (January 2020) version of this class now supports colour:

Simulated coloured foraminifera