-
Notifications
You must be signed in to change notification settings - Fork 42
/
changelog.txt
139 lines (126 loc) · 7.11 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
Changelog
---------
Release v2.1.0 (November 28, 2024) includes
- New: Added MACAW and SPOCK Equations of State
- Changed: pycddlib returned to optional dependency as hard to install on Windows.
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.
Release v1.2.0 (July 1, 2023) includes
- Two new helper functions:
:func:`burnman.tools.chemistry.reactions_from_stoichiometric_matrix`
:func:`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.
Release v1.1.0 (September 14, 2022)
- 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
Release v1.0.1 (October 6, 2021)
- Adds missing optimize submodule.
Release v1.0.0 (October 6, 2021)
- 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
Release v0.10.0 (August 2, 2021)
- 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
Release v0.9.0 (April 25, 2016)
- 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
Release v0.7 (June 24, 2014)
- Cleanup and rewrite of the mineral/composite feature
- online html documentation
- Scripts to reproduce the figures from Cottaar, Heister, Rose and
Unterborn (2014) can be found in misc/.
- Mineral physical libraries from Murakami (2013) and Zhang et al.
(2013) are included.
- Pressure-depth conversion following Cammarano (2013) are included.
Release v0.5 (October 28, 2013)
- New example for absolute beginners (October 28, 2013)
Added an example script for beginners to burnman, as well as people
less familiar with python scripts. Goes through all of the basic
steps of creating a rock, calculating seismic properties, and plotting
them
- Nested Composites (October 17, 2013)
You can now nest composites and implement dynamic composites that reduce to
different sets of minerals depending on T,p. (no example yet)
Release v0.4 (June 3, 2013)