[MAP Logo]

Materials Algorithms Project
Program Library


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

Provenance of Source Code

Sree Harsha Lalam and Prof. H.K.D.H. Bhadeshia,
Phase Transformations Group,
Department of Materials Science and Metallurgy,
University of Cambridge,
Cambridge, CB2 3HU, 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: December 1999

Top | Next


To estimate the 27 J Charpy impact transistion temperature for ferritic steel welds as a function of the yield strength, oxygen content, reheated material and percentage acicular ferrite.

Top | Next | Prev


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

Top | Next | Prev


MAP_NEURAL_WELDMETAL_T_27J contains a suite of programs which enable the user to estimate the  27 J Charpy toughness transistion temperature ( T27J ) of steel weldmetal , as a function of  yield strength , oxygen content, reheated material  and percentage acicular ferrite content in the weld metal.. 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 database of experimental results [1] . Thirteen different committee models , 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 [2]. 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 3]. 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 and Linux operating system and on a PC under Windows 95/98. A distinct set of program and data files are provided . The files for unix and Linux are separated into compressed files called weldmetal_T_27J_solaris.tar  and weldmetal_T_27J_linux.tar  ; those for a PC :   weldmetal_T_27J.zip. Each directory or zip file contains the following files and subdirectories:

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 is a unix shell file containing the command steps required to run the module. It can be executed by typing csh model.gen  at the command prompt. These shell files compile and run 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.
These executable programs for the PC correspond to the unix command files model.gen. The source code is given in model.c  which are in subdirectory s.
This executable file reads the information of number of data from keyboard input and creates no_of_rows.dat file, this file is used by spec.ex/spec.exe to create spec.t1.
This executable file reads the information in no_of_rows.dat and creates a file called spec.t1.
A dynamic file, created by spec.ex/spec.exe, which contains information about the module and the number of data items being supplied. It is read by the program generate44/generate55.exe.
This a text file which contains the normalised input variables. It is generated by the program normtest.for in subdirectory s.
generate44 / generate55
This is the executable file for the neural network program. generate44 runs on unix selntems and generate55 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 temperature. The results are written to the temporary output file _out.
_ot, _out, _res, _sen
These files are created by generate44 and can be deleted.
Contains the final un-normalised committee results for the predicted.
The source code for program data_no.ex.
The source code for program spec.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 as Fresult .
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 [2] for each model.
Files containing values for the noise, test error and log predictive error [2] for each model.
A normalised output file which was created during the building of the model. It is accessed by generate44 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.

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

Top | Next | Prev


  1. French, I. E., 1999, Australaisan Welding Journal,  44, second quarter, 44-46.
  2. S. H. Lalam, H. K. D. H. Bhadeshia and D. J. C. MacKay, Australasian Welding Journal, Vol. 45, 2000, pp. 33-37. [Download PDF file.]
  3. D.J.C. MacKay, 1997, Mathematical Modelling of Weld Phenomena 3, eds. H. Cerjak & H.K.D.H. Bhadeshia, Inst. of Materials, London, pp 359.
  4. 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 the output in oC. The corresponding output files are called Fresult . The format of the output file is:
Prediction    Error      Prediction -  Error      Prediction + Error
  (oC)          (oC)              (oC)                   (oC)
Top | Next | Prev

Error Indicators


Top | Next | Prev


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

Top | Next | Prev

Further Comments


Top | Next | Prev


1. Program text

       Complete program.

2. Program data

See sample data file: test.dat.

3. Program results

See sample output file: Fresult

Top | Next | Prev

Auxiliary Routines


Top | Next | Prev


neural network, weldmetal toughness,  Charpy toughness

Top | Next | Prev


Download MAP information files
Download Solaris module
Download Linux module
PC Software:
Download PC Module
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 HomepageValid HTML 3.2!