MTDATA – Phase Diagram Software from the National Physical Laboratory







Training and Support 




Other Services 







MULTIPHASE is a module for the calculation of multiphase, multicomponent equilibria. Phases may include alloys, molten salts, gases, aqueous solutions, slags, mattes and pure stoichiometric substances in combination. The equilibrium state for which calculations are to be performed is defined by specifying the temperature, pressure or volume, and the quantity of substance. This quantity may be specified either by fixing the overall amount of each component in the system, i.e. by specifying amount of reactants, or by specifying the amounts of substances present at equilibrium in terms of variables such as mole fraction in a phase, partial pressure and molality, or as a combination of the two.

Two types of calculation can be performed. STAGE 1 uses true Gibbs energy minimisation and gives very reliable results without the need of an initial guess of the equilibrium condition by the user. STAGE 2 also achieves Gibbs energy minimisation but does this by equalising the chemical potentials of the components between the phases. STAGE 2 is used when it is necessary to calculate the amounts of substances less than 10-6 mol. In these cases STAGE 1 is normally used to provide an initial guess for STAGE 2 but it is also possible to use a previous result for a closely related calculation.

Data for the calculations are retrieved either from specified databases or from a datafile prepared in advance. This datafile would normally have been generated from the databases by means of the ACCESS module. The databases will depend on the installation; those that may be available include:


Recommended data for the elements


Scientific Group Thermodata Europe database for substances


Scientific Group Thermodata Europe solution database


NPL Database for salt systems

to which may be added private or specialised databases managed by individual users or groups.

Output can be produced in tabular or graphical forms and sent both to the screen and to a file and hence to a printer.

Most headings in the tabular output are self-explanatory, but the following points are worth noting:

(a) the mole fraction/partial pressure/notional activity column indicates the mole fraction or partial pressure only if the relevant phase is present at equilibrium. Otherwise, the values in this column give an indication of how unstable the phase is: numbers close to unity suggest that slight changes in conditions could result in those substances being present in the equilibrium mixture.

(b) the heading "STAGE 2 RESULTS" indicates that this calculation has included substances in amounts less than about 10-6 mol.

When graphical output is required, the results of a series of calculations are written to a file, with the extension .gph, and the ORDINATE, ABSCISSA and PLOT commands are used to enable the results to be plotted in many ways. Alternative types of tabulation may also be obtained.

Brief summary of commands

DEFINE allows the user to name the datafile from which the data will be retrieved or to define the system retrieving data from a named database or databases. The datafile would normally have been prepared in advance by means of the ACCESS module.

LIST displays the current definition of the problem in terms of:

(a) the status of the elements, components, substances and phases present
(b) initial and/or equilibrium quantities of components SET by the user
(c) temperature and pressure/volume set by the user.

CLASSIFY allows the status of individual components, phases and substances to be classified as NORMAL (present), ABSENT or FREE for the purposes of a subsequent calculation. The reference phase for individual or all components can be selected. The number of miscibility gaps potentially present may also be specified. A computational parameter DELTA required to deal with FREE components can be fixed in this option.

SET allows the user to specify the temperature, pressure/volume, and quantities within the system. Quantities may be defined in terms of either total amounts or mass of each component in the system or amounts of certain substances present at equilibrium. Equilibrium amounts may be specified in terms of moles, kilograms, mole fraction, partial pressure or molality. A special use of SET is to name and define the end points (GROUPS) of a stepped sequence in overall composition.

STEP is used mainly in the preparation of graphs. Most of the variables that can be set may be stepped. There are two modes of operation. The user enters either the start, finish and step interval, or the names of the start and finish composition groups as defined by the SET command and the number of points to be calculated.

COMPUTE initiates the computation of currently specified equilibria, at all temperatures specified in SET TEMPERATURE. The STAGES used and the method of initiating the calculation can be changed. The type of tabular output can be varied to provide more or less detail. Alternatively the output can be sent to a graphics file.

ORDINATE is used to select which, out of many possible variables, is plotted as ordinate, to select log or non log scales and their range.

ABSCISSA is used to control which variable is plotted as abscissa. This does not need to be the originally stepped variable. Log or non log scales may be chosen and their range controlled.

PLOT is used to retrieve a previously calculated graphics file for plotting, to change the physical characteristics of the plot and to initiate the plot itself. Additionally the selected variables may be output in tabular form and experimental data superimposed on a MULTIPHASE graph.

UNITS_FOR_OUTPUT allows the user to control the units of temperature and pressure used in the graphical output.

LASER sends a copy of any diagrams plotted on the screen to a local plotting device if available.

RETURN takes the user out of MULTIPHASE back to the module level.

<"Macro name"> runs a macro taken from a file. The name of the file should be entered in quotes. Commands can also be passed through to the operating system by prefixing them with a $ (dollar sign). The dollar sign and operating system command should be entered within quotes.

Further Information

A gentle introduction to using the options available in MULTIPHASE contains annotated examples, each directed towards achieving a particular outcome and shows typical combination of commands which would be necessary to achieve that end.

A simple summary of the commands available can also be used as an index to obtain more detailed help about each command.


Updated 7 May 2010