T20: Simulating grain growth

This tutorial was tested on
MatCalc version 6.00 rel 0.282
license: free
database: mc_fe.tdb; mc_fe.ddb

Complimentary files

Click here to view the script for this tutorial


  • Single-class model for grain growth
  • Multi-class model for grain growth
  • Grain growth with pinning and solute drag

Setting up the system

From the database mc_fe.tdb, select the element FE and the phase BCC_A2. Read in the mobility database mc_fe.ddb. Create a precipitation domain named 'ferrite' associated with the phase BCC_A2.

Single-class grain growth model

We start with the simplest possible scenario for grain growth: a single-phase, pure metal with no solutes or precipitates present to retard grain growth.

There are two parts to the setting-up of the simulation, both in Precipitation domains. (Note that a precipitation domain must be set up and configured for the grain growth simulation, even if no precipitation is taking place.)

In the general tab, specify the Initial grain size. In this example we will leave this at the default value:

Then, go the the MS Evolution tab and select the Grainstructure sub-tab. By default, the evolution model for grain size is set to None - no evolution. This is the option that has been used in all kinetic simulations so far; the grain size, as well as other microstructural parameters such as dislocation density, has been taken as constant. Instead, set this to Single class model. A set of options will appear as shown in the diagram below.

The model implemented in MatCalc is described in 1). The rate of change of the diameter D of the grains as a function of time given by:

dD/dt = M.(P_d - P_r)

where M is the mobility of the grain boundaries and P_d and P_r are the driving force and the retarding pressure on the grain boundaries, respectively.

M is given by an Arrhenius expression:

M=M_0 exp(-Q/RT)

where M_0 is a pre-exponential factor, Q is the activation energy of the mobility, T is the absolute temperature, and R the gas constant.

The driving force P_d depends on the grain boundary energy gamma_g and the grain diameter D:

P_d = k_d (gamma_g/D)

and the retarding force due to pinning by a volume fraction f_v of particles with diameter d is given by:

P_r =k_r(gamma_g . f_v/d)

The terms k_d and k_r are the constants that appear in the dialogue box above.

Accept these default settings for the present.

Using Calc > precipitation kinetics, set up an isothermal simulation with an end-time of 36000 s and a temperature of 800°C. Click on Go. The simulation will be over very rapidly compared to precipitation simulations.

Create a plot of type p1. In the variables window, find the section entitled prec domain struct sc (single class) and expand to show GD$*. Expand this one step further to show GD$ferrite, and drag this to the plot window. Change the (default x-axis label to read time [h] and modify the scaling factor to 1/3600. Change the y-axis title to Grain diameter [x10-6m] and modify the scaling factor to 1/1e-6.

Label the existing series 800°C, duplicate and lock it and repeat the calculation for 750°C and 700°C to give curves as shown:

Grain growth plot

Changing the model parameters

Changing k_r will not modify the results in the present case, because we have not yet set up any mechanism to retard the grain growth. However, as would be expected from the equations above, changing k_d to a lower value gives a smaller grain size at the same time, all else being equal.

Experiment also with different initial grain diameters. If the initial grain diameter is reduced, the curve moves downwards to smaller grain sizes for a given time and temperature.

Subsequent articles

1) M. Rath & E. Kozeschnik, “Coupled grain growth and precipitation modeling in multi-phase systems”, Materials Science Forum Vol. 753 (2013) pp 357-360
tutorials/t20.txt · Last modified: 2018/06/13 19:43 (external edit)