a program for creating cracks in atomic lattices

| Download | Purpose | Usage | Example | References | Credits |


The C++ source code for crack is available here, and an executable compiled for Windows 95 is here.


CRACK inserts a stressed Mode I crack into a perfect lattice. Figure 1 shows the effect of the crack program. At the left of the figure are atoms in their perfect lattice sites. At the right the atoms have moved to the positions predicted by continuum elastic theory 1.

Figure 1 - Change in perfect lattice created by program CRACK.

The program reads in the following information:

It returns: The second option is useful, because the atomic displacments due to a crack are linear in the applied stress intensity. This means that by adding a fraction of the displacements, a crack at the fraction of the Griffith's Critical Stress Intensity can be obtained. For example, to obtain a crack at half the Griffith's Critical Stress Intensity, add one half of the displacements to each atom position.


CRACK is called with the following command -

CRACK elastic.fil orient.fil coordinate.fil surfe x y [cratio] .

It read the files specified on the command line, and the four numeric paramters surfe, x, y and cratio. It writes to standard output the theoretical critical stress intensity and the atomic coordinates of the cracked lattice. A detailed description of the parameters follows.
This file contains all the Voight elastic constants (C11, C12, etc.) for the lattice. Comments can appear anywhere in the file, and they must start with the character #.

The elastic constants can appear in the following format:

     C12 C22
     C13 C23 C33
     C14 C24 C34 C44
     C15 C25 C35 C45 C55
     C16 C26 C36 C46 C56 C66
This is the lower half the symmetric elastic constant matrix, for the material in standard orientation, that is x, y and z are the 100, 010 and 001 lattice directions. The units for the elastic constants are erg/cm2 (note that one Mbar equals 1012 erg/cm2). For common lattice symmetries the elastic constants C14, C24, C34, etc., will equal zero.

The position of the elastic constants on each line is not important. It is only required that they appear in above order.

Figure two shows an example of an elastic constant file.

   #  Elastic constants for Voter-Chen Ni   
   #     in units of ergs/cm^3   
   1.52e+12 2.48e+12   
   1.52e+12 1.52e+12 2.48e+12   
   0.00 0.00 0.00  1.32e+12   
   0.00 0.00 0.00  0.00 1.32e+12   
   0.00 0.00 0.00  0.00 0.00 1.32e+12   
Figure 2 - File containing elastic constants.

This command parameter names the file with information on the lattice orientation. Like the elastic.fil above, comments can appear anywhere in the file, and must begins with the character #. The data lines in the file contain the miller indices which indicate which lattice directions lie along the x, y and z direction. In the example below (Figure 3), the lattice orientation is given as [111] in the x direction, [1-10] in the y, and [11-2] in the z direction.

In the example, one direction appears on each line, however the data must be spread in any fashion among the lines. It only required that they appear in the proper order.

   #  Orientation (x,y,z) = (111) (1-10) (11-2)   
   1  1  1   
   1 -1  0   
   1  1 -2   
Figure 3 - File of orientation vectors.

This file contains the coordinates for atom in the perfect lattice. Like the above two files, comments beginning with the character # can appear anywhere in the file. The first data line in the file must contain the number of atom coordinates that follow. There may be any number of text before the number appears on the line. The remaining data lines must each contain four numbers, the atom type (an integer) and the x, y and z coordinates. Figure 4 shows an example that was used to make the example in Figure 1.

     #  Atomic coordinates for fcc Ni     
     PARTICLE 768     
          1     1.0162     3.1113     0.3594     
          1     1.0162     1.8667     2.5147     
          1     1.0162     0.6223     4.6703     
          1     1.0162     0.6223     0.3594     
          1     3.0483     0.6223     1.7963     
          1     1.0162     4.3556     2.5147     
          1     1.0162     1.8667     6.8260     
          1     1.0162     4.3556     6.8260     
          1     1.0162     3.1113     4.6703     
Figure 4 - First 11 lines of file containing atom coordinates (full input data file - 30KB).

This is the relaxed surface energy, in units of erg/cm2, of the exposed surface within the crack. This is the surface facing the y direction (see Figure 1).

x y
This is the position of the crack tip within the perfect lattice, in angstroms.

