T2: Calculating a single equilibrium

This tutorial was tested on
MatCalc version 6.00 rel 0.282
license: free
database: mc_fe.tdb

Complimentary files

Click here to view the script for this tutorial.

This tutorial explains how to determine the equilibrium phases at a given temperature, and their phase fractions and compositions.


  • Opening a database and selecting elements and phases
  • Entering a composition
  • Calculating an equilibrium at a given temperature
  • Interpretation of information displayed in the output, phase summary and phase details windows
  • Using the 'Options' window to modify the display
  • Phase status indicators
  • Calculation states

Before starting...

Create a new workspace file (Tutorial 1).

Setting up the system

Opening a thermodynamic database and selecting elements and phases

In the 'Global' menu, select 'Databases'. A window will appear as shown below. The 'Equilibrium database' box initially displays the message 'database not open…'. Click on the 'open…' button; this will open the '…MatCalc/database/thermodynamic' subdirectory, allowing the user to choose a database. A small database on iron-based materials, 'mc_fe.tdb', is provided with MatCalc for demonstration purposes. Select this database and click 'Open'.

MatCalc setup

A list of elements will appear in the left-hand box, with FE and VA (vacancies) selected by default. In the right-hand box is a list of the phases which can occur in a system containing the selected elements. Click on 'C' in the elements box; this will add to the list a number of other phases which can occur in an Fe-C system, such as graphite and several carbides. The 'show all available phases' box can be used to display all the phases available in the database, irrespective of whether they can form in the system in question.
From the phase list, select 'LIQUID', 'BCC_A2', 'FCC_A1', 'GRAPHITE' and 'CEMENTITE'. Phases are described using crystallographic notation: BCC_A2 represents the body-centred cubic phase, which corresponds to ferrite in the iron-carbon system, and FCC_A1 is the face-centred cubic austenite phase in Fe-C. Click 'Read & Close'.

 MatCalc setup

Entering the composition

In the 'Global' menu, select 'Composition'. This opens the 'System composition' box. The lower part of the box gives options for the units in which the composition is to be displayed: mole fraction, weight fraction, u-fraction or weight percent. One of the elements, usually the one with the highest mole fraction, is designated as the 'reference element', and the amount of this element is calculated as 1-(sum of the amounts of all other elements) for compositions expressed in fractional form, or 100-(sum of the amounts of all other elements) for compositions expressed as percentages.
Iron is set as the reference element by default in the 'mc_fe.tdb' database, as can be seen from the 'Ref. Elem' column in the composition dialogue box. Another element can be set as the reference by selecting the element name and clicking on the 'Set reference element' button on the right, or by double-clicking in the 'Ref. Elem' column by the side of the element name.
To enter a composition of 0.4 wt.% C, select 'weight percent' as the unit, then highlight element C. Double-click in the 'Amount' column, click on the 'Change' button or press F2 to modify the composition, then type in '0.4' and press 'Enter'.
The system is now ready to perform an equilibrium calculation.

 MatCalc system composition

Calculating an equilibrium

From the 'Calc' menu, select 'Set start values'. This initialises the calculation variables with reasonable values in order to help the Gibbs free energy minimiser to find a solution which satisfies all the boundary conditions. This command is useful if the solution algorithm seems to be 'stuck' and unable to find an equilibrium.

Once one valid equilibrium has been found, solutions at other temperatures or boundary conditions are much easier to obtain. From the 'Calc' menu, select 'Equilibrium', or click on the  MatCalc icon equilibrium icon in the toolbar. The following window appears:

 MatCalc calculate equilibrium

Enter '700' in the temperature box and ensure that 'temperature in C' is selected. Leave the pressure at its default value. Click on 'Go' to start the calculation.

Interpreting the results of the calculation

The 'Console', 'Phase status' and 'Phase details' windows each show information on the calculation which has just been performed. The final three lines of the console window list the number of iterations, the calculation time, the temperature and the Gibbs energy of the system. The '- OK -' message in the final line indicates that the calculation was successful, with no errors reported. Also the 'start' symbol on the Quick access menu is changed to the green check mark  Calculation warning. If any errors do occur, the message '*** error ***' followed by a description of the nature of the error will be displayed instead of the 'OK' message. Moreover, the 'start' symbol in Quick Access menu will show a small warning sign  Calculation warning. In this case, reset the calculation with 'Set start values' and repeat it using 'Equilibrium'. It is always advisable to check the status of the calculation in the console window or Quick Access menu before proceeding.
The other lines visible in the console window are messages relating to the opening and reading of the thermodynamic database.

 MatCalc output

Information on the phase stabilities is shown in the 'Phase summary' window. Those phases with non-zero phase fractions are termed 'active' and are listed in the first block. Inactive phases (those which are unstable, with negative driving forces) are listed in the second block. The third column gives the phase fraction and the column after 'dfm:' gives the driving force in J/mole. It can be seen that BCC_A2 (ferrite) and GRAPHITE are the stable phases at 700°C.

 MatCalc phase summary

The 'Phase details' window provides more comprehensive information on the properties of the phases, including the molar Gibbs free energy of the phase (the number after 'gm:') and the phase compositions (expressed in mole fraction by default), as well as the information provided in the 'Phase summary'. The phases are again grouped according to whether they are active or inactive.

 MatCalc phase details

Using the 'Options' window to modify the display

To change the units in which the composition is displayed in the 'Phase details' window, first highlight this window and then go to the 'Options' window. (If this is not shown on the screen, make it appear by selecting 'View > Show > Show options window' or right-clicking in the toolbar area and selecting 'options' from the menu.)
The 'Options' window provides display options for the currently highlighted window. In the case of the 'Phase details' window, the composition can be displayed as a mole fraction, a weight fraction or a u-fraction, and can also be expressed as a percentage if required.

 MatCalc option window

