[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

Professor Yoshiyuki Saito
Waseda University
Department of Materials Science and Engineering
3-4-1 Okubo, Shinjuku-ku, Tokyo, 169 Japan
This research was supported by the Nippon Steel Corporation.

Top | Next


Simulation of grain growth kinetics using a Monte Carlo method in three dimensions. This is a new algorithm which has the advantage that it prevents grains of the same orientation from coalescing.

Top | Next | Prev


Product form:Source code

The program reads inputs from a file, in this case called Graingrowth2.montecarlo.dat which contains the following: 64 64 64 2000 1749573 32 32768 3.00 1
The first, second and third numbers specify the system size which is the number of cells in the three-dimensional Monte Carlo simulation. The fourth number is the time in Monte Carlo units. The fifth number is the initial random number which should be a prime number. The sixth number sets the total number of orientations of the grains in the simulation. The seventh number is the initial number of grains. The eight number is J/kT where J is proportional to the interfacial energy, k is the Boltzmann constant and T is the absolute temperature. The ninth number is the anisotropy of the grain boundary energy (a value of unity represents isotropy, and values greater than unity represent an orientation dependence of interface energy).

Top | Next | Prev


The Monte Carlo simulation method is now widely applied to materials science and engineering. This program deals with grain growth kinetics in three-dimensions, with the simulation of interface motion based on the Potts model. As an initial microstructure, an orientation between 1 to Q is assigned to each lattice site at random, where Q is the total number of orientations. The evolution of the grain structure then occurs during the Monte Carlo iterations. It is possible to obtain both the mean grain size and the grain size distribution.

Top | Next | Prev


  1. Y. Saito, ISIJ International, 38 (1998) 559-566. (Key paper entitled "Monte Carlo Simulation of Grain Growth in Three Dimensions".)
  2. Y. Saito, Memoirs of the School of Science and Engineering, 59 (1995) 75-99. (This review paper can be obtained via an e-mail request to the author).
  3. Y. Saito and M. Enomoto, ISIJ International, 32 (1992) 267-274.
  4. Y. Saito and M. Enomoto, Computer Innovation of New Materials, 1991, 809-814, published by Elsevier Science, North-Holland.
  5. Y. Saito and H. Harada, Materials Science and Engineering, A223 (1997) 1-9.
  6. Y. Saito, Materials Science and Engineering, A223 (1997) 10-16.
  7. Y. Saito, Materials Science and Engineering, A223 (1997) 114-124.
  8. Y. Saito, Materials Science and Engineering, A223 (1997) 125-133.

Top | Next | Prev


Input parameters

These are read from the file Graingrowth2.montecarlo.data which has a single row as follows :-

I0 - integer
Number of cells in the X direction.

J0 - integer
Number of cells in the Y direction.

K0 - integer
Number of cells in the Y direction.

IMCSTP - integer
Time in Monte Carlo units.

IDUMMY - integer
Initial random number which is a prime number.

IQ - integer
Number of different grain orientations.

NOGR - integer
Number of grains.

AJ - real
Factor proportional to interfacial energy normalised by kT

IANIS - real
Represents anisotropy of interfacial energy.

Output parameters

Output is to three ASCII files, fort.15, fort.16 and fort.17. See program results (below) for format.

Top | Next | Prev

Error Indicators


Top | Next | Prev


See [2], which has a comparison between calculations and experimental observations.

Top | Next | Prev

Further Comments

Top | Next | Prev


1. Program text

       See full program

2. Program data

  32 32 32 100   1749573   32 32768  3.00    1

3. Program results

There are four output files created,