Ab initio structure determination using powder diffraction
Pierre BORDET
Institut Néel, CNRS Grenoble
[email protected]
Description of the Crystal Structure
The crystal structure is completely determined by the knowledge of
the unit cell
the space group
the asymmetric unit
To solve the structure, these three components must be determined
Crystal data
Formula sum O2 Ti
Crystal system tetragonal
Space group P 42/m n m (no. 136)
Unit cell dimensions a = 4.5937 Å c = 2.9587 Å
Cell volume 62.40 Å3
Z 2
Atomic coordinates
Atom Ox. Wyck. x y z
Ti +4 2a 0 0 0
O -2 4f 0.30469 0.30469 0
Selected geometric parameters (Å, °)
Ti—O 1.949(0) Ti1—Ti1ii 2.959
O—O 2.959 Ti1—Ti1iii 3.569
A crystal can be described as the convolution of an atomic motif M (r ) and a lattice R(r )
C (r ) R(r ) * M (r )
The scattered amplitude corresponds to the Fourier transform of the scattering object
C (h ) TFC (r ) TFR(r ) * M (r ) R(h ) xF (h )
The Fourier space is called reciprocal space
R(h ) = Fourier transform of the (direct) lattice : Reciprocal Lattice
F (h ) = Fourier transform of the atomic motif : Structure factor
Knowing the reciprocal lattice and the structure factors is equivalent to
knowing the structure in real space
That is the aim of the diffraction experiments (RX, neutrons, electrons)
Structure Factors
Fhkl : structure factor for reflexion (hkl) = TF{ M (r ) }, atomic motif
Fhkl : Fourier transform of the scattering density of the the crystal
Fhkl fT
j cell
j j exp( 2i (hx j ky j lz j ))
fj : scattering factor for atom j with coordinates (xj, yj, zj). FT of its scattering density
For x-rays, fj is the atomic form factor,
For neutrons, fj = bj is the Fermi length.
Tj = Debye-Waller factor related to atomic displacements (thermal, static…).
In an isotropic, harmonic approximation one has :
T j exp B j (sin 2 ) / 2 with B j 8 2 U j
2
2
Uj is the root mean square displacement of atom j.
Extinction Conditions :
If the crystal contains symmetry elements with translations, some categories of reflexions will
have zero intensity by symmetry. One speaks of systematic extinctions
Example : body centered lattice I : translation (a b c ) / 2
For every atom at (xj, yj, zj) there an equivalent atom at (xj+1/2, yj+1/2, zj+1/2)
Fhkl f
j cell
j exp( 2i (hx j ky j lz j ))
Fhkl f j exp( 2i (hx j ky j lz j ))1 exp(i (h k l ))
j 1 / 2 cell
=> The lattice is I Fhkl=0 for every odd (h+k+l)
This is used to detect symmetry-translation elements and restrict the space group choice
Integral Extinctions :
3 indices, due to lattice
Zonal Extinctions :
2 indices, due to glide mirrors
Serial Extinctions :
1 index, due to screw axes
This can be performed using CheckGroup within the Fullprof Suite toolbar
Diffracted Intensity
The diffracted intensity is the quantity accessible in a diffraction experiment
(proportional to the number of diffracted particles reaching the detector)
In the kinematic approximation (neglecting double diffraction), one has :
I hkl S.Chkl . Fhkl
2
S : scale factor
Chkl : experimental corrections
instrument (Lorentz, polarization, diffraction geometry…)
sample (multiplicity, absorption, preferred orientation, extinction…)
Fhkl fT
j cell
j j exp( 2i (hx j ky j lz j ))
Fhkl : complex number => the phase of Fhkl is not measured. The information is incomplete
To solve the structure, one must retrieve the phases of Fhkl , one way or another…
Ab initio experimental détermination of crystal structure
using powder diffration and the Fullprof Suite
… can be a difficult matter (even with FPS !)
One needs a high quality sample already well characterized (composition, density, dimension…)
Carry out one or more well adapted diffraction experiments
(x-ray and/or neutrons and/or electrons, choice of resolution, wavelength, etc…)
Find the unit cell and index Bragg reflexions
Using WinplotR + Dicvol04, Treor, Ito, etc…
Obtain the intensities of Bragg reflexions and determine the space group
Using Fullprof in LeBail mode + CheckGroup
Find an approximate starting structural model of the atomic motif ab initio
Using Direct methods , simulated annealing (Fullprof, GloPSAnn), Charge flipping
(superflip)
Refinement and Fourier recycling to obtain a complete and accurate structure
Rietveld Refinement using Fullprof, Fourier using GFour
Determining the space group :
Example : TiO2 rutile, x-ray powder diffraction, λ=1.54Å
TETRAGONAL SYSTEM
a= 4.59349, c= 2.95862
H K L 2TH.OBS 2TH.CAL DIF
1 1 0 27.435 27.437 -.002
1 0 1 36.075 36.081 -.006
2 0 0 39.197 39.192 .005
1 1 1 41.241 41.241 .000
2 1 0 44.051 44.046 .005
2 1 1 54.320 54.323 -.003
2 2 0 56.631 56.629 .002
0 0 2 62.765 62.760 .005
3 1 0 64.051 64.051 .000
3 0 1 68.998 69.007 -.009
1 1 2 69.792 69.804 -.012
2 0 2 76.554 76.541 .013
3 2 1 82.335 82.341 -.006
4 0 0 84.250 84.254 -.004
4 1 1 95.260 95.261 -.001
3 1 2 96.013 96.011 .002
4 2 0 97.179 97.172 .007
Presence Conditions : 0kl, k+l=2n
h00, h=2n
00l, l=2n
Axis 42 parallel to c (consequence)
Axis 21 parallel to b (resp. a) (consequence)
Mirror n perp. to a (resp. b)
=> Extinction symbol = P . n .
3 choices of possible space groups ! P42nm, P-4n2, P42/mnm
Or use CheckGroup to select the most probable Space Groups
- Use DicVol/Treor… to find the unit cell and create a starting .pcr file
- Make a LeBail type refinement to generate a .hkl file
Pattern# 1 Phase No: 1 phase 1: Myphase
1366 0 293.00 <-- The number of effective reflections may be lower
2 0 0 4 18.884 0.801 5.1224 0.0138
1 1 2 8 27.160 0.473 5.4115 0.0138
2 0 1 8 403.671 1.470 5.5030 0.0138
2 1 0 8 4.917 0.551 5.7275 0.0139
. . . . . . . . . . . . . .
- Use CheckGroup from the FPSuite toolbar
Mesure of density TiO2 :
Z=2
2 Ti and 4 O per cell
One can almost solve the structure
Just by knowing the cell and space group
…and a bit of crystal-chemistry…
Solving crystal structures by direct methods
Phases of strong reflections are obtained directly from the structure factor moduli
Based on few simple properties of scattering density functions :
- scattering density is always positive (not always true for neutrons)
- scattering density is a strongly peaked function at atomic positions
Sophisticated mathematical developments based on simple concepts.
Requires the space group symmetry and a somewhat relaxed knowledge of the cell content
For powder data, the indexed peak intensity list must be obtained using LeBail fitting.
Overlapping reflections must be taken care of.
Example at 1D Structure 1D centrosymmetric. Suppose Fh and F2h are strong enough
so that they dominate the calculation of the scattering density :
1
( x) Fh cos 2 .h.x Fh cos 2 .h.x F2h cos 2 .2h.x
a h
=> 4 possibilities according to the signs of Fh ad F2h
We look for a function with localized (positive) peaks !!
Fh>0 + F2h>0
Fh>0
Fh>03+ F2h<0
Fh<0 1.5
Fh<0 + F2h>0
F2h>0
Fh<0 + F2h<0
F2h<0
1 2
0.5 1
0 0
-0.5 -1
-1 -2
-1.5 -3
0 50 100 150 200 250 300 350 0 50 100 150 200 250 300 350
angle (deg) angle (deg)
Since (x) > 0, if Fh and F2h are strong,
F2his probably positive, whatever the sign of Fh.
Example at 3D
Structure 3D centrosymmetric, Fh, Fk andFh-k (called structure invariant triplet)are strong :
they have a dominant contribution to the overall scattering density
1
(r )
V h
Fh cos 2h.r
Full lines : maxima of
Fhcos 2h.r
Fkcos 2k.r
Fh-kcos 2(h-k).r
Broken lines : minima .
A, B, C, D : regions of probably
strong scattering density
IfFh, Fk and Fh-kare strong, the Fourier terms must add Region S(h) S(k) S(h-k)
to yield a positive, peaked scattering density A + - -
=> cos 2h.r = +1 if Fh>0, cos 2h.r = -1 if Fh<0. B + + +
These conditions are satisfied at A, B, C, D only if : C - - +
D - + -
=> le product S(h).S(k).S(h-k) is always positive
=> if Fh, Fk andFh-kare large enough and if 2 signs are known, the 3rd
can be determined with a good (and calculable) probability.
Practical Use
Expo .exp file : unit cell, space group, cell content
Expo does :
- pattern decomposition to generate .hkl file if required (or use LeBail fit in Fullprof)
- structure factor normalization
- Wilson plot to get scale factor and Boverall
I hkl E. Fhkl . exp( (2B sin 2 ) / 2 ) with s=sin/,
2
In a small s interval, one gets :
I hkl
f
2
E. exp( 2 Bs )
2
K ( s) and Fhkl j
2
2 maille
Fhkl
lnE – 2Bs2 = lnK(s)
E and B are obtained from a linear fit of K(s) vs s2.
- determination of origin fixing reflexions
- search of usable s.i. (strongest reflexions)
- phase expansion
- Fourier (E-map) yields the structural model (atom positions)
Practical Use:
For powder diffraction, a list of (hkl I sigma) must be provided to an external direct methods
program (e.g. Expo, Bari team). Expo can also perform the LeBail fit, for a single phase only.
In case of single phase, use Expo for LeBail intensity extraction and direct method solution
In case of multi-phase, use FP for LeBail fit of phase of interest (others=Rietveld), create
input data files in a suitable format for Expo (hkl=2). Run Expo for direct method structure
solution using the created .hkl file (CodFil.hkl) and prepare an .exp expo file.
Run Expo. Transfer the result to FullProf (use .ins file)
Then, Rietveld refinement/Fourier recycling with Fullprof/GFourier
.exp file with extraction in Expo .exp file with extraction in Fullprof
%window %window
%struct TiO2 %struct TiO2
%job TiO2 %job TiO2
%init %init
%data %data
pattern TiO2.pow ref2 TiO2.hkl
range 20.000 109.98 0.03 wave 1.540598
format (15x,f12.0) space P 42/M N M
record 1 cell 4.5937 4.5937 2.9589 90.0 90.0 90.0
wave 1.540598 cont Ti 2 O 4
space P 42/M N M %continue
cell 4.5937 4.5937 2.9589 90.0 90.0 90.0
cont Ti 2 O 4
%extract
%continue
Methods for ab initio structure solution in direct space
Principle :
Plausible structure model are randomly generated by moving atoms or groups of atoms. The
calculated diagram is compared to the observed one
Difficulties :
avoid a priori impossible configurations (too small distances, etc.) not always necessary/useful
avoid to get blocked in a local minimum
sensitivity to the algorithm parameters.
Example : simulated annealing
Originally, a method to predict structures ab initio (without experimental data).
For each configuration, one calculates a cost function, based on a pseudo-potential energy to
minimize, and on the agreement between experiment and model :
C=Epot+(1-)R
Epot may depend on the bond type (ionic, covalent, intermetallic…), Lennard-Jones, coulomb, …
R 100 I exp (2 ) I calc (2 ) / I exp (2 )
2 2
One goes from config. Ci to Ci+1 following a Monte-Carlo type algorithm,
If Ci+1 < Ci, move accepted
If Ci+1 > Ci, move accepted with probability : exp[-(Ci+1-Ci)/K]
K temperature, decreases slowly during search following a predefined “temperature program”.
Interests of simulated annealing
May not be necessary to know the space group (may work in P1, but it is still better to know it)
May not be necessary to know the composition (atoms may move on top of each other and merge,
but no new atom can be created, so it is still better to know it)
Flexibility to define the parameters in the minimization process (not necessarily atomic positions)
structural rigid groups (tetrahedra, octahedra…)
rigid molecular groups, in cartesian, spherical, Z-matrix coordinates
unknown structure fragments, beside already known ones
magnetic moments orientations and moduli (solving magnetic structures)
amplimodes, starting from a (hypothetical) higher symmetry structure
Reduction of the number of parameters
More stable minimization procedure
Adapted to the geometrical/crystallo-chemical specificities of a given problem
Preparing your data file in FullProf:
Do a LeBail fit with More=1, Jvi=11. Produces the _ctrl.int file containing single crystal-like intensities
If Ipr=-1 (line 2) a pseudo-profile data file .spr is produced for using pseudo-profiles in the SAN search.
Then use these data for the SAN search with a single crystal structure description in the .pcr file.
Cry=3, Nre=number of variables, Ipr=-1 if you want to use profile data, 0 if not, Irf=4
Simulated annealing can be used directly in Fullprof
*for solving crystal and magnetic structures
*on integrated intensities or profile data
COMM Ab initio structure solution of PbSO4 (Simulated Annealing, data D1A-ILL)
! Files => DAT-file: pb_san, PCR-file: pb_san Nre=nb of parameters
!Job Npr Nph Nba Nex Nsc Nor Dum Iwg Ilo Ias Res Ste Nre Cry Uni Cor Opt Aut
1 0 1 0 0 0 0 0 0 0 0 0 0 12 3 0 0 0 1 Cry=3: single crystal data
! Ipr=0 : no profile (spr) used
!Ipr Ppl Ioc Mat Pcr Ls1 Ls2 Ls3 NLI Prf Ins Rpa Sym Hkl Fou Sho Ana
0 0 1 0 1 0 5 0 0 1 0 0 0 0 0 0 0 Ipr=-1 : profile (spr) used, generated
! with previous LeBail with Ipr=-1 and Cry=0
!NCY Eps R_at R_an R_pr R_gl Thmin Step Thmax PSD Sent0
1 0.10 1.00 1.00 1.00 1.00 15.0000 0.020000 120.0400 0.000 0.000 Irf=4 powder treated as single crystal
!
Ls2=5 & Jvi=3 : real time view of structure in fp-studio
!
12 !Number of refined parameters
!-------------------------------------------------------------------------------
! Data for PHASE number: 1 ==> Current R_Bragg for Pattern# 1: 36.73
!-------------------------------------------------------------------------------
PbSO4
!
!Nat Dis Ang Pr1 Pr2 Pr3 Jbt Irf Isy Str Furth ATZ Nvk Npr More
5 0 0 0.0 0.0 1.0 0 4 0 0 0 2426.060 0 7 1
!
!Jvi Jdi Hel Sol Mom Ter Brind RMua RMub RMuc Jtyp Nsp_Ref Ph_Shift
3 0 0 0 0 0 1.0000 1.0000 0.0000 0.0000 1 0 0 0
!
P n m a <--Space group symbol
!Atom Typ X Y Z Biso Occ In Fin N_t Spc /Codes
Pb PB 0.31294 0.25806 0.82424 1.42124 0.50000 0 0 0 0
11.00 21.00 31.00 0.00 0.00
S S 0.28429 0.25806 0.89134 0.41603 0.50000 0 0 0 0
41.00 21.00 51.00 0.00 0.00
O1 O 0.59101 0.25806 0.40489 1.99182 0.50000 0 0 0 0
61.00 21.00 71.00 0.00 0.00
O2 O 0.81205 0.25806 0.03500 1.47906 0.50000 0 0 0 0
81.00 21.00 91.00 0.00 0.00
O3 O 0.58159 0.95861 0.77608 1.33000 1.00000 0 0 0 0
101.00 111.00 121.00 0.00 0.00
…
Simulated annealing can be used directly in Fullprof
*for solving crystal and magnetic structures
*on integrated intensities or profile data
! Scale Factors
! Sc1 Sc2 Sc3 Sc4 Sc5 Sc6
1.354 .0000 .0000 .0000 .0000 .0000
0.00 0.00 0.00 0.00 0.00 0.00
! Extinction Parameters
! Ext1 Ext2 Ext3 Ext4 Ext5 Ext6 Ext7 Ext-Model
.0000 .0000 .0000 .0000 .0000 .0000 .0000 0
0.00 0.00 0.00 0.00 0.00 0.00 0.00
! a b c alpha beta gamma #Cell Info
8.485130 5.402066 6.964059 90.000000 90.000000 90.000000
0.00000 0.00000 0.00000 0.00000 0.00000 0.00000
! x-Lambda/2 + Not yet used parameters
0.00000 0.00000 0.00000 0.00000 0.00000
0.00 0.00 0.00 0.00 0.00
! Limits for selected parameters (+ steps & BoundCond for SA):
1 0.0000 1.0000 0.0033 1 X_Pb
2 0.0000 1.0000 0.0064 1 Y_Pb
3 0.0000 1.0000 0.0092 1 Z_Pb
4 0.0000 1.0000 0.0084 1 X_S
5 0.0000 1.0000 0.0140 1 Z_S
6 0.0000 1.0000 0.0051 1 X_O1
7 0.0000 1.0000 0.0131 1 Z_O1
8 0.0000 1.0000 0.0090 1 X_O2
9 0.0000 1.0000 0.0075 1 Z_O2
10 0.0000 1.0000 0.0029 1 X_O3
11 0.0000 1.0000 0.0084 1 Y_O3
12 0.0000 1.0000 0.0042 1 Z_O3
! T_ini Anneal Accept NumTemps NumThCyc InitConf
6.000 0.950 0.003 80 0 0
! NCyclM Nsolu Num_Ref Nscalef NAlgor
240 1 71 1 0
! ISwap Var-Real/Imag
0 0
CRY=3, Nre = nb of relations
Monte Carlo Parameters
! T_ini Anneal Accept NumTemps NumThCyc InitConf
6.000 0.950 0.003 80 0 0
! NCyclM Nsolu Num_Ref Nscalef NAlgor
240 1 71 1 0
! ISwap Var-Real/Imag
0 0
To display live structure : Jvi=3, Ls2=5 creates simann.fst.
Run FP, (Ls2=>4) creates simann.fst.
Start FPStudio with simann.fst, select read continuous, start FP.
GLOpSAnn Simulated Annealing to solve crystal structures with CrysFML
Similar to SAN in Fullprof + large choice of cost functions and combinations of them.
Magnetic structure and rigid groups are not available (but can use dist+angle restraints).
"F2obs-F2cal" Cost(F2obs-F2cal) : Optimization of C0 =Sum|F2obs-F2cal|/Sum|F2obs|
"Fobs-Fcal" Cost(Fobs-Fcal) : Optimization of C1 =Sum|Fobs-Fcal|/Sum|Fobs|
"dis-restr" Cost(dis-restr) : Optimization of C2 =Sum{w(dobs-dcal)^2}, w=1/var(d)
"Ang-restr“ Cost(Ang-restr) : Optimization of C3 =Sum{w(Ang_obs-Ang_cal)^2}, w=1/var(Ang)
"Tor-restr" Cost(Tor-restr) : Optimization of C4 =Sum{w(Tor_obs-Tor_cal)^2}, w=1/var(Tor)
"bond-valence" Cost(bond-valence) : Optimization of C5 =Sum{|q-BVS|/tot_Atoms}
"bvs_coulomb" C5 + Cost(Coulomb) : Optimization of C6 =Sum{qi qj/dij}
"FoFc-Powder" Cost(FoFc-Powder) : Optimization of C7 =Sum|Gobs-Sum(Fcal)|/Sum|Gobs|
"Coordination" Cost(Coordination) : Optimization of C8 =Sum|Coord-Efcn|/Sum|Coord|
"Anti_Bump" Cost(Anti_Bump) : Optimization of C9 =Sum{(dmin/d)**power}
"Powder_Profile" Cost(Powder_Profile) : Optimization of C10=Sum{|yiobs-yicalc|/|yiobs|}
"Powder_WProfile" Cost(Powder_WProfile) : Optimization of C11=Sum{w{yiobs-yicalc}^2/(N-P)} Equivalent to Chi2
Works with LeBail extracted single crystal-like data (.int) or pseudo-profile data (.spr),
as for simulated annealing in fullProf.
Need to create a .cfl control file with starting structure and minimization commands
Input .cfl file for GLOpSAnn
Title PbSO4 (experimental Jvi=-11 |F|) Neutrons
! a b c alpha beta gamma
Cell 8.485454 5.402319 6.964360 90.000 90.000 90.000
! Space Group
Spgr P n m a
! x y z B occ Spin Charge
Atom Pb PB 0.18797 0.25000 0.16754 1.35290 0.50000 0.0 2.0 #color 0 0 1 1
Atom S S 0.06467 0.25000 0.68300 0.89361 0.50000 0.0 6.0 #color 1 1 0 1
Atom O1 O 0.90712 0.25000 0.59675 0.57221 0.50000 0.0 -2.0 #color 0 1 1 1
Atom O2 O 0.18635 0.25000 0.54278 0.99996 0.50000 0.0 -2.0 #color 1 0 1 1
Atom O3 O 0.08021 0.02965 0.81211 1.07399 1.00000 0.0 -2.0 #color 1 0 0 1
! Codes for refinement
Vary xyz 0 1 0 1
!
HKL-OBS pb_neu.int
MIN-DSPACING 1.5
WAVE 1.912
RADIATION NEUTRONS
FST_CMD conn S O 0.0 1.8
OPTIMIZE bond-valence 0.15 FoFc-Powder 0.85
LOCAL_OPTIMIZATION
SIM_ANN! Simulated Annealing conditions
! Name of the cost function
CostNam FoFc_Pow+BVS
! T_ini anneal num_temps
TemParM 3.0 0.95 80
! Nalgor Nconf nm_cycl num_therm accept%
Algor_T 0 6 120 0 10.0
! Value of Seed (if SeedVAL = 0, random seed)
SeedVAL 0
!
Threshold 25.0
! Treatment of initial configuration
InitCON RAN
A mixed Method : charge flipping (Oszlani & Süto, Acta Cryst A60, 2004)
Principle :
One works alternately in direct and reciprocal space.
Based on image analysis techniques.
requires a list of hkl I sig(I), i.e. LeBail extraction.
Works in P1.
Don’t need to know anything about cell content
Data : a set of │Fobs(hkl)│, may be noisy, incomplete, but with atomic resolution …
Algorithm :
Start, φ random + │Fobs(hkl)│ => F(hkl)
ρ =FFT-1(F) (calculated on a pixel grid in direct space)
flip the signs of ρ for every pixels where │ ρ│<δ => ρ’
One calculates G= FFT(ρ’)
For each (hkl), one keeps the phases of G, with │Fobs(hkl)│=>F ,
Loop observing RBragg…. And it works !
May be limited for powders by deconvolution/resolution problems…
Java Applet from the Lausanne group (G. Chapuis et al.)
No direct link with FullProf. Create a list of (hkl I esd) with LeBail, and use SuperFlip (Palatinus et al.)