Whenever we are to calculate the d-spacing(for cubic system) in XRD peaks with reference to Quadratic Factors we do that with the help of the formula $$\frac{1}{d_{hkl}^2}=\frac{h^2+k^2+l^2}{a^2}.$$

Please tell me how we are arriving at this form and where from are we getting ${h^2+k^2+l^2}$ as a factor. I know that things are different for hexagonal. Would be happy if both are explained with more emphasis on the cubic one.

  • $\begingroup$ Should your RHS not have a square root? That is, $d=\frac{a}{\sqrt{N}}$ where $N=h^2+k^2+l^2$. $\endgroup$
    – jacob1729
    Commented Aug 7, 2019 at 17:01
  • $\begingroup$ @jacob1729 Thanks for the clarification. Just edited. $\endgroup$
    – user586228
    Commented Aug 7, 2019 at 17:34

2 Answers 2


Reciprocal space

One way to derive the formula is to use reciprocal space coordinates. The reciprocal space lattice has three unit cell vectors, a*, b* and c*. The diffraction vector d* is given by:

$$d^* = h a^* + k b^* + h c^*$$

The d-spacing is given by the reciprocal length of d*. The relationship between direct space and reciprocal space unit cell vectors is

$$a \cdot a^* = 1$$ $$b \cdot a^* = 0$$ $$c \cdot a^* = 0$$

$$a \cdot b^* = 0$$ $$b \cdot b^* = 1$$ $$c \cdot b^* = 0$$

$$a \cdot c^* = 0$$ $$b \cdot c^* = 0$$ $$c \cdot c^* = 1$$

So to get the d-spacing, we have to figure out the length of $d^*$. For a cubic system, the reciprocal space unit vectors all have the lenght of 1/a, and they are all at right angles. To get the length for the cubic system, we use Pythagoras' theorem (or the length of a vector in Cartesian space): It is the square root of the coordinates squared.


$$|d^*| = |a^*| \sqrt{h^2 + k^2 + l^2}$$

To get to your formula, substitute 1/d for $d^*$ and 1/a for $a^*$. For the hexagonal system, it is a bit different because the angles are not all 90 degrees, so there will be a trigonometric factor (sin 120 or cos 120 or such) in the respective formula.

Direct space

One plane will go through the origin, the next through a/h, b/k and c/l. In the cubic case, a vector normal to the plane is (h, k, l). To get the distance of the plane from the origin, you can take any point in the plane and form the dot vector with the normalized vector (h, k, l). For example,

$$ d = \frac{(h, k, l)}{\text{length} (h, k, l)} \cdot (1/h, 0, 0)$$

For a cubic system, this will simplify to the expression for the d-spacing. The term $h^2 + k^2 + l^2$ is from the length of the (h, k, l) vector.

(h k 0), no vectors

Both derivations above use vectors. Here is a derivation for the 2-dimensional case using no vectors.

enter image description here

Let the origin be point A. In a cubic system, the plane hk0 intersects the x-axis at a/h (point B) and the y-axis at b/k (point C). Our goal is to calculate the altitude. We use that the area of the triangle can be calculated two ways, using the perpendicular sides or using the hypothenuse and altitude:

$$\text{Area} = \frac{1}{2} * \frac{a}{h} * \frac{b}{k} = \frac{1}{2} * \text{hypothenuse} * \text{altitude}$$

We can get the length of the hypothenuse from Pythogoras:

$$\text{hypothenuse} = \sqrt{(\frac{a}{h})^2 + (\frac{b}{k})^2}$$

Then, we can solve for the altitude:

$$\text{altitude} = \frac{\frac{a}{h} * \frac{b}{k}}{\text{hypothenuse}}$$

$$ = \frac{\frac{a}{h} * \frac{b}{k}}{\sqrt{(\frac{a}{h})^2 + (\frac{b}{k})^2}}$$

With a = b and simplifying, we get the formula the OP asked for (in two dimensions).


We know that the planes (h k l) are the planes which are perpendicular to the vector (h, k, l). Thus, their equations are: $$hx+ky+lz=D$$, in which D is a real number. But these planes have to pass through atoms of the crystal. So, $$D=na$$, where a is the lattice parameter and n is a natural number (e.g., 1, 2, 3, ...). So, the planes have the equation: $$hx+ky+lz=na$$ The distance between two adjacent planes is, thus, the difference between its distances from the origin of the Cartesian coordinate system. $$d=\frac{na}{\sqrt{h^2+k^2+l^2}}-\frac{(n-1)a}{\sqrt{h^2+k^2+l^2}}$$ $$d=\frac{a}{\sqrt{h^2+k^2+l^2}}$$ And thus your formula is correct.

  • $\begingroup$ Nice answer! Mathworld has a concise explanation of the distance of a plane from the origin: mathworld.wolfram.com/HessianNormalForm.html. Basically, the first equation is the plane in Hessian normal form when you divide by the length of the (h k l) vector. $\endgroup$
    – Karsten
    Commented Aug 9, 2019 at 6:46
  • 1
    $\begingroup$ @KarstenTheis:Your answer is has way more depth but this is more comprehendable for beginners. $\endgroup$
    – user586228
    Commented Aug 9, 2019 at 13:28
  • $\begingroup$ @Lemoine: Tell me something while you substituted D=na. Tell me whether it is necessary that the diffraction will take place only at planes which are separated by one lattice parameter?Can the diffraction not take place at other planes? $\endgroup$
    – user586228
    Commented Aug 10, 2019 at 18:40
  • $\begingroup$ @user586228: It only makes sense to talk about planes with atoms in it. We know that the coordinates x, y and z of an atoms are integer multiples of a (in cubic systems). If D is different from na, the plane does not contain any atom. $\endgroup$
    – 1__
    Commented Aug 10, 2019 at 20:10
  • $\begingroup$ @Lemoine what about planes having miller index {111}?Can they be quantified by a natural multiple of lattice constant? $\endgroup$
    – user586228
    Commented Aug 10, 2019 at 20:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.