A thermodynamic and geophysics toolkit for the
Earth and planetary sciences

BurnMan is an open source, extensible mineral physics toolbox written in Python to generate physical properties for the Earth and other planets. At its simplest, BurnMan calculates the isotropic thermoelastic moduli by solving the equations-of-state for a mixture of minerals defined by the user. The user may select from a list of minerals applicable included or easily define one of their own.

In practise, BurnMan is used for many purposes, including phase equilibria studies, the generation of seismic models, and the inversion of observations for the interior structure of planetary bodies.

BurnMan features

Implemented models
  • Many equations of state (Vinet, Birch Murnaghan, Mie-Debye-Grüneisen, Modified Tait, ...)
  • Several solid solution models (ideal, symmetric, asymmetric, subregular), with class constructors designed to make solid solutions easy to read and create
  • Composites of arbitrary combination of minerals
  • Different averaging schemes (Reuss, Voigt, VRH, Hashin-Shtrikman)
  • "Layer" and “Planet” classes that self-consistently calculate gravity profiles, mass, moment of inertia of planets given the chemical and temperature structure of a planet
  • Contains an extensive collection of mineral databases (including those of Holland and Powell and Stixrude and Lithgow-Bertelloni).
  • Different geotherms
  • Plotting and comparison of seismic profiles from 1D (and soon) 3D seismic models
  • Parameter fitting for equations of state with experimental data not only in P-V-T, but in any thermodynamic property, such as seismic velocities and enthalpies
  • Calculation of chemical activities, potentials and fugacities of mineral assemblages
  • Propagation of uncertainty, both when fitting parameters and when forward modeling
  • Creation of input to software used to generate synthetic seismograms: Mineos (Masters et al. 2014) and AxiSEM (Nissen-Meyer et al. 2014)
  • Generation smoothed property grids to create 1D adiabatic profiles which can be used by the geodynamics code ASPECT
  • All parts pf BurnMan can be replaced by user-written modules if desired
  • Provides many examples highlighting different features of BurnMan
  • Contains a repository of work published using BurnMan (we accept script submissions from the community)

Citing BurnMan

If you use BurnMan in your publications, please cite the following papers:

  • Myhill, R., Cottaar, S., Heister, T., Rose, I., and Unterborn, C. (2021):
    BurnMan v0.10.0 [Software]. Computational Infrastructure for Geodynamics. Zenodo.
  • Cottaar, S., Heister, T., Rose, I., and Unterborn, C:
    BurnMan - a lower mantle mineral physics toolkit
    Geochemistry, Geophysics, Geosystems 15.4 (2014): 1164-1179. [preprint] [DOI]
  • Myhill, R., Cottaar, S., Heister, T., Rose, I., and Unterborn, C.:
    BurnMan. Technical Reference (latest version).

Try and Download

Trying BurnMan

You can try BurnMan without installing it! There are several tools online that you can use to do this, but binder is probably one of the easiest. We've set up a couple of ipython notebooks that investigate the seismic velocities of lower mantle minerals to get you started.

Download the latest stable release

The easiest way to install the latest stable version of BurnMan is via pip: "python -m pip install burnman" or see the package info on Pypi. Alternatively, you can download a zip file containing the release:

Download the development version

To download the development version, please visit our repository on Github

Some publications using BurnMan

  1. Zhang, S., Cottaar, S., Liu, T., Stackhouse, S. and Militzer, B., 2016. High-pressure, temperature elasticity of Fe-and Al-bearing MgSiO 3: Implications for the Earth's lower mantle. Earth and Planetary Science Letters, 434, pp.264-273.
  2. Unterborn, C.T., Dismukes, E.E. and Panero, W.R., 2016. Scaling the Earth: A Sensitivity Analysis of Terrestrial Exoplanetary Interior Models. E The Astrophysical Journal, 819(1), p.32.
  3. Cottaar, S. and Deuss, A., 2016. Large‐scale mantle discontinuity topography beneath Europe: Signature of akimotoite in subducting slabs. Journal of Geophysical Research: Solid Earth, 121(1), pp.279-292.
  4. Unterborn, C.T. and Panero, W.R., 2016. Effects of Mg/Si on Exoplanetary Refractory Oxygen Budget. arXiv preprint arXiv:1604.08309.
  5. Gu, T., Li, M., McCammon, C. and Lee, K.K., 2016. Redox-induced lower mantle density contrast and effect on mantle structure and primitive oxygen. Nature Geoscience, 9(9), pp.723-727.
  6. Myhill, R., Frost, D.J. and Novella, D., 2017. Hydrous melting and partitioning in and above the mantle transition zone: Insights from water-rich MgO–SiO 2–H 2 O experiments. Geochimica et Cosmochimica Acta, 200, pp.408-421.
  7. Shim, S.H., Grocholski, B., Ye, Y., Alp, E.E., Xu, S., Morgan, D., Meng, Y. and Prakapenka, V.B., 2017. Stability of ferrous-iron-rich bridgmanite under reducing midmantle conditions. Proceedings of the National Academy of Sciences, p.201614036.
  8. Ballmer, M.D., Houser, C., Hernlund, J.W., Wentzcovitch, R.M. and Hirose, K., 2017. Persistence of strong silica-enriched domains in the Earth/'s lower mantle. Nature Geoscience, 10(3), pp.236-240. Supplementary Information

Acknowledgement and Support

  • This project was initiated at, and follow-up research support was received through, CIDER (NSF FESD grant 1135452).
  • The authors are partially supported by the Computational Infrastructure for Geodynamics initiative (CIG), through the National Science Foundation (U.S.) under Award No. EAR-0949446, the Science and Technologies Funding Council (U.K.) under Award No. ST/R001332/1 and through the Natural Environment Research Council (U.K.) Large Grant MC-squared (Award No. NE/T012633/1). They have also recieved support from The University of California-Davis.
  • The BurnMan code has been contributed to the Computational Infrastructure for Geodynamics (CIG) and is hosted at geodynamics.org.


There are many ways to contact us, depending on what you want to say:
  • Questions about how to use the code, or how it works? Try our forum.
  • Found a bug? Want to suggest an improvement? Try raising an issue on Github.
  • Want to submit some code? Open a Pull Request on Github (or ask in the Forum or via email if you want advice).
  • Something else? Drop us an email.