Crystallography and Computational Quantum Mechanics Part I

Lattices and Basis

Solid materials are often found as crystals – three-dimensional periodic arrays of atoms. As we noted in our two dimensional introduction one example is cubic perovskite, shown in Fig. 1. The calcium (green) atoms an array of cubes. Inside each cube is a titanium atom, and on the faces are oxygen atoms, which are shared between the cubes. Because of the stacking, the system is periodic, that is, if you draw a line between any two calcium (green), titanium (gray) or oxygen (red) atoms and extend it to infinity, you’ll find that the line crosses an infinite number of identical atoms, equally spaced. For certain lines, such as the one connecting the calcium atoms along the diagonal of the cube, you'll also see other atoms, which will themselves be periodically spaced. This periodicity is the heart of crystallography. The basis periodicity of the system is described by the lattice. The actual position of each atom is described by the basis. Here we'll define those terms and provide some examples. Later articles will define the types of lattices allowed in three dimensions.

Cubic Perovskite Structure
Figure 1: Crystal structure of cubic perovskite, CaTiO3. The green atoms are calcium, gray atoms titanium, and red atoms oxygen. The small cube outlined at the front lower left of the picture is the unit cell (defined below) of the system.

Much of this tutorial has already been covered in two dimensions, where everything can be displayed on a page. You might want to go back and look at that.

The Lattice

All conventional crystal structures are based on the lattice, a periodic array of points in n-dimensions. A sample 3-d structure lattice is shown in Fig. 2.

Three Dimensional Lattice
Figure 3: A finite portion of a three dimensional lattice. The points represent the lattice, the lines are drawn as a guide to the eye.

From this figure we get a couple of properties of periodic systems:

  • Just as with perovskite, a line drawn through any two lattice points will intersect an infinite number of other lattice points, all evenly spaced on the line.
  • This system has translational symmetry: every lattice point is exactly the same as any other, so we can choose the origin at any point on the lattice. Moving the origin from one point on the lattice to another doesn’t change anything about how we view the crystal.

The translational symmetry of the lattice is discrete: we can only move the origin from one lattice point to another. This limited set of translations can be described with a set of primitive vectors, n of them for a n-dimensional lattice. Fig. 3 shows one choice for the primitive vectors in our sample lattice. Once we have the primitive vectors and a starting point all points on the lattice are found at

R = n1a1 + n2a2 + n3a3 , (1)

for all integers n1, n2, and n3.

Three dimensional lattice plus
					     primitive vectors
Figure 3: The lattice from Fig. 2 with the primitive vectors (1). The vectors plus the blue lines outline the unit cell of the system.

Figure also shows a prism bounded by the primitive vectors and the blue lines. This is a possible unit cell of the lattice. Think of it as a piece in a very boring 3-d jigsaw puzzle. We create the lattice by packing the identical puzzle pieces together, with the lattice points at the intersections. A unit cell is the smallest possible piece that reproduces the lattice.

Once we know the primitive vectors for lattice we can find the volume of the unit cell. If our vectors have the Cartesian coordinates

$\begin{array}{cccc} \mathbf{a}_{1} & = & a_{1x} ~ \hat{x} + a_{1y} ~ \hat{y} + a_{1z} ~ \hat{z} & , \\ \mathbf{a}_{2} & = &a_{2x} ~ \hat{x} + a_{2y} ~ \hat{y} + a_{2z} ~ \hat{z} & \mathrm{and} \\ \mathbf{a}_{3} & = &a_{3x} ~ \hat{x} + a_{3y} ~ \hat{y} + a_{3z} ~ \hat{z} & , \end{array}$ (2)

then the volume of unit cell is
$V = \left| \mathbf{a}_{1} \cdot ( \mathbf{a}_{2} \times \mathbf{a}_{3} ) \right| = \left| \begin{array}{ccc} a_{1x} & a_{1y} & a_{1z} \\ a_{2x} & a_{2y} & a_{2z} \\ a_{3x} & a_{3y} & a_{3z} \end{array} \right|$   .   (3)
By convention the cell is said to be right-handed if $\mathbf{a}_{1} \cdot ( \mathbf{a}_{2} \times \mathbf{a}_{3})$ is positive and left-handed if it is negative. Most of the time we'll want to use a right-handed orientation, but this is only a convention and doesn’t affect the properties of the structure.

There is considerable freedom in defining primitive vectors. The only rules are that a primitive vector must point from one lattice point to another and that the unit cell volume (3) stays the same. Mathematically, any two choices of primitive vectors $\mathbf{a}_{i}$ and $\mathbf{a}'_{i}$ are equivalent if

$\left( \begin{array}{c} \mathbf{a}'_{1} \\ \mathbf{a}'_{2} \\ \mathbf{a}'_{3} \end{array} \right) = \left( \begin{array}{ccc} n_{11} & n_{12} & n_{13} \\ n_{21} & n_{22} & n_{23} \\ n_{31} & n_{32} & n_{33} \\ \end{array} \right) \cdot \left( \begin{array}{c} \mathbf{a}_{1} \\ \mathbf{a}_{2} \\ \mathbf{a}_{3} \end{array} \right)$   (4)

and the volume of the unit cell is preserved,
$V = \left| \mathbf{a}'_{1} \cdot ( \mathbf{a}'_{2} \times \mathbf{a}'_{3} ) \right| = \left| \mathbf{a}_{1} \cdot ( \mathbf{a}_{2} \times \mathbf{a}_{3} ) \right|$   .   (5)

This is equivalent to choosing the integers nij so that
$\left| \begin{array}{ccc} n_{11} & n_{12} & n_{13} \\ n_{21} & n_{22} & n_{23} \\ n_{31} & n_{32} & n_{33} \\ \end{array} \right| = \pm 1$   .   (6)

Possible unit cells for the lattice
			     generated using different sets of
			     primitive vectors
Figure 4: Several possible unit cells for the lattice generated using different sets of primitive vectors (4). Every choice of primitive cell tiles all space and so represents the same lattice.

There are an infinite number of possibilities for the unit cell shape, some more practical than others. Fig. 4 shows a selection of unit cells are generated by different choices of primitive vectors (4). All these cells describe the same lattice: they all have the same area, and they all tile the plane. Any one of them is an acceptable unit cell.

Is there any unique unit cell that we can draw independent of the choice of primitive vectors? At least one such cell exists. It’s called the Wigner-Seitz cell 1 and it is the set of all points in space that are closer to one lattice point than to any other. The Wigner-Seitz cell for the lattice in is shown in Fig 5. It was drawn by determining the half-way point between the central lattice point and every other lattice point. Since you can draw this cell around any lattice point it tiles the lattice and makes an acceptable unit cell with the lattice point at the center of the cell.

Wigner-Seitz cell
Figure 5: The Wigner-Seitz cell for the lattice in Fig. 3. For other views, see our demonstration structure page and click on the Wigner-Seitz button.

Lattice Vector Notation: The Standard Version

In general the literature does not use Cartesian coordinates to describe the lattice vectors as we did in (3). Obviously these can change with the orientation of the x-, y-, and z- axes without affecting the properties of the lattice. Instead, crystallographers use a standard notation for the vectors: a, b, and c for the vector lengths, and α, β and γ for the angles between the vectors. So if we have a set of vectors described by (3), we can define these values by

$\begin{array}{ccc} a & = & \mathbf{a}_{2} \cdot \mathbf{a}_{3} \\ b & = & \mathbf{a}_{3} \cdot \mathbf{a}_{1} \\ c & = & \mathbf{a}_{1} \cdot \mathbf{a}_{2} \\ \cos \alpha & = & (\mathbf{a}_{2} \cdot \mathbf{a}_{3})/(|\mathbf{a}_{2}| |\mathbf{a}_{3}|) \\ \cos \beta & = & (\mathbf{a}_{3} \cdot \mathbf{a}_{1})/(|\mathbf{a}_{3}| |\mathbf{a}_{1}|) \\ \cos \gamma & = & (\mathbf{a}_{1} \cdot \mathbf{a}_{2})/(|\mathbf{a}_{1}| |\mathbf{a}_{2}|) \end{array}$   .   (7)

Standard Lattice Constant Notation
Figure 6: Standard representation of the lattice constants of crystal from (7). The example is high-pressure californium.

An example of this can be seen in Fig. 6, which shows the lattice vectors for high-pressure californium. Fig. 7 presents a simple, albeit unphysical, mnemonic to help you remember what goes where.

Mnemonic for Standard
	  Lattice Constant Notation
Figure 7: Mnemonic for the standard representation of the lattice constants of crystal from (7). This obviously does not represent a real crystal.

Decorating the Lattice – The Basis

We've spent a lot of time talking about lattices, primitive vectors, and unit cells are useful for defining crystal structures, the lattice shown in is not particularly interesting by itself. A real crystal structure like the one shown in has a lot more going on. To spice up our lattice let’s add two “atoms,” to a lattice. We could do this for californium, as shown in Fig. 6, but let's find a structure with two different atomic species, cesium and chlorine, in the (duh) cesium chloride structure, shown in Fig. 8.

CsCl Structure
Figure 8: The unit cell of cesium chloride. Each of the corner atoms in the unit cell is shared by eight cells, so there is only one chlorine atom per cell.

This looks like a cube with nine atoms, but since the chlorine atoms are on the corners of the cube, each one atom sticks into eight different unit cells, so there is actually only one chlorine atom per unit cell.

Crystals can have any number of atoms in the unit cell. For example, cubic perovskite, Fig. 1 has five, but we’ll keep it simple here.

It’s important to realize that the chlorine (green) and cesium (purple) atoms are not lattice points, even though in our picture the chlorine atoms are on lattice points. The two atoms aren’t the same, and they aren’t separated by any primitive vector (2). Instead, they form the basis of the crystal structure. In the real world this is where all the physics and chemistry happen.

Now we have to describe the position of each atom in the unit cell. This is done by basis vectors, one for each atom in the unit cell. In this case we have atoms at BCl for the chlorine atom and BCs cesium. Once we have those, we can decorate the entire crystal, putting the chlorine atoms at the points

RCl = n1a1 + n2a2 + n3a3 + BCl   (8)
and the cesium atoms at the points
RCl = n1a1 + n2a2 + n3a3 + BCs   (9)
This is shown in Fig. 9.

Lattice plus basis with
					    primitive and basis vectors.
Figure 9: A part of the lattice defined by (8) and (9). The primitive vectors (in red) and the basis vector BCs (in light purple) are shown. Since the chlorine atom is at the origin in this representation it has zero length and is not shown.

Like nearly everything else we’ve discussed here, the choice of basis vectors isn’t unique. Any vector

B'i = n1a1 + n2a2 + n3a3 + Bi   (10)
with any integers n1,2,3 is a valid choice for the basis vector for atom i. Your choice of basis vectors will depend on what you want to do with the structure. Here we chose to keep the vectors inside the original unit cell, but there is no reason that we had to.

While we can specify the coordinates of the basis vectors in Cartesian coordinates, it’s often useful to specify the lattice coordinates in terms of the lattice vectors, e.g.

Bi = αi1 a1 + αi2 a2 + αi3 a3   ,   (11)
where the αij are the lattice coordinates of the basis vectors. We calculate the coordinates using the reciprocal lattice vectors. These are always written $\mathbf{b}_{i}$ (don’t confuse them with the basis vectors $\mathbf{B}_{i}$). They are defined so that
ai · bj = 2 π δij   ,   (12)

where δij is the Kronecker delta.* In three dimensions (12) is satisfied if
bi = 2 π aj × ak/V   ,   (13)
where V is the unit cell volume (3) and the integers i , j , k are in cyclic order.

Once we have the reciprocal lattice vectors it is easy to show that if we have any basis vector Bi can be expressed in the form (11) with

αij = Bi · bj / (2 π)   .   (14)

In practice the use of Cartesian coordinates or lattice coordinates for the basis vectors depends on the project. The Encyclopedia of Crystallographic Prototypes gives both Cartesian and lattice coordinates for the basis vectors of each structure.

A Real-World Example: Tungsten Carbide

As an example, let's look at something a little more complicated than CsCl: tungsten carbide (WC), shown in Fig. 10.

Figure 10: Crystal structure of tungsten carbide. The carbon atoms are gray and the nitrogens are blue. The red arrows show the primitive vectors, the green arrow shows the nitrogen basis vector, and the red lines outline the unit cell. In this representation the carbon basis vector has zero length and so is not shown.

Now that we have a real structure, we can apply the procedures we developed above to describe this system:

  • Tungsten carbide has a hexagonal lattice, our Encyclopedia page gives the primitive vectors as
    $\begin{array}{ccc} \mathbf{a}_{1} & = & \frac{a}{2}   \hat{x} + \frac{\sqrt3 a}{2}   \hat{y} \\ \mathbf{a}_{2} & = & \frac{a}{2}   \hat{x} + \frac{\sqrt3 a}{2}   \hat{y} \\ \mathbf{a}_{3} & = & c \hat{z} \end{array}$   .   (15)
  • The unit cell volume (3) is then
    $V = \frac{\sqrt3}{2} a^2 c$   .   (16)
  • The reciprocal lattice vectors (8) are
    $\begin{array}{ccc} \mathbf{b}_{1} & = & \frac{2\pi}{a} ~ \hat{x} - \frac{2\pi}{\sqrt3 a} ~ \hat{y} \\ \mathbf{b}_{2} & = & \frac{2\pi}{a} ~ \hat{x} + \frac{2\pi}{\sqrt3 a} ~ \hat{y} \\ \mathbf{b}_{3} & = & \frac{2\pi}{c} \hat{z} \end{array}$   .   (17)
  • We’ll use the basis vectors drawn in the figure,
    $\begin{array}{ccc} \mathbf{B}_{C} & = & 0 \\ \mathbf{B}_{N} & = & \frac12 a \hat{x} + \frac{1}{2\sqrt3} \hat{y} + \frac12 c \hat{z} \end{array}$   ,   (18)

    or, in lattice coordinates,
    $\begin{array}{ccc} \mathbf{B}_{C} & = & 0 \\ \mathbf{B}_{N} & = & \frac13 \mathbf{a}_{1} + \frac23 \mathbf{a}_{2} + \frac12 \mathbf{a}_{3} \end{array}$   .   (19)

  • More Symmetry

    So far we’ve only discussed translational symmetry in the lattice. Tungsten carbide (Fig. 10) obviously has much more symmetry than that. For example,

    • rotating the structure by 60°, or any multiple of 60°, using a3 as the axis, or
    • reflecting all the atoms through the y axis, (x y z) → (x y -z),

    will not change what the picture looks like. We’ll discuss these higher symmetries in the in later articles.

    Further Reading

    For an earlier and much more formal version of much this discussion, see The Library of Crystallographic Prototypes: Parts 12 and 23. We also have tutorials on crystallography in two dimensions.

    Resources

    AFLOW
    AFLOW (Automatic FLOW) is an open-source package which can be used to generate and run first-principles electronic structure calculations for a variety of codes. It can also be used to analyze and compare crystal structures, including the production of Crystallographic Information Files (CIFs). This code is the primary resource used to generate the structures in the Encyclopedia of Crystallographic Prototypes.
    gnuplot
    gnuplot is a freely-distributable code for plotting graphs. We use it extensively in these tutorials and in other sections of the Encyclopedia.
    Jmol
    Jmol is an open-source Java viewer which can be used to visualize crystal structures as well as molecules. Many of the figures shown here were drawn with Jmol.

    Glossary

    Here is a brief definition of some of the terms used in this article:

    Basis:
    The collection of items (atoms, pixels, paint drops) that decorate a lattice to produce a crystal or a wallpaper. Every object in a crystal structure is part of the basis.
    Basis Vectors:
    The vectors pointing from the origin of the lattice to the individual members of the basis.
    Cartesian (Basis) Coordinates:
    The positions of the basis vectors relative to the origin given on a standard Cartesian grid.
    Crystal:
    A periodically repeated collection of objects in n-dimensions.
    Lattice:
    A periodically repeated collection of points in n-dimensions.
    Lattice Coordinates:
    The positions of the basis vectors expressed relative to the chosen primitive vectors of the system.
    Primitive Vectors:
    A set of vectors that defines the allowed shifts in the origin of the lattice that do not violate translational symmetry.
    Reciprocal Lattice Vectors:
    A set of vectors forming the “reciprocal space” of the lattice. Here we only use them to determine the lattice coordinates of the basis vectors. There are many more uses for reciprocal lattice vectors which we will discuss in later articles.
    Translational Symmetry:
    A shift of the origin of a crystal that produces a structure indistinguishable from the original.
    Unit Cell:
    The (non-unique) smallest area (smallest volume in three dimensions) of space that reproduces all of the information about the crystal structure, and which can be periodically tiled to create the entire structure.
    Wigner-Seitz Cell
    A uniquely defined unit cell consisting of all spatial points closer to a given lattice point than to any other lattice point.

    Footnotes

    This applies to periodic crystals. There is a class of materials known as quasicrystals which tile all space but do not have three- (or two-) dimensional periodicity. These are extremely difficult to model computationally, so we won't get to them, except in passing, until much later.

    You can see the basis vectors for the perovskite structure in the PowerPoint version of this talk.

    * The factor of 2π is not particularly important here. We’ll see a use for it when we discuss the reciprocal space for the quantum mechanical description of the system, which will be in a much later article in these tutorials.

    References

    1. N. W. Ashcroft and N. D. Mermin, Solid State Physics (Saunders College Publishing, Orlando, 1976), chap. 4, pp. 73–75. A downloadable copy is available through the Internet Archive.
    2. M. J. Mehl, D. Hicks, C. Toher, O. Levy, R. M. Hanson, G. L. W. Hart, and S. Curtarolo, The AFLOW Library of Crystallographic Prototypes: Part 1, Comput. Mater. Sci. 136, S1–S828 (2017), doi:10.1016/j.commatsci.2017.01.017. (arXiv link)
    3. D. Hicks, M. J. Mehl, E. Gossett, C. Toher, O. Levy, R. M. Hanson, G. L. W. Hart, and S. Curtarolo, The AFLOW Library of Crystallographic Prototypes: Part 2, Comput. Mater. Sci. 161, S1–S1011 (2019), doi:10.1016/j.commatsci.2018.10.043. (arXiv link)