Here we explain how to configure THERMOCALC for pseudosection calculations. If you want to know more about THERMOCALC’s other functions and its history, see the overview. If you want to start using the program for the first time, see Get started with THERMOCALC. Documentation and tutorials can be found on the THERMOCALC help page.

On this page:

Accessing pseudosection calculation mode

In the prefsfile tc-prefs.txt, set

calcmode 1

to make THERMOCALC run in phase diagram calculation mode. You must also make sure that the scripts dataset and scriptfile are set, as in the example below.

To calculate a pseudosection, you must additionally open the scriptfile, tc-<project>.txt, and set the script


(Prior to the Dec 2020 download of THERMOCALC 3.50, this was pseudosection yes.)

What does it do?

In pseudosection calculations, THERMOCALC interrogates the HPx-eos to predict the equilibrium compositions of mineral and melt phases at specified values of pressure (P), temperature (T) and bulk composition (X). Thus, a pseudosection is a map showing how the most stable phase assemblage varies in P-T, T-X or P-X space, specific to a particular “equilibration volume” within a rock. It may be contoured for the compositions and/or proportions of phases. Pseudosections represent chemically closed systems.

Specialist scripts

Scripts are used to specify which calculations THERMOCALC should do, via the scriptfile tc-<project>.txt. In addition to the pseudosection script, you will need to provide the following scripts for THERMOCALC 3.50 (Dec 2020 release onwards):

  • axfile <system>: use axfile tc-system.txt.
  • with <list of phases from axfile> : phases to use in this calculation; or with someof <list of phases from axfile>: choose interactively from this list during the calculation.
  • diagramPT <minP maxP minT maxT>: region in P (kbar) – T (ºC) space the diagram will cover.
  • bulk composition scripts.
  • mineral composition scripts.

A sample scriptfile for pseudosection calculations can be downloaded from the documentation and tutorials section below. In addition to the mandatory scripts listed above, this shows how additional scripting can be done, for example to make THERMOCALC calculate isopleths of mineral composition, or specify what output it should produce.

Bulk composition scripts

To calculate a pseudosection you must set a bulk composition. This is usually done using the bulk script (formerly setbulk), as shown below, with the proportions of oxides given on a molar basis (“%” indicates comment not read by program):

Specifying bulk composition in terms of molar oxides using the “bulk” script.

For each calculation involving a bulk composition, THERMOCALC first determines the system in which the specified x-eos lie. It then expects to be given the bulk composition in terms of the correct oxides in the correct order. If your specified bulk composition doesn’t match its expectations, or you have not specified one, it will tell you what it needs.

You might also want to:

  • specify two bulk scripts and interpolate between them, e.g. to calculate a T-X or P-X pseudosection.
  • construct a bulk composition from the compositions and modal proportions of phases, using the rbi script.

Full details of all bulk composition scripting in THERMOCALC 3.50 (Dec 2020 onwards) can be found in scripts-tc350.pdf, below.

Mineral composition scripts

In pseudosection calculation mode, THERMOCALC calculates mineral/fluid compositions based on the user-specified conditions of P and/or T and X. However, it needs starting guesses for the phase compositions, in order to solve the non-linear equations of thermodynamic equilibrium. These are presented in the form:

A block of xyzguess scripts, specifying starting guesses for the compositional and order-disorder variables of biotite (bi).

This is one of the more difficult parts of the THERMOCALC user experience, but it’s crucial to be aware of it, since, if the starting guesses are not good enough, THERMOCALC may either fail to find any equilibrium when one exists, or may find one that is not the most stable one present.

To help users with this problem:

  • thermodynamic input files can be downloaded with suggested sets of starting guesses – but do check that they make sense for the phase compositions you’re interested in.
  • the script printguessform yes directs THERMOCALC to print the phase composition output from each calculation, in the input form shown above, in the output file tc-log.txt. These values can then be copy-pasted back into the scriptfile to start the next calculation.
  • the document composition_spaces_and_phases.pdf, below, contains more information about compositional input and output in THERMOCALC.


THERMOCALC produces a number of output files containing information about the calculated mineral/fluid assemblages. Some key output files are as follows (not all files are available in older versions of the program):

tc-<project>-o.txtrecord of on-screen output and user interactive commands
tc-<project>-dr.txtoutput for plotting in DRAWPD*
tc-<project>-ic.txtcompositions in terms of oxides, site fractions,
many thermodynamic properties for phases and the system
(note that entropy and volume are considerably less
well known than relative Gibbs energies)
tc-<project>-it.txtrecord of the HPx-eos used in the calculation
tc-log.txtxyzguess and rbi scripts to use in successive calculations

*All versions produce output for plotting via Roger Powell’s program DRAWPD. The use of DRAWPD can be seen in the tutorials.

Documentation and tutorials

Sample scriptfile


Many new THERMOCALC users say that they learnt most from tutorials. Simon Schorn’s pseudosection tutorial is suitable for beginners, and links pseudosection calculations with P-T projections and compatibility diagrams:

To follow Simon’s tutorial, you should download your own copy of THERMOCALC 3.50 (tc350beta or tc350) from the THERMOCALC download page, and a copy of DRAWPD version 1.16 or above from the DRAWPD download page.

Richard White and Johann Diener wrote a previous, more extensive set of tutorials, which can be downloaded below. The software and thermodynamic input that they used are now outdated, so we no longer provide the input files. However, the pdfs of tutorial instructions should give useful insights into a variety of pseudosection calculations. These include constructing P-T, T-X and P-X pseudosections, calculating isopleths of mineral composition, pseudosections involving complex mineral phases with solvi, and use of the rbi script to represent changes to the bulk composition via addition or removal of phases. Download the tutorials here:


The main scripts used in THERMOCALC 3.50 are documented here:

A useful guide to computing geological phase diagrams is Roger Powell’s compilation of course notes, accompanied by some guidance on using THERMOCALC:

Perhaps the most important piece of THERMOCALC documentation available, the following notes explain compositional and order variables within phases, how to set the bulk composition and interpret the modal proportions of minerals and fluids correctly, setting phases “in excess”, solvus calculations and more. (current Dec 2020):

A handy guide to troubleshooting phase diagram calculations in THERMOCALC – for complete beginners; includes THERMOCALC error exit codes (current Dec 2020):

For more advanced users who are struggling to make THERMOCALC produce results, Richard White’s TipsnTricks from the old Mainz website are still very useful: