gsas workshop
TRANSCRIPT
1
GSAS Rietveld and EXPGUI software practicals
01: P. 2 Installing GSAS, EXPGUI and example files
02: P. 3 to 14 An Easy start: refining the structure of corundum powder using
data collected on a neutron powder diffraction system
02a: P. 15 to 16 Creating a GSAS neutron instrument
parameter file using INSTEDIT
03: P. 17 to 30 Refining a standard for a dual wavelength X-ray diffractometer
03a: P. 31 to 32 Creating a GSAS XRD instrument parameter file using INSTEDIT
04: P. 31 to 35 Applying an existing GSAS EXP file to a new diffraction data file
05: P. 36 to 40 Importing a Cif structure file and determining
the polarisation of the X-ray beam using Y2O3
06: P. 41 to 44 Model based Le Bail fitting using GSAS for
“pre-structure refinement” whole profile fitting
07: P. 45 to 50 True (model-less) Le Bail fitting using GSAS
08: P. 51 to 60 Problems with space group settings and determining the
neutron data wavelength by use of NIST Si 640c;
and modelling a second trace phase
09: P. 61 to 74 Combined Refinement of multiple datasets (X-ray and Neutron)
10: P. 75 to 86 Importing a structure using a GSAS macro file, and
using occupancy constraints and charge balance restraints
11: P. 87 to 93 Quantitative Phase Analysis example using GSAS
12: P. 94 to 95 Applying a QPA GSAS EXP file to a new diffraction file
13: P. 96 to 101 Quantitative phase analysis involving preferred orientation
14: P 102 to 117 Multiphase refinement across neutron and X-ray datasets.
Fourier difference maps.
15: P 118 to 133 Simple rigid body in neutron diffraction
Appendix 1. P. 134: Additions/corrections
(format of this document based on plagiarising (with permission) the Crystals Single Crystal workshop
notes by Richard Cooper and David Watkin, Chemical Crystallography, Oxford University;
http://www.xtl.ox.ac.uk/ )
8th
Canadian Powder
Diffraction Workshop http://www.cins.ca/cpdw/
June 2010 notes by:
Lachlan Cranswick
Ian Swainson
Michael Gharghouri
(File can be freely used and redistributed for
those who wish to learn how to use GSAS
for Rietveld refinement, or adapted to other Rietveld software. Please keep the above
notice intact.)
Workshop sponsored by
http://www.uqtr.ca/
http://irh.uqtr.ca/
http://www.hydroquebec.com/
http://www.cins.ca/
http://lansce.lanl.gov/lujan/
http://www.nrc-cnrc.gc.ca/
2
SECTION 1
Installing GSAS, EXPGUI and example files
Installing GSAS, EXPGUI
To install GSAS and EXPGUI on an MS-Windows PC:
first download the GSAS and EXP installers from Brian Toby’s FTP site at
ftp://ftp.ncnr.nist.gov/pub/cryst/gsas/ (or on the workshop CD in the
\gsas_install\ directory). Run gsas+expgui.exe. Accept all the default
options.
To update GSAS to the latest version, download the GSAS distribution
(gsaskit.exe) from http://www.ccp14.ac.uk/ccp/ccp14/ftp-
mirror/gsas/public/gsas/ (or on the workshop CD in the \gsas_install\gsas_kits
directory) and extract the files into the install directory. (usually c:\gsas\).
To update to the latest version of EXPGUI, download the latest
expgui_Alpha.zip from ftp://ftp.ncnr.nist.gov/pub/cryst/gsas/ (or on the CD in
the \gsas_install\gsas_kits directory)and extract it into the \gsas\expgui\
directory.
Important: For a Windows system: if the directory depth for the GSAS
installation and/or the data files is too deep, GSAS functions such as Powpref
and Genles may give an error and not run correctly.
The reference to use for GSAS in any resulting publications is: A.C. Larson and R.B.
Von Dreele, "General Structure Analysis System (GSAS)", Los Alamos National
Laboratory Report LAUR 86-748 (1994).
The reference to cite in any resulting publications for using EXPGUI is: B. H. Toby,
EXPGUI, a graphical user interface for GSAS, J. Appl. Cryst. (2001). 34, 210-213
Installing tutorial example files
Extract the cpdw_prac_files.zip file (located in the root directory of the CD-ROM
provided with the tutorial manual) into the c:\cpdw directory of your PC.
They can also be found on the web at http://www.cins.ca/cpdw/files/cpdw.zip
3
SECTION 2
An Easy start: refining the structure of corundum ( -Al2O3) powder using diffraction data collected on a
neutron powder diffraction system
Important: Before running your samples, the powder diffractometer should be
aligned as well as possible. If the user of a diffraction system, check the
alignment with suitable standard such as NIST Silicon 640c before running
your samples. If the diffractometer is not well aligned, raise the problems with
those responsible for the equipment and get the system aligned before
continuing. It is easy to invalidate results by running samples on a poorly
aligned and maintained equipment.
As a first (easy) example, we are going to refine on constant wavelength neutron
powder diffraction data. Constant wavelength neutron powder diffraction data can be
easy to fit using conventional Rietveld refinement due to symmetric peak-shapes and
moderately broad peak widths (compared to X-ray systems). This corundum data is
from the C2 neutron powder diffractometer at Canadian Neutron Beam Centre,
National Research Council, Chalk River, Ontario, Canada.
Double click the EXPGUI icon on the desktop, and the "Select an experiment file
to read" dialog will be displayed. Browse to: c:\cpdw\al2o3_neutron directory, type in
“corundum” and click READ.
EXPGUI will give a message that the file does not exist. Select the Create button to
create the CORUNDUM.EXP file.
Enter an experimental title “Corundum run on C2 NPD at Chalk River” and click
"OK" to give the following starting EXPGUI screen.
4
Adding a Crystal Structure manually into GSAS
Important: Before you can add any “histograms” (powder diffraction data),
you must first add in a “phase” (crystal structure) data
Corundum has a Rhombohedral structure. For the convenience to both the GSAS
software (which can only refine rhombohedral structures in the hexagonal setting) the
following structure is in the hexagonal setting with the following crystallographic
details:
Space group: R –3 c
Unit cell: a=b= 4.77 Å c= 13.02 Å : alpha=beta=90° gamma = 120°
Atom co-ordinates: (x, y, z)
Al : 0 0 0.35
O : .31 0 0.25
Select the Phase tab and then the “Add Phase” button. This will bring up an “add
new phase” dialog where you input the Phase title (Corundum); the Space Group (R –
3 c) (make sure to include the spaces) and the unit cell constants. Then select the
“Add” button. GSAS will then give a symmetry analysis output for you to
check and make sure you have entered the space group correctly (using the
International Tables or similar database to validate the output). Select
“Continue” once you are happy with this. This will give the following main
EXPGUI screen with the cell information but no atoms.
Now select the “Add New Atoms” button and add in the atom information using the
keyboard. Select the “More atom boxes” to add an extra line to insert the Boron atom
information.
Al : 0 0 0.35
O : .31 0 0.25
Select the “Add Atoms” button to go back to the main EXPGUI screen where
all the crystallographic information is now visible. The GSAS default values
of Uiso (0.025) are usually too large for inorganic structures. Often it is
better to reset the starting UISO values to 0.01. Change the UISO values
from 0.025 to 0.01 by selecting the UISO values one at a time with the mouse
and changing to 0.01.
5
Creating a generic GSAS Instrument Parameter file
Important: Before you can add a histogram, you need to create or have an
existing GSAS instrument parameter file ready. Assuming this is the first time
you have used GSAS and you don’t have an instrument parameter file for this
single wavelength neutron powder diffractometer, we will now create one.
From the top menu, select “Powder, Instedit” then the Cancel button to create a new
GSAS Instrument Parameter file. This will bring up the following screen. In the
“Data type”, select CW Neutron for constant wavelength Neutron.
For title, give “Generic prm file for C2 NPD using 531 of Silicon monochromator”
and for Instrument Name give “C2 531 Silicon Mono”. The wavelength is 1.33034 Å,
give a zero correction of 7.77 centidegrees (normally this should be a constant of the
diffractometer but if not determined, it can be refined). The zero correction offset for
the diffractometer (which should be a constant), can be determined experimentally for
a diffractometer by running NIST 640c silicon. The manager of the diffractometer
should be able to provide the above information.
6
At this point DO NOT touch the Import Profile icon or the Add Profile icon. In the
Select Profile area, select Profile type“3” (Pseudo-Voight/FCJ Assym). This will
display a number of fields relating to fitting the peak profile (width, shape, asymmetry)
In the profile fields, add a peak cutoff of 0.001 and a GW (constant width) of 400.
In this neutron diffraction example, we do not have to worry about the Finger Cox
Jephcoat (FCJ) peak asymmetry as there is negligible peak asymmetry in this neutron
powder diffractometer.
Now select the “Save As” button and save the file with a suitable filename; in this case
c2neutron.prm. Then Close Instedit.
Adding a Histogram (diffraction data) into GSAS
Select the “Histogram” tab followed by the “Add Histogram” button
To the right of “Data File”, use the “Select File” button and add the “corun531.gsa”
dataset; following by the “Select File” button to the right of the “Instrument Parameter
File” to select the “c2neutron.prm” file. Make sure the “Select Bank” and “Select
Set” are set to 1 as pointed to in the screen image to the left of this text. Select the
“Add” button to add the histogram into GSAS.
7
Important: If you use a random GSAS instrument parameter file, there are no
guarantees that it contains the correct information and the correct instrumental
settings; and you should check things to make sure it has provided correct
information.
Fitting the background using BKGEDIT
Important: Many people are in the habit of choosing a type of background
function out of habit. In this demonstration, a Shifted Chebyshev (Function 1)
is used and can be very flexible for fitting bumpy backgrounds. Other people
swear by a Cosine Fourier Series (Function 2)
At this point, it would be good to manually fit a background function to the
background in preparation for us starting the refinement. For this we will use the
bkgedit program. Prior to running bkgedit, powpref and genles must be run. Run the
Powpref icon in the top middle menu bar in EXPGUI, followed by GENLES.
After running powpref and genles, run “Powder, bkgedit” to bring up the background
editing screen. The main aim of this is to select background points by pointing and
clicking with the mouse, then fit a GSAS background function to the data which is then
fixed until you decide to let the background refine. This can save on quite a bit of
tedium trying to immediately refine a GSAS background function at an early stage of
the refinement.
Use the mouse, Add, Zoom and Delete options to visually select background points.
Which below are shown as pink triangles.
8
Then use the Fit icon to fit a line. Gradually increasing the number of terms until you
get a good fit to the background function. In this case, 6 terms seem to be doing a
good job. The dotted blue line shows the background function.
9
Now select the “Save in EXP File & Exit” icon at the bottom right of the screen to
save the fitted background profile. When EXPGUI prompts that the EXP file has been
modified, select the “Load new” file (unless you have made a mistake). If you have
made a mistake, select the “continue with old” button. EXPGUI will recognise the
new background parameters by giving the new number of terms you used to fit the
background profile. It is recommended that the background should not be refined until
everything else is pretty much under control.
Getting the best fit to the peak profile
In the Profile tab, make sure the profile type is profile 3 (Pseudo-Voight with Finger-
Cox-Jephcoat peak asymmetry function). It is possible that the instrument parameter
file you used defaults to another profile type, so you should check this. If it is not
profile number 3, then change it to profile type 3. Now run powpref and genles to do
some cycles of refinement with only the scale factor refining.
Now run liveplot (and keep this window open) to see the state of the refinement in
terms of how well the calculated pattern based on the structure model is fitting the
data. By default, the scale factor is set to refine. The black crosses are the raw data;
the red line is the calculated pattern and the blue line below is the difference. The aim
is to get the calculated pattern matching the observed pattern with the difference being
as close to a flat line as possible.
Using the “File, Tickmarks” option in Liveplot, you can also overlay where HKLs are
expected, and the [Control] [Shift] and left click on the left Mouse button near the
HKL will label the HKL. (To have HKL labels near the peaks, you have to enable the
tickmarks via “File, Tickmarks” in Liveplot). If you have extra peaks in the raw
diffraction data that are not matched up by a calculated HKL, this can mean you have
the wrong cell or spacegroup, or an impurity phase.
Important: There is no fixed method of performing a Rietveld refinement in
terms of the order of parameters to be released. The following is just a
suggestion, and should not be blindly followed in all cases. Each refinement
may require its own custom refinement sequence for parameters to refine in a
stable manner.
In the LS controls Tab, set the number of cycles to 8 and in the Profile Tab, set the
profile cutoff to 0.001 (if it is not already at 0.001). By default many GSAS
parameter files default to 0.01, which is not adequate for many X-ray and neutron
diffractometers.
10
Set the unit cell parameter to refine (in the Phase tab) and the Zero parameter to
refine in the Histogram Tab. Performing a refinement on NIST silicon should give you
the zero offset of the diffractometer which should be a constant, however, to get the
best fit to the neutron data using GSAS, it might vary slightly.
If you find that you have mucked up the refinement where parameters have gone to
unreasonable values, it might be easier to go to a previous version of the EXP file. In
EXPGUI, go into “File Open” menu and then select the “Include Archived Files”;
this lists the previous archived files by time and date. Just select a previous EXP file
you expect to be OK. If this turns out to be too late or early an EXP file, just try
selecting another one.
Important: Whenever you change the profile cutoff, powpref needs to be run
for this change to take effect in the refinement. (when in doubt, run powpref
prior to running genles). Now run powpref followed by genles
Now run powpref followed by genles. The fit will get slightly better due to the
calculated peaks better lining up with the observed peaks. While the following may
vary depending on your starting peak width and shape values, the a=b unit cell has
changed from 4.77 to around 4.7688; the c unit cell value from 13.02 to 13.0248; with
a zero changed from 7.77 of 9.85.
Important: If after refining unit cell and Zero, the fit looks almost as bad as
when you started, use the mouse to zoom up on a relatively low angle peak in
Liveplot and take a look at the observed vs calculated profiles. In the below
left frame, you can see the red calculated profile is too wide. Resetting the GW
width to half of its value will help get a better starting fit; if that does not work,
try half again. In the initial stages of the refinement, manual tweaking of
starting parameters may be required. Below we see the tweaking of the GW
width value from 400 to 300 to 100 (In the Profile Tab) to give a decent visual
starting fit to the refinement.
11
Now we are going to refine width, shape and peak asymmetry; but it has to be done in
a slow sequence to keep the refinement stable. In the Profile Tab, release the GW
peak width parameter, then run Genles. Initially the fit may only improve marginally.
In the Profile Tab, release the LY shape parameter, then run Genles.
For an X-ray diffraction system, you might next released the GV width parameter.
However, for this neutron diffractometer, it can be best to next release the GU width
parameter. The sequence to release parameters is often found experimentally by trying
things out. In the Profile Tab, release the GU shape parameter, then run Genles.
The width and shape parameters are getting better, but the intensities are moderately
out. In another practical, we will learn on how to do Le Bail whole profile fitting, prior
to structure refinement, which helps solve these initial peak profiling problems. But
for now, the solution is to refine some atomic parameters. This reinforces how on
occasion, the refinement pathway may only be elucidated during the refinement. Some
12
Rietveld guidelines suggest getting the best profile fit to the data before releasing atom
parameters.
If this was X-ray diffraction data, you should slowly release the atoms in reverse order
of atomic number (heavy atoms first). However, the atomic scattering factors in
Neutron diffraction for Aluminium and Oxygen are quite similar, so the atoms can be
released at roughly the same time. In the Phase tab, release the UISO (thermal)
parameters for the Al and O atoms. The Al and O atoms are both on special positions
so are restricted in their movements. E.g., with the Aluminium x and y positions at the
special position of zero, GSAS would still keep these two co-ordinates fixed as
required by the space group. Be wary that other Rietveld programs would move the
atoms on special positions, even if spacegroup does not allow this. When performing a
Rietveld structure refinement a good knowledge of crystallographic fundamentals is
assumed and Rietveld programs can not be used in substitute for crystallographic
knowledge.
If the thermals for atoms do go negative, this could be indicative of problems such as
incorrect atoms having been entered or systematic errors in the data. Also, if the
calculated peak shape near the peak tails are concatenated, run powpref followed by
genles which should fix this up where the intensities now roughly match up over the
length of the powder pattern.
As this data has a wide angular range, now release the LX shape parameter followed
by some cycles of refinement, then release the GU width parameter followed by cycles
of refinement.
13
All of this should give the following decent fit to the whole profile.
Refining the background
Up till now the background has been fixed. Now refine the background via the
Histogram Tab.
Refining the atom positions
Again, if this was X-ray diffraction data, you should slowly release the atoms in
reverse order of atomic number (heavy atoms first). However, the atomic scattering
factors in Neutron diffraction for Aluminium and Oxygen are quite similar, so the
atoms can be released at roughly the same time. In the Phase tab, now release the X’s
for the Al and O atoms and perform some cycles of refinement. If the atoms have
strange negative or very large thermals, this could be telling you that there is
something wonky with the structure model; or systematic errors in the data.
14
The refinement is pretty much over.
Examining the Rietveld plot
Now examine the Rietveld plot, being on the lookout for misfits at low and high
angle, as well as other misfitting peaks and any spurious peaks.
Checking the structure
One of the main validations of a refined structure is to check the bond lengths and
angles to see if they make sense. If new to a phase system and not sure what are
physically reasonable results for certain atom types, the bond lengths and angles from
structures from the relevant structure database can be used as a guide (i.e., the
Inorganic Crystal Structure Database via http://www.fiz-
informationsdienste.de/en/DB/icsd/ ). To get a list of bond lengths and angles from
GSAS, from the top menu select “Results, Disagl”.
15
SECTION 2a
Creating a GSAS neutron instrument parameter file using INSTEDIT
Important: the sample dependent parameters should NOT be incorporated into
the Instrument Parameter file. This means trans (if refined) and shft (if
refined – not relevant for neutron cylindrical samples) should be set to zero
after importing the profile information.
Important: Before running your samples, the diffractometer should be aligned
as well as possible. If the user of a diffraction system, check the alignment with
an appropriate standard (NIST Silicon) before running your samples. If the
diffractometer is not well aligned, raise the problems with those responsible for
the diffractometer and get the system aligned before continuing.
Run “Powder, Instedit” and load the previously created Instrument Parameter file
(c2neutron.prm).
Select the Import Profile button and select the Corundum.exp file; and confirm the
importing of the profile determined from the Corundum refinement you have just
previously performed.
16
Save and overwrite the existing c2neutron.prm with this new updated version of the
instrument parameter file. This instrument parameter file can now serve as the
instrument parameter file for data collected on this same instrument. The trans (if
refined) and shft should be set to zero as these are dependent on the individual
sample, not the instrument. This is not relevant for neutron data in a cylindrical
sample holder, but is for Bragg-Brentano X-ray diffractometers.
17
SECTION 3
Refining NIST CeO2 standard to obtain an instrumental
profile of a dual Cu 1+2 wavelength Bragg-Brentano flat plate X-ray powder diffractometer
Important: the sample dependent parameters should NOT be incorporated into
the Instrument Parameter file. This means trans and shft should be set to
zero after importing the profile information.
Important: Before running your samples, the diffractometer should be aligned
as well as possible. If the user of a diffraction system, check the alignment with
standard (NIST Silicon and NIST LaB6) before running your samples. If the
diffractometer is not well aligned, raise the problems with those responsible for
the laboratory and get the system aligned before continuing. It is easy to
invalidate results by running samples on a poorly aligned diffractometer.
Double click the EXPGUI icon on the desktop, and the "Select an experiment file
to read" dialog will be displayed. Browse to: c:\cpdw\ceo2newxrd directory, type in
“ceo2” and click READ.
EXPGUI will give a message that the file does not exist. Select the Create button to
create the CEO2.EXP file.
Enter an experimental title “CEO2” and click "OK" to give the following starting
EXPGUI screen.
Adding a Crystal Structure manually into GSAS
Important: Before you can add any “histograms” (powder diffraction data),
you must first add in a “phase” (crystal structure) data
18
CeO2 is a Cubic structure with the following crystallographic details:
Spacegroup: F M 3 M
Unit cell: a=b=c= 5.410Å : alpha=beta=gamma = 90°
Atom co-ordinates: (x, y, z)
Ce : 0 0 0
O : 0.25 0.25 0.25
Select the Phase tab and then the “Add Phase” button. This will bring up an “add new
phase” dialog where you input the Phase title (CeO2); the Space Group (F M 3 M)
(make sure to include the spaces) and the unit cell constants. Then select the “Add”
button. GSAS will then give a symmetry analysis output for you to check and make
sure you have entered the spacegroup correctly (using the International Tables or
similar database to validate the output). Select “Continue” once you are happy with
this. This will give the following main EXPGUI screen with the cell information but
no atoms.
Now select the “Add New Atoms” button and add in the atom information using the
keyboard. Select the “More atom boxes” to add an extra line to insert the Boron atom
information.
Ce 0 0 0
O 0.25 0.25 0.25
Select the “Add Atoms” button to go back to the main EXPGUI screen where all the
crystallographic information is now visible. The GSAS default values of Uiso (0.025)
are usually too large for heavy metal structures. Often it is better to reset the starting
UISO values to 0.01.
19
Creating a starting GSAS Instrument Parameter file
Important: Before you can add a histogram, you need to create or have an
existing GSAS instrument parameter file ready. Assuming this is the first time
you have used GSAS and you don’t have an instrument parameter file for this
single wavelength diffractometer, we will now create one.
From the top menu, select “Powder, Instedit” then the Cancel button to create a new
GSAS Instrument Parameter file. This will bring up the following screen. In the
“Data type”, select CW X-ray for constant wavelength X-ray.
For title, give “Generic prm file for Cuk alpha 1+2 Bragg-Brentano
Diffractometer” and for Instrument Name give “cukal1_2”. The radiation type is Cu,
it is monochromatic (dual wavelength), give a zero correction of -0.07 centidegrees
(Zero correction offset for the diffractometer, which should be a constant, as distinct to
the sample displacement error, can be determined for a diffractometer by running NIST
640c silicon). A POLA value of 0.911. ( IPOLA should be set to 1 which defines the
use of the Azaroff function, but currently there is not an option to do this in the Instedit
screen, so it needs to be set in the EXP file during refinement). Paraphrasing a note
from Bob von Dreele, “IPOLA=1 is in there to match the "traditional" Azaroff
function for diffracted beam monochromators. The IPOLA=0 function is my adaption
so that POLA is the polarized fraction. POLA=0.50 for no polarization and POLA=1.0
for perfect polarization nearly realized in synchrotron radiation & vertical
diffraction.”. Polarization fraction can be calculated, but it can be good to determine
this experimentally by running a suitable phase such as cubic Y2O3 from the lowest to
highest angle of the diffractometer – e.g., 5 to 150 degrees 2-theta).
In the Select Profile area, select Profile type“3” (Pseudo-Voight/FCJ Assym), with a
peak cutoff of 0.001 and a GW (constant width) of 400. The Finger Cox Jephcoat
(FCJ) peak asymmetry is defined by two parameters, S/L and D/L, where S/L is the
source size to sample-detector distance ratio and D/L is the detector size to sample-
20
detector distance ratio, as per the following figure taken from L. W. Finger, D. E. Cox
and A. P. Jephcoat, “A correction for powder diffraction peak asymmetry due to axial
divergence”, J. Appl. Cryst. (1994). 27, 892-900.
It is best if you calculated these values from measuring these values on the
diffractometer. If you received the data from someone else and cannot get these
diffactometer values, take a best guess (e.g., for this type of medium resolution
diffractometer, 173mm for sample-detector distance and 5mm for source size and
detector size. This gives starting S/L and D/L ratios of 0.029.
Now select the “Save As” button and save the file with a suitable filename; in this case
cuka12xrd.prm. Then Close Instedit.
Adding a Histogram (diffraction data) into GSAS
Select the “Histogram” tab followed by the “Add Histogram” button
To the right of “Data File”, use the “Select File” button and add the
“ceo2newxrd.gsa” dataset; following by the “Select File” button to the right of the
“Instrument Parameter File” to select the “cuka12xrd.prm” file. Make sure the
“Select Bank” and “Select Set” are set to 1 as pointed to in the screen image to the left
of this text. Select the “Add” button to add the histogram into GSAS.
21
In the above screen image, if the Ratio of the wavelengths is at zero instead of 0.5, set
the Ratio to 0.5 (the correct value). As POLA is set at a value for a curved graphite
diffracted beam monochromator based on using the Azaroff function (0.911), IPOLA
should be set to 1 to get GSAS to use the Azaroff function.
Important: If you use a random GSAS instrument parameter file (or even one
that looks correct), there are no guarantees that it will import the correct
information and the correct instrumental settings; and you should check things
to make sure it has provided correct information.
Fitting the background using BKGEDIT
Important: Many people are in the habit of choosing a type of background
function out of habit. In this demonstration, a Shifted Chebyshev (Function 1)
is used and can be very flexible for fitting bumpy backgrounds. Other people
swear by a Cosine Fourier Series (Function 2)
At this point, it would be good to manually fit a background function to the
background in preparation for us starting the refinement. For this we will use the
bkgedit program. Prior to running bkgedit, powpref and genles must be run. Run the
Powpref icon in the top middle menu bar in EXPGUI, followed by GENLES.
After running powpref and genles, run “Powder, bkgedit” to bring up the background
editing screen. The main aim of this is to select background points by pointing and
clicking with the mouse, then fit a GSAS background function to the data which is then
fixed until you decide to let the background refine. This can save on quite a bit of
tedium trying to immediately refine a GSAS background function at an early stage of
the refinement.
Use the mouse, Add, Zoom and Delete options to visually select background points.
Which below are shown as pink triangles.
22
Then use the Fit icon to fit a line, gradually increasing the number of terms until you
get a good fit to the background function. In this case, 6 terms seem to be doing a
good job. The dotted blue line shows the background function.
Now select the “Save in EXP File & Exit” icon at the bottom right of the screen to
save the fitted background profile. When EXPGUI prompts that the EXP file has been
modified, select the “Load new” file (unless you have made a mistake). If you have
made a mistake, select the “continue with old” button. EXPGUI will recognise the
new background parameters by giving the new number of terms you used to fit the
background profile. It is recommended that the background should not be refined until
everything else is pretty much under control.
23
Getting the best fit to the peak profile
In the Profile tab, make sure the profile type is profile 3 (Pseudo-Voight with Finger-
Cox-Jephcoat peak asymmetry function). It is possible that the instrument parameter
file you used defaults to another profile type, so you should check this. If it is not, then
change it to profile type 3. Now run powpref and genles to do some cycles of
refinement with only the scale factor refinining.
Now run liveplot (and keep this window open) to see the state of the refinement in
terms of how well the calculated pattern based on the structure model is fitting the
data. By default, the scale factor is set to refine. The black crosses are the raw data;
the red line is the calculated pattern and the blue line below is the difference. The aim
is to get the calculated pattern matching the observed pattern with the difference being
as close to a flat line as possible.
Using the “File, Tickmarks” option in Liveplot, you can also overlay where HKLs are
expected, and the [Control] [Shift] and left click on the left Mouse button near the
HKL will label the HKL. (To have HKL labels near the peaks, you have to enable the
tickmarks via “File, Tickmarks” in Liveplot). If you have extra peaks in the raw
diffraction data that are not matched up by a calculated HKL, this can mean you have
the wrong cell or spacegroup, or an impurity phase.
Important: There is no fixed method of performing a Rietveld refinement in
terms of the order of parameters to be released. The following is just a
suggestion, and should not be blindly followed in all cases. Each refinement
may require its own custom refinement sequence for parameters to refine in a
stable manner.
Also, if you find that you have mucked up the refinement where parameters have gone
to unreasonable values, it might be easier to go to a previous version of the EXP file.
In EXPGUI, go into “File Open” menu and then select the “Include Archived Files”;
this lists the previous archived files by time and date. Just select a previous EXP file
you expect to be OK. If this turns out to be too late or early an EXP file, just try
selecting another one.
24
In the LS controls Tab, set the number of cycles to 8 and in the Profile Tab, set the
profile cutoff to 0.001 (if it is not already at 0.001). By default many GSAS parameter
files default to 0.01, which is not adequate for many X-ray diffractometers.
Important: Whenever you change the profile cutoff, powpref needs to be run
for this change to take effect in the refinement. (when in doubt, run powpref
prior to running genles). Now run powpref followed by genles
Important: If after refining the scale factor, the fit looks very bad, it is best to
evaluate what is going on and base your refinement strategy on this. If the
observed peaks do not match up with the calculated, this could be telling you
your unit cell needs to be tweaked manually or you have the wrong unit cell or
spacegroup.
In the below left frame, you can see the red calculated profile is too wide. So it
is best to manually adjust the width before releasing any further parameters.
Resetting the GW width to half of its value will help get a better starting fit; if
that does not work, try half again. In the initial stages of the refinement,
manual tweaking of starting parameters may be required. Below we see the
tweaking of the GW width value (In the Profile Tab) to give a decent visual
starting fit to the refinement. In the following we have had to do a lot of
interations, eventually going down to a GW of 10.
25
Now that we have got the peak width in roughly the right range, set the unit cell
parameter to refine (in the Phase tab) and the shft parameter to refine in the Profile Tab
(shft = sample displacement). For a Bragg-Brentano diffractometer, it is better to use
the shft parameter over the zero parameter as most of the variation in an aligned
diffractometer is due to accurate placement of the sample. Performing a refinement on
NIST silicon should give you the zero offset of the diffractometer which should be a
constant.
Now run powpref followed by genles. The fit will get better due to the calculated
peaks better lining up with the observed peaks. While the following may vary
depending on your starting peak width and shape values, the unit cell has changed from
5.4100 to around 5.4108, with a sample displacement value of -0.664E+01. The
following screen images show the level of improvement.
Now we are going to refine width, shape and peak asymmetry; but it has to be done in
a slow sequence to keep the refinement stable. In the Profile Tab, release the GW
peak width parameter, then run Genles. Initially the fit may only improve marginally.
In the Profile Tab, release the LY shape parameter, then run Genles.
26
In the Profile Tab, release the GV shape parameter, then run Genles.
The width and shape parameters are getting better, but the intensities are out. In
another practical, we will learn on how to do Le Bail whole profile fitting, prior to
structure refinement, which helps solve these initial peak profiling problems. But for
now, the solution is to refine some atomic parameters. This reinforces how on
occasion, the refinement pathway may only be elucidated during the refinement. Some
Rietveld guidelines suggest getting the best profile fit to the data before releasing atom
parameters.
In the Phase tab, release the U (thermal) parameter for the heavy Ce atom (not the
light Oxygen atom). The Ce is on a special position so cannot move, but even if you
tried to refine the Ce x,y,z, GSAS would still keep it fixed as required by the space
group. Be wary that other Rietveld programs would move the special position atoms,
even if spacegroup does not allow this. When performing a Rietveld structure
refinement a good knowledge of crystallographic fundamentals is assumed and
Rietveld programs can not be used in substitute for crystallographic knowledge.
If the thermal for the heavy atom of a “standard material” does go negative, this
could be indicative of problems such as the polarization of the X-ray beam being
incorrect or the wrong atom type. Also, if the peak shape is concatenated, run
powpref followed by genles which should fix this up where the intensities now
roughly match up over the length of the powder pattern.
27
As this data has a very wide angular range, now release the LX shape parameter
followed by some cycles of refinement, then release the GU width parameter followed
by cycles of refinement.
Via the Profile tab, now release the trns (sample transparency parameter) which is
relevant for Bragg-Brentano flat plate systems.
This should give the following decent fit to the whole profile.
28
Refining the background
Up till now the background has been fixed. Now refine the background via the
Histogram Tab.
Refining the atom positions and thermals
When performing a refinement using X-ray diffraction data, you should slowly release
the atoms in reverse order of atomic number (heavy atoms first). In the Phase tab, now
release the U’s for the oxygen atom and perform some cycles of refinement (the
Oxygen is on a special position, so there is no point trying to refine the X’s / atom co-
ordinates). Pay careful attention to the thermal parameter of the oxygen. If the light
atoms have strange negative or very large thermals, this could be telling you that there
is something wonky with the data; either bad sample packing, or something wrong
with the diffractometer.
The refinement is pretty much over. One more thing that is possible is to tweak the
H/L and S/L peak asymmetry parameters. These parameters are unstable if refined
together, so first refine one and turn it off, then the other and turn it off, then repeat the
sequence until the refinement converges and (via Liveplot) you see the best fit with the
low angle peaks.
29
Examining the Rietveld plot
The fit to the lowest angle peaks seems to be OK. Though often such things
can be in the eye of the beholder. It can be good to run some NIST standards
on a variety of diffraction systems to get a feel for what fits are possible on
various instruments.
The very high angle peaks also seem OK.
Checking the structure
One of the main validations of a refined structure is to check the bond lengths and
angles to see if they make sense. If new to a phase system and not sure what are
physically reasonable results for certain atom types, the bond lengths and angles from
structures from the relevant structure database can be used as a guide (i.e., the
Inorganic Crystal Structure Database). To get a list of bond lengths and angles from
GSAS, from the top menu select “Results, Disagl”.
30
31
SECTION 3a
Creating a GSAS Instrument Parameter file from a refined standard
Run “Powder, Instedit” and load the previously created Instrument Parameter file
(cuka12xrd.prm).
Select the Import Profile button and select the CeO2.exp file; and confirm the
importing of the profile determined from the CeO2 refinement you have just
previously performed. The trans and shft should be set to zero as these are
dependent on the individual sample, not the instrument. Overwrite the existing
cuka1xrd.prm with this version with the updated information. This instrument
parameter file can now serve as the instrument parameter file for data collected on this
same instrument.
32
SECTION 4
Applying an existing GSAS EXP file to a new diffraction file
Using the Windows explorer (or your favourite file manager), copy the CEO2.EXP and
cuka12xrd.prm from the \cpdw\ceo2newxrd directory to the \cpdw\ceo2oldxrd
directory.
Either double click on the ceo2.exp file to automatically open it in EXPGUI, or run
EXPGUI and load the cpdw\ceo2oldxrd\ceo2.exp file
Replacing a powder histogram (diffraction data file)
At present, replacing histogram files is done via the EXPEDT program (the
comprehensive GSAS EXP file editor by Bob von Dreele and Allen Larson). Select
the EXPEDT ICON from the top left menu.
Then to get to the point where you can replace the histogram, type K P H R 1 (note
the descriptors within EXPEDT which explain what these mean while you are doing
this). When prompted with Enter raw histogram input file name (<?>,$,QUIT),
type the name of the data file: ceo2oldxrd.gsa and when prompted, confirm this is
correct by typing Y. When prompted with Enter POWDER instrument parameter
file name (<?>,$,QUIT), type the name of the GSAS instrument parameter file:
cuka12xrd.prm and when prompted, choose scan number 1. Don’t bother
previewing it. Then type T (Set max 2-Theta or Energy or min TOF), and then / to
confirm the maximum angle is acceptable. To exist EXPEDT, type X X X and
[RETURN], the X and [RETURN].
Check the EXP file is OK, especially in the Histogram tab as some of the Instrument
parameters may not have been imported correctly. Referring to the following screen
image, if the Ratio of the wavelengths is at zero, set this to 0.5. Reset the Ratio to 0.5
(the correct value). As POLA is set at a value for a curved graphite diffracted beam
monochromator based on using the Azaroff function (0.911), IPOLA should be set to
1 to get GSAS to use the Azaroff function. Correct these. This data was actually
33
taken on an older diffractometer (though pretty much identical in setup and
configuration), so it can be expected the Zero will be different. We will probably
work on this later in the refinement.
The new dataset has pretty much the same counting statistics of its replacement. So it
can be pretty much refined in one step using all the parameters. If it had very different
counting statistics, it would be best to do the refinement slowly as per the previous
practicals by turning off all the parameters and turning them back on in a similar
sequence. Though two things to turned off are S/L and H/L as these parameters can
be very unstable.
Now run powpref followed by genles. The refinement is done! Now you should
check things out and see if anything needs tweaking of there have been any problems
doing a refinement as quickly as this may have caused; validate the structure using
disang; and check if there are some nuances or problems with the data file that might
only be revealed in a post refinement examination.
34
Risks of releasing too many parameters
Be wary on just releasing parameters “willy nilly” without regard to the physical
reality of the sample and possible consequences. Normally, you should not have to
refine trns (sample transparency) with a heavy metal inorganic phase like CeO2.
Though in this example this is what we have done, blindly. Releasing parameters
inappropriately may hide systematic errors in the data and also skew the final results.
Releasing the trns (sample transparency)
If we release the sample transparency parameter, the high angle reflections look OK.
Though both fits seem to be having minor problems.
Old B-B Diffractometer (left) vs new B-B diffractometer (right)
Diffractometer Old New NIST Certificate*
Uiso*100 Ce 0.24(2) 0.16(1)
Uiso*100 O 0.68(13) 0.77(7)
Unit cell 5.41253(3) 5.41004(2) 5.4111(1) (* http://ois.nist.gov/srmcatalog/certificates/view_cert2gif.cfm?certificate=674a )
Not releasing the trns (sample transparency)
However, if you do not release the sample transparency parameter (keep it at zero), and
look closely at the high angle fit of the “old” Bragg-Bretano diffractometer
compared to the “new” Bragg-Bretano diffractometer, you can see problems with
the high angle fit. The old diffractometer was based on stepper motors and had a
retrofit of a diffracted beam curved graphite monochromator. It looks like the updated
anti-backlash springs are not strong enough to take the extra weight; or there are some
other goniometer problems. The new diffractometer theta and 2-theta axes were driven
by DC motors guided by direct drive optical encoders.
Old B-B Diffractometer (left) vs new B-B diffractometer (right)
35
Diffractometer Old New NIST Certificate*
Uiso*100 Ce 0.30(2) 0.15(1)
Uiso*100 O 0.79(13) 0.73(8)
Unit cell 5.41311(2) 5.41062(2) 5.4111(1) (* http://ois.nist.gov/srmcatalog/certificates/view_cert2gif.cfm?certificate=674a )
The ESDs given by Rietveld analysis are only indicators of probable error assuming
there are no systematic errors. Systematic errors or over simplifications in the model
can make the ESDs meaningless in terms of “probable error”. With X-ray data,
thermal parameters are well known as sinks for many types of systematic errors in the
peak intensities. For the unit cell discrepancies, errors due to temperature of the data
collection, misalignment of the sample and diffractometer are most likely. To get an
indicator of probable error due to the diffractometer and sample packing, it can be
more sensible to run the same sample with multiple packings, multiple times on
different instruments to get a “Standard Deviation”, as well as running the sample with
an internal position standard such as NIST Silicon 640c.
Spurious peaks: in this case Cuk and Tungsten
If you look closely at the background, you will notice some peaks that do not have
calculated HKLs. This could imply impurity phases; but in this case is Cuk satellite
reflections from the most intense CeO2 Cuk reflections; in this case the 111 and 220
respectively in the left plot from the newer diffractometer. In the older diffractometer
(right plot), it is more difficult to see as the counting stats are less, and Tungsten
contamination from the (possible older?) X-ray tube is also visible.
36
SECTION 5
Importing a Cif structure file and determining the polarisation of the X-ray beam using Y2O3
The aim of this section is to show how i) easy it is to import an existing structure file
into GSAS (minimizing the risk of typographical errors) and ii) refining the
polarisation of the X-ray beam. Normally to refine the polarisation of the X-ray bean,
you need to use a standard of decent peak density, and the entire range of the
diffractometer up to the highest angle possible (between 140 to 150 degrees 2-theta).
But be wary that after importing an existing structure, you still need to check that the
structure from the literature is OK and kosher before starting the refinement.
Double click the EXPGUI icon on the desktop, and the "Select an experiment file
to read" dialog will be displayed. Browse to: c:\cpdw\y2o3_pola directory, type in
“Y2O3” and click READ.
EXPGUI will give a message that the file does not exist. Select the Create button to
create the Y2O3.EXP file and add the title.
Under the Phase tab, click on the “Add Phase” button, but instead of inputting all the
information by hand, use the Import Phase From button and select Crystallographic
Information File (CIF).
Then select and import the y2o3_icsd_26190.cif file in the c:\cpdw\y2o3_pola
directory. EXPGUI will give a warning that the I a –3 setting of the I a 3 space group
is unlikely to be understood.
Change I a –3 to I a 3. Under more complicated circumstances, the space group and
structure may have to be changed or transformed to a setting that GSAS does
understand.
37
Press Continue. GSAS will output the spacegroup information which you can check
with the IUCr International Tables or other suitable spacegroup database.
This brings up the Adding Atoms dialogue box. Some CIFS can have blank input for
the Uiso values. If they do, has some default values like 0.01. The following values of
zero will be OK, and we will be refining these.
Select Add Atoms to finish importing the structure into GSAS.
38
Now add the histogram as done in previous sections. The datafile is c:\cpdw\
y2o3_pola\ y2o3.gsa and the instrument parameter file is c:\cpdw\ y2o3_pola\
cuka12xrd.prm. If required, correct any problems such as the ratio not being correct
(it should be 0.5). IPOLA should be set to 1 which defines the use of the Azaroff
function. Note the existing value of POLA has been set to 0.81, the theoretical value
of the polarisation correction using the Azaroff function for a curved graphite
monochromator with CukAlpha X-rays. This is the parameter we will eventually be
refining to get a better value. Paraphrasing a note from Bob von Dreele, “IPOLA=1 is
in there to match the "traditional" Azaroff function for diffracted beam
monochromators. The IPOLA=0 function is my adaption so that POLA is the polarized
fraction. POLA=0.50 for no polarization and POLA=1.0 for perfect polarization
nearly realized in synchrotron radiation & vertical diffraction.” A cos22 of the 002
graphite reflection (For Cu X-rays this is at an angle of 26.6 degrees 2-theta /
d=3.3480Å) gives a calculated POLA value of around 0.81.
Now set the number of cycles to 8, check the profile cutoff is 0.001, fit the
background and refine the profile, background and structure as per the previous
sections. This should leave you with the following fit.
39
Don’t forget to validate the refined structure by using disang to check the refined
structure makes physical sense.
In the Histogram tab, now refine the POLA parameter (which was set at its theoretical
Azaroff function value of 0.81). If you reset the values of the thermal parameters and
reset POLA to different values, it should still converge onto the same value of near
0.90(1), showing the refinement of this parameter is robust.
As there are correlations between parameters such Uiso, and POLA, it can be a good
idea to check the Correlation Matrix is the LSTVIEW output, as it is possible that
correlations are excessive and affecting the accuracy of the result. It can also indicate
40
where due care is required as parameters may be unexpected correlated. In the LS
Controls tab, click on the Print Options Icon and select Print correlation matrix (2).
Now run Powpref and Genles for these new listing options to take effect. Viewing the
output via LSTVIEW will show which parameters have a correlation greater than 0.5.
HSCL is the Histogram Scale factor; PF are profile parameters and BK are
background parameters.
41
SECTION 6
Model based Le Bail fitting using GSAS for pre-structure refinement fitting
Before using any of the atomic information, it can be convenient to do a structureless
Le Bail fit to the data and get the best whole profile fit before proceeding on to refine
the atomic positions. GSAS has two options, a model biased Le Bail fit, and a true Le
Bail fit. For getting a good fit prior to structure refinement, it can be more convenient
to use the model biased Le Bail fit. This avoids the tediousness of having all the
reflections set to zero after running powpref as with the true Le Bail fitting. The
following Calcium Niobium Oxide example has over 100 atoms (depending on which
model is used, (L.M.D. Cranswick, W.G. Mumme, I.E. Grey, R.S. Roth, P. Bordet, “A new octahedral
tilt system in the perovskite phase Ca3Nb2O8”, Journal of Solid State Chemistry, 172 (1): 178-187 April
2003)) and it is more convenient to fit the whole profile before trying to sort out the
structural refinement problems. In reality, this was done via a combined refinement
using both X-ray data to lock down the heavy atoms, and neutron data to lock down
the light oxygen atoms. The atom list given with this example is not 100% correct,
which is why refinement of the structure is required.
Important: If you find the following dataset refines to slowly on your PC, you
can do the same tutorial using the Y2O3 data and CIF file.
Because we are going to use an Instrument parameter file with the starting profile
values determined from refining the CeO2 standard, this should be a moderately
painless profile fitting exercise.
Important: Whenever you run powpref while in Le Bail mode, this resets the
HKL intensities. This can mean that you need to fix the profile parameters
while you run a few cycles of Genles to get the intensities roughly matching the
diffraction data, then start releasing profile parameters again.
Double click the EXPGUI icon on the desktop, and the "Select an experiment file
to read" dialog will be displayed. Browse to: c:\cpdw\lebail_model directory, type in
“CANBO” and click READ followed, when prompted, by Create to create a new EXP
file. Put in the extra title information as required.
Rather than type in the positions of over 100 atoms manually, we will import the
structure from a CIF file as per the previous example on this topic. Use the
c:\cpdw\lebail_model\starting_canbo_structure.cif file.
42
Now add in the diffraction data/histogram. c:\cpdw\lebail_model\canbo-v.gsa is the
diffraction data file (a variable count time dataset converted into the GSAS ESD
format) and c:\cpdw\lebail_model\cuka12xrd.prm is the instrument parameter file.
As usual, fix up any problems with the Ratio of the wavelengths (0.5). As POLA is
set at a value for a curved graphite diffracted beam monochromator based on using the
Azaroff function (0.911), IPOLA should be set to 1 to get GSAS to use the Azaroff
function. (1).
Run Powpref and Genles, then fit the background graphically using Powder, Bkgedit
as per previous sections.
43
In the LS Controls tab, now enable the F(calc) Weighted button. And turn off the
Scale Factor, which is meaningless to refine during a Le Bail fit as all the HKL
intensities are free to go to whatever value it takes to get the best fit to the data.
Fixing the Scale Factors
Via the Scaling tab, turn off the Scale parameter refinement flags for the X-ray and
Neutron data. (These are turned back on after the Le Bail fitting) Now run Powpref
once, the Genles a few times to get calculated intensities into the observed peaks. As
this is a large cell, this could take a while. You should get a starting fit similar to the
following.
Now slowly release the unit cell, shft, and other profile parameters as per the previous
sections. If the refinement goes unstable, you may have to run powpref again to reset
the Le Bail intensities.
After refining the unit cell and shft, it should look something like the following.
44
After refining the profile parameters, it should look similar to the following.
Now you can turn off all the profile and unit cell parameters and turn back on the
Rietveld refinement to try and get a good initial fit of the trial structure to the data.
Remember to turn back on the Scale Factor.
Run powpref and run genles to start refining the structure. Though you may like to go
to the next exercise. It took around 6 to 12 months to solve this structure, then around
2 years to refine it to completion, from whence it could be published. While the X-ray
data may look like it has a decent fit at the moment, including the neutron diffraction
data was very important to reliably refine the oxygen positions, and work out problems
with the model. The starting neutron fit is included below with the corresponding
starting X-ray fit.
45
SECTION 7
True (model-less) Le Bail fitting using GSAS for structure solution
If you know the cell and space group but not the structure, you can obtain a set of
intensities from powder diffraction data for structure solution by using Le Bail fitting.
Using model-less Le Bail fitting, all the intensities are set to zero prior to the start of
the fitting procedure, and thus are un-biased by any atoms you may have put in the unit
cell.
Important: If you find the following dataset refines to slowly on your PC, you
can do the same tutorial using the Y2O3 data and CIF file.
Important: Whenever you run powpref while in true Le Bail mode, this resets
the HKL intensities to zero. This can mean that you need to fix the profile
parameters while you run a few cycles of Genles to get the intensities roughly
matching the diffraction data, then start releasing profile parameters again.
For this example, we will use a synchrotron dataset of tetracycline hydrochloride from
the 1st Structure Solution from Powder Diffractometry Round Robin (SDPDRR,
http://sdpd.univ-lemans.fr/SDPDRR/ ). The instrument profile were not provided with
the data from the synchrotron, so you will have to slowly fit the peak profile
parameters as part of the Le Bail process. If you obtain data from a third party, it
would save some tedium if you could also obtain a good instrument parameter file of
the diffractometer. You will have to create a starting instrument parameter file for this
example.
Important: This data was collected from a capillary, thus parameters relevant
to flat plate Bragg-Brentano instruments (trns and shft) should not be used. The
Refine Zero in the Histogram Tab should be used.
Wavelength = 0.692 Angstrom; Polarisation of the X-ray beam (IPOLA=0) of
1.
The orthorhombic spacegroup of tetracycline hydrochloride is P 21 21 21
The unitcell of tetracycline hydrochloride is 10.981 12.853 15.733 90 90 90
Double click the EXPGUI icon on the desktop, and the "Select an experiment file
to read" dialog will be displayed. Browse to: c:\cpdw\lebail_modeless directory, type
in “tetcy” and click READ followed, when prompted, by Create to create a new EXP
file. Put in the extra title information as required.
Then via the Phases tab, add a new phase with the above parameters.
46
Important: When adding a cell and spacegroup, GSAS still needs one atom for
it to run Genles, even when doing structureless Le Bail fitting. Thus to keep
GSAS happy, a “dummy” atom needs to be added.
Thus as per the above, add a dummy Hydrogen atom at 0 0 0.
Now create a default Instrument parameter file for this synchrotron data file using
Powder Instedt. Give a title similar to “Daresbury 9.1 in image plate mode at 0.692
Angstrom” and an Instrument name of something like “Daresbury 9.1”. It is a
constant wavelength X-ray instrument with radiation type of Other. The wavelength
is 0.692 and the polarisation fraction is 1. As this is synchrotron data with good
resolution, give the GW parameter a value of 2. Then Save As to save the file with the
name synca.prm.
Now in the Histogram tab, add the diffraction data file (ALDSYNC.gsa) and
instrument parameter file (synca.prm)
47
In the Scaling tab, turn off the Scale Factor and in the L S Controls tab, enable Equally
Weighed (Le Bail method).
Now run powpref and then genles. Then view the plot in Liveplot.
As the very low angle data (where there are no Bragg peaks) has a strange background
which would be tedious to try and fit a function to, and there are hardly any reflections
above 36 degrees, we are going to exclude these areas. Now run the Powder, Excledt
program. Using the Add Region ICON and the click and drag with the mouse to add
the two excluded areas at the extreme ends of the data. When completed, click Save
and Finish. Then run Powpref (so this change takes effect) and genles.
48
Making sure you have run Powpref and genles after excluding the lower and upper
angle regions, now run Powder, Bkgedit to manually fit a background function to the
data. Because a glass capillary was used to hold the powder sample, the background
has humps in the data that need to be fitted as part of the background function. In the
following screen image, a 18 term function seems to be doing the job. Click on Save
in EXP file & Exit to continue on.
Now run powpref (which resets the Le Bail intensities to zero). Then run genles
twice. It will normally take running genles twice to get a decent about of intensity into
the peaks, as the following two screen images show. Genles will only do one cycle
each time as no parameters have been set to refine at this point.
(Left: first run of genles; Right: second run of genles)
49
Now refine the Unit Cell and Zero where you should get the following style of fit.
Continue on as with the previous sections for refining the profile parameters. Though
remember to NOT release shft or trns. Use you best judgement to how many
parameters need to be released, and whether the peak asymmetry parameters S/L and
H/L need to be released. At some point, you will most likely have to release the
background to refine. Be very careful when doing this with Le Bail fitting.
If you see evidence of peak concatenation, you may have to change the peak cutoff (in
the Profile tab) to 0.0001. If you do this, turn off ALL the refined parameters
(including the background), run powpref, run genles 2 to 4 times, then turn the
parameters back on. If you do not turn off all the parameters, the parameters that
have been left to refine will go tend to go completely beserk.
(with peak concatenation with peak cut-off at 0.001)
(setting the peak cut-off at 0.0001)
50
After refining the 3 width and 2 shape parameters (with background, zero and unit
cell), you should be at the following point in the Le Bail fit.
You can now use Results, Reflist to export the list of HKL and intensities. After some
minor sorting and reediting, these can be passed into favourite HKL based structure
solution software in an attempt to solve the structure.
51
SECTION 8
Problems with space group settings and determining the neutron data wavelength by use of NIST Si 640; and
modelling a second trace phase.
The aim of this section is to show how i) easy it is to import an existing structure file
into GSAS (minimizing the risk of typographical errors); ii) recognize problems with
the imported structure, including the space-group setting and iii) refining the value of
the wavelength by the use of a NIST Si 640c standard. Note that if there are not
enough reflections to refine the wavelength, mixing in a phase like annealed cubic
Y2O3 can allow the wavelength to be refined as the Y2O3 add more observations for the
refinement of the zero offset. This data was taken from the 5 3 1 reflection of a Silicon
monochromator at a take-off angle of -92.732°, which will result in a wavelength of
around 1.33Å.
Double click the EXPGUI icon on the desktop, and the "Select an experiment file
to read" dialog will be displayed. Browse to: c:\cpdw\silicon_neutron directory, type
in “silicon” and click READ.
EXPGUI will give a message that the file does not exist. Select the Create button to
create the SILICON.EXP file and add the title.
Under the Phase tab, click on the “Add Phase” button, but instead of inputting all the
information by hand, use the Import Phase From button and select Crystallographic
Information File (CIF).
Then select and import the si_icsd_51688.cif file in the c:\cpdw\silicon_neutron
directory. EXPGUI will give a warning that the F d -3 m S is unlikely to be
understood, as GSAS only understands standard Hermann-Maugin space group
symbols.
Change F d -3 m S to F d -3 m Under more complicated circumstances, the space
group and structure may have to be changed or transformed to a setting that GSAS
does understand.
52
Press Continue. GSAS will output the spacegroup information which you can check
with the IUCr International Tables or other suitable spacegroup database.
This brings up the Adding Atoms dialogue box.
GSAS will complain if the “Atom Type” of Si (neutron atom) has its charge labelled
as Si0+. Change this to Si. Some CIFS can have either blank input or have Biso
values instead of the GSAS required Uiso values. In this case, there is a Biso value
present in the structure information. Biso = 82Uiso : Uiso = Biso/78.96. So just this
formula to convert the Biso to Uiso values: a Biso of 0.54 becomes a Uiso of 0.0068.
53
Now add the histogram as done in previous sections. The datafile is c:\cpdw\
silicon_neutron\ si_531.gsa and the instrument parameter file is c:\cpdw\
silicon_neutron\ c2neutron.prm.
Now set the number of cycles to 8; and check the profile cutoff is 0.001. Run
Powpref and Genles and fit the background.
54
Set the unit cell for NIST 640c Silicon at its certificate value of (when measured at
22.5°C - https://srmors.nist.gov/view_cert.cfm?srm=640C ) of 5.4311946Å. This is
done by going to the Phase Tab and selecting Edit Cell icon.
Now refine, via the Histogram Tab, refine the Wavelength and Zero offset (the unit
cell of Silicon remains FIXED at its NIST value). As you have changed the unit cell
manually, run Powpref followed by Genles.
As per the following screen image, the fit is very woeful given this is a standard
material with a single atom located on a special position. (The peak at 52° where there
is no calculated HKL is a Vanadium peak from the Vanadium sample can).
55
To cut a long story shorter, if you have not encountered this problem before, it is easy
to waste a lot of time trying to figure out what is going on. Is this really the correct
sample? Was the correct wavelength set? Some strange bug in the program?
Occupancies, thermal and position correct? Is it possible that “severe” preferred
orientation/texture will be reponsible for this? (in the case of Silicon powder:
“not bloody likely”) The solution to this is the default space-group setting used by
GSAS. GSAS assumes the a setting of the F d –3 m space group which has the Origin
at 0,0,0. However, if you look up F d –3 m (No 227) in the IUCr International Tables
Vol A, it puts the Origin at 1/8, 1/8, 1/8. So if you translate the Silicon atom to 1/8,
1/8, 1/8 (0.125, 0.125, 0.125) the calculated pattern will probably start fitting the
observed much better.
As another check, if you look inside the Silicon CIF file with a text editor, it includes
the Wyckoff position for the Silicon atom: 8a. In the International Tables, 8a is the
1/8, 1/8, 1/8 position.
As another, another check, if you run the GSAS DISAGL program (via Results,
Disagl), when Silicon is located at 1/8, 1/8, 1/8, all the Si to Si bond distances are
2.352Å with Si-Si-Si bond angles of 109.47°. If you put the Si at 0, 0, 0, then the bond
distance is 1.92Å and the bond angles are all over the place in a manner that would be
unexpected for a diamond structure type.
In the Phases Tab, click on the Silicon atom line, then in the bottom details box,
change 0 to 0.125 for X Y and Z.
56
Run Powpref and Genles. This gives a much better fit as per the following screen
image.
Now, as with previous examples, complete the refinement by fitting the profile,
refining the background and releasing the silicon thermal/Uiso parameter.
To record the wavelength, Zero and ESDs, open LSTVIEW (ICON 2nd
from the right
on the top EXPGUI program bar) and scroll down to the bottom to find the
C/L1/R/2Th (wavelength) and Zero.
57
It is not good practise to have an impurity phase un-modelled in the Rietveld analysis.
Thus, similar to before, now add in the Vanadium phase and finish off the refinement.
The Vanadium structure is given in the vanadium_icsd_52537.cif file in the
c:\cpdw\silicon_neutron directory. As the Vanadium peaks are present in trace
amounts, we will most likely have to constrain the thermals and profile values to be
equal to the major phase.
In the Phases Tab, import the vanadium_icsd_52537.cif file. Change V0+ to V
and give the Vanadium thermal/Uiso the same as the Silicon (this can be
changed later in the Phases Tab (phase 2 ICON) for the Vanadium)
The scale factors for the two phases have to refine separately. Thus to into the Scaling
Tab and fix the overall scale factor, and refine the individual phase fraction scale
factors (as shown in the following screen image).
If you have a LivePlot window already open, close it as the HKL’s for the new
Vanadium phase will not be displayed. Run Powpref (to generate the HKL’s for
Silicon and Vanadium) then run Genles.
Open LivePlot and zoom up to the background. Display the HKLs for the Vanadium
via the Liveplot menu (File, Tickmarks, Phase 2 ; and Option, Configure Tickmarks,
Manual Placement). In the following screen image, it is easy to see that the intensities
for the Vanadium metal are not matching up.
58
As this is a metal can, it can very likely be suffering from very severe texture/preferred
orientation. But first, we had better check the International Tables Vol A information
on I M –3 M (No 229) and make sure we have the space group setting correct for
Vanadium. It is easy to get confused here as if the Vanadium does have very severe
preferred orientation (which would be expected), it could be that putting the Vanadium
atom into another site (using trial and error to determine which setting GSAS uses as a
default for I M –3 M) might improve the fit by mis-modelling the preferred orientation
as an origin shift of some sort (e.g., by putting the Vanadium at 0, 1/2, 1/2: the 6b
Wyckoff site).
If International Tables Vol A are consulted, 0,0,0 is the origin, as is consistent with the
GSAS symmetry check out put. The CIF file states the Vanadium site is a 2a site; and
in the International Tables 2a is 0,0,0. If you do a Results, Disagl then bond distances
and angle make sense with the Vanadium on the 2a 0,0,0. The bond distances and
angles do not make sense by putting the Vanadium sites other than the 2a 0,0,0 site.
Following are screen dumps of powder patterns of Vanadium calculated using the user-
friendly Powder Cell program (left) and Poudrix program (right) (both are distributed
on the CD-ROM). Both allow you to cross validate the GSAS calculated powder
pattern and Powder Cell also allows you to input the Wyckov position.
59
Thus a conclusion to make of all of this is you have to be very careful with space
groups and Rietveld refinement. You also have to be careful to be on the lookout for
bugs in space group generation code.
Rather than try to model the texture on this trace phase, we will fit the Vanadium
intensity by doing a model biased Le Bail fit which allows all the intensities to freely
float. To fit the Vanadium intensities using a model biased Le Bail fit, go to the LS
Controls tab and select F(calc) Weighted (model Biased) for phase 2 (the
Vanadium).
Run Powpref and Genles and evaluate the result in LivePlot. The intensities now
match quite well.
Under the Phase Tab, Phase 2 ICON, Release the UnitCell for Vanadium and run
Genles. The fit might improve a trivial amount, as the Unit Cell given in the ICSD is
quite accurate for this diffraction pattern. From the point of view of trying to refine the
60
wavelength of silicon, don’t spend too much time on the Vanadium. It is unlikely to
significantly affect the determination of the wavelength.
Again, to record the wavelength, Zero and ESDs, open LSTVIEW (ICON 2nd
from the
right on the top EXPGUI program bar) and scroll down to the bottom to find the
C/L1/R/2Th (wavelength) and Zero.
61
SECTION 9
Combined Refinement of multiple datasets (X-ray and Neutron)
Important: Combined X-ray and Neutron refinement can seem quite nifty and
high-tech, but it should be done for a well defined and definite reason. Often, it
can be best to just refine on the neutron powder diffraction data as, in
comparison to X-ray data, it can be less affected by systematic errors. If the
individual X-ray or neutron data is not adequate by themselves, combined
refinement can be beneficial. In practise, the following structure would
normally just be refined using the neutron data.
Important: If the Sum(w*d**2) for the histograms/diffraction patterns are
very unequal, histogram weighting may be required so the datasets are equally
weighted and this is shown in the following tutorial. A rule of thumb can be to
weight the neutron data such that the Sum(w*d**2) for the neutron data is 1.2
times that of the X-ray data. Histogram weighting is enabled via the Expedt
program (via the expedt menu: k p h f). Powpref must be run after setting any
new histogram weighting.
Important: In joint refinements, other Rietveld users would usually not start
with both data sets, but get one looking OK before introducing the additional
data. A suggestion would be to follow this strategy if the following guide does
not work.
Adding multiple diffraction datasets into GSAS is just as easy as adding a single
dataset. Using both X-ray and Neutrons together can be very useful, though some
thought can be required. The datasets should be on an identical sample, run at the
same temperature, and the diffraction data should be seeing consistent properties of the
structure (refer: I.E. Grey, L.M.D. Cranswick and C. Li, Accurate site occupancies for light atoms from
powder X-ray data? Oxygen vacancy ordering in 6H-BaFe0.67Ti0.33O3-delta (delta = 0.08 and 0.32),
Journal of Applied Crystallography, 1998, Vol.31, No.Pt5, pp.692-699). In this example, we are
going to refine the structure of IUCr Rietveld Round Robin PbSO4 using both the
X-ray and neutron data (R. J. Hill, “Rietveld refinement round robin. I. Analysis of standard X-ray
and neutron data for PbSO4”, J. Appl. Cryst. (1992). 25, 589-610).
Double click the EXPGUI icon on the desktop, and the "Select an experiment
file to read" dialog will be displayed. Browse to: c:\cpdw\lebail_xray_neutron
directory, type in “pbso4” and click READ followed, when prompted, by Create to
create a new EXP file. Put in the extra title information as required.
Add a phase and import the structure from the file named
c:\cpdw\lebail_xray_neutron\pbso4_icsd_76925.cif
62
Now add the X-ray dataset by using the Add New Histogram icon in the Histogram
tab. The data file is c:\cpdw\lebail_xray_neutron\pbso4xrd.gsa and the instrument
parameter file is c:\cpdw\lebail_xray_neutron\cuka12xrd.prm . Again, fix up any
problems with the Ratio of the wavelengths (0.5). As POLA is set at a value for a
curved graphite diffracted beam monochromator based on using the Azaroff function
(0.911), IPOLA should be set to 1 to get GSAS to use the Azaroff function. (1).
Now repeat the same procedure to add the neutron dataset by using the Add New
Histogram icon in the Histogram tab. The data file is
c:\cpdw\lebail_xray_neutron\pbso4neu.gsa and the instrument parameter file is
c:\cpdw\lebail_xray_neutron\neu_d1a.prm . The Instrument parameter file has two
banks, select bank one (EXPGUI will not let you proceed until you choose a bank).
If you look in the Histogram tab you will now see one line per histogram (one X-ray
histogram and one neutron histogram). To see the parameters for a particular
histogram, click on that line.
63
(Left: X-ray histogram; Right: neutron histogram)
For the profile fitting, we are going to do this in Model Biased Le Bail mode. Go into
the LS Controls tab. Click on Histogram 1 (X-ray data), and select F(calc)
Weighted.
Now click on Histogram 2 (Neutron data), and select F(calc) Weighted.
Fitting the background using BKGEDIT
Now, prior to fitting the background, run Powpref and Genles
64
Now, select Powder, Bkgedit and fit the background for Histogram 1 (the X-ray data).
If the X-ray histogram is not selected, via the top Bkgedit menu, select File,
Histogram 1.
Now, making sure Histogram 2 (Neutron data) is selected via the L S Controls, select
Powder, Bkgedit and fit the background for the Neutron data. If the X-ray histogram
is not selected, via the top Bkgedit menu, select File, Histogram 2.
Getting the best fit to the peak profile
Getting the best fit to the multiple diffraction patterns can be more tedious than just
fitting a single diffraction dataset but it is not that difficult. One trick when fitting a
combined X-ray and Neutron dataset is to let the wavelength for the neutron dataset
refine along with the unit cell. Normally the wavelength for the X-ray dataset is more
well determined, so the X-ray wavelength can be used to anchor the unit cell.
65
Fixing the Scale Factors
Via the Scaling tab, turn off the Scale parameter refinement flags for the X-ray and
Neutron data. (These are turned back on after the Le Bail fitting) Now run Powpref
once, the Genles a few times to get calculated intensities into the observed peaks.
Matching up the peak positions
To help the positions of the calculated reflections match up with the observed:
Refine Cell (Phase tab)
Refine both the Zero and Wavelength for the Neutron data (Histogram Tab,
Histogram 2)
Refine the shft parameter for the X-ray data (ProfileTab, Histogram 1)
In Liveplot, to view the Rietveld plot for the 2nd
Histogram, select File, Histogram, 2
from the top Liveplot menu. It is possible to open multiple Liveplot screens so you
can simultaneously follow the Rietveld plots of the various histograms.
Refining width and shape parameters
As per the previous sections, slowly release the width and shape parameters for the
X-ray and Neutron data. You may find you need to play with the X-ray parameters as
releasing all the Width and Shape parameters may go into a false minima where the
peaks are too broad at high angle (not helped by a possible goniometer offset problem
at high angle). It may be best to not release any more width and shape parameters at
this point and only try releasing the other width and shape parameters in the final stage
of the structure refinement where the calculated intensities are constrained to the
atomic structure.
66
Refining the background
For both X-ray and Neutron datasets, now refine the background parameters
(Histogram tab).
67
Refining the atomic parameters
For the moment, turn off the refinement flags for all the profile parameters,
wavelength, zero offset and unitcell (but keep the background refinement flags on.
In the LS Controls, for histogram 1 (X-ray) and histogram 2 (neutron), go back into
Rietveld mode; and in Scaling, refine the scale factor for histogram 1 (X-ray) and
histogram 2 (neutron).
68
Now run powpref following be Genles.
If you were only refining X-ray data, you would release the atoms positions and
thermals slowly in reverse order of atomic number. As this is a smallish structure and
the neutron data is also being used, refine all the atomic positions of the atoms. In the
Phase Tab, put your mouse of the atoms and click the right mouse button. This selects
all the atoms. Now select the “X” refinement flags box.
Now run genles.
69
Most of the above difference plot looks due to thermal parameters needing refinement.
But it does not hurt to run Results, Disang to check that none of the atoms have gone
a-wandering and are in physically unreasonable positions.
If you were only refining X-ray data, you would release the atoms positions and
thermals slowly in reverse order of atomic number. As this is a smallish structure and
the neutron data is also being used, refine all the thermal positions of the atoms. In the
Phase Tab, put your mouse of the atoms and click the right mouse button. This selects
all the atoms. Now select the “U” refinement flags box.
70
Now run genles.
Now could be a good time to again release the profile parameters, unit cell, neutron
zero, neutron wavelength, and profile parameters for the X-ray and neutron data. Then
run Genles.
Near the final stages of the refinement, visual changes to the Rietveld plot can be quite
trivial. Thus a better guide can be to look at the fit indices and the refined parameters
71
via the Lstview program and Disang as a judge of how well the refinement is now
progressing.
Cycle 179 There were 8918 observations.
Powder data statistics Fitted -Bknd Average
Bank Ndata Sum(w*d**2) wRp Rp wRp Rp DWd
Integral
Hstgm 1 PXC 1 6000 24606. 0.1001 0.0785 0.0984 0.0780 0.724 0.956
Hstgm 2 PNC 1 2918 24061. 0.0561 0.0454 0.0594 0.0487 0.219 0.915
Powder totals 8918 48667. 0.0694 0.0683 0.0761 0.0713 0.474
Cycle 180 There were 8918 observations.
Powder data statistics Fitted -Bknd Average
Bank Ndata Sum(w*d**2) wRp Rp wRp Rp DWd
Integral
Hstgm 1 PXC 1 6000 24162. 0.0992 0.0778 0.0971 0.0770 0.729 0.956
Hstgm 2 PNC 1 2918 26884. 0.0593 0.0478 0.0633 0.0516 0.208 0.915
Powder totals 8918 51046. 0.0711 0.0685 0.0774 0.0712 0.455
Cycle 182 There were 8918 observations.
Powder data statistics Fitted -Bknd Average
Bank Ndata Sum(w*d**2) wRp Rp wRp Rp DWd
Integral
Hstgm 1 PXC 1 6000 23562. 0.0980 0.0767 0.0954 0.0756 0.735 0.956
Hstgm 2 PNC 1 2918 26541. 0.0589 0.0475 0.0628 0.0513 0.210 0.915
Powder totals 8918 50102. 0.0704 0.0677 0.0764 0.0701 0.457
Cycle 183 There were 8918 observations.
Powder data statistics Fitted -Bknd Average
Bank Ndata Sum(w*d**2) wRp Rp wRp Rp DWd
Integral
Hstgm 1 PXC 1 6000 23354. 0.0976 0.0763 0.0948 0.0751 0.737 0.956
Hstgm 2 PNC 1 2918 24885. 0.0571 0.0461 0.0606 0.0496 0.216 0.915
Powder totals 8918 48238. 0.0691 0.0670 0.0750 0.0693 0.468
Cycle 184 There were 8918 observations.
Powder data statistics Fitted -Bknd Average
Bank Ndata Sum(w*d**2) wRp Rp wRp Rp DWd
Integral
Hstgm 1 PXC 1 6000 23197. 0.0972 0.0760 0.0943 0.0747 0.739 0.956
Hstgm 2 PNC 1 2918 26280. 0.0586 0.0473 0.0625 0.0510 0.210 0.915
Powder totals 8918 49476. 0.0700 0.0672 0.0757 0.0694 0.458
Refining thermals anisotropically and checking the structure using Platon and GUI WinORTEP 3
Important: Be very careful when refining thermals anisotropically using
powder diffraction data. Normally this is only possible with good Neutron
data, and even then due care must be shown to make sure the results are
physically reasonable and releasing these parameters is supported by the data.
Besides looking at the shift/ESDs and ESDs in the GSAS LIST file (via Lstview). If
the shift/ESD for a parameter is not very near zero after a good number of cycles, this
can imply that the data will not support the refinement of this parameter (either alone
or in combination with other parameters). Also run the structure through validation in
Platon and visually inspect the structure using either Platon or GUI WinORTEP 3
(WinORTEP 3 can read GSAS files directly)
To refine the atoms anisotropically that are already refining isotropically, select all the
atoms then click on the Xform Atoms icon. Then select the Set Anisotropic icon
which will convert the Isotropic values to Anisotropic values. Select Close to get back
to the main EXPGUI screen.
72
It would not hurt to run Powpref at this point, followed by Genles to continue the
refinement.
Histogram Weighting
While the shift/ESDs look OK (via lstview) for the anisotropic thermal parameters, it
would be good if the refinement was weighted more on the Neutron data than the
X-rays. The Sum(w*d**2) for the X-ray data is double that of the neutron data, so it
is possible that noise or systematic error in the X-ray data is having more of an
influence on some of the thermal parameters than the better high angle intensities of
the neutron data.
73
Based on the above Sum(w*d**2), it would be good to double the weighting of the
neutron data. Via Expedt, type k p h f 2 (2 is the second histogram, which in this case
is the neutron data). Then enter a new histogram weighting factor of 2 (the default is
1). Now keep typing X [RETURN key] until Expedt exits. Powpref must be run
after changing a histogram weighting. The following Genles screen shows the
neutron data (Histgm 2) is now upweighted compared to the X-ray data, which is what
we want.
ORTEP-3 for Windows for Windows can be obtained from
http://www.chem.gla.ac.uk/~louis/software/ortep3/ (is included on the CD-ROM) and
can imported GSAS EXP files. It can be good to graphically inspect the structure to
see if the ORTEPs make sense, as show in the following screen image.
74
Platon (by Ton Spek) can perform visualisation of crystal structures as well as a large
variety of structure validation. At minimum you should do an Addsym check to see if
the structure may have too low a symmetry spacegroup. Addsym analysis should be
considered mandatory for all solved and refined structures. Platon can also check for
intra and inter molecular bonds that are suspiciously short, and suspicious anisotropic
thermals. The UNIX version of Platon is available via
http://www.cryst.chem.uu.nl/platon/ and the Windows version at:
http://www.chem.gla.ac.uk/~louis/software/platon/ . Platon can read Platon, Shelx and
CIF files, and EXPGUI can export Platon SPF files (via the Import/Export, Coord
Export menu). It can often be best to export CIF files for reading into Platon, as
Platon can then use the ESDs as part of the validation analysis.
75
SECTION 10
Importing a structure using a GSAS macro file, and using occupancy constraints and charge balance restraints
In this example, there will be a brief example of using the GSAS Expedt macro facility
as well as showing the use of constraints for refinement of site occupancies.
The crystal structure is that of Barium Iron Titanate (I.E. Grey, C. Li, L.M.D.
Cranswick, R.S. Roth and T.A. Vanderah, Structure analysis of the 6H-
Ba(Ti,Fe3+,Fe4+)O3-delta solid solution, Journal of Solid State Chemistry, 1998,
Vol.135, No.2, pp.312- 321.)
Hexagonal; Spacegroup = P 63/M M C
Cell a=b= 5.6915 c= 13.9521 gamma = 120
Following are the starting co-ordinates and occupancies in GSAS macro format. The
text after the “!” are comments.
i 1 Ba+2 0.00 0.00 0.25 1 Ba1 i 0.025 !Insert atom 1
i 2 Ba+2 0.33333 0.66667 0.09 1 Ba2 i 0.025 !Insert atom 2
i 3 Ti+4 0.00 0.00 0.00 0.5 Ti1 i 0.025 !Insert atom 3
i 4 Fe+3 0.00 0.00 0.00 0.5 Fe1 i 0.025 !Insert atom 4
i 5 Ti+4 0.33333 0.66667 0.84 0.5 Ti2 i 0.025 !Insert atom 5
i 6 Fe+3 0.33333 0.66667 0.84 0.5 Fe2 i 0.025 !Insert atom 6
i 7 O-2 0.52 0.04 0.25 1 O1 i 0.025 !Insert atom 7
i 8 O-2 0.83 0.66 0.08 1 O2 i 0.025 !Insert atom 8
Double click the EXPGUI icon on the desktop, create a new EXP file (directory
and title of c:\cpdw\occ_constraints\titanate.exp) and add the above Cell information
(but don’t add any atoms).
Then add the histogram / powder X-ray diffraction data
c:\cpdw\occ_constraints\titanate.gsa and instrument parameter file of
c:\cpdw\occ_constraints\ cuka12xrd.prm. Again, fix up any problems with the
Ratio of the wavelengths (0.5). As POLA is set at a value for a curved graphite
diffracted beam monochromator based on using the Azaroff function (0.911), IPOLA
76
should be set to 1 to get GSAS to use the Azaroff function. (1). Set the number of
refinement cycles to 8, etc.
Using Macro Files in GSAS
The idea behind GSAS macro files is that of files that contain the keystrokes of the
commands and parameters you would use if you were inputting the information by
hand. The advantage of using a Macro file is you avoid tedium and possible
typographical errors, especially if you have a large structure.
To enter the above coordinates in the c:\cpdw\occ_constraints\struct.mac , run
Expedt, and enter the atom editing menu by typing k l a.
Then to use a macro file type @r ( this is the “use macro" command), and GSAS will
prompt you to enter a macro file, type struct.mac. After running the macro file, type
L to examining the atom list.
Now keep typing X [RETURN key] until Expedt exits.
77
Run powpref, then Genles and then fit the background using Powder, bkgedit.
Then do a F(calc) weighted Le Bail fit to the data, including refining the background.
Note that with the screen images below, the fit to the high angle data should be very
good.
78
Then lock down all the profile refinement parameters as before, except the
background. Note that with the screen images below, the fit to the high angle data
should be very good. Turn GSAS back to Rietveld mode. And refine the scale factor
Constraining the refinement of the shared occupancy sites.
Before we can refine the titanium – iron shared positions, they have to be linked to
refine to move together and have the same thermal factors. (the summed occupancy
values should be made consistent with the known composition of the material,
unless you tare trying to determine the chemistry from the diffraction data itself) Note that in reality the Iron and Titanium most likely do not move identically or have
the same thermal factors, but this is a constraint that is necessary due to not having
enough information in the diffraction pattern to model the shared atom sites in an
unrestrained manner.
The assumption with the following restraints is that the two metal sites are fully
occupied. To make these types of assumptions on your materials, some crystal
chemical knowledge must be applied and tested against the diffraction data.
Two separate Metal sites which do not have linked fractional occupancies
In this case, the two separate metal sites will not have their fractional occupancies
linked. This can be used to help use the diffraction data to refine the chemistry.
Though it can be better to have an elemental analysis to constrain the composition in
the refinement. Metal site one contains atoms 3 (Ti1) and 4 (Fe1). Metal site two
contains atoms 5 (Ti2) and 6 (Fe2).
79
Go to the Constraints Tab and select New Constraint. Select atoms 3 and 4, then
XYZU-F from the Variables List and save the constraint. Repeat this procedure for
atoms 5 and 6. This means while X,Y,Z and thermals will be constrained to move
together, adding Fe into the site with take out an equivalent amount of Ti; and visa
versa.
Now slowly refine the atom positions and thermals. And Fractional occupancies for
the shared metal sites. It may not be possible to release thermal parameters and
occupancies at the same time. This is something you may find out the hard way. Be
wary to make sure things charge balance (we will be doing this later). This structure is
more complicated as there may be Fe+4 as well as Fe+3. Also, vacancies in the
oxygen positions may be possible as well. The large thermals for the Oxygens might
be indicating oxygen vacancies, or may be just large thermals. This can be difficult to
determine with confidence from X-ray data alone.
80
Important: It can be beneficial to set the occupancy values in the shared sites
(consistent with the known composition of the material) to different values and
see if they consistently refine to the same value. This is a good check on the
robustness of the refinement, and also if there might be some dangerous false
minima in the refinement you should be aware of.
Setting up charge balance constraints
We will use the cell composition restrains to set up a change balance constraint. It can
be easier doing this as a GSAS macro (c:\cpdw\occ_constraints\chbal.mac). And
this appears below. Even if you don’t wish to apply the constraint, it can be a good
way to do an easy check on whether the refinement charge balances.
k !don't make backup file
l !least squares setup
s !edit soft restraint data
c !edit chemical composition restraints
i 0 0.1 !insert new constraint, it should sum to zero with 0.1 esd
1 1 2 !phase one, atom 1 (Barium), value of 2
1 2 2 !phase one, atom 2 (Barium), value of 2
1 3 4 !phase one, atom 3 (Titanium), value of 4
1 4 3 !phase one, atom 4 (Iron), value of 3
1 5 4 !phase one, atom 5 (Titanium), value of 4
1 6 3 !phase one, atom 6 (Iron), value of 3
1 7 -2 !phase one, atom 7 (Oxygen), value of -2
1 8 -2 !phase one, atom 8 (Oxygen), value of -2
0 !end inputting the charge balance constraint
To insert the constraint within the chbal.mac file, run Expedt, then type @r and when
prompted, chbal.mac. Then type L and keep pressing the [ENTER] key to list the
restraint. This is telling us that there are too many negative charges. In this exercise,
we are going to assume this is due to oxygen vacancy in the oxygens surrounding the
Fe/Ti sites.
81
Now keep typing X [RETURN key] until Expedt exits. In the Histogram Tab, click
on the Set Histogram Use Flags. This shows the chemical composition/charge
balance restraints are being applied. If you only wanted to use the restraint
diagnostically, you could deselect this.
Run Results, Disang. This shows that O1 is bonded to the Bariums but not O2. Given
the model has Barium fully occupied, any oxygen vacancies are more likely to be in
the O2 site.
Thus release the O2 Fractional refinement parameter. The charge balance restraint
should keep the parameters from going beserk. Again, we might be finding out the
hard way if we need to fix the O2 thermal, or constrain it to be equal to the O1 thermal.
82
Just in case, run powpref; then run Genles to refine. The Oxygen occupancy goes to
greater than 1 (physically unreasonable). It looks like we have to increase the
weighting on the charge balance restraint. Run Expedt and go k l s c . After listing the
restraint, type F 100 to increase the restraint weighting from 1 (default) to 100. Type
X [Return] until you exit Expedt.
If you now run Genles, it still wants to keep the Oxygen occupancy around 1. (full
occupancy). Disabling the charge balance restraint and manually setting the Oxygen
O1 occupancy at various values also upsets the refinement and drives the metal
occupancies to unreasonable values. This could imply our model of Oxygen vacancies
in the O2 site is not valid and that we should look for the problem elsewhere. Often
when a restraint is fighting against the diffraction data, it implies the model behind the
restraint has some flaws or mistakes. E.g., it could imply we have Fe+4 in the
structure; and or we have refined the Ti/Fe ratio off the actual composition.
Important: “What type of crap tutorial is this where the tutorial restraint does
not work!?” we hear you ask? Often the logic and assumptions behind the
adding of restraints (and some constraints) are not correct, but this may not be
obvious at the time the restraint was added. It is helpful to get used to the idea
that initial versions and assumptions of the structure model may not be correct.
Forcing pre-conceived ideas about the model onto uncooperative data is not a
good way to progress. Instead, consider if there are more appropriate models
that may give a better explanation of the fine points of the diffraction data.
Think of restraints as being like having nuclear weapons: just because you have
the technology does not mean it should be used. Careful thought on if/when it
is appropriate to use a restraint should be considered, and whether it might be
better to collect extra or improved data so the restraint does not have to be used.
One thing that could be tried could be to add another Fe atom to each of the Ti/Fe sites
and define this as Fe+4 using the charge balance restraint and see what values of Fe+4
this might give in the two sites. (it is of course just as easy to do this calculation on a
sheet of paper – working out how much Fe+4 would have to be present to “charge
balance” the structure). This of course assumes the composition has been refined
correctly. This may not be a valid assumption. This is where the analyst has to think
about things, and perhaps get a microprobe or other quantitative chemical analysis of
the sample to fully constrain the composition in the refinement.
83
Two separate Metal sites (of different site multiplicities) having linked fractional occupancies
Important: The following assumed you know the composition of the material,
and that the initial occupancy values have been setup in GSAS such that it
matches the known elemental chemistry of the sample.
Here, we will enter constraints that if any Iron is taken out of the first shared metal site,
it will be put into the second shared site, and visa versa with the Titanium. This is not
as straight forward in this case as it might initially seem, as the two shared sites have
different multiplicities (i.e., different numbers of atom positions within the unit cell)
In the Constraint Tab, delete the old Fractional constraints that were set up in the
previous section.
Then go to the Phase tab and turn off all the atom coordinate refinement parameters.
Also, reset the occupancies of the two shared sites to 0.5, either by typing them
manually, or selecting the atoms, clicking on the Xform Atoms icon.
84
Type 0.5 in the occupancy box and select Set Occupancies. Doing this when you
need to change a number of atoms can be very convenient. It can also make it easy to
set the thermal and occupancy atom parameters are various values to check the
robustness of the refinement.
Do the same with the thermals of ALL the atoms. This can be a good habit to make
sure we don’t slowly go down into a false minima based on the previous refinement.
Reset them all to 0.1
To add the new fractional occupancy constraint where atom occupancy taken out of
one metal site into another, the following logic must be considered.
The metal position at 0, 0,0 has a site Mult/multiplicity of 2. (there are two of
these sites in the full unit cell
The metal position at 1/3, 2/3,0.84 has a site Mult/multiplicity of 4. (there are
four of these sites in the full unit cell
85
This means that if you took 0.25 of occupancy from the 4 fold site and put it into
the 2 fold site, you would be taking 0.25x4= 1 atom’s worth of scattering power.
But 1 atom’s worth of scattering power in the 2 fold site is 0.5. So the act of
taking 0.25 occupancy out of the 4 fold site puts 0.5 occupancy in the 2 fold site.
Thus in the new occupancy constraint, if the multiplier for the 4 fold site is 1,
the multiplier for the 2 fold site is 2.
Now here comes the fun bit. In the Constraints tab, select a new constraint and input
the above information to match the following screen image. The New Column button
allows you to add extra atoms into the new Frac constraint. Note that the 0 0 0 site has
a multiplier of 2 for the Ti1 and –2 for the Fe1.
Select the Save button to apply the constraint.
As you have significantly reset the structure, run powpref and genles, then slowly
release the atom coordinate, thermals (and Fract for the shared occupancy sites), heavy
atoms first, followed by light atoms later. You will notice the occupancies of the two
shared sites sum to 1. Fe taken from Fe1 was put into the Fe2 site and visa versa for
the titanium. The summed values for the total cell starting composition is still retained.
86
(i.e., there were 0.5 *2 + 0.5 *4 = 3 atoms of Fe in the cell before the start of the
refinement. After the refinement, 0.263336*2+0.618332*4=3 atoms of Fe, but in
different statistical distribution between the two sites).
This still does not charge balance. You can use the charge balance restraints
diagnostically in EXPEDT (k l s c [RETURN] [RETURN] [RETURN]) or just to the
arithmetic yourself:
+ve charges = +2*2 (Ba1) + +2*4 (Ba2) + +4*2*0.7367 (Ti1) + +3*2*0.2633 (Fe1)
+ +4*4*0.3817 (Ti2) + +3*4*0.6183 = +33
-ve charge = -2*6 (O1) + -2*12 (O2) = -36
Sum = -3
Though personal experience is that GSAS tends to make less typographical errors than
a human when doing the sums. It can be useful to do both methods of a charge balance
check and make sure they both add up. In this case, as shown by the previous section,
it looks like the charge imbalance is probably a combination of the Fe sites containing
a combination of Fe+3 and Fe+4.
87
SECTION 11
Quantitative Phase Analysis (QPA) example using GSAS
Important: It is easy to get inaccurate results from quantitative phase analysis
using powder X-ray diffraction, even if the fit looks very good and reasonable.
Thus validation of results (such as XRF analysis, neutron and other appropriate
methods) is pretty much mandatory. Refer to the two International Union of
Crystallography (IUCr) Commission on Powder Diffraction (CPD) Quantitative
Analysis Round Robins (QARR) (published in the Journal of Applied
Crystallography but also available via the CPD website -
http://www.iucr.org/iucr-top/iucr/cpd.html )
“Outcomes of the International Union of Crystallography Commission on
Powder Diffraction Round Robin on Quantitative Phase Analysis: samples
1a to 1h”, I. C. Madsen, N. V. Y. Scarlett, L. M. D. Cranswick and T. Lwin,
J. Appl. Cryst. (2001) 34, 409-426
“Outcomes of the International Union of Crystallography Commission on
Powder Diffraction Round Robin on Quantitative Phase Analysis: samples
2, 3, 4, synthetic bauxite, natural granodiorite and pharmaceuticals”, N. V.
Y. Scarlett, I. C. Madsen, L. M. D. Cranswick, T. Lwin, E. Groleau, G.
Stephenson, M. Aylmore and N. Agron-Olshina, J. Appl. Cryst. (2002) 35, 383-
400
In this example, we use IUCr Commission on Powder Diffraction quantitative phase
analysis round robin data containing Corundum (Al2O3), Fluorite (CaF2) and Zincite
(ZnO). The diffraction data has been deliberately concatenated, generally meaning that
refinement of atomic co-ordinates and thermals should not be performed. In this case,
while the unit cell can be refined, you have to obtain reliable atomic coordinate,
thermal and occupancy information. If this is not valid for your sample, it can add
extra systematic errors to the result.
88
Double click the EXPGUI icon on the desktop, create a new EXP file (directory
and title of c:\cpdw\quant\1g.exp).
Import the three CIF structure files one after the other by using the Add Phase:
c:\cpdw\quant\corundum_icsd_10425.cif (when promped, change
spacegroup from R -3 c H to R -3 c)
c:\cpdw\quant\fluorite_icsd_29008.cif
c:\cpdw\quant\zincite_icsd_26170.cif
This leads to the following EXPGUI screen where each phase can be selected via its
phase number. If there is a Uiso value of zero, this may have reset to a reasonable
value as defined by structures in the ICSD.
Also be wary that B values may have been imported and interpreted as Uiso values.
(you can verify this by looking inside the CIF file with a text editor such as notepad)
These need to be reset to Uiso values. The zincite and fluorite structures have Biso
values inputted as Uiso values and these need to be reset.
Biso = 82Uiso : Uiso = Biso/78.96. So just this formula to convert the Biso to Uiso
values.
89
Now add a diffraction pattern (C:\cpdw\quant\cpd-1g.gsa) where the Instrument
Parameter file is C:\cpdw\quant\cuka12xrd.prm . Again reset any bad instrument
values (Ratio=0.5, IPOLA=1, POLA=0.911) and change the number of LS cycles to 8.
In the Scale tab, disable the global scale factor and enable the Phase Fractions Scale
parameter.
90
Run Powpref and Genles. It might be best to exclude the lower angle region where
you are no peaks, but an increasing background due to air scatter.
If you excluded a region, run Powpref and Genles again. Then fit the background as
before using Powder, Bkgedit.
91
Constraining a single shft parameter to all phases
Important: The sample displacement parameter should be the same for all
phases with the sample, thus we need to constrain this to refine to an identical
value within all the phases. (remembering that this is Bragg-Brentano flat plate
geometry data)
Go into the Constraints tab. Select the Profile tab within.
Select Add Constraint, followed by selecting #10 (shft) and continue.
Then select all the (three) phases via the mouse using click and drag. Then Save to
create the restraint.
92
Now release the refinement parameters for shft and the unit cell for all the major
phases (in this case, all the phases are present in major amounts). Now refine in
Genles.
Now fit the profile. Assuming you are using an appropriate starting profile values
from the instrument parameter file, you may find that you only need to release the GW
and LY to get a good fit on such a short range of data. If there was evidence of
preferred orientation, you would also have to refine preferred orientation parameters
for the affected phases.
93
Now refine the background.
The fitting is pretty much done, so go into lstview to obtain the quantitative phase
analysis results.
Phase/element fractions for phase no. 1 (Corundum)
Hist Elem: 1 1 PXC
Fraction : 6.16743
Sigmas : 0.356722E-01
Shift/esd: 0.00
Wt. Frac.: 0.33291
Sigmas : 0.128451E-02
Phase/element fractions for phase no. 2 (Fluorite)
Hist Elem: 1 1 PXC
Fraction : 12.0252
Sigmas : 0.474497E-01
Shift/esd: 0.00
Wt. Frac.: 0.33137
Sigmas : 0.874254E-03
Phase/element fractions for phase no. 3 (Zincite)
Hist Elem: 1 1 PXC
Fraction : 23.3777
Sigmas : 0.697861E-01
Shift/esd: 0.00
Wt. Frac.: 0.33572
Sigmas : 0.665731E-03
Phase/element fraction sum(shift/error)**2 : 0.00
This compares with the mixed and XRF values (%):
Corundum Fluorite Zincite
As Mixed 31.37 34.42 34.21
XRF 31.70 33.86 34.01
94
SECTION 12
Applying a QPA GSAS EXP file to a new diffraction file
Important: It is very easy to get very inaccurate results form quantitative phase
analysis using powder X-ray diffraction, even if the fit looks very good and
reasonable. Thus validation of results (such as XRF analysis, neutron, etc) is
important do implement, especially in the development stages of working on a
new phase system; and as spot checks to ensure nothing untoward has occurred
that is throwing the accuracy out.
At present, replacing histogram files is done via the EXPEDT program (the
comprehensive GSAS EXP file editor by Bob von Dreele and Allen Larson). Select
the EXPEDT ICON from the top left menu.
In EXPGUI, save the current GSAS EXP filename as 1h.exp.
Then to get to the point where you can replace the histogram, type K P H R 1 (note
the descriptors within EXPEDT which explain what these mean while you are doing
this). When prompted with Enter raw histogram input file name (<?>,$,QUIT),
type the name of the data file: cpd-1h.gsa and when prompted, confirm this is correct
by typing Y. When prompted with Enter POWDER instrument parameter file
name (<?>,$,QUIT), type the name of the GSAS instrument parameter file:
cuka12xrd.prm and when prompted, choose scan number 1. Don’t bother
previewing it. Then type T (Set max 2-Theta or Energy or min TOF), and then / to
confirm the maximum angle is acceptable. To exist EXPEDT, type X X X and
[RETURN], the X and [RETURN].
Check the EXP file is OK, especially in the Histogram tab as some of the Instrument
parameters may not have been imported correctly. Again, fix up any problems with
the Ratio of the wavelengths (0.5). As POLA is set at a value for a curved graphite
diffracted beam monochromator based on using the Azaroff function (0.911), IPOLA
should be set to 1 to get GSAS to use the Azaroff function. (1). Correct these.
95
Now run powpref followed by Genles which, as the patterns are close to each other,
should pretty much complete the refinement.
The fitting is pretty much done, so go into lstview to obtain the quantitative phase
analysis results.
Phase/element fractions for phase no. 1
Hist Elem: 1 1 PXC
Fraction : 6.75558
Sigmas : 0.359036E-01
Shift/esd: 0.00
Wt. Frac.: 0.36393
Sigmas : 0.123027E-02
Phase/element fractions for phase no. 2
Hist Elem: 1 1 PXC
Fraction : 12.3218
Sigmas : 0.451448E-01
Shift/esd: 0.00
Wt. Frac.: 0.33887
Sigmas : 0.820825E-03
Phase/element fractions for phase no. 3
Hist Elem: 1 1 PXC
Fraction : 20.7362
Sigmas : 0.625926E-01
Shift/esd: 0.00
Wt. Frac.: 0.29720
Sigmas : 0.630482E-03
This compares with the mixed and XRF values (%):
Corundum Fluorite Zincite
As Mixed 35.12 34.69 30.19
XRF 35.35 34.26 30.03
96
SECTION 13
Quantitative phase analysis involving preferred orientation
Important: It is very easy to get very inaccurate results form quantitative phase
analysis using powder X-ray diffraction, even if the fit looks very good and
reasonable. Thus validation of results (such as XRF analysis, neutron and other
appropriate methods) is pretty much mandatory. Refer to the two International
Union of Crystallography (IUCr) Commission on Powder Diffraction (CPD)
Quantitative Analysis Round Robins (QARR) (published in the Journal of
Applied Crystallography but also available via the CPD website -
http://www.iucr.org/iucr-top/iucr/cpd.html )
“Outcomes of the International Union of Crystallography Commission on
Powder Diffraction Round Robin on Quantitative Phase Analysis: samples
1a to 1h”, I. C. Madsen, N. V. Y. Scarlett, L. M. D. Cranswick and T. Lwin,
J. Appl. Cryst. (2001) 34, 409-426
“Outcomes of the International Union of Crystallography Commission on
Powder Diffraction Round Robin on Quantitative Phase Analysis: samples
2, 3, 4, synthetic bauxite, natural granodiorite and pharmaceuticals”, N. V.
Y. Scarlett, I. C. Madsen, L. M. D. Cranswick, T. Lwin, E. Groleau, G.
Stephenson, M. Aylmore and N. Agron-Olshina, J. Appl. Cryst. (2002) 35, 383-
400
In this example, we use neutron powder data collected on a corundum crucible
containing cubic Y2O3. The aim here was to check that the corundum crucible being
used for a specialised insitu neutron diffraction experiment would also work as an
internal standard to follow the formation of crystalline and amorphous material.
Corundum Crucible : 2.211g 83.0 %
Y2O3 : 0.453g 17.0 %
Double click the EXPGUI icon on the desktop, create a new EXP file (directory
and title of c:\cpdw\preferred_orientation\crucible.exp) .
Import the two CIF structure files one after the other by using the Add Phase:
c:\cpdw\preferred_orientation\corundum_icsd_10425.cif (when promped,
change spacegroup from R -3 c H to R -3 c) Change the UISO values from 0
to 0.01.
c:\cpdw\quant\y2o3_icsd_26190.cif (ignore the EXGUI warning that I a –3 is
likely incorrect) Change the UISO values from 0 to 0.01.
This leads to the following EXPGUI screen where each phase can be selected via its
phase number. If there is a Uiso value of zero, this may have reset to a reasonable
value as defined by structures in the ICSD (for inorganics, often a “starting” UISO
value of 0.01 is used. As this is neutron powder diffraction data, thermals/UISO can
be refined in cases which would not be possible with X-ray powder diffraction data.
97
Also be wary that B values may have been imported and interpreted as Uiso values.
(you can verify this by looking inside the CIF file with a text editor such as notepad) If
Biso’s are present, they need to be reset to Uiso values using the formula: Biso =
82Uiso : Uiso = Biso/78.96.
Now add a diffraction pattern (C:\cpdw\quant\cructs.gsa) where the Instrument
Parameter file is C:\cpdw\quant\c2_1_3A.prm . Reset any bad instrument values.
Though in this example, the instrument parameter has no false information within it.
In the Scale tab, disable the global scale factor and enable the Phase Fractions Scale
parameter.
98
In LS Controls, set the number of cycles to 9. Run Powpref and Genles and check
the initial fit with Live Plot. You can specify that phase names be displayed in the
legend by Options, Configure Tickmarks, Label by Name.
Even though the background looks very simple, out of habit, fit the background as
before using Powder, Bkgedit.
99
As this is capillary neutron data, it is usual to refine the Zero offset (not the sample
displacement as this only makes sense for Flat Plate diffractometer data). Refine the
Zero Offset and the Unit Cell for the two phases.
Now fit the profile and refine the atomic positions and thermals/UISO’s. This would
not normally be possible so easily with X-ray powder diffraction data.. Assuming you
are using an appropriate starting profile values from the instrument parameter file, you
may find that you only need to release the GW and LY to get a good fit on such a short
range of data. As this is neutron data, the heavy atoms and light atoms have similar
scattering factors and the atomic can be released at the same time. Also refine the
background.
100
You will see from the above screen image that some reflections are not fitting well
with the corundum. Be careful that this could mean we have incorrect structural
information, the refined parameters are in a strange false minima, or the data is flawed,
or suffering preferred orientation. (For some people, if the data has preferred
orientation, this means the data is flawed and you should try a type of sample
preparation and data collection that eliminates the preferred orientation: e.g., spray
drying sample preparation of the powder). All this should be checked.
Zoom up in LivePlot and do CONTROL left mouse click near the HKL lines of the
affected . This will display the affected HKLs.
While a number of HKLs can be investigated, it looks like preferred orientation
involving the 006 direction. In this example, we will use the March-Dollase correction
options within GSAS. Go into the MD Pref Orient tab and put 0 0 6 for corundum
(Phase 1) and set ratio to refine.
101
Before refining the preferred orientation, run LSTVIEW and check the state of the
quantitative analysis.
Corundum: 81.9% (0.2)
Y2O3: 18.0% (0.5)
Now run Powpref and Genles. This seems to fix up most of the mis-fitting of the
data.
Everything that looks reasonable to do has been done. Run LSTVIEW and check the
result of the quantitative analysis.
Corundum: 81.8% (0.1)
Y2O3: 18.1% (0.4)
This compared with the weighed values:
Corundum Crucible : 2.211g 83.0 %
Y2O3 : 0.453g 17.0 %
It seems that the preferred orientation correction does not affect the quantitative
analysis significant, which is nice. It can be good to keep track of how the quantitative
analysis results change as a function of the parameters that are being varied. If some
parameters cause the result of interest (in this case quantitative phase analysis) to vary
quite considerably, then extra effort should be put into seeing if the parameters are
going to reasonable values. With X-ray data, often refining thermal parameters with
inadequate data can cause the quantitative analysis to become very inaccurate. In that
case, trying to fix the values based on literature values can be a decent thing to try.
Cross validating the results with XRF/Chemical analysis can also be very useful to
ensure the results are physically reasonable.
102
SECTION 14
Multiphase refinement across neutron and X-ray datasets. Fourier difference maps.
This example should be tried after you are quite comfortable with doing single
phase refinements. This is a multiphase refinement with respect to both X-ray
and neutron data. It involves some manual indexing of peaks, so having some
idea of basic crystallography is a good idea. It illustrates the concept of
scattering contrast and the sometimes great difference between X-ray and
neutron diffraction. It also illustrates the sensitivity of neutron radiation to light
atoms. I skip some steps, assuming you know how to do them, and in some
cases refer to other examples - so don’t do this one first.
Introduction
The standard phase diagrams for Ti and Zr consist of hexagonally close-packed
( ) and body centred cubic ( ) phase. In addition to this, a third phase is seen at
high pressure in these metals, and certain alloys. This phase is known as the w-
phase. This phase is seen a non-quenchable displacive phase in elemental Zr,
but can be retained in small amounts in alloys.
Create an X-ray refinement
Create a new EXP file and read in the X-ray data file <Ti0.67Zr0.33X.gsa> and
the associated parameter file.
Double click the EXPGUI icon on the desktop, and the "Select an experiment file
to read" dialog will be displayed. Browse to: c:\cpdw\fourier directory, type in
“TiZrO” and click READ followed, when prompted, by Create to create a new EXP
file. Put in the extra title information as required.
When prompted for a title enter: “Ti-Zr (O) alloy”
Input phases
Using the CIF files, import three phases corresponding to and See
example (SECTION 5: Importing a Cif structure file and determining the
polarisation of the X-ray beam using Y2O3) for the process. Note that these are
for elemental Ti.
Phase Lattice Parameters Zr Ti
P63/mmc a (Å) 3.2331 2.95111
c (Å) 5.1480 4.68433
Im-3m a (Å) 3.568 3.3112
103
P6/mmm a (Å) 4.6
c (Å) 2.8
Alloying
Your CIFs are for elemental Ti. They need adjustment to take into account the
effect of alloying on lattice parameter and the presence of the alloying atom
(Zr).
i) Given that the nominal composition of the material is Ti2Zr,
adjust the cell parameters accordingly to get what you might
think would be reasonable starting values. (Assume Vegard’s
Law for ideal solid solutions for and For , you will have to
assume the values for Ti or we may guess that they should be a
little larger for the alloy.)
ii) You should add in the extra atoms into all three phases,
corresponding to Zr. You can assume that and phases are
solid solutions, so to begin with you can put in the nominal
composition of Ti2Zr as the atomic fraction (i.e. Ti 0.67 Zr 0.33).
For the case of , it is known that Zr strongly prefers the 0, 0, 0
site and Ti strongly prefers the 2/3, 1/3, 1/2 site. Examine the
multiplicities of the two sites in the P6/mmm cell. Can you
accommodate full atomic ordering simply? Again: examine the
relative proportion of Ti and Zr in the nominal composition, and
compare it to the ratio of the site multiplicities. Ask yourself, are
you feeling lucky, punk?
iii) Add constraints that tie the alloyed atoms together. You need
to think here. Are the x,y,z atom sites in these lattice fixed (i.e.,
are they special equivalent positions). All of x,y,z, or perhaps
just x? You need to consult the International Tables for
Crystallography, or you could experiment by doing a refinement
at some point. (Looking up the International Tables is the way to
go.). At the very least you need to constrain the atoms on the
same site to have the same UISO. You should also probably
constrain the site occupancies so that if Ti increases on one site,
Zr decreases, keeping it fully occupied. [See SECTION 10
Importing a structure using a GSAS macro file, and using
occupancy constraints and charge balance restraints]
Your constraints should look something like:
104
You should also check and if necessary correct the values of x, y, z and the
UISO so that they are the same across both atoms. You can do the same
process to make a solid solution for the -phase (phase 2).
Your -phase should look something like this:
Your -phase should look like this:
105
Add in the X-ray data contained in the file Ti0.67Zr0.33X.gsa and the X-ray
parameter file Yttria-Ultima-1deg-PG.prm. (This process is given in SECTION
2 An Easy start: refining the structure of corundum ( -Al2O3) powder using
diffraction data collected on a neutron powder diffraction system.)
By running POWPREF, determine which of these phases is likely present.
Use Expgui/liveplot and select the tickmarks from each phase to show. The
peaks are broad in this diffraction pattern due to the nature of the material.
Hints: Which phase can the lowest peak only come from?
In this example our lattice parameters are clearly wrong (yours may differ).
What is the index of the lowest peak? Use expgui/liveplot to pick off its index.
Do this by touching the “h” key in the vicinity of the lowest yellow line.
106
As we know that the lowest peak is 100 , we can determine a better starting
value for a . From your observation that the calculated value of 2 100 is
bigger than that observed, what do you have to do to the model value of a to
get it to respond to reality?
Hint: remember the Bragg equation: =2dsin . Given sin (for small ),
for a fixed does increasing d (for 100, it is proportional to a) increase or
decrease sin , and 2 ?
To work out a new value of a go to Options/Show Cursor Position in
Liveplot. Read off the centre of the observed peak and deduce a . Remember
this is hexagonal so d100=acos30º. You should find a value of a in the vicinity
of 4.80 Å.
Put a value in the scale factor for the refinement and fix it. A value that roughly
scales the peaks to the observed intensity is fine at this stage.
107
You can run GENLES
There are four peaks in the range 36-40º 2 and there are three distinct bands
and four calculated peaks in that region from just We may be able to get
away with using only and which we already know is in there, even if it
“should not be” at ambient P,T , as those two phases appear to generate enough
peaks in this area of 2 .
108
Note that the first peak is likely 100 so is easy to adjust a a little to get a
better fit. This process of matching observed peaks to calculated peaks from
models is called indexing peaks. It’s not unreasonable to assume our lattice
parameters for a are close to the real values, so we can probably assign those
observed peaks that are near calculated positions for to . Our biggest
remaining error is probably c , as we are still assuming the value from Ti. Find
out the hkl of the two peaks in this region. Any with a non-zero component of
l is likely to be the one that shifts the most. You need to adjust this peak so it
lies under the peaks near 36.5º, by varying c alone.
When you’ve done this, you should have something like this:
Let’s take out of the equation
Run Powpref. Where once there was a single “scale factor” and three “phase
fractions”, there are now only the single “scale factor” and two “phase
fractions”. Now you can do a standard Rietveld refinement on this.
109
In essence, both “phase fractions” and the “scale factor” are scale factors. As
you only have 2 phases you need only two of them. The best practice is to leave
the “scale factor” fixed, and vary the two “phase fractions”
Slowly release the lattice parameters and the UISO of each atom. You probably
want to exclude the pattern below 18º 2
You will need to refine the profile parameters. You probably want to constrain
both phases to have the same profile parameters, at least to begin with.
110
Select all three phases (I know we’re only using two) and hit Save
You can refine U, V, W, Y, S/L and H/L [the latter two one at a time] and
shift.
What happens when you refine the fractional occupancy (FRAC) of the atoms
in phase 1 and 3. Why may this happen?
You should fairly rapidly get a fit that easily looks as good or better than this:
111
So we can pretty much explain all the peaks with a mixture of and alloys,
with some systematic differences. Perhaps we could ascribe them to preferred
orientation?
Add-in the neutron data
Repeat the same steps you used to add in the X-ray data, this time adding in the
file ti2zr.gsa and the parameter file c2neutron.prm. Now we have to be very
careful to tie together the two datasets correctly. First note that the new dataset
automatically includes beta (phase 2).
Kill that phase. Next go to scaling. Notice that the scale and phase fractions
look like this
112
Compare that to the values for histogram one (to do this select the row 1 XC….
in the left window above). The ratio of the two values of FRAC are
proportional to the ratio of the number of unit cells of both phases. Since this
will be the same ratio in both datasets, you should copy the values you have
refined in your X-ray refinement (Histogram 1) into the neutron dataset
(Histogram 2). Now you need to add a linear constraint to ensure that if one
dataset is forcing a change in the value of one of these parameters, it will do the
same in the other.
In the version of EXPGUI above, this is not supported (maybe it is now), so
you have to use EXPEDT. To the prompts you receive enter Y L O S
Now enter K [i.e. pretend you are German and spell constraint with a K]
Then I [for Insert]
And then 1 1:2 1 [which you can means constrain the value of the phase
fraction for phase 1 [the first “1”] across both histograms [1:2] to be the same
[the last 1 –here this means if the value of the parameter changes in one
histogram by a given amount, apply the same change to the other]. You need to
hit “Enter” or “Return” twice to terminate the is constraint.
113
Then I again and 3 1:2 1 means insert the same constraint for Phase 3. After
hitting “Enter” twice, hit “L” [for List] and you should see:
LEQV PSFR 1 1,1:2 1.0000
LEQV PSFR 2 3,1:2 1.0000
You can exit EXPEDT by hitting X <CR> multiple times.
Make sure you “Load New” when EXPGUI takes over again.
Now you still have the arbitrary value of “Scale” in the neutron dataset,
currently at 1.00, and your fixed value associated with the X-ray refinement (in
the file I am using it was left at 50). How do you handle this?
You need one more scale factor, to account for the fact that a different number
of X-ray photons or neutrons are scattered in both patterns (i.e. different
exposure times, sample sizes, scattering efficiencies). So you should turn on the
value of scale in either the X-ray or the neutron histogram. I will choose the
neutron histogram. I would do a refinement with only this parameter on to
begin with. Then you can turn on the phase fractions in both histograms, so that
the situation should look something like.
You should also ensure that the Damping factors are all the same for the
constrained parameters (Phase Fraction 1 and 3 in Histogram 1 and 2). You also
need to trim the neutron dataset. Cut off below 15 degrees, and cut off above ca
83 degrees. I assume that you know how to do this by now.
When you being to refine, it may be best to turn off all the parameters
associated with the atoms, the lattice parameters, and the peak shape of the X-
rays and just let the neutron scale factor settle in. You can turn on the lattice
parameters, and you can also refine the zero parameter for the neutron data, and
the wavelength (both of which are at nominal values in the parameter file: note
neutron wavelengths are always determined by calibrations with a std and are
subject to error, whereas X-ray anode wavelengths are fixed, so you should
always leave an X-ray wavelength constant).
You may see something like this:
114
Quelle horreur! How can this be? Look at the atomic scattering factors and
lengths of Ti and Zr.
Element X-ray atomic scattering factor (Z) Neutron scattering length (fm)
Ti 22 -3.37
Zr 40 7.16
O 8 5.08
So the values of FRAC for the atomic occupancies are poorly determined by X-
ray alone: the X-ray pattern can fit with a composition that clearly gives a
terrible fit to the neutron pattern. Ti and Zr can yield radically different
scattering contrast in the case of the -phase, and also are coupled strongly to
the scale/phase fractions for the solid solutions. You will frequently find in
refinements that FRAC (change in atomic scattering amplitude) is correlated
strongly to SCALE and PHASE FRACTION (changes in scattering intensity
from crystalline phase) and even to UISO (which reduces scattering into Bragg
peaks at high angles).
Turn back on the FRAC and UISO flags (F and U) in phase 1 and 3. Now look
at the two fits. They should appear something like
115
This is much better, but still has problems. You should set up constraints on the
neutron profile parameters GU GV GW LY and asym, and you will be able to
fit the shape better. They should look something like
after you have finished. (Note I am leaving some steps for you to figure out
here).
But try as you may, you will find that the systematic differences in intensities
cannot be fixed. Take a look in liveplot and decide which phase has the
misfitting lines in the neutron pattern: or ? Given that both the and
peaks fit well in the X-ray case, it implies some other error in the model that is
detectable with neutrons but not readily so by X-rays.
Lets try a difference Fourier map to see if there is an atom missing somehow
(not clear how if this is an alloy!).
Run EXPEDT. Answer Y F and 3 to the first three questions. Select a
difference map (DELF). You don’t need individual step sizes, and give a value
of 0.1 or 0.2 to the fixed step size, and just answer “0 1” to min and max values
of x, y and z. Run POWPREF GENLES and then FOURIER (via
Graphs/Fourier) through EXPGUI.
Then run VRSTPLOT. Answer “3” for phase. Type “U” to get unit cell
outline, and “A” for atoms and in this answer “U” for all atoms in unit cell,
sequence number 1:4 [we have four atoms] , and “0 1” to how far along each of
x, y and z axes. Exit the atom selection menu with “X” and then “W” to write
the .wrl file. You can pick any colour you like as the background. “Q” to quit.
You should find a file with the extension .wrl. With a little bit of luck, you
should find Internet explorer can load the virtual reality
You need to have a virtual reality viewer such as COSMO installed
(http://ovrt.nist.gov/cosmo/downloads/cosmo_win95nt_eng.exe).
If you get it going you should be able to generate a difference Fourier map such
as these. This should give you any locations inside the unit cell where scattering
amplitude is missing. What do you see:
116
Clearly an atom is missing at ½ ½ 0. If you check the International Tables for
Crystallography you will see that the other locations of intensity are all part of
the same special equivalent position. If you sketch out the structure you would
find that this coincides with an octahedral interstice. Typical octahedral
interstice species are O, C and N, and we know that the starting material was
oxidized. So let’s try putting an O in that position in the -phase, and let the
fractional occupancy refine [warning, you may need to turn off other
parameters first]. I’m skipping the details: you should be able to figure out how
to do this by now.
Doing so yields fits like:
Now both fit OK, or at least they are great improvements. You should observe
that the fit to the X-ray pattern has barely changed at all with the addition of
this O atom. Why? Because the scattering is dominated by Zr (Z=40), and Ti
(Z= 22), with little input from O (Z=8). You can see one or two weak peaks in
the neutron spectrum. These are from the V can in which the sample is
contained: usually these are so weak they can be ignored, but here they are
relatively strong. That is because the mean scattering length of the “Ti2Zr”
sample is close to zero <b>=(2/3*(-3.37) + 1/3*7.16 = 0.14fm). So the average
scattering from the disordered alloy is very weak, but contrast from Ti/Zr site
ordering is incredibly strong, if it exists. Even weak scattering from V (b=-
0.38fm) shows up strongly.
Add V as another phase, imported from the V.cif file. Make sure that it is
ONLY included in the neutron refinement [X-rays experiments are not done in
V!]. As this is highly textured metal and we only want to “eat” the intensity
from it in the fit, we can model it as a Le Bail fit
117
The neutron fit should now explain all the peaks. You can play with the
parameters as far as you like to improve it. What you have discovered is a non-
stoichiometric oxide called Ti2ZrO, which is the free oxide that forms from
reaction of ZrO2+Ti, and probably also from Zr(O) in which O is in solid
solution. We’ll leave the refinement at this stage.
118
SECTION 15
Simple Rigid Body in Neutron Diffraction
This involves a reasonable knowledge of crystallography. I assume you now
have familiarity with EXPGUI. If you don’t have, or don’t want, this kind of
knowledge, this is not the example to follow: certainly not the first one to do.
You may need to refer to the International Tables for Crystallography. I jump
several steps that I assume you know by now.
This involves the study of deuterated ammonium perrhenate at 20 K. At this
temperature the ammonium ion is orientationally ordered in the lattice. From X-
ray powder diffraction it is impossible to tell the orientation. With neutrons D
stands out very strongly. We know from X-ray spectra that the structure is
I41/a, a=6 Å, c=12Å. We know that N sits at ½ ¾ 1/8 and Re lies on 0 ¼ 1/8
and O lies near .2 3/8 .05. We know nothing about D. We will model it as a
rigid body (RB).
First setup a new EXP file.
Add the phase
The International Tables for this space group are shown below for later
reference. Not there are two choice of origin. GSAS will always choose the one
with the centre of symmetry at the origin, which in this case is choice 2.
119
120
Add New Atoms
121
Note we created 4 deuterium atoms with default positions: it doesn’t matter
what values they have, as you will see when you insert the RB in a moment.
Add in the data:
Now so far as a RB is concerned, it is just a set of vectors in Cartesians defined
about an origin (the geometric centre is chosen as the centre). Vectors have a
direction and a magnitude. Define a unit vector along [111], [-1-11], [1-1-1] [-
11-1]. A unit vector has magnitude of unity, so each component along x,y,z is
1/sqrt(3)=0.57735 so vector components would be [0.57735,0.57735,0.57735]
etc…. Then in order for that unit vector to map onto a real length, we only need
multiply unity by the known bond lenth. For N-H it is known to be ca. 1.03Å.
Therefore we define the RB in EXPEDT reached via EXPGUI/EXPEDT
122
Type L to list the monster that you have created
Currently this is an abstract concept, consisting of unit vectors defining a
tetrahedron, a magnitude (1.03 Å) representing the N-H bond length, but it has
not been linked to the atoms in your model. So next, we insert the rigid body
definition into the atom list at atom 1 (N) which sites at the origin (0,0,0).
123
NOTE: We need to put in the position of N here again at 0.5 .75 .125.
Whatever you write here overwrites what you have originally written in your
atom list so be careful: the atom list is just a slave to the RB constraint.
Therefore type I 1 1 as so and copy the following
If you type X twice and then re-enter the RB menu in EXPEDT with B you
will see the new positions for the atoms of the ND4 molecular cation that have
been defined by your RB shape that has been inserted with zero rotation about
X, Y and Z.
124
As we set all the rotations to 0 when inserting the RB into the atom menu, the
orientation of the RB is given by the following matrix (see the GSAS technical
manual for full mathematical description):
L reduces to a diagonal matrix containing a,b,c. X’ contains the positions of the
atoms of the RB in Cartesians (we applied no rotation on insertion). Our initial
orientation of R1(X) = R2(Y) = R3(Z) = 0 is “arbitrary”. We next need to
125
refine both the orientation of the molecular cation, and the tilt of the inorganic
sublattice.
Now we need to think.
NOTE: GSAS is pretty smart, but we all have our limitations. So if you turn on
the translations TX, TY and TZ it will not let them move: you can test this and
verify it a little later! However, it is not quite so smart when it comes to
rotations. So if you were to set R1(X), R2(Y) and R3(Z) to refine, they would
all refine to non-zero values. But this would rotate the molecule into
orientations about the -4-axis that would generate multiple distorted copies. So
for rotations you have to be even smarter than GSAS! What rotations allow
something that lies in a mirror plane to remain in a mirror plane? Rotations
about the normal to that plane. So the only rotation you can allow is R3(Z),
rotation about the z-axis of the tetragonal crystal.
But look at the stoichiometry. With our general definition of all the angles
between an ammonium ion, on the particular site symmetry in this space group,
multiple copies appear. Therefore adjust the fractional occupancy. Why is this?
Because both N (and Re) lie on a -4 axis about (001) [you can check this
quickly by going into EXPEDT and typing L A L] – unfortunately EXPGUI
doesn’t copy this, or you can look at the International Table for
Crystallography above. That means anything placed about it is copied 4 times,
including any D atom. See below where I have done just that:
126
Refine the lattice parameters and W of the Gaussian lineshape.
Go back into the RB menu in EXPEDT and when entering and using C 1 1 (to
change the first (only) copy of the first (only) RB) and then turn on the rotation
about Z as a free parameter (using V). Think about the action of a -4 axis. Why
is this the only possible choice? Each unique parameter has a unique parameter
number in the RB menu. Damp the RB parameters to 90% damping as shown
below.
127
Leave EXPEDT and go back to the atom menu. Turn on the X flag for all
atoms (including N) constrained by the RB.
NOTE: If you had turned on the atom X flags in the atom list but did not turn
on the RB rotation parameters, nothing would change. However, if you turn on
the RB rotation parameters, but not the atom X flags you will get error
messages from GSAS.
Run GENLES.
128
Turn on the U flag for ND4 in the atom list.
We will use TLS tensors (a way of defining rigid body motion in terms of
translations [T], librations [L] (mean-sq rotations) and screw [S] (helical)
motions). This is part of the RB menu.
Follow the following instructions upon entering the RB menu in EXPEDT:
129
Note that by giving the parameter number 2 to T11 and T22 we are
constraining changes in the values of T11 to be equivalent to those in T22. Exit
EXPEDT. How do we know the constraints to make and how many
parameters to use? See
130
Run GENLES. By now the fit should be pretty good:
Go back into the RB menu in EXPEDT and turn on the librational components
subject to the same symmetry constraints for this site symmetry (L11=L22):
131
Exit and run GENLES
You could go back and try the allowed screw components too if you like, but I
did not here. Are they stable to refine? If so are they large. I will continue only
doing T and L.
You can also make the inorganic thermal motion anisotropic via XFORM
Atoms. Your refinement should look something like:
132
So far the magnitude of the RB is fixed, but we can refine the N-D bond length.
Note this is not a property of a copy of an RB that has been inserted in the
menu (accessed via C 1 1), but is in the definition of the abstract geometry of
the RB (accessed by E 1 for edit the definition of the first (only) RB type). You
can give this a distinct parameter number:
133
Go back and turn on GU GV GY LY and asym and refine with GENLES
again:
NOTE: UISO on Re is negative. It is a heavy metal so should not move as
much as D. In addition we have not accounted for the absorption of Re, which
is an effective absorber. It is small and negative, so that’s OK and we only are
interested in demonstrating the RB part in this refinement. We could correct for
this (if we wished) by calculating the absorption and putting the value in
EXPEDT L O A and then changing the value with C.
Looking at the output file under EXPGUI/LSTVIEW we see the rigid body
output in terms of rotation of the ammonium ion about Z and rigid body motion
of the body split up into the translational components of motion, which are
nearly isotopic, but the librational component is quite anisotropic with the
larger component being about the z-axis, which is also the axis about which the
degree of freedom of rotation exists.
134
Is this stable enough to not require any constraints. Go back into the RB menu
and at the place you would normally type C 1 1, type D 1 1 (for delete) and
confirm your choice. Also E 1 and turn off using V the refinement of the
magnitude of the RB by placing that parameter number to 0. Go back to the
atom menu. Delete all but one D atom using XFORM and then set that
occupancy to 1
Refine with GENLES. Look at the LST file:
Yup, it’s pretty stable, as the bond length is still good, and the D-N-D bond
lengths are still near the ideal tetrahedral values of 109.5º. The fit should not
have changed much.
135
Congratulations.You’ve done a simple RB refinement using TLS tensors.
Further details of RBs are in:
the GSAS technical manual (http://www.ccp14.ac.uk/ccp/ccp14/ftp-
mirror/gsas/public/gsas/manual/GSASManual.pdf)
the Fireside Guide to Rigid Bodies (http://www.ccp14.ac.uk/ccp/web-
mirrors/ian-swainson/fireside_fuide_to_rigid_bodies.pdf) and
A Practical Guide to Creating Rigid Bodies for GSAS
http://www.ccp14.ac.uk/solution/gsas/A_Practical_Guide_to_Creating_
Rigid_Bodies_in_GSAS.pdf
136
Appendix 1: Additions/corrections
May 2010: Ian Swainson. Added the TiZr and simple rigid body
example
April 2007: Lachlan Cranswick: Minor corrections
July 2005: Lachlan Cranswick: Replace first X-ray example with
an easier neutron example. Add page numbers to index. Add a
section on refining the wavelength on neutron data including
problems with spacegroup settings. Add section on quantitative
phase analysis involving preferred orientation.
15 April 2005: Lachlan Cranswick: Misc updates for the Trois-
Rivières, Québec Workshop on Powder Diffraction and Rietveld
Analysis Thursday 12th May to Friday 13th May 2005.
14 June 2004: Lachlan Cranswick: Misc typographical corrections.
Directory depth not in Section 1. Corrections to refinement strategy
in Section 2, and clarifying on the Azaroff function for diffracted
beam monochromators (when IPOLA=1) in other sections.
01 April 2004: Lachlan Cranswick: Misc typographical corrections.