Releases: geodynamics/burnman
Releases · geodynamics/burnman
BurnMan v2.1.0
BurnMan v2.0.0
Release v2.0.0 (November 14, 2024) includes
- Compatibility with Python 3.12.
- Compatibility with new versions of numpy (1.26.0), scipy (1.14.0),
cvxpy (1.6.0), pycddlib (3.0.0), matplotlib (3.9.0). - New: The evaluate method now allows users to specify different compositions
as well as pressures and temperatures. - New: Non-orthotropic anisotropy in AnisotropicMaterial.
- New: Addition of an AnisotropicSolution class.
- New: Addition of a RelaxedSolution class, that calculates second derivatives
while allowing isochemical variables to change to minimise the
thermodynamic potential. - New: The Stixrude and Lithgow-Bertelloni (2024) dataset.
- New: The Holland, Green and Powell (2018) solution models.
- New: A large range of published pressure calibrants (many thanks to Robert Farla).
- Fix: The generic PolynomialSolution model now has correct second derivatives.
- Improved: Consistent naming of isentropic properties (rather than adiabatic).
- Improved: Explicit specification of Reuss (isostress) properties.
BurnMan v1.2.0
Release v1.2.0 (July 1, 2023) includes
- Two new helper functions:
burnman.tools.chemistry.reactions_from_stoichiometric_matrix
burnman.tools.chemistry.reactions_from_formulae
.
These functions generate a complete list of reactions
(forward and reverse) from either the stoichiometric matrix
(a 2D numpy array containing the amount of component j in phase i),
or from a list of formulae
(as strings or dictionaries of elemental amounts). - Solution and ElasticSolution objects are now instantiated
with a SolutionModel object as a solution_model parameter.
The use of the solution_type parameter has been removed
completely, along with all of the optional parameters that were
originally passed as parameters to SolutionModel. - A generalised PolynomialSolution class. The
non-ideal excesses in this model are polynomial functions
of composition. This class can deal with arbitrarily high powers in endmember
proportions. However, because the class internally converts the
list of lists to numpy arrays, high powers of solutions with a
large number of endmembers will create very large
arrays (with order n_endmembers^(highest power) elements).
This may significantly slow down calculations. - Five new property modifier formulations,
which can be specified with the names "debye", "debye_delta",
"einstein", "einstein_delta" and "landau_slb_2022". These
are based on the Debye and Einstein models of thermal energy
and the Landau model of Stixrude and Lithgow-Bertelloni (2022).
The heat capacity ("debye", "einstein")
or entropy ("debye_delta", "einstein_delta")
are based on the heat capacity of the respective thermal model,
and reach a maximum at high temperature. The
excess energy, entropy and heat capacity of these four modifiers
are all zero at 0 K, and the excess volume is always zero. - An implementation of the SLB2022 dataset.
- This version is associated with acceptance of the JOSS paper.
Online documentation: https://burnman.readthedocs.io/en/v1.2/
BurnMan v1.1.0
The BurnMan v.1.1.0 release includes the following new features:
- the equilibrate function now solves problems where the bulk composition is allowed to vary
- the solution model formulation has been updated to allow site multiplicities to vary linearly with endmember proportions (as in a Temkin model)
- a new BoundaryLayerPerturbation class has been implemented to enable thermal perturbations to be added to planetary layers
- a new equation of state, BroshCalphad has been implemented, following Brosh et al. (2007)
- the Composite class now has a chemical_potential method
- a new Calibrant class, that enables users to calculate pressure/volume as a function of volume/pressure and temperature, also allowing propagation of uncertainties
- a new eos fitting function, fit_XPTp_data, that enables fitting of solution model parameters to experimental data
- Material classes now have a method called set_state_with_volume
- a new ElasticSolution class that defines excess solution properties as a function of the volume and temperature of the endmembers, rather than pressure and temperature
- excess properties of solution models can now be defined using a function, rather than by hardwired functional forms
Online documentation: https://burnman.readthedocs.io/en/v1.1/
BurnMan v1.0.1
This patch adds the missing optimize submodule to setup.py.
Online documentation: https://burnman.readthedocs.io/en/v1.0.1/
BurnMan v1.0
This release adds:
- python 3.7+ compatibility
- major restructuring of source directory
- documentation overhaul
- a new equilibrate function for chemical equilibration of Composite materials.
- new composition fitting functions (solution and bulk composition)
- new MaterialPolytope class
- implementation of melt phases from the the Holland and Powell (2011) and Holland et al. (2018) datasets
- ternary terms added to the subregular solution model
Online documentation: https://burnman.readthedocs.io/en/v1.0/
BurnMan v0.10.0
This release adds:
- python 3.5+ compatibility
- a new Composition class for compositional processing
- a new CombinedMineral class
- a new AnisotropicMaterial class
- new Planet and Layer classes for mass, moment of inertia and seismic velocity calculations
- new nonlinear fitting routines and a nonlinear solver
- new static equations of state: Morse potential, Reciprocal K-prime
- new thermal equations of state: Anderson and Ahrens (metallic iron), de Koker and Stixrude, Ramo and Stixrude (solids and liquids)
- a large number of new minerals and solid solutions in the databases
- a large number of new examples
- updated documentation
Online documentation: https://burnman.readthedocs.io/en/v0.10.0/
BurnMan v0.9.0
- major documentation overhaul
- new tutorials
- huge performance improvements by caching property values
- python 3 compatibility
- gibbs free energy computation
- new SolidSolution class
- added ideal, symmetric, asymmetric and subregular solution model
formulations - computation of chemical potentials
- updated ipython notebooks
- new seismic models
- added EoS fitting functions
- using jit compilation if available
- additional equations of state: Vinet, BM4, ...
- a large number of new minerals in the databases
- much better test coverage
Online documentation: https://burnman.org/doc-0.9.0/