[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. Download new version.
  15. Links.

Provenance of Source Code

Sree Harsha Lalam 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: June 1999

Top | Next


To estimate the yield strength and ultimate tensile strength 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 System:Solaris 5.5.1 & Windows 95

Top | Next | Prev


MAP_NEURAL_WELDMETAL_YS_UTS contains a suite of programs which enable the user to estimate the yield strength and ultimate tensile strength 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_DATA_WELD. 28 different models for yield strength calculations and 24 models for the ultimate tensile strength 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 system and on a PC under Windows 95. A distinct set of program and data files are provided for each of the two modules, which calculate either the yield strength or the ultimate tensile strength. The files for unix are separated into two directories called uts and ys; those for a PC are split into two zip files: weldmetal_uts.zip and weldmetal_ys.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 text file contains the number of rows of data in the file test.dat

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

ys.exe / uts.exe
These executable programs for the PC correspond to the unix command files harsha_ys.gen / harsha_uts.gen. The source code is given in ys.c and uts.c which are in subdirectory s.

This executable file reads the information in no_of_rows.dat and creates a file called either spec.ys or spec.uts, depending on the module.

spec.ys / spec.uts
A dynamic file, created by gen_spec.ex, which contains information about the module and the number of data items being supplied. It is read by the program generate44.

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 systems 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 yield strength or ultimate tensile strength. The results are written to the temporary output file _out.

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

Yresult / Uresult
Contains the final un-normalised committee results for the predicted tensile strength / ultimate yield strength.


The source code for program gen_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.ys / spec.uts.


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, Science and Technology of Welding and Joining, Vol.5, 2000, pp. 135-147. [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, 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 files are called Yresult and Uresult. The format of the output file is:

Prediction    Error	Prediction -  Error	Prediction + Error
  (MPa)       (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.

3. Program results

See sample output file: Yresult or Uresult.

Top | Next | Prev

Auxiliary Routines


Top | Next | Prev


neural network, weldmetal strength, yield strength, ultimate tensile strength

Top | Next | Prev


Download MAP information files

Download both modules

PC Software:
Download Yield Strength Module
Download Ultimate Tensile Strength Module

Top | Prev

Download New Version

These new versions of the yield and ultimate tensile strength models contain more knowledge, particularly for long post-weld heat treatments. User friendly features have also been introduced. It is no longer necessary to edit 'spec.ys' or 'spec.uts' and 'no_of_rows.dat', the programs automatically find the number of lines in 'test.dat' file and create corresponding 'spec.ys' or 'spec.uts' files.

Top | Prev

Download Yield Strength Module
Download Ultimate Tensile Strength Module

PC Software:
Download Yield Strength Module
Download Ultimate Tensile Strength 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 Homepage Valid HTML 3.2!