[MAP Logo]

Materials Algorithms Project
Program Library


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

Provenance of Source Code

F. Tancret and H.K.D.H. Bhadeshia,
Phase Transformations and Complex Properties Group,
Department of Materials Science and Metallurgy,
University of Cambridge,
Cambridge CB2 3QZ, U.K.

Added to MAP: August 2000.

Top | Next


A program for the estimation of the tensile ductility of nickel-base superalloys as a function of elemental composition, heat and mechanical treatments, and test temperature.

Top | Next | Prev


Language: FORTRAN / C
Product form: Source code / Executable files

Operating System: Solaris 5.5.1 & Windows 95/98 

Top | Next | Prev


The modelling procedure is a purely empirical one, and is based on a neural network program called generate44, which was developed by David MacKay and is part of the bigback5 program. The model is constituted of a committee of several individual neural networks. It was trained on a set of experimental data for which the "outputs" are known, and creates a kind of non-linear, multi-parameter "regression" of the outputs versus the inputs. This "regression" has already been produced and the model is delivered ready to perform predictions for nickel-base alloys of any desired composition (within certain specified limits). 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 . The files for unix are separated into compressed files called niduct.tar ; those for a PC :   niduct.zip. Each directory or zip file contains the following files and subdirectories:

A manual 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 subdirectory s.
This executable file reads the information in no_of_rows.dat and creates a file called spec.t1 (UNIX only).
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/generate44.exe.
This a text file which contains the normalised input variables. It is generated by the program normtest.for in subdirectory s.
generate44 / generate44.exe
This is the executable file for the neural network program. It reads the normalised input data file, norm_test.in, and uses the weight files in subdirectory c, to find a value for the output. The results are written to the temporary output file _out.
Result, or model_result.dat
Contains the final un-normalised committee results for the predicted output.
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 Result or model_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 generate44 via spec.t1.
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 file.

Top | Next | Prev


  1. F. Tancret, Processing for China, Sterling Publications, London, 2000, pp. 56-58. [Download postscript, PDF, Word, html files.]
  2. F. Tancret, H. K. D. H. Bhadeshia, Key Engineering Materials, Vols. 171-174, 2000, pp. 529-536. [Download postscript, PDF, Word, html files.]
  3. F. Tancret, H. K. D. H. Bhadeshia, ISIJ International, 39 (1999) 1020-1026.

Top | Next | Prev


Input parameters

Cr (wt.%)

Co (wt.%)

Mo (wt.%)

W (wt.%)

Ta (wt.%)

Nb (wt.%)

Al (wt.%)

Ti (wt.%)

Fe (wt.%)

Mn (wt.%)

Si (wt.%)

C (wt.%)

B (wt.%)

Zr (wt.%)

Cu (wt.%)

N (wt.%)

S (wt.%)

P (wt.%)

V (wt.%)

Hot working (binary)

1st high temperature heat treatment: duration (h) and temperature (oC)

2nd high temperature heat treatment: duration (h) and temperature (oC)

1st low temperature heat treatment: duration (h) and temperature (oC)

2nd low temperature heat treatment: duration (h) and temperature (oC)

Test temperature (oC)

Output parameters

predicted tensile ductility (%)

error bar on ductility

ductility - error bar

ductility + error bar

A more detailed description is presented in the README file.

Top | Next | Prev

Error Indicators


Top | Next | Prev


An estimated predictive error bar is provided by the model.

Top | Next | Prev

Further Comments


Top | Next | Prev


1. Download the model

Uncompress the "niduct.tar" or "niduct.zip" file in a dedicated directory (for example: "neural").
On UNIX systems, this is done by:

tar -xvf niduct.tar

On PC systems, this is done by extracting the archive using standard unzipping software.

2. Program data

Create an input file "test.dat" in the "neural" directory, containing the information on your alloy and test temperature (see README file for details).
Example: to predict the tensile ductility at 20, 200, 400, 600, 800 and 1000oC, of the following wrought alloy: Ni-20Cr-10Co-2Al-2Ti-0.03C wt.%, heat-treated 1 h at 1175oC and 8 h at 800oC:
20 10 0 0 0 0 2 2 0 0 0 0.03 0 0 0 0 0 0 0 1 1 1175 0 0 8 800 0 0 20
20 10 0 0 0 0 2 2 0 0 0 0.03 0 0 0 0 0 0 0 1 1 1175 0 0 8 800 0 0 200
20 10 0 0 0 0 2 2 0 0 0 0.03 0 0 0 0 0 0 0 1 1 1175 0 0 8 800 0 0 400
20 10 0 0 0 0 2 2 0 0 0 0.03 0 0 0 0 0 0 0 1 1 1175 0 0 8 800 0 0 600
20 10 0 0 0 0 2 2 0 0 0 0.03 0 0 0 0 0 0 0 1 1 1175 0 0 8 800 0 0 800
20 10 0 0 0 0 2 2 0 0 0 0.03 0 0 0 0 0 0 0 1 1 1175 0 0 8 800 0 0 1000

3. Running the program (making predictions)

For Solaris 5.5.1, just type:

csh model.gen

For PC software, just double-click on:


4. Results of the program (predictions)

The results are written in the "Result" or "model_result.dat" file, as described in the README file. In the present case:
   Predicted     Error   Predicted-Error Predicted+Error
     33.2479040     10.7069335     22.5409552     43.9548375
     35.2142390     12.2692503     22.9449888     47.4834892
     34.4896505     11.8535810     22.6360695     46.3432162
     28.9412125     11.8593455     17.0818670     40.8005427
     23.9624688     19.3634740      4.5990100     43.3259427
     50.3114798     35.0842110     15.2272688     85.3956907

Top | Next | Prev

Auxiliary Routines

Top | Next | Prev


neural networks, tensile ductility, Ni-base, superalloy

Top | Next | Prev


Download source code (Solaris 5.5.1)

Download source code (PC software)

Top | Prev

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

Top | Program Index | MAP Homepage Valid HTML 3.2!