THERMOCALC 3.51 now available

THERMOCALC 3.51 can now be downloaded.

It features the new buffering facility discussed in Weller et al (2024), and allows calculations with the igneous sets of x-eos (Weller et al, 2024; Green et al, 2025).

You can also use it with the metapelite and metabasite sets, but do this, please either download a new set of input files, or do a quick find-replace operation in your axfile and scriptfile, replacing (L) with (liq).

Some functionality is missing in THERMOCALC 3.51, and will replaced later this year in the upcoming version 3.60. The missing facilities are:

  • Printing of end-member thermodynamic properties (calcmode 0)
  • Multiple-reaction thermobarometry: avPT, avP, avT (calcmode 2).

As always, we appreciate all bug reports, especially if you can help us by scripting the failed calculation so that we can easily run and reproduce it, and then send us all your input and output files (but not the THERMOCALC executable). Please contact me via the web contact form or my University email address.

Correction to the Holland et al (2018) and Tomlinson & Holland (2021) models

We have discovered an algebraic error in the silicate melt x-eos published in two of our papers and previously available through this website:

  • Holland et al (2018), which we made available as the “igneous set” of x-eos.
  • Tomlinson & Holland (2021), a variant of the Holland et al (2018) set which focused on improving calculations in anhydrous peridotitic systems.

The nature and implications of the error are discussed in: Green et al (2025), Corrigendum to: “Melting of Peridotites through to Granites: A Simple Thermodynamic Model in the System KNCFMASHTOCr”, and “A Thermodynamic Model for the Subsolidus Evolution and Melting of Peridotite”, Journal of Petrology, submitted.

Replacement “igneous set” x-eos

For the Holland et al (2018) “igneous set”, we have corrected and recalibrated the melt x-eos (many thanks to TJBH for his very hard work on this). In the process, we took the opportunity to update all of the x-eos for mineral phases to the latest versions, making the anhydrous mineral x-eos and the version of the Holland & Powell (2011) dataset consistent with those in our new alkaline to subalkaline igneous x-eos in Weller et al (2024).

The replacement x-eos (Green et al, 2025, corrected from Holland et al, 2018) will shortly (by 10th January?) be available in MAGEMin. They are documented on this website, and will soon (end of January?) be available for THERMOCALC 3.51 and above. There is currently no replacement for the Tomlinson & Holland (2021) x-eos, due to ongoing model development in anhydrous peridotitic systems.

Implications for calculations

Fortunately, as far as we’ve been able to tell (see Green et al, 2025, for more details), the error in the melt x-eos doesn’t seem to affect calculations with the former “igneous set” beyond a typical model uncertainty, as estimated in various ways:

  • Weller et al (2024) and Green et al (2016) estimate that the 1 sigma uncertainty in pseudosection boundaries is typically around +/- 1 kbar or +/- 50ºC for non-accessory phases.
  • In subalkaline systems, calculations with the replacement “igneous set” can be compared with the alkaline to subalkaline x-eos used in Weller et al (2024). In this comparison, the mineral x-eos and the key subalkaline calibration constraints are identical in both cases, but the melt x-eos have different structures, allowing the Weller et al (2024) melt x-eos to reproduce experiments in alkaline systems. The difference between these calculations suggests a scale for uncertainty, arising from the non-unique choice of structure and parameterization in melt x-eos in subalkaline systems.
  • Since 2018 we have introduced several changes to x-eos in the downloadable “igneous set”. In particular, we changed the ternary feldspar x-eos from the Holland & Powell (2003) model to the Holland et al (2021) model, reflecting our changing understanding of the best way to represent the energetics of the feldspar lattice and fit experimental data in the ternary system. A scale for the uncertainties is provided by the effect of such updates to the mineral x-eos.

Nevertheless, please let us know if you see any dramatic changes in calculations after switching to the corrected model. We will pass on new information that we learn from users via this blog and the Discussion Group.

New x-eos for anhydrous alkaline to subalkaline magmatic systems

A post by Owen Weller and Eleanor Green

We’re delighted to be releasing a new suite of x-eos for calculations in anhydrous alkaline to subalkaline magmatic systems, as documented in Weller et al (2024): New thermodynamic models for anhydrous alkaline-silicate magmatic systems, Journal of Petrology 65 egae098.

The new x-eos include:

  • An anhydrous silicate melt model that is calibrated in both alkaline and subalkaline composition space.
  • X-eos for the alkaline phases nepheline, kalsilite, leucite and melilite.
  • A new x-eos for Mg-bearing ilmenite.
  • Minor updates to the garnet, orthopyroxene and clinopyroxene x-eos used in Holland et al (2018) and Tomlinson & Holland (2021).

Weller et al (2024) show how the x-eos were validated against seven experimental datasets encompassing a wide range of alkaline compositions. Based on these validation exercises, we suggest that the models are well calibrated in the range 640—1400 C and 0-22 kbar.

The new x-eos will soon (middle of this week?) be available for calculations in MAGEMin. You can find complete model descriptions on this website. However, there will be a short delay before they can be used in THERMOCALC, pending the upcoming release of THERMOCALC 3.51, which is currently expected in January 2025.

Finally, we are currently working on extending the Weller et al (2024) x-eos into H2O-bearing alkaline silicate systems. Watch this space for more news!

Buffering in THERMOCALC

Also included in the Weller et al. (2024) paper is documentation of the new ability in THERMOCALC to buffer oxygen fugacity relative a range of commonly used buffers, such as the fayalite-magnetite-quartz equilibria. As discussed in the paper, the new oxygen buffers are vital to use when comparing model results with experimental results that were acquired using buffered apparatus. We recommend that XFe3+ is tracked when using buffered pseudosections, as the implied bulk ‘O’ content varies across these diagrams in non-intuitive ways. See example figures in Weller et al. (2024) that compare XFe3+ and fO2 for both buffered and unbuffered scenarios. The new buffering feature will be available in THERMOCALC 3.51 and above.

Isopleth intersections in thermobarometry

Following a recent conversation on the Discussion Board, I wanted to post about the use of pseudosections in thermobarometry.

It has become commonplace to quote a pressure–temperature estimate for a metamorphic rock using an intersecting isopleth calculation, i.e. to:

  1. Calculate a P–T pseudosection, and locate the assemblage field on it that matches the assemblage seen in the rock.
  2. Translate two measures of mineral composition from the rock into the composition variables used in the x-eos, and plot the associated mineral composition isopleths.
  3. Locate the intersection of the two chosen isopleths, preferably within the field identified in step 1.
  4. Quote the (P, T) of this isopleth intersection as the (P, T) recorded in the mineral assemblage.

An early and nuanced example is Štípská & Powell (2005; J Metamorphic Geol 23 627-647), but there are many recent examples that are described with much less caution.

As a developer of the x-eos (thermodynamic models/solution models) that underlie calculations in THERMOCALC, MAGEMin and similar programs, I am deeply sceptical about the isopleth-intersection approach. It demands enormous precision from the x-eos. They do not have this precision.

It is simple to show this in relation to a given rock sample. For a typical field on a pseudosection, there will be at least 5, and easily as many as 15, compositional variables for which isopleths could be calculated, representing major compositional variables in abundant minerals in the assemblage. In theory, they should all intersect at a single (P, T). I have never seen them even come close! If they do not intersect, it is misleading to select two of them and use those to define (P, T).

I mentioned isopleth intersections in the context of uncertainties in the x-eos in two talks in 2021, kindly made available to the public by ANU RSES Departmental Seminars and the Metamorphic Studies Group:

The talks refer to a method in THERMOCALC that combines isopleth loci in a statistical sense. This method is described in a manuscript (Green & Powell) that is currently under review.

Comments or questions? Join the Discussion Group!

Major MAGEMin update!

We’re delighted to announce some major updates to MAGEMin!

mageminMAGEMin is now available in the form of a Julia-based app, making it significantly easier to use. Among other improvements, it can now automatically label and contour fields. The HPx-eos sets that can currently be used with MAGEMin are:

Huge congratulations to Nicolas Riel and the rest of the MAGEMin team for their work on this!

MAGEMin

A guest post from Nicolas Riel, lead author of MAGEMin:

MAGEMin is an open-source parallel function written in C that minimizes the Gibbs free energy of multiphase and multicomponent systems. The main objective of MAGEMin is to provide a stable, consistent and as fast as possible phase equilibrium prediction routine.

The function receives bulk-rock composition, pressure and temperature to compute the most stable phase equilibrium. Presently, MAGEMin provides the thermodynamic data set for igneous systems (Holland et al., 2018; “from mantle to granite”). The data set used natively in THERMOCALC, is translated directly into C routines and implemented without transformation of variables or coordinate systems, thus eliminating inconsistencies. While MAGEMin has been primarily developed to predict phase equilibrium in magmatic systems, other database can/will be added to the function.

MAGEMin is easily installed and used on any operating system through either Julia or Matlab. The Julia interface (juila> ] add MAGEMin_C), offers a quick and efficient solution for point-wise minimization in serial or parallel. Moreover, the Julia interface allows for simplified integration of phase equilibrium modelling with geodynamic simulations (e.g., reactive magma flow) or petrological applications (e.g., computing liquid-line of descent).  The Matlab interface (PlotPseudosection.mlapp) includes automatic installation of MAGEMin binaries and fast calculation of pseudosections using the graphic user interface.

The detailed documentation, including tutorials on how to install and use MAGEMin is provided at:

https://computationalthermodynamics.github.io/MAGEMin/index.html

MAGEMin can be downloaded on our github at:

https://github.com/ComputationalThermodynamics/MAGEMin

We invite you to try it out! Please, do not hesitate to report issues and/or provide feedbacks 😊

MAGEMin is being actively developed at the department of geosciences of the University of Johannes Gutenberg (Mainz, Germany). The main contributors are N. Riel (nriel@uni-mainz.de), B. Kaus (kaus@uni-mainz.de), E. Green (eleanor.green@unimelb.edu.au) and N. Berlie. An exhaustive description of the algorithm is given in Riel et al., 2022.

Riel, N., Kaus, B. J. P., Green, E. C. R., & Berlie, N. (2022). MAGEMin, an efficient Gibbs energy minimizer: Application to igneous systems. Geochemistry, Geophysics, Geosystems, 23, e2022GC010427. https://doi.org/10.1029/2022GC010427

MAGEMin interface: Process of calculating a pseudosection for the MIX1G garnet pyroxenite composition of Hirschmann et al (2003).

Script round-up: calcsdnle

In THERMOCALC, versions up to and including the December 2020 release of TC 3.50, it is possible to print partial uncertainties (standard deviations) on calculated compositional variables and modes of phases. This is done using the script

calcsdnle yes

where the name of the script can be read as “calculate standard deviations on non-linear equations”.

When using this facility, it’s important to be aware that:

(1) The uncertainties that are printed are only those that stem from the dataset uncertainties. They do not include the uncertainties associated with the activity−composition relations, or with end-members that are not taken from the dataset. The uncertainties that are not captured by the calcsdnle script are generally larger, or much larger, than the dataset uncertainties.

(2) The uncertainties associated with the different compositional variables and modes are correlated, although the correlations are not given in the output. The correlations may mean that, with a small change in the thermodynamic input, two isopleths might intersect in a very different region of P-T space, come to intersect in a plausible P-T window when they did not previously, or cease to intersect in a plausible P-T window when they did previously (this is a starting point for understanding the upcoming avPT+ approach to uncertainty analysis).