Miller indices and periodic boundary conditions

  • Context: Undergrad 
  • Thread starter Thread starter Spathi
  • Start date Start date
  • Tags Tags
    Crystallography
Click For Summary
SUMMARY

The discussion focuses on the implementation of Miller indices in the Chemcraft program for quantum chemistry computations involving periodic boundary conditions (PBC). The user seeks to derive the lattice vectors A and B given the vector C, specifically for the Miller index (1 1 1). It is established that A and B must be orthogonal to C but not necessarily to each other, and they must remain integer values to define the same crystal structure. The example provided uses NaCl with lattice parameters of a=b=c=5.4533 Angstroms and illustrates the transformation of lattice vectors in the context of crystallography.

PREREQUISITES
  • Understanding of Miller indices in crystallography
  • Familiarity with periodic boundary conditions (PBC)
  • Knowledge of lattice vectors and their properties
  • Experience with Chemcraft or similar computational chemistry software
NEXT STEPS
  • Research the mathematical derivation of Miller indices in three dimensions
  • Explore the implementation of periodic boundary conditions in computational models
  • Learn about the role of lattice vectors in defining crystal structures
  • Investigate the use of Materials Studio for lattice redefinition and its comparison with Chemcraft
USEFUL FOR

This discussion is beneficial for quantum chemists, crystallographers, and computational chemists involved in modeling crystal structures and implementing periodic boundary conditions in their simulations.

Spathi
Gold Member
Messages
102
Reaction score
10
TL;DR
PBCs mean that the atoms with e.g. fractional coordinates (0.0;0.0;0.0) and (1.0;0.0;0.0) are equivalent. PBCs in crystals are specified by three lattice vectors A, B, C...
I work in the field of quantum chemistry, in particular computations with periodic boundary conditions (PBC) needed for crystallographers. The crystallography data is usually presented as a set of fractional coordinates which are recounted to Cartesian ones. In the fractional coordinates, each cell of a crystal is a cube, e.g. the atoms in molecule belonging to the first cell have the coordinates from 0.0 to 1.0. Some real crystals have cubic cells too, e.g. NaCl:
miller1_NaCl.jpg

PBCs mean that the atoms with e.g. fractional coordinates (0.0;0.0;0.0) and (1.0;0.0;0.0) are equivalent. PBCs in crystals are specified by three lattice vectors A, B, C; e.g. for NaCl above these vectors are three orthogonal vectors with length 5.4533 Angs each (this also mean that the crystallography parameters are: a=5.4533, b=5.4533, c=5.4533, alpha=90, beta=90, gamma=90). At the same time, for each crystal, in fact there must be an unlimited numbers of possible lattice vectors. This can be illustrated by a 2-d example:
miller2_2d_31mill.jpg

Here the trivial PBC parameters are (1.0; 0.0) and (0.0;1.0), but also we can build the lattice vectors (3.0; -1.0) and (1.0; 3.0), which describe the same crystal.

I try to implement building the Miller indices in my program Chemcraft. Firstly the user specifies three integer numbers, e.g. 1 1 1, which mean that the new vector C will be (1.0; 1.0; 1.0) in fractional coordinates. My question is, how to build the A and B vectors if we know C. This is similar to the 2d task above, but evidently more difficult.

As far as I understand, the A and B vectors can be built in different ways; they must be orthogonal to C, maybe to each other too, but they still can be rotated along the C vector. And they must be still integers, if I understand correctly, and they must define the same crystal as it was. This can be illustrated by the 2d picture above – if the first lattice vector A=(3.0; -1.0), the second can be only B=(1.0; 3.0) to keep the same crystal.

So how can these integers A and B (3 digits for each) be obtained, if we know C?

The new values of A, B, C in terms of old (9 numbers) can be entered in the window “Redefine lattice” in Materials Studio program, I have implemented the same in Chemcraft. I suppose, to build the Miller index 1 1 1, we should specify these lattice redefinition parameters:

A: 0 1 -1

B: -1 1 0

C: 1 1 1
With these parameters, we transform this cell
miller3_nacl_mill111.jpg


Into this cell
miller4_nacl_mill111_result.jpg

Is this correct? And is it correct that the A and B vectors are not orthogonal to each other (though they are orthogonal to C)?
 
  • Like
Likes   Reactions: MAXIM LI

Similar threads

  • · Replies 9 ·
Replies
9
Views
3K
  • · Replies 3 ·
Replies
3
Views
6K
  • · Replies 9 ·
Replies
9
Views
4K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
Replies
1
Views
2K
Replies
1
Views
3K
Replies
17
Views
7K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 11 ·
Replies
11
Views
4K