geodynamics / burnman

BurnMan is a library for modeling mantle thermodynamics and thermoelasticity constrained by mineral physics experiments.
https://geodynamics.github.io/burnman/
GNU General Public License v2.0
54 stars 41 forks source link

Polynomial solution model #515

Closed bobmyhill closed 2 years ago

bobmyhill commented 2 years ago

This PR adds a new generalised polynomial solution model to BurnMan. The non-ideal excesses in this model are polynomial functions of composition. The coefficients of these polynomials are either constant internal energy, entropy and volume (i.e. Gxs = (Eijk... - T Sijk... + P Vijk...) xi xj xk...) or a linear sum of Mineral objects (i.e. Gxs = amijk mineralm.gibbs ... xi xj xk ...). Coefficients for both of these forms are passed as a list of lists to instantiate a PolynomialSolution object, which can then be passed as usual to instantiate a Solution object.