MTDATA – Phase Diagram Software from the National Physical Laboratory







Training and Support 




Other Services 







allows the user to define the system to be studied: in one mode, the data are retrieved from specified databases or from a previously compiled file. When a database search has been performed, the data for the system under study are written to a user-defined or system default file.







data_input_file = <"def.mpi">

output_data/results = <"def">

source = <first database on the database menu>


define data = "fecrmo" !

define system = "Al, Si, Zn"  source = unary sgsol !

define data = default !

define system = "Al2O3, CaO, SiO2, O/-2" !

define system = "Fe, Cu, Ni"  output = "mydata" !

define system = "KCl,CaCl2,ZnCl2" source = "db-salts" !

Parameter values:

DATA_INPUT_FILE takes the values <"filename">/DEFAULT

If the DEFINE statement contains a reference to a DATA_INPUT_FILE the program reads the required data from the specified datafile. Such a datafile could have been created in a previous run of MULTIPHASE or ACCESS. If DATA = DEFAULT is used, then the data are read from the last datafile generated with the default name.

OUTPUT_DATA/RESULTS takes the value <"file root">

This parameter specifies the root for two files:

a) a file with the extension ".mpi" to which the data resulting from the database search are to be sent,
b) a single file with extension ".mpr" to which certain MULTIPHASE diagnostic information is to be written.

If a system is to be defined this parameter should be used in the same DEFINE statement that contains the SYSTEM specification. Use on its own at any other time will automatically load in data from the default data input file ("def.mpi"). If no output file root is defined then the data are written to a results file whose name is based upon the root of the data input file.

The OUTPUT_DATA/RESULTS should not be confused with the file that contains the results of TERNARY calculations. The names of these TERNARY results files are based on the root of the data input file name with the filename extension ".tnr".

SYSTEM takes the value <"component list">

The SYSTEM parameter is used to define the components of the system to be studied prior to the search of one or more databases. Components may be elements, compounds or charged species. The best choice of components will depend on the models used to represent the thermodynamic data. Details as to how components may be specified can be found in the information to the ACCESS module.

DEFINE SYSTEM causes the program to search the list of databases specified by use of the SOURCE parameter, for the substances that are linear combinations of the components DEFINEd. These are written to a datafile based upon the OUTPUT_DATA/RESULTS file root and then loaded into memory.

SOURCE takes the values ALL/ <database list>/ <"database path">/ NONE_BUT<database list>

This defines the databases to be searched in the specified order. It is recommended that the SYSTEM and SOURCE parameters are set within the same DEFINE statement. If the SOURCE parameter is assigned a value before a DEFINE SYSTEM command is issued the default data input file is also loaded. If a value for the SOURCE parameter is not specified the first database in the database menu is searched when the SYSTEM is defined.

<database list>

a user-defined list consisting of any of the databases appearing in the database menu.

<"database path">

the path of a database not on the database list.

ALL this specifies the complete list of databases in the order in which they appear in the database menu.

NONE_BUT<database list>

clears any previous list and defines a new one.

General comments:

When the DEFINE SYSTEM command is executed, the databases specified by use of the SOURCE parameter are searched in the specified order for all the substances that are linear combinations of the components defined by the SYSTEM. For complex systems, the number of substances retrieved may easily run to tens, if not hundreds, of species representing many distinct phases. It is, however, unlikely that a binary system will require more than 500 substances and 250 phases for which the TERNARY module is normally configured. If the number of substances is larger than can be supported it is better practice to use the ACCESS module to perform a preliminary screening of species and phases before saving. This may then be read by the TERNARY module using the DEFINE DATA command.

One problem that may arise when retrieving data from the database searches is that MTDATA may identify that certain phases have missing data. Typically this would indicate that for these phases the database contains data for the pure components but no interaction data between them. Under most circumstances these phases would be classified as ABSENT (ie not taking part in the calculations) following the database search.

Another problem that asises from the database searches is that of duplicate data sets. A search of the first database on the list will probably locate the majority of datasets generated from the list of components defined by the SYSTEM. Substances located in this way for the first time are added to the MULTIPHASE DATAFILE and flagged as NORMAL - i.e. present. The search of the next database on the list will locate data sets of two types:

(a) those for substances that have been located for the first time. Data for these substances are written to the file and flagged as NORMAL - as before.

(b) those for substances that have already been located in the search of the first database. Data for these substances are not written to the file.

The same strategy applies to interaction between substances. This strategy of writing data sets to the file only for those substances that are located for the first time, ie those that have been classified as NORMAL, means that very few data from databases low in the database list will be retrieved. If you wish to select datasets for substances on an individual, rather than on a first-found basis, then again you should use the ACCESS module to produce the datafile which can be read in via the DEFINE DATA command.

A relationship exists between ACCESS and TERNARY in terms of the datafiles that are generated. The purpose of using ACCESS is to perform a preliminary review of the data and to enable phases and/or substances to be excluded from the MULTIPHASE input data file created so that it is suitable, in size and form, for use by TERNARY and other MTDATA modules. The recommended method for terminating an ACCESS session is to define the name of a file to which the edited data may be SAVEd and then to issue the SAVE command. At a later date the file may subsequently be read by the DEFINE DATA statement in TERNARY. If such a filename has not been defined within the ACCESS module when the SAVE command is issued, the data are SAVEd to a default file. These data can be retrieved in TERNARY by the command:

define data=default !

This procedure is to be recommended only if the ACCESS and TERNARY modules are used subsequently within the same session of MTDATA. Otherwise, the default datafile is in danger of being overwritten


Updated 2 July 2010