Phase status: suspended and dormant phases

The calculation has shown that at 700°C, BCC_A2 (ferrite) and graphite are the equilibrium (i.e. most thermodynamically stable) phases. However, it is observed in practice that in Fe-C systems with relatively low carbon contents, graphite formation is extremely slow, and can be considered not to occur over practical timescales.
Since this is the case, it is useful to calculate a metastable equilibrium, for which graphite formation is not allowed. Go to 'Global > Phase status' and highlight 'GRAPHITE'. In the 'General' tab, the uppermost section is labelled 'Flags…'. Click to place a tick in the box next to 'suspended' and click 'OK'.

 MatCalc phase status

Repeat the equilibrium calculation and note the difference in results in the 'Phase summary' window:

BCC_A2     *     act     9.29191-001    dfm: +0.00000e+000
CEMENTITE        act     7.08095-002    dfm: +0.00000e+000
### inactive ###
FCC_A1         - OK -    0.00000+000    dfm: -1.19178e+002
LIQUID         - OK -    0.00000+000    dfm: -3.71669e+003
### suspended ###

Now BCC_A2 and CEMENTITE are active, FCC_A1 and LIQUID are inactive and GRAPHITE is listed as 'suspended'. Suspending a phase causes the program to consider it as if it were not there at all; the next most stable phase (in this case, cementite) becomes the equilibrium phase. Alternatively, the flag can be set to 'fixed phase fraction' using the same procedure (i.e. in the 'General' tab of the 'Phase status' window, remove the tick from 'suspended' and place it in the 'fixed phase fraction' box for the graphite phase). Next, click on 'set amount…' in 'Phase fractions' area and type '0' (zero) in the appearing 'Input…' window.

 Graphite phase fraction fixed

Perform an equilibrium calculation again. In this case, the phase is considered not to appear, but its driving force is still evaluated. Also, cementite becomes active, as shown by the results below:

BCC_A2         *    act      9.82166-001    dfm: +0.00000e+000 
CEMENTITE           act      7.08095-002    dfm: +0.00000e+000
### inactive ### 
GRAPHITE            fixed    0.00000+000    dfm: +2.35328e+003
FCC_A1             - OK -    0.00000+000    dfm: -1.19178e+002
LIQUID             - OK -    0.00000+000    dfm: -3.71669e+003

In order to eliminate graphite completely from the system, open the 'Phase status' window, select the 'GRAPHITE' phase and click on 'Remove' button.

 MatCalc phase status

A new window will appear in which MatCalc will ask you to confirm this wish - click on 'Yes'. Repeat the equilibrium calculation at 700°C to obtain an equilibrium without graphite. The driving forces obtained should be identical to those found in the previous calculation in which graphite was suspended:

BCC_A2     *     act     9.29191-001    dfm: +0.00000e+000
CEMENTITE        act     7.08095-002    dfm: +0.00000e+000
### inactive ###
FCC_A1         - OK -    0.00000+000    dfm: -1.19178e+002
LIQUID         - OK -    0.00000+000    dfm: -3.71669e+003

Adding any other phase to the system requires re-opening the thermodynamic database and selecting the new phase next to the already highlighte ones. Re-open 'Global > Databases' and click on GRAPHITE to select it, then click on 'Read & Close'. A warning will appear, stating that all existing data will be deleted. Accept this by clicking on 'Yes'. A new message, with updated information on the thermodynamic data, appears in the 'Output' window. Reading in new data from the database erases any previous equilibrium calculation results, so perform the equilibrium calculation at 700°C once again to obtain an equilibrium with graphite (if you get an error message, click on 'Set start values' in 'Calc' menu). This time, the driving forces obtained should be identical to those found in the previous calculation in which graphite was present in the system:

BCC_A2         *    act     9.82166-001    dfm: +0.00000e+000
GRAPHITE            act     1.78337-002    dfm: +0.00000e+000 
### inactive ### 
FCC_A1            - OK -    0.00000+000    dfm: -1.88360e+002 
CEMENTITE         - OK -    0.00000+000    dfm: -5.87283e+002 
LIQUID            - OK -    0.00000+000    dfm: -4.07902e+003 

Calculation states

By default, the results from a previous equilibrium calculation are overwritten when a new calculation is carried out. However, it is sometimes useful to store the results from a calculation for future use. The 'Calculation states' feature is provided for this purpose; it can be found in the 'Global' menu under 'CalcStates'. In the sub-menu, click on 'Create' and type the name in the box:

 MatCalc new calculation states

The calculation state stores all information on an equilibrium including the complete phase status, composition and any compositional states which may apply. Calculate another equilibrium at 600°C and store it by creating another calculation state. These states are now both available in the calculation state drop-box on the toolbar:

 MatCalc dropbox

Select a calculation state from this box and load the stored equilibrium with the  MatCalc load button (This can also be done using 'Global > CalcStates > Select' and then 'Load' ). Note how the contents of the 'Phase details' and 'Phase summary' windows are immediately updated with the results stored in the calculation state, and the temperature at which the equilibrium was calculated is shown in the status bar towards the bottom right of the screen. The results of the current equilibrium calculation can be saved into an existing calculation state by selecting the name of the state in the drop-box and then clicking on the  MatCalc save button or using 'Global > CalcStates > Select' and then 'Save'. NB: Calculation states, like all other calculation results, are erased when data is re-read from the database!

To finish...

Save the workspace using 'File > Save as…'. Workspace files are automatically given the file extension '.mcw'.

Consecutive articles

tutorials/t2.txt · Last modified: 2017/08/04 08:47 by pwarczok