This parameters specifies a fraction the Griffith's Critical Stress Intensity. This is an optional parameter. If it is not specified, then the program output looks like Figure 5. Here the atom positions of the perfect lattice are given along with the displacement needed to obtained the atom positions for a cracked lattice at Griffith's Critical Strength Intensity. A crack at any fraction of the Griffith's Critical Strength Intensity can be obtained by applying that fraction of the displacement to the perfect lattice positions.

If cratio is specified then the output looks like Figure 6. In this case, the coordinates give the atom positions for the cracked lattice.

   # Theoretical Critical Stress Intensity (erg/cm^2.5) 5.421088e+07         
   # Applied Stress Intensity              (erg/cm^2.5) 5.421088e+07        
   DISP 768
      1     1.0162     3.1113     0.3594     0.5753    -2.1858     0.0000     
      1     1.0162     1.8667     2.5147     0.6530    -2.1848     0.0000     
      1     1.0162     0.6223     4.6703     0.7244    -2.1853     0.0000    
      1     1.0162     0.6223     0.3594     0.7244    -2.1853     0.0000    
      1     3.0483     0.6223     1.7963     0.7524    -1.9803     0.0000     
      1     1.0162     4.3556     2.5147     0.4900    -2.1880     0.0000    
      1     1.0162     1.8667     6.8260     0.6530    -2.1848     0.0000   
      1     1.0162     4.3556     6.8260     0.4900    -2.1880     0.0000    
      1     1.0162     3.1113     4.6703     0.8135    -3.0912     0.0000     
Figure 5 - First 11 lines of output file with perfect lattice positions and displacements. Notice that the first two lines are comments (beginning with #) that report the calculated theoretical critical stress intensity and the applied stress intensity.

   # Theoretical Critical Stress Intensity (erg/cm^2.5) 5.421088e+07   
   # Applied Stress Intensity              (erg/cm^2.5) 8.131632e+07   
      1     1.8791    -0.1674     0.3594
      1     1.9958    -1.4106     2.5147
      1     2.1029    -2.6556     4.6703
      1     2.1029    -2.6556     0.3594
      1     4.1769    -2.3481     1.7963
      1     1.7512     1.0735     2.5147
      1     1.9958    -1.4106     6.8260
      1     1.7512     1.0735     6.8260
Figure 6 - First 11 lines of output file with coordinates of cracked lattice that was used to make the example in Figure 1 (full output data file - 30KB). Notice that the first two lines are comments (beginning with #) that report the calculated theoretical critical stress intensity and the applied stress intensity.


The following is an example call to CRACK that corresponds to the figures.

crack   ni.ela   111_110.ori   nicor.txt   1981.3   12.194   9.9559   1.5   >   nicrack.txt

This example is for pure fcc nickel simulated with the Voter-Chen potential 4. It creates a crack in the coordinates contained in the file nicor.txt using the orientation from file 111_110.ori and the elastic constants from ni.ela. The exposed surface during crack formation is the {110} surface. The surface energy calculated with the Voter-Chen potential is 1981.3 ergs/cm2. This value is used for the parameter surfe. The crack tip is placed at x and y equal to 12.194 and 9.9559 angstroms (parameters x and y), and the ratio of the applied stress intensity to the theoretical stres intensity (parameter cratio) is set to 1.5. The output coordinates are sent to the file nicrack.txt and can be seen in Figure 1.


  1. G. C. Sih and H. Liebowitz, Fracture: An Advanced Treatise, edited by H. Liebowitz (Academic Press, New York and London, 1968), Vol. 2, p. 125

  2. C. S. Becquart, P. C. Clapp and J. A. Rifkin, Molecular dynamics simulations of surface reconstruction at the edges of a crack in ruthenium aluminum, J. Mater. Res., 9 (3), 548-552 (1994).

  3. C. S. Becquart, D. Kim, J. A. Rifkin and P. C. Clapp, Fracture properties of metals and alloys from molecular dynamics simulations, Materials Science and Engineering, A170, 87-94 (1993).

  4. A. F. Voter and S. F. Chen, Accurate Interatomic Potentials for Ni, Al and Ni3Al, MRS Syposia Proceedings 82, 175 (1987).


The original version of CRACK was written by Charlotte Becquart and Don Kim. The user interface was modified by Jon Rifkin.