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 prefs file tc-prefs.txt, set one of

calcmode 1
calcmode ask.

The first makes THERMOCALC run in phase diagram calculation mode automatically; the second will cause it to offer an interactive prompt.

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

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

If no additional scripts are set, THERMOCALC will walk you through a calculation interactively. However most people use scripts, set in the scriptfile tc-<project>.txt, to shortcut this process, specifying attributes of the calculation such as:

  • the phases in the equilibrium
  • pressure and temperature ranges
  • whether or not to set isopleths of composition or modes (proportions) of phases
  • what output to produce

as seen in the sample scriptfile that can be downloaded below.

To calculate a pseudosection you must set a bulk composition. This is usually done using the setbulk script, 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 setbulk 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 setbulk-specified bulk composition doesn’t match its expectations, or you have not specified one, it will tell you what it needs. Occasionally setbulk is replaced with a set of rbi scripts, to allow the bulk composition to be assembled from a phase assemblage, as shown in the tutorials below.

A sample scriptfile for pseudosection calculations can be downloaded from the documentation and tutorials section below, where further scripts can also be seen.

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 compositional_variables.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.

In THERMOCALC version 3.50 and above, much of the output is also produced as comma-separated values (.csv) for easy plotting in programs such as Excel.

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:

*** coming soon ***

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.


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 Feb 2020):

A handy guide to troubleshooting phase diagram calculations in THERMOCALC – for complete beginners; includes THERMOCALC error exit codes (current Feb 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: