Lattice periodicity length

The length of periodicity of the lattice is the minimum distance at which the lattice repeats itself. For example, the lattice constant a_0 in cubic crystal systems is the lattice periodicity length along the \left<100\right> directions.

Once the crystallographic orientations are set, e.g., the x axis in the first grain has an orientation of [abc], the lattice will repeat itself at every \sqrt{a^2 + b^2 + c^2}a_0 distance along the x direction. In the simple cubic system, this distance is likely the smallest lattice periodicity length. But in the face-centered cubic (FCC) and body-centered cubic (BCC) systems, this may not be the case. For example, in FCC, when [abc] = [112], \sqrt{a^2 + b^2 + c^2}a_0 = \sqrt{6}a_0, yet the smallest lattice periodicity length l_0 = (\sqrt{6}/2)a_0. Another example is in BCC, when [abc] = [111], \sqrt{a^2 + b^2 + c^2}a_0 = \sqrt{3}a_0, yet l_0 = (\sqrt{3}/2)a_0.

Since each grain has its own crystallographic orientations, each grain has its own \vec{l}_0. The length vector along each direction that is the largest in magnitude among all grains is the lattice periodicity length for the simulation cell, \vec{l'}_0. The largest component in the \vec{l'}_0 vector is the maximum lattice periodicity length for the simulation cell, l'_\mathrm{max}.

\vec{l'}_0 and l'_\mathrm{max} are the length units in four commands: fix, grain_dir, group, and modify. A question arises regarding how the lengths in these four commands are usually determined. For example, to build a stationary edge dislocation, one needs to determine the position of the dislocation, i.e., using the modify_centroid_x, modify_centroid_y, and modify_centroid_z variables in the modify command. In the input file, there is one line

modify modify_1 dislocation 1 3 13. 39. 17.333 90. 0.33

in which plane_axis = 3 means that the slip plane is normal to the z direction. As a result, the modify_centroid_z decides the z-coordinate of the intersection between the slip plane and the z axis. Since there is only one dislocation, one usually wants to let the slip plane be within the mid-z plane, but how is the value of modify_centroid_z, which equals 17.333 here, determined?

In the log file, there are four lines:

The boundaries of grain 1 prior to modification are (Angstrom)
x from  -0.413351394094665 to 128.552283563439630 length is 128.965634957534292
y from  -0.715945615951370 to 222.659086560878961 length is 223.375032176830331
z from -29.228357377724798 to 213.951576004945480 length is 243.179933382670271

where the last number 243.179933382670271 is the edge length of the simulation cell along the z direction, prior to modification. Note that it is important to use the edge lengths of the grain prior to modification instead of those under The box boundaries/lengths are (Angstrom) because the former are used to build dislocations in the code. Another two lines in the log file are

The lattice_space_max are
x  4.960216729135929 y  2.863782463805506 z  7.014805770653949

where the last number 7.014805770653949 is the maximum lattice periodicity length for the simulation cell along the z direction, l'_\mathrm{max}, which is indeed the length unit of modify_centroid_z. Thus, if one wants to let the slip plane be within the mid-z plane, the value of modify_centroid_z is

243.179933382670271 / 7.014805770653949 / 2 = 17.333