[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, 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: November 1999

Top | Next


To estimate the elongation and Charpy toughness of steel weldmetal (manual metal arc, submerged arc or tungsten inert gas), as a function of chemical composition, heat input, interpass temperature, post weld heat treatment temperature and time.

Top | Next | Prev


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

Top | Next | Prev


MAP_NEURAL_WELDMETAL_ELN_CHP contains a suite of programs which enable the user to estimate the elongation and Charpy toughness of steel weldmetal (manual metal arc, submerged arc or tungsten inert gas), as a function of chemical composition, heat input, interpass temperature, post weld heat 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_WELD_DATA. 58 different models for elongation calculations and 62 models for the Charpy toughness are provided, 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 operating system and on a PC under Windows 95/98. A distinct set of program and data files are provided for each of the two modules, which calculate either the elongation or the Charpy toughness. The files for unix are separated into two directories called Chp and Eln; those for a PC are split into two zip files: weldmetal_chp.zip and weldmetal_eln.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.

harsha_eln.gen / harsha_chp.gen
This is a unix shell file containing the command steps required to run the module. It can be executed by typing csh harsha_eln.gen or csh harsha_chp.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.

Eln.exe / Chp.exe
These executable programs for the PC correspond to the unix command files harsha_eln.gen / harsha_chp.gen. The source code is given in Eln.c and Chp.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 either the elongation or Charpy toughness. The results are written to the temporary output file _out.

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

Eresult / Cresult
Contains the final un-normalised committee results for the predicted elongation / Charpy toughness.


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 Yresult or Uresult, depending on the module.

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 [1] for each model.

Files containing values for the noise, test error and log predictive error [1] 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 1.

Top | Next | Prev


  1. S. H. Lalam, H. K. D. H. Bhadeshia and D. J. C. MacKay, 2000, Part II: Elongation and Charpy Toughness, Science and Technology of Welding and Joining Vol.5, 2000, pp. 149-160. [Download PDF file.]
  2. 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.
  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 elongation or the Charpy toughness value in '%' and Joules respectively. The corresponding output files are called Eresult and Cresult. The format of the output file is:

Output of elongation model:
Prediction    Error	 Prediction -  Error	  Prediction + Error
  (%)          (%)              (%)                   (%)
Output of Charpy toughness model:
Prediction    Error	 Prediction -  Error	  Prediction + Error
  (J)          (J)              (J)                   (J)

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.

3. Program results

See sample output file: Eresult or Cresult.

Top | Next | Prev

Auxiliary Routines


Top | Next | Prev


neural network, weldmetal toughness, ductility, elongation, Charpy toughness

Top | Next | Prev


Download MAP information files

Download Elongation Module (gzip tar file, 15 Mbytes)
Download Charpy Toughness Module (gzip tar file, 10 Mbytes)

PC Software:
Download Elongation Module (14 Mbytes)
Download Charpy Toughness Module (11 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!