x ray diffraction