Extracting end-member and reaction information

Here we explain how to use THERMOCALC to extract a variety of thermodynamic properties for end-members and reactions among end-members, as drawn from the Holland & Powell dataset.

On this page:

Thermo data extraction modes and how to access them

In its dataset tabulation modes, THERMOCALC reads in the dataset file and tabulates the end-member thermodynamic data as prompted by the user. It also provides data on reactions among end-members, including for example log(fO2) data for buffers.

The user can:

  • obtain standard thermodynamic properties of the end-members (calcmode 0)
  • obtain G values for end-members, tabulated over specified sets of P and T values (calcmode 0)
  • obtain a list of all possible reactions among the end-members, with thermodynamic properties linearised at a chosen (P,T) coordinate (calcmode 0)
  • calculate reactions among end-members in P-T, T-log(a), T-µ and related spaces (e.g. P-log(fO2)), including applying Schreinemakers rules if desired (calcmode 3).

To access such calculations, set the appropriate calcmode script in the prefs file tc-prefs.txt.

calcmode 0
calcmode 3

Specifying thermo data

As with any calculation, the user must provide a dataset file, tc-ds<version>.txt, and also an axfile.

If you’re only interested in end-member data from the Holland & Powell dataset, it’s easiest to construct an “axfile” containing the end-members you want (but no actual a-x relations!). Simply list the endmember names, followed by a *. For example, the following is an “axfile” used to investigate the QFM buffer as modelled in the Holland & Powell dataset:

Alternatively, the user may be interested in the end-members used in the HPx-eos. While many of these end-members are simply taken directly from the Holland & Powell dataset, many others are constructed from combinations of dataset end-members and G-modifying terms. To extract data for these end-members, use the relevant HPx-eos family axfile as described in the THERMOCALC download guide.


As of December 2020, THERMOCALC version 3.50 allows scripting of calcmode 0 and calcmode 3 calculations, as shown in the following example files:


Full prompts and output are recorded in the -o file. From December 2020, THERMOCALC version 3.50 also prints mode 0 output in .csv format (-csv file).

An example of mode 3 output, involving a Schreinemakers calculation, can be seen here (calculated with the scriptfile above and tc-ds62.txt):


Version 6 of the Holland & Powell dataset is published in Holland & Powell (2011) J Metam Geol 29 333-383. An (outdated) list of mineral abbreviations and formulae, as well as notation for thermodynamic parameters that may appear on-screen, can be downloaded here: