Nearest Neighbor Distances
in Cubic
The number of atoms or ions close to a given atom or ion in a crystal lattice is important for many applications  for example, the Madalung constant used in lattice energy calculations. The cubic lattice is used to illustrate the idea because the distance equation is simple. The calculations can be generalized to any crystal system.
Let r be the vector which defines a lattice point, relative to a chosen orign, in a cubic crystal:
_{}
where a, b, and c are the orthogonal basis vectors all of length a (the cubic lattice constant). For a primitive (simple cubic, SC) lattice, u,v,w must all be even integers. For a facecentered cubic (FCC) lattice, two of these integers must be both odd or both even; for a bodycentered cubic (BCC) lattice, the three integers must be all odd or all even. For interpenetrating FCC lattices (e.g., NaCl), lattice points in the other lattice have either one or three odd integers.
Lattice points surround the chosen origin in concentric spherical "nearest neighbor" shells, and the reduced radius of each shell is
_{}
where m is the sum of squared integers and d is the length of vector r. Note, however, that not all values of m represent shells populated by lattice points. For example, the sum of squared integers cannot equal 7, 15, 23, 28, 31, etc., so these virtual shells are empty.
The nearestneighbor distance formula above may be simplified further for each lattice due to the restrictions placed on the parity of u,v,w. For example, m = 4n_{sc}, where n_{sc} is the index number of the nearest neighbor shells in a simple cubic lattice:
_{}
Note, however, that the "seventh" shell (m = 28) is not populated by lattice points. Similarly, m = 2n_{fcc} and
_{}
That is, the nearest neighbor shells in an FCC lattice have m even (except for m = 28, etc). In an interpenetrating FCC lattice like NaCl, the counterions would populate the m odd shells (except for m = 7, 15, 23, 28, 31, etc.). For BCC lattices, the parity restrictions are more complex: let h be a set of integers 0,1,2,3,etc.; then
for n_{bcc} = 3h + 1 (= 1,4,7,10,13,...), m = 8h + 3
for n_{bcc} = 3h  1 (= 2,5,8,(not 11),...), m = 8h  4
for n_{bcc} = 3h + 0 (= 3,6,9,12,...), m = 8h + 0
The lattice points which populate a given shell form a coordination polyhedron. The actual population (P) of lattice points on a shell is not easy to calculate. The table below lists the populations of all shells (real and virtual) with _{}. To see images of each coordination polyhedron (to m = 16), click on the shell number. If you have the browser application CHIME installed, you can interact with the polyhedron.
m 
d/a 
P 
n_{sc} 
n_{bcc} 
n_{fcc} 
0.500 
6 


(1) 

0.707 
12 


1 

0.866 
8 

1 
(2) 

1.000 
6 
1 
2 
2 

1.118 
24 


(3) 

1.225 
24 


3 

7 
1.323 
0 


(4) 
1.414 
12 
2 
3 
4 

1.500 
30 


(5) 

1.581 
24 


5 

1.658 
24 

4 
(6) 

1.732 
8 
3 
5 
6 

1.803 
24 


(7) 

1.871 
48 


7 

15 
1.936 
0 


(8) 
2.000 
6 
4 
6 
8 

17 
2.062 
48 


(9) 
18 
2.121 
36 


9 
19 
2.179 
24 

7 
(10) 
20 
2.236 
24 
5 
8 
10 
21 
2.291 
48 


(11) 
22 
2.345 
24 


11 
23 
2.398 
0 


(12) 
24 
2.449 
24 
6 
9 
12 
25 
2.500 
30 


(13) 
26 
2.550 
72 


13 
27 
2.598 
32 

10 
(14) 
28 
2.646 
0 
7 
11 
14 
29 
2.693 
72 


(16) 
30 
2.739 
48 


15 
31 
2.784 
0 


(16) 
32 
2.828 
12 
8 
12 
16 
33 
2.872 
48 


(17) 
34 
2.915 
48 


17 
35 
2.958 
48 

13 
(18) 