Here we explain how to configure THERMOCALC for dogmin (do G-min) calculations. The information here applies to THERMOCALC version 3.50 and above, though much of it is relevant to older versions.

On this page:

Accessing dogmin mode

In the prefs file tc-prefs.txt, set

calcmode 1

to make THERMOCALC run in phase diagram calculation mode.

In the scriptfile, tc-<project>.txt, set the scripts

dogmin 1

What does it do?

In dogmin mode, THERMOCALC tries to calculate phase equilibria between all possible subsets of a list of phases, at a given pressure (P), temperature (T) and bulk composition (X). It then ranks the equilibria in order of stability by comparing the Gibbs energies of each assemblage (hence the name dogmin or “do G-min”).

Dogmin therefore allows THERMOCALC to behave like a G-minimiser, such as Perple_X or Theriak/Domino. However, unlike these programs, G-minimisation is not THERMOCALC’s natural mode of operation – in particular, because it’s dependent on good starting guesses for phase compositional variables to find equilibria. Dogmin is therefore not the way that phase diagrams are constructed in THERMOCALC, although it can be useful for exploratory calculations, and is the basis of an upcoming extension pack facilitating open-system calculations.

Specialist scripts

Scripts are used to specify which calculations THERMOCALC should do, via the scriptfile tc-<project>.txt (see example below). In addition to the pseudosection and dogmin scripts, 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> : a list of phases to consider. THERMOCALC will then cycle through the possible subsets of these.
  • diagramPT <minP maxP minT maxT>: region in P (kbar) – T (ºC) space the diagram will cover.
  • calcP and calcT: specifying a single pressure and temperature at which dogmin should be done.
  • maxvar or varrange: maximum, or min and max, variance of assemblages to be considered (higher max variance -> fewer phases in smallest assemblage).
  • bulk composition scripts.
  • mineral composition scripts.

Bulk composition scripts

The user must set a bulk composition, as for a pseudosection calculation.

Mineral composition scripts

As for pseudosection calculations, mineral composition scripts in dogmin function as starting guesses, and are set using a block of xyzguess scripts for each phase. As usual, users should

  • be aware that THERMOCALC will not find the most stable equilibrium among the phases in an assemblage – or necessarily any equilibrium at all – unless the starting guesses are good enough.
  • stay aware of the compositions being calculated by THERMOCALC, and notice if, for example, the program is finding compositions on the unexpected side of a solvus.


The key output file is tc-<project>-ic.txt, which contains full details of the most stable assemblage found. By setting the information level script, doglevel, as shown in the sample scriptfile, the user can obtain varying amounts of information about the full set of calculations attempted, distributed among the usual output files. Full details of the x-eos used are printed in the file tc-<project>-it.txt.


A sample scriptfile for dogmin calculations can be downloaded here:

The following guide explains how to use dogmin (relatively) safely:

The script guide for THERMOCALC 3.50 (Dec 2020 onwards) contains more information on the scripts mentioned above: