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; in another mode the data are read from a previously created file. Finally the command may also be used to identify experimental data files to be used during optimisation. 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>

experiment = <"def.ass">


define data = "proj403" !

define system = "C, H, O"  source = sgte mydata !

define data = default !

define system = "Al2O3, CaO, SiO2" !

define system = "Al, H, Cl"  output = "mydata" !

define system = "Al, Si" source = "mt-aldata" !

define data = "cumg" experiment = "cumg.ass" !

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 ASSESSMENT, MULTIPHASE, ACCESS, BINARY or TERNARY. 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 a number of files which may be created and used during subsequent calculations:

a) a single 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 ASSESSMENT diagnostic information is to be written, and

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.

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 about 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.

EXPERIMENT takes the value <"filename">/ default 


This is the name of a file which contains experimental data. During subsequent optimisation runs chosen thermodynamic parameters from the specifed datafile (.mpi file) will be altered to reproduce these experimental data as closely as possible. During each optimisation run thermodynamic parameters flagged using the MODIFY INDEX and MODIFY TYPE commands will be altered automatically to reproduce the experimental data provided as closely as possible.

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 a large number of components, the number of substances retrieved may easily run to tens, if not hundreds, of species. ASSESSMENT is configured to deal with at least 200 substances, the actual limits depending on the type of computer being used. The limits for a particular version of MTDATA can be inspected by using the LIMITS command of the UTILITY module. If the number of substances is larger than can be supported by the ASSESSMENT module it is better practice to use the ACCESS module to perform a preliminary screening of species, and write a reduced substance list to a file. This may then be read by the ASSESSMENT module using the DEFINE DATA command.

Another problem that arises 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 ASSESSMENT 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 ASSESSMENT 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 ASSESSMENT. 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 ASSESSMENT by the command:

define data=default !

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


Updated 30 July 2010