THERMOCALC: P-T Pseudosections

Julie Baldwin, University of Montana


The programs that allow you do these calculations and produce graphical output are:

  • THERMOCALC—the 'thermodynamic calculator'
  • DRAWPD—takes output from THERMOCALC and produces postscript graphical output


THERMOCALC is a command line program meaning that it runs in Terminal (in Applications/Utilities) on a Mac and in the DOS window on a PC. To open THERMOCALC on a Mac, first open Terminal and then type:

cd /..
where /.. indicates the directory where the program is located

Alternatively, you can type "cd" at the command line and then navigate in Finder to the window where THERMOCALC is located and drag the folder at the top of the window into the Terminal window. The path of the directory should automatically appear in the Terminal window.

Now you can run THERMOCALC by typing:

(where tc326 is the name of the program version in your folder—tc326i for Intel Macs)

THERMOCALC then prompts you for the datafile that you want it to read. This is the suffix after tcd, in this case 'prob1' in the example below.

On a PC, double-click on the THERMOCALC program file and a DOS window should open. From there the directions should be the same for both Mac and PC versions.

Datafile Structure

Input files THERMOCALC needs to run:

  • tcprefs.txt (Text File 77bytes Mar31 07)—preferences file
  • tcds55.txt (Text File 174kB Mar31 07)—Thermodynamic dataset (Holland & Powell, 2002, with updates)
  • tcdblah.txt—datafile with a-X relationships and scripts where blah is the user-defined file name. For one example, see tcdps1.txt (Text File 11kB Mar31 07).

Output files:

  • tclog.txt—screen capture of your session, including all prompts and your input. For one example, see tclog.txt (Text File 10kB Apr7 07).
  • tcdr.txt—output of line and point data for DRAWPD program. For one example, see tcdr.txt (Text File 3kB Apr7 07).
  • tcoblah.txt—output of calculations. For one example, see tcop1.txt (Text File 7kB Apr7 07).

THERMOCALC will automatically overwrite these files each time you start a new session.

P-T Pseudosection Worked Example

Let's take a look at the THERMOCALC datafile before we get started.
The datafile has the basic structure:

% NCKFMASH datafile (comment line)
a-X relationships

You shouldn't need to make any modifications to the datafile for this exercise.

Now let's do some calculations with THERMOCALC...

THERMOCALC Calculations

Here's the problem we are going to work on:

Consider the NCKFMASH (+q +pl) system involving muscovite (mu), biotite (bi), garnet (g), cordierite (cd), sillimanite (sill), alkali feldspar (ksp), silicate melt (liq), and H2O fluid (H2O). Use THERMOCALC datafile tcdps1.txt (Text File 11kB Mar31 07), which includes a bulk composition for an aluminous pelite. The construction of this pseudosection has been started: the DRAWPD datafile so far is in "dr dps1a" and the resulting Illustrator file (with the u numbers on the lines) is shown below. The effective invariant points are i1 to i4 from left to right on the figure. All the equilibria in the figure are +q +pl +sill. Start by labeling the variance of each field on the diagram.

Fill out the rest of the pseudosection. Hint: Start by calculating lines u7 to u11 to their full extent to lower pressure.

THERMOCALC Calculations (continued)

Let's start by looking at u7. How do we calculate the line down pressure? It is the boundary of the trivariant field (bi mu H2O liq) where silicate melt (liq) goes to zero. So we want to tell THERMOCALC to calculate a trivariant boundary where one phase is going to zero.

Here's how we do this:

  2. Enter the name of the data file: ps1
  3. Choose the phases to include in the calculation: bi mu H2O liq (sill, pl, and q are automatically included using a script in the data file)
  4. Select an effective variance of 3
  5. Set liquid to zero
  6. Specify the P-T window (calcTatP will calculate results over a specified pressure range, default is yes); Enter P range, T range, and P interval.

Let's examine the output. This is easiest to do by opening up the tcops1.txt output file that THERMOCALC created.

There are two main pieces of information here: compositional info for phases and modal information at each step of the calculation. A screen shot is provided below. The modal information is particularly useful for determining where phases may be disappearing along the field boundaries. We'll come back to this point later.

Now calculate lines u8-u11 using the same method. Note that the lines are converging and will eventually cross. Where these lines meet (e.g. u8 and u9) there must be a new invariant point. The topologic rules of phase diagrams indicate that there must be a divariant field separating the two trivariants (since we already have a quadrivariant field between u8 and u9). Therefore the two new lines emanating from the intersection of u8 and u9 must bound a divariant field. What are the phases present in this divariant?

bi mu ksp H2O liq

It will help to draw a sketch to indicate what is happening in this region of the diagram since the divariant involved is a very small field.

There are actually three more invariant points present in this region. Lines u7 and u10 end at two of these points. The last point is at lower pressure and is where mu and liq go to zero.

The diagram to the left has all of the fields labeled with the appropriate variance indicated in red. The phases that are absent at each of the four invariant points are indicated with []. To calculate the invariant points, you are looking at the end of a divariant where two phases are going to zero. Here is a screen shot for the calculation of the [ksp H2O] invariant point.

Now we are well on our way to calculating the rest of the diagram. Calculate the other three invariant points and the field boundaries emanating from them (based on the sketch above).

After you do this we are ready to look at the output of the "tcdr.txt" file which puts the data in a format suitable for plotting with DRAWPD.


This is the program that assembles the THERMOCALC output into a postscript file. First, open the file in the DRAWPD folder named dr-ps1a.txt (Text File 4kB Mar31 07)

Click to enlarge

Here is the basic format of a DRAWPD file. Like in the THERMOCALC data files, a % sign indicates a comment and is not read by the program.

The first lines tell DRAWPD what type of diagram will be calculated, in this case a P-T diagram (2 variables in each line of data; 6 component system (+q +pl); second column (T) is the x-data and first column (P) is the y-data.

This is followed by the data itself. To understand where this comes from, open the tcdr.txt file in the THERMOCALC folder.

Click to enlarge

The tcdr file contains all the line and point information for assembling your diagram. Lines are prefixed with a "u" and points with an "i". The above example shows the calculation for line u7 from the above diagram. Note that in the tcdr file, the lines and points are not numbered. This must be done manually by replacing <k> with a number. To assemble the DRAWPD file, you simply copy and past e your line and point information from the tcdr file to your DRAWPD file, replacing the <k>'s with sequential numbers 1 to n for your points and lines.

Click to enlarge
Click to enlarge

The other important piece of information in the DRAWPD is to tell it where to begin and end each line. This is done in the second line under the u label. If you do not want to define the begin or end points, simply put the words "begin end" in this line. To define the begin and end points, replace either begin or end with the invariant point locations. If you have a very short line segment (like in our small divariant field above), then you can simply put the word connect following two points and THERMOCALC will connect the points without any PT info for that line.

Click to enlarge

Now let's look at the rest of the DRAWPD file. After all the line and point data, there is an asterisk. Below this are the defined areas for shading of the diagram. Colors are defined using RGB (0 to 255). Shading is defined as a fraction of your chosen value from 0 to 1. The higher the number, the lighter the shading. The default is blue shading (0 0 255) and 0.8 corresponds to a trivariant field, 0.6 a quadrivariant, and so on. Divariant fields are not shaded. Areas are defined by indicating the bounding line segment of each area.

Following the area information is a second asterisk that is followed by scripts that set the plot area. These are fairly self-explanatory. You must define the P-T window, big tick and small tick intervals. Numbering yes will put number labels corresponding to your numbering scheme in the file. DRAWPD does not add labels to the diagram. This must be done manually in a program like Adobe Illustrator.

Running DRAWPD

To run DRAWPD, go to the command line, switch into the directory with the DRAWPD program by typing:

cd /..
where /.. indicates the directory where the program is located

Alternatively, you can type "cd " at the command line and then navigate in Finder to the window where DRAWPD is located and drag the folder at the top of the window into the Terminal window. The path of the directory should automatically appear in the Terminal window.

Now you can run DRAWPD by typing:

(where drawpd is the name of the program in your folder

Note there is also a prefs file "dr-prefs.txt" that should be in the same folder. Type your file name (after the dr- prefix) and DRAWPD will run. Navigate to the folder and you should see a new postscript file (.ps) that has been created. This can be opened in Illustrator or a generic Postscript viewer.

Calculating the Pseudosection

Now you should be able to begin assembling your diagram based on the calculations that you have already done. Enter the four new invariant points and associated lines and update the shading portion of the DRAWPD file to reflect these additions. Use the connect command for the short line segments bounding the divariant.

Note the upper right corner of the diagram that has been completed for you. This area is particularly tricky. Below is a sketch so that you can see what is going on in this region.

The three invariant points have already been calculated for you (i5-i7) and are in the DRAWPD file as well as the short line segments that bound the trivariant field of g cd bi ksp liq (u18-u20). You should start this section of the diagram by calculating the boundaries of the divariant field g cd bi ksp liq pl that head down pressure. This will allow you to see what is happening in terms of introducing cordierite into the stable assemblages.

Now calculate the remainder of the diagram. You'll have to work out a few more invariant points. Remember, wherever your lines cross there must be a new invariant point. Using the logic describe above, you should be able to determine which phases are absent at each new invariant point.

The final completed pseudosection is shown below.

NCKFMASH pseudosection