[MAP Logo]

Materials Algorithms Project
Program Library


  1. Provenance of code.
  2. Purpose of code.
  3. Specification.
  4. Description of subroutine's operation.
  5. PC Files
  6. UNIX Files
  7. References.
  8. Parameter descriptions.
  9. Error indicators.
  10. Accuracy estimate.
  11. Any additional information.
  12. Example of code
  13. Auxiliary subroutines required.
  14. Keywords.
  15. Download source code.
  16. Links.

Provenance of Source Code

David Cole and H.K.D.H. Bhadeshia,
Phase Transformations Group,
Department of Materials Science and Metallurgy,
University of Cambridge,
Cambridge, U.K.

The neural network program was produced by:

David MacKay,
Cavendish Laboratory,
University of Cambridge,
Madingley Road,
Cambridge, CB3 0HE, U.K.

Added to MAP: Nov 1999

Top | Next


To estimate the creep rupture strength of ferritic power plant steels at a certain temperature, as a function of chemical composition, heat treatments and time.

Top | Next | Prev


Language:FORTRAN / C
Product form:Source code / Executable files
Operating System:Solaris 5.5.1 & Windows 95

Top | Next | Prev


MAP_NEURAL_CREEP contains a suite of programs which enable the user to estimate the creep rupture strength of ferritic power plant steels as a function of composition, heta treatment, temperature and time. It makes use of a neural network program called generate44, which was developed by David MacKay and is part of the bigback5 program. The network was trained using a large database of experimental results [1] (some of these data are available on MAP under the Materials Data section as MAP_DATA_CREEP_RUPTURE. Eleven models are used for the creep rupture strength calculations which differ from each other by the number of hidden units and by the value of the seed used when training the network. It was found that a more accurate result could be obtained by averaging the results from all the models [1]. This suite of programs calculates the results of each model and then combines them, by averaging, to produce a committee result and error estimate, as described by MacKay [page 387 of reference 2]. The source code for the neural network program can be downloaded from David MacKay's website; the executable files only are available from MAP. Also provided are FORTRAN programs (as source code) for normalising the input data, averaging the results from the neural network program and unnormalising the final output file, along with other files necessary for running the program.

Programs are available which run on a Solaris 5.5.1 unix system and on a PC under Windows 95. A distinct set of program and data files are provided and each directory or zip file contains the following files and subdirectories:

PC Files

A text file containing step-by-step instructions for running the program, including a list of input variables.

A text file containing the minimum and maximum limits of each input and output variable. This file is used to normalise and unnormalise the input and output data.

An input text file containing the input variables used for predictions.

This text file contains the number of rows of data in the file test.dat

This executable program for the PC corresponds to the unix command file predict. The source code is given in creep.c which is in subdirectory s.

This executable file reads the information in no_of_rows.dat and creates a file called spec.t1.

A dynamic file, created by spec_D.exe, which contains information about the module and the number of data items being supplied. It is read by the program generate55.

This a text file which contains the normalised input variables. It is generated by the program normtest.for in subdirectory s.

This is the executable file for the neural network program and runs on the PC. It reads the normalised input data file, norm_test.in, and uses the weight files in subdirectory c, to find a value for either the creep rupture strength. The results are written to the temporary output file _out.

_ot, _out, _res, _sen
These files are created by generate55 and can be deleted.

Contains the final un-normalised committee results for the predicted creep rupture strength.


The source code for program spec_D.ex.

Program to normalise the data in test.dat and produce the normalised input file norm_test.in. It makes use of information read in from no_of_rows.dat and committee.dat.

This program uses the information in committee.dat and combines the predictions from the individual models, in subdirectory outprdt, to obtain an averaged value (committee prediction). The output (in normalised form) is written to com.dat.

Program to un-normalise the committee results in com.dat and write the output predictions to unnorm_com. This file is then renamed Result.dat.

A text file containing the number of models to be used to form the committee result and the number of input variables. It is read by gencom.for, normtest.for and treatout.for.


The weights files for the different models.

Files containing information for calculating the size of the error bars for the different models.

Files containing information about the perceived significance value for each model.

Files containing values for the noise, test error and log predictive error for each model.


A normalised output file which was created during the building of the model. It is accessed by generate55 via spec.t1.


out1, out2 etc.
The normalised output files for each model.

The normalised output file containing the committee results. It is generated by gencom.for.

UNIX Files

These are as the PC Files except for the following:

As test.dat, but the first row of this file has to be the number of input lines in the file.

As no_of_rows.dat.

This file contains the commands necessary for running generate44 (as generate55, but the UNIX version) and producing the final committee result.

A unix shell file containing the commands to run the entire module. It can be executed by typing predict at the command prompt. This file runs all the programs necessary for normalising the input data, executing the network for each model, unnormalising the output data and combining the results of each model to produce the final committee result. This corresponds to the PC file creep.exe

A file which contains information about the module and is read by generate44. This has to be changed to allow for input files of varying size. The data corresponding to 'Number_data' and 'Train_from_1_to_this' has to be changed to the number of rows in the input file, not including the first row, which will be the length of the file. 'Test_set_1' and 'Test_set_2' have to have the frist column set to 1 and then the second column set to the number of input rows.

The UNIX version of generate55.

As Result.dat.

Contains the normalised input file.

Contains the normalised target file.


Contains the fortran files for the UNIX module versions of normtest.for, gencom.for and treatout.for which are norm.for, gencom.for and unnormout.for respectively.


Detailed instructions on the use of the program are given in the README files. Further information about this suite of programs can be obtained from reference 1.

Top | Next | Prev


  1. D. G. Cole, C. Martin-Moran, A. G. Sheard, H. K. D. H. Bhadeshia and D. J. C. MacKay, 1999, Science and Technology of Welding and Joining, Accepted for publication.
  2. D.J.C. MacKay, 1997, Mathematical Modelling of Weld Phenomena 3, eds. H Cerjak & H.K.D.H. Bhadeshia, Inst. of Materials, pp 359.
  3. D.J.C MacKay's website at http://wol.inference.phy.cam.ac.uk/mackay/README.html#Source_code

Top | Next | Prev


Input parameters

The input variables for each module are listed in the README file in the corresponding directory. The maximum and minimum values for each variable are given in the file MINMAX.

Output parameters

These programs give either the yield strength or the ultimate tensile strength value in MPa. The corresponding output file is called Result.dat. The format of the output file is:

Prediction   	Prediction -  Error	Prediction + Error
  (MPa)              (MPa)                   (MPa)

Top | Next | Prev

Error Indicators


Top | Next | Prev


A full calculation of the error bars is presented in reference 1.

Top | Next | Prev

Further Comments


Top | Next | Prev


1. Program text

       Complete program.

2. Program data

See sample data file: test.dat / pred.dat.

3. Program results

See sample output file: Result.dat or outnorm.out.

Top | Next | Prev

Auxiliary Routines


Top | Next | Prev


neural network, creep rupture strength

Top | Next | Prev


Download MAP information files

Download UNIX module (gzip tar file, 52 Mbytes)

Linux Software:
Download Linux module (gzip tar file, 52 Mbytes)

PC Software:
Download Module (30 Mbytes)

Top | Prev

MAP originated from a joint project of the National Physical Laboratory and the University of Cambridge.

MAP Website administration / map@msm.cam.ac.uk

Top | Index | MAP Homepage Valid HTML 3.2!