Skip to content

Commit

Permalink
improved equilibrium text
Browse files Browse the repository at this point in the history
  • Loading branch information
bobmyhill committed Jun 19, 2023
1 parent c420317 commit 819bc21
Show file tree
Hide file tree
Showing 3 changed files with 35 additions and 7 deletions.
7 changes: 7 additions & 0 deletions docs/ref.bib
Original file line number Diff line number Diff line change
Expand Up @@ -1254,3 +1254,10 @@ @article{AA1994
adsurl = {http://adsabs.harvard.edu/abs/1994JGR....99.4273A},
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

@misc{Nowak1991,
title={A Family of Newton Codes for Systems of Highly Nonlinear Equations. Technical Report TR-91-10},
author={Nowak, U. and Weimann, L.},
journal={Zuse Institute Berlin, ZIB},
year={1991}
}
6 changes: 6 additions & 0 deletions paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -510,3 +510,9 @@ @INPROCEEDINGS{Ghiorso:2007
adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

@article{Nowak:1991,
title={A Family of Newton Codes for Systems of Highly Nonlinear Equations. Technical Report TR-91-10},
author={Nowak, U and Weimann, L},
journal={Zuse Institute Berlin, ZIB},
year={1991}
}
29 changes: 22 additions & 7 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -243,15 +243,30 @@ Instead, it provides two methods to deal with the problem of
thermodynamic equilibrium: (1) reading in a pressure-temperature table
of precalculated properties into a Material class
(from which derivative properties can be calculated),
and (2) an equilibrate function
that chemically equilibrates a known assemblage under constraints
(two or three choices from fixed pressure, temperature, entropy, volume,
phase proportions and compositions).
An example is shown in \autoref{fig:eqm}.
and (2) an function called `equilibrate()`
that chemically equilibrates a known assemblage under equality constraints.
The equilibrate function is similar to that implemented in THERMOCALC
[@Holland:1998].
[@Holland:1998]. In this function, the user chooses an assemblage
(e.g. olivine, garnet and orthopyroxene), a starting bulk composition,
desired equality constraints, and optionally one or more
compositional degrees of freedom. The equilibrate function attempts
to find the remaining unknowns that satisfy those constraints using a
damped Newton root finder [@Nowak:1991], modified to allow constraints
using the method of Lagrange multipliers.

There are a number of equality constraints implemented in `BurnMan`.
These include fixed pressure, temperature, entropy or volume,
"PT_ellipse" (which finds an equilibrium point on an ellipse with center given
by a fixed pressure and temperature), a fixed molar fraction
of a particular phase (which could be zero), or a compositional constraint on a
solution phase (such as a certain ratio of Mg and Fe on a particular site).
The number of constraints required is two at fixed bulk composition,
and one more for each degree of compositional freedom.

An example of use of the equilibrate function is shown in \autoref{fig:eqm}.
See \url{https://burnman.readthedocs.io/en/latest/tutorial_05_equilibrium.html#}
for more details and the code required to make \autoref{fig:eqm}.
for more details and the code required to make \autoref{fig:eqm}. The manual
also contains significantly more detail on this function.

![The olivine phase diagram at three different temperatures as computed
using the equilibrate routines in `BurnMan`. The solution model properties
Expand Down

0 comments on commit 819bc21

Please sign in to comment.