There are currently three examples supplied with the OpenPhase library. Their detailed description can be found in the /examples directory of the distribution package. The user can compile and run these examples by following the instructions given in the README files in the example's directories. Below is a brief description of these examples.

1. Single grain simulation example (SingleGrain).

In this example a single spherical grain is located in the middle of a simulation box. When simulation starts the grain begins to shrink in order to minimize the interface energy. In this case the grain boundary motion is fully determined by the interface curvature, interface energy and grain boundary mobility values. It can be shown that the velocity of a grain boundary is inverse proportional to the grain radius which means that interface energy is linearly decreasing with time. The results of the example simulation are shown in Fig. 1.

(a) Time step t = 100 (b) Time step t = 2000 (c) Time step t = 4000
Figure 1. Evolution of a single grain boundary (click here for animation)

 

2. Normal grain growth simulation example (NormalGG).

In this example 20 grains are randomly distributed in the simulation box using the Voro++ – Voronoi tessellation code (http://math.lbl.gov/voro++/). When the simulation starts bigger grains begin to grow at the expense of smaller ones due to the curvature associated driving force difference in multiple junctions. Fig. 2 shows the results of the example simulation.

(a) Time step t = 50 (b) Time step t = 5000 (c) Time step t = 10000
Figure 2. Evolution of the grain boundaries (click here for animation)

 

3. Example of a coupled simulation using phase field and diffusion modules (DendrDiff).

In this example the directional solidification of a single dendrite of AlCu is simulated. The input for the simulation is provided in the /examples/DendrDiff directory of the distribution package. This example couples the phase field evolution and the diffusion process.

The AlCu benchmark has been used in order to establesh the convergence of simulation results with respect to the discretisation of a simulation domain. After convergence has been reached the denrite spacing selection has been investigated. The benchmark problem description and input data are given here (pdf). Fig. 3 shows the results of our benchmark test for the system size Lx, Ly = 100, Lz = 350 and grid spacing Δx = 1 μm.

(a) Time: 20s (b) Time: 65s (c) Time: 135s
Figure 3. Evolution of the phase field (click here for animation)

 

The results of a smaller example simulation can be obtained in one day using the material data given in the benchmark test example (supplied with the OpenPhase source code). These results are shown in Fig. 4.

(a) Time step t = 1000 (b) Time step t = 100000 (c) Time step t = 400000
Figure 4. Evolution of the phase field and concentration field (click here for animation)

 

4. Example of a coupled simulation using phase field and elasticity modules (EshelbyTest).

In this example the following elasticity data have been used:

Eigenstrain: 1%
Poisson ratio: 0.3
Elasticity modulus: 208 GPa

which correspond to the set of elastic constants:

C11 = 280 GPa,
C12 = 120 GPa,
C44 =  80 GPa.

The system size is 129x129x129 grid points and the interface width is 5 grid points. Boundary conditions are periodic which are imposed by the spectral elasticity solver. The stress distribution around the inclusion is presented in Fig. 5, where (a) is the 2D map of the σ11 stress component in the XZ plane cutting through the inclusion and (b) is the line scans of the normal, σ11, and tangential, σ33, stress components from the center of the inclusion in the positive X direction.

(a) Stress distribution around
the inclusion (click image to enlarge)

(b) Normal and tangential stress
components (click image to enlarge)

Figure 5. Stress field

 

Example simulations 1, 2 and 4 should take less than 1 hour on a single core 3 GHz workstation. If executed using built-in OpenMP parallelism they should finish significantly faster. The third example will take significantly longer time because the maximum time step interval in this case is limited by the diffusion.