Readily estimate incompatible-element concentrations within both solid and liquid phases along a melting path, with seamless integration into your geodynamic workflow.
BDD21 is a collection of Python scripts (found in the sub-directory of your choice in the src
directory):
AdiabaticDecompression.py
, which generates the mineralogy and chemistry along a prescribed 1-D adiabatic melting path;ChemistryData.py
, which contains necessary parameters that characterise probed chemical elements, such as their valency, effective ionic radii (Shannon, 1976) and reference partition coefficients (McKenzie and O'Nions, 1995). It also provides estimated compositions of the Depleted MORB Mantle (DMM; Salters and Stracke, 2004) and Primitive Mantle (PM; McDonough and Sun, 1995; McKenzie and O'Nions, 1995);Melt.py
, which is an implementation of the hydrous, mantle-melting parameterisation of Katz, Spiegelman and Langmuir (2003) coupled to the thermodynamic framework of McKenzie (1984);MeltChemistryFunctions.py
, which contains the main integrator function that returns element concentrations within both melt and residue along a melting path by solving the governing equations (White, McKenzie and O'Nions, 1992);MeltChemistryH5.py
, which demonstrates how to use the framework in a post-processing manner using particle attributes stored in HDF5 format;MeltChemistryNumba.py
, which contains the core functions of the BDD21 framework that calculate the mineralogy and partition coefficients at given melt fraction, pressure and temperature.
Example model outputs generated through Fluidity can be found in the examples
directory. FLML files contain Python functions that demonstrate the use of BDD21 while the geodynamic simulation runs.
Contributions to the framework are highly encouraged; the current code architecture is sufficiently modular to accommodate both targeted and global improvements.
Note: If you make use of the dense output capability of LSODA through SciPy, be aware that the interpolation scheme is incorrect and can lead to inaccuracies. It is recommended you apply the proposed changes included in this SciPy PR.