Materials Algorithms Project (MAP)

MAP Logo

Public Domain Research Software & Data

S. Cardie and H. K. D. H. Bhadeshia
University of Cambridge
Department of Materials Science and Metallurgy
Pembroke Street, Cambridge CB2 3QZ, U.K.


This paper describes the materials algorithms project, which consists of a perpetual FORTRAN library of complete computer programs, elementary subroutines and functions which enable the user to develop new concepts in materials science and metallurgy using existing methods as a foundation. It also includes vast quantities of experimental data. The information is freely available and the project is open to participation by any interested party. The project covers all of materials science including welding.


A scientific paper that is submitted for publication undergoes a peer review procedure. One purpose of this is to help remove logical or factual anomalies. The reviewer may also comment on the originality of the work and on the clarity of presentation. In the best traditions of academia, the peer review can itself be challenged, so that no one has absolute power in the chain of events that leads to publication. Good published papers contain sufficient detail to enable the work to be reproduced and they establish a firm platform from which further progress can be made. In the course of time the publications are subjected to constant scrutiny whenever they are studied by the community as a whole.

This elegant system of progress is threatened by the emergence of literature which is predominantly based on the computational solution of complex problems. This is because the publications hardly ever include the detailed algorithms and even the conceptual basis of the research is sometimes difficult to grasp. This makes the claims impossible to check and reproduce. On the rare occasions when the algorithms are available on request, they are in a sufficiently non-standard format as to require detailed assistance or reinvention.

In the context of materials science, there are no subroutine libraries available which can enable the synthesis of programmes for the solution of specific user problems or for research into new areas. It is for this reason that a new scheme has emerged where information technology is exploited to reduce these difficulties:

The Materials Algorithms Project serves as a centre for the "validation" and distribution of algorithms of use in the modelling of materials, in the context of materials science and metallurgy. The software is in the public domain.

The purpose of MAP is to create a perpetual electronic library accessible via the world wide web, with elementary subroutines that can enable a user to develop new concepts using existing methods as a foundation. It is intended to make established work much more accessible and usable in both research and development projects. It embodies the essential features of publications, that the code included is validated, documented and open to scrutiny by the scientific community.


The need to make computational work more accessible has already been emphasised [Note 1].


The site contains several libraries, divided broadly by subject. Each library is further subdivided into sub-libraries for complete programs, subroutines and functions; a master index is provided for each sub-library. Following the link for a particular routine will give the complete documentation for that routine in HTML format. An annotated example of the layout is provided. The naming of routines follows the pattern: MAP_LIBNAME_ROUTNAME where LIBNAME is the library identifier and ROUTNAME is the unique identity given to the routine. For example, MAP_CRYSTAL_ANGLEE is routine ANGLEE from the crystallography sub-library of MAP. At the present time, MAP consists of the libraries listed in the following table:

Current status of the MAP Library
Map Constants Physical constants used in many subroutines within the MAP library.
Available as single tar file.
Steel Complete programs, subroutines, functions
Nickel base alloys Complete programs, subroutines, functions
Polymer Science and Engineering Complete programs, subroutines, functions
Crystallography Complete programs, subroutines, functions
General Kinetic Theory Complete programs
Neural Networks
  • Complete programs, subroutines, functions
  • Neural network datasets
General Purpose Utilities Complete programs, subroutines, functions
Materials Data Library
  • General materials data
  • Weld metal properties
  • Transformations data


Files can only be downloaded after accepting a disclaimer:

The programs and procedures on this website are provided "AS IS" without warranty of any kind. We make no warranties, express or implied, that the programs and procedures are free of error, or are consistent with any particular particular application. THEY SHOULD NOT BE RELIED ON FOR SOLVING A PROBLEM WHOSE INCORRECT SOLUTION COULD RESULT IN INJURY TO A PERSON OR LOSS OF PROPERTY.

If you do use the programs or procedure in such a manner, it is at your own risk. The Department of Materials Science and Metallurgy and the National Physical Laboratory disclaim all liability for direct, incidental or consequential damages resulting from your use of the programs or procedures on this website.

Map files are provided in Unix tar format. The downloaded file anglee.tar contains four files:

Three identical documents are provided in different formats for convenience. The file can be unpacked using the Unix command tar -xvof anglee.tar which produces the response:

x anglee-b.f, 2961 bytes, 6 tape blocks
x anglee-b.txt, 3678 bytes, 8 tape blocks
x, 27969 bytes, 55 tape blocks
x anglee.tex, 5144 bytes, 11 tape blocks

indicating that the files have been unpacked successfully and are ready for use. Alternatively, an unpacking utility can be used. Windows/DOS users may wish to download PC Tar or WinZip, for example.


The project is completely transparent to participation which can occur when a MAP user contributes source code or data to the library. Code should be ANSI-standard FORTRAN 77 or FORTRAN 90, although older and non-standard versions of FORTRAN may also be accepted. Potential contributors should, in the first instance, read the Advice for Contributors document and contact Website administration ( with a proposal, which should include at least:

  1. A brief statement of the application and scope of the code.
  2. A description of the hardware and operating system(s) on which the code has been tested and the compiler used.
  3. Details of any publications in which results generated by the code are presented (It is not necessary to provide copies of papers).

All donors will be fully acknowledged, both in the documentation and in the list of contributors. A simple Code Donor Agreement must be signed and returned to MAP before software can be accepted for distribution. The purpose of this is to ensure that the donor is entitled to contribute the code:

I certify that the following statements are true:-

The supplier must obviously be free to supply the code to others. The code must free from considerations of academic, commercial or military secrecy, or any other restrictions on dissemination.

The donor should ensure that the accompanying documentation is complete and accurate, and including sample data and results if appropriate (see below).

The commitment from MAP is that all donors will be clearly acknowledged both in the accompanying documentation and in the list of contributors. If required, the code will be supplied without cost to the originator. Any code downloaded from the MAP website may be modified and distributed without restriction provided that MAP and the code originator are acknowledged in the documentation and in the body of the source code; any modifications are clearly indicated as such; no attempt is made to charge for subsequent distribution of the code.

The preferred method for donating data is by email to MAP Website Administration ( However, magnetic tapes (including DAT) or floppy disks, sent by post are accepted.

Source code should be provided as ASCII text files only, though an accompanying hard copy is welcome. Documentation supplied with source code should include:

  1. Brief statement of the purpose of code and description of operating principles.
  2. A list of input and output arguments, including type, e.g. double precision, integer, etc., and purpose.
  3. References for theoretical basis of code (where appropriate).
  4. Statement of known accuracy limits, or input conditions likely to result in an error.
  5. A list of keywords (for benefit of search engine).
  6. A sample program demonstrating the use of the routine, including sample input data and results.
  7. Notification of use of code in published documents, e.g. conference papers, refereed journals, etc.


General queries about the MAP website should be directed to the Website Administrator at the address Queries regarding content of individual routines are never addressed since they should always be directed to the provider indicated in the documentation.


Links are provided to sites which supply free software of use in materials science, or who permit the user to conduct calculations without charge. Some examples include:



TTT curve
We now present an example of the source code, which corresponds to the documentation listed above. The program is capable of modelling many things about steels (as described above), but one application is in the calculation of time temperature transformation diagrams as illustrated in this figure. The calculated TTT diagrams are for a series of steels, representing the initiation of transformation in each case.


The MAP software has been accessible since February 17th 1997.

There has been a total of about 15,500 files accessed within the first six months; 10% of these interactions have involved the downloading of FORTRAN source code and documentation. The remaining operations involve a scanning of the site to identify and reach the source code which is to be downloaded.

Files accessed The nature and quantitity of files accessed during the first six months of MAP is illustrated in the adjacent pie chart. HTML files form the interface with the user and are required to identify the software of interest whereas tar files contain the actual FORTRAN source code and documentation. The "other files" are text files which are not a part of the standard downloading sequence.

These results indicate that the material provided is being utilised for application, rather than for idle "web surfing". Indeed, the site is not attractive to such surfers (unless they have a FORTRAN fetish); it is designed deliberately to be functional.

The announcement of the MAP project when it was first made accessible was via an electronic mail message to colleagues. The web site is also stated on our letterheads. The project has nevertheless received an impressive level of exposure. It is astonishing that in spite of the limited publicity, the following countries have downloaded material from the MAP site:

Austria, Belgium, Denmark, Finland, France, Germany, Greece, Hungary,Ireland, Italy, Netherlands, Norway, Portugal, Spain, Sweden, Switzerland, United Kingdom.

Croatia, Czech Republic, Egypt, Former U.S.S.R., India, Israel, Latvia, Malta, Poland, Romania, Russian Federation, Slovak Republic, Slovenia, South Africa, Turkey, Ukraine, Yugoslavia.

Australia, Indonesia, Japan, Malaysia, New Zealand, Singapore, South Korea, Taiwan (R.O.C.), Thailand.

Argentina, Brazil, Canada, Columbia, Dominican Republic, Mexico, U.S.A., Venezuela.

The actual sites involved can all be seen from the MAP web page; they include educational, commercial, governmental and military domains. The information is summarised in the figures a and b below, which show that the U.S.A. is the largest user of MAP, followed by the United Kingdom and the remainder of Western Europe. Surprisingly, Japan does not feature strongly even though it is a significant contributor to MAP.

It is not useful to speculate on the reasons for the observed variations. The sites are identified by their country:

World MAP (a) A low--resolution illustration of the regions of the world which have accessed MAP within its first six months of public existence.
Regional Access (b) The intensity of activity according to a crude classification of the world. The regions are listed in descending order of activity.


MAP is a joint effort involving the University of Cambridge, The National Physical Laboratory (U.K.) and is sponsored by the Engineering and Physical Sciences Research Council. Its founder members include H. K. D. H. Bhadeshia, R. Thomson, G. Rees, J. Wilkins and S. Cardie in Cambridge and T. Berry, H. Davies, A. Dinsdale, S. Hodson and B. Roebuck at the NPL.

The following have actually contributed code to MAP. From the Department of Materials Science and Metallurgy, University of Cambridge: S. Cardie, H . Bhadeshia, N. A. Chester, G. Goldbeck-Wood, D. Haguet, J. Hobdell, S. Jones, M. Lord, C. E. Neal, S. V. Parker, G. I. Rees, J. D. Robson, S. B. Singh, A. H. Windle. From Waseda University (Japan): Y. Saito. From Mitusbishi Materials: S. Yoshitake. From Ishikawa-jima Harima Heavy Industries: T. Yoshida. From Nippon Steel Corporation: K. Ichikawa. From Parsons Power Generation Systems: T. Cool.

Appendix 1: Nomenclature

represents a text file containing the FORTRAN program which has to be compiled using a FORTRAN compiler which usually is specific to the computer system being used.

tar file
tar is a unix operating system command which archives and extracts files to and from a single file called a tarfile. This is an economical method for downloading files. The tarfile is then unbundled using the tar command with the xvf option.

Hypertext markup language. This is a basic form of writing designed for the world wide web pages. The content, which may be plain text, images, sounds, etc. is marked-up using elements which suggest presentation and role of the material. For more information see All MAP documentation is validated for conformance to the html 3.2 specification. See:

IP Address
If you want to connect to another computer, transfer files to or from another computer, or send an e-mail message, it is necessary to have an address for that machine. An IP (Internet Protocol) address is a way to identify a machine on the Internet. An IP address is a unique, numeric identifier used to specify a particular host on a particular network and is a part of a global standardised scheme for identifying machines that are connected to the Internet. The address consists of four numbers between 0 and 255, separated by periods, which represent both the network and the host machine. Numbers are difficult to remember so an alias is usually assigned, e.g., with the extension giving for example, common sense information about the country (u.k.). "IP" stands for Internet Protocol. For more information, see

A public domain typesetting language which produces documents of outstanding quality. See http://www.math.upenn/TeX.html.

WWW & http
The world wide web, also referred to as the WWW is the universe of information available via hypertext transfer protocol (http). It allows the creation of "links" from one piece of information to another, and can incorporate sounds, graphics, movies \etc The Web presents information as a series of "documents" often referred to as web pages, that are usually prepared using the Hypertext Markup Language (html). For more information, see

Appendix 2



[Note 1]
Someone once said that "only you and God know about unpublished work - and God knew already". A computer program which is not disseminated is has the same worth as an unpublished paper. MAP facilitates this by providing source code so that the work can not only be repeated but developed further. It obviously removes the need to duplicate effort. It provides a modular library which can be used to create new models for specific purposes or in order to integrate with other existing models. Complete programs, example data and example outputs are provided so that implementations on specific systems can be checked. The project can be regarded as a site for the publication of source code, and contributed programs can be cited in curriculum vitae just as it is normal to cite paper publications.

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

MAP Website administration /

Top | MAP Homepage | MAP Contents Page

MAP Publications Valid HTML 3.2!