0% found this document useful (0 votes)
394 views

Intro Fullprof

This document provides information about downloading and installing the Rietveld refinement program FullProf and the associated plotting program WinPLOTR. Users can access older and newer versions of FullProf through anonymous FTP from a server in France. The newest versions support Windows and come packaged together in a ZIP file. The document describes setting environment variables to properly run FullProf and WinPLOTR under Windows. Technical support is also addressed.

Uploaded by

SrikanthBatna
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
394 views

Intro Fullprof

This document provides information about downloading and installing the Rietveld refinement program FullProf and the associated plotting program WinPLOTR. Users can access older and newer versions of FullProf through anonymous FTP from a server in France. The newest versions support Windows and come packaged together in a ZIP file. The document describes setting environment variables to properly run FullProf and WinPLOTR under Windows. Technical support is also addressed.

Uploaded by

SrikanthBatna
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 34

Introduction to the program FullProf

How to use the self-training examples

Short Rietveld Course– May 2001 Atlanta


This brief introduction to FullProf is part of the future manual that will be available shortly. The detailed
description of the input control file is described in the document: App_fp2k_man.pdf distributed with the
program via the Internet as described below.
The mathematical section is not complete

Availability of FullProf
The old versions of FullProf, written in Fortran 77 and running in different platforms, are in the directory
pub/divers/fullp of the anonymous ftp-area of the server charybde.saclay.cea.fr. Users interested in creating
their own subroutines to link with the FULLP-library are asked to read the file fpreadme in the above-
mentioned ftp-area. To access this area from the Internet, one has to type in the local host the following
command:

• LocalPrompt> ftp charybde.saclay.cea.fr <cr>

Answer with the word: anonymous, to the Login request and password. Within the ftp prompt, do:

From the local host:

ftp>cd pub/divers/fullp ! Go to FullProf area (Multi-platform)


ftp>get fpreadme ! Obtain the document
ftp>bye ! Return to host

The most recent versions of FullProf, written in Fortran 90, are in one of the areas pub/divers/fullprof.9x of the
same server. Or (example for getting the Windows version of FullProf.98)

ftp>cd pub/divers/fullprof.98 ! Go to FullProf.98 (DOS, Windows95/NT)


ftp>cd windows ! Go to Windows95/NT directory
ftp>get README ! Get the installation guide
ftp>binary ! Switch to binary mode
ftp>get winfp98.zip ! Get programs and documentation

Experienced users of ftp can go directly to the subdirectories and get the files they want. The structure of
subdirectories matches the different platforms in which FullProf can be run. Details are given in the file
fpreadme. Recently the anonymous ftp-area can be accessed via the WEB through the URL of the LLB:

http://www-llb.cea.fr/fullweb/powder.htm

or

ftp://charybde.saclay.cea.fr/pub/divers/

Working with powder diffraction data cannot be properly achieved without visual tools. It is of capital
importance to have a plot program in order to visualise the observed versus calculated powder pattern and their
difference. Such a program is not included in the FullProf executable code. Different freeware, shareware, or
commercial programs can be user for this task. On the PC-world a very useful program is WinPLOTR (written
by Thierry Roisnel in collaboration with the author at the LLB). WinPLOTR can be obtained in the same ftp-
area as FullProf in the directory pub/divers/winplotr. The program WinPLOTR is also distributed with the
Windows 9x/NT version of FullProf. So users working with Windows 9x/NT can get the complete kit in the
single file:

ftp://charybde.saclay.cea.fr/pub/divers/fullprof.98/windows/winfp98.zip

Or for the latest version handling multiple patterns simultaneously:

ftp://charybde.saclay.cea.fr/pub/divers/fullprof.2k/windows/winfp2k.zip

The structure of the directories of the Web site or the name of some files may be changed and be eventually
different than those described here. One can also access to the FullProf / WinPLOTR areas through the CCP14
(http://www.ccp14.ac.uk) site that acts as a mirror of the Saclay site.

To install correctly the program under Windows the user should read carefully the README file contained in
the same area as winfp2k.zip, or use the install program included in the kit. In case of troubles the only
important point that the user should know is that an environment variable, called FULLPROF, pointing to the
directory where the executable program is placed, must be created. Another variable called WINPLOTR must
also be created in order to use FullProf / WinPLOTR without troubles. This may be done by inserting the
following lines in the file autoexec.bat (normally this file is in c:\, in Windows NT it may be non existent) :

SET WINPLOTR=d:\My_FullProf_dir
SET FULLPROF=d:\My_FullProf_dir
Path=%Path%;d:\My_FullProf_dir

The label of the disk (d:\) and the name of the directory should be selected by the user.

Technical Support
The author does not provide technical support to the users of the program. If you have any questions
regarding the use of FullProf, troubles with its installation or running the program try the following steps in the
given order.
• Read the relevant manual sections carefully, paying particular attention to examples files.
• Ask to someone who is an experienced user of the program in the surroundings.
• Send an e-mail to one of the lists concerned with powder diffraction in the Internet.
• Send an e-mail to [email protected] (response depends on availability of the author,
so do not expect to receive an answer immediately!)
General Information on FullProf
Purpose, reference and documentation
The program has been mainly developed for Rietveld analysis [H.M. Rietveld, Acta Cryst. 22, 151 (1967); H.M.
Rietveld, J. Applied Cryst. 2, 65 (1969); A.W. Hewat, Harwell Report No. 73/239, ILL Report No. 74/H62S; G.
Malmros & J.O. Thomas, J. Applied Cryst. 10, 7 (1977); C.P. Khattak & D.E. Cox, J. Applied Cryst. 10, 405
(1977)] (structure profile refinement) of neutron (nuclear and magnetic scattering) or X-ray powder diffraction
data collected at constant or variable step in scattering angle 2θ. The program can be also used as a Profile
Matching (or pattern decomposition) tool, without the knowledge of the structure. Single Crystal refinements can
also be performed alone or in combination with powder data. Time-of-flight (TOF) neutron data analysis is also
available. Energy dispersive X-ray data cal also be treated but only for profile matching.
The first versions of the program FullProf were based on the code of the DBW program, which, in turn, is also a
major modification of the original Rietveld-Hewat program. An early version is discussed in the Young and
Wiles article published in [D.B. Wiles & R.A. Young, J. Applied Cryst. 14, 149 (1981); D.B. Wiles & R.A.
Young, J. Applied Cryst. 15, 430 (1982] and described in the user's guide distributed by R.A. Young. The
program FullProf was developed starting with the code DBW3.2S (Versions 8711 and 8804), but is has been so
much modified that only the name of some basic subroutines and variables keep their original names. However,
the main control input file created for use with DBW (and DBWS) program can be used by FullProf with minor
modifications. This file is accepted by FullProf, that read it in "interpreted free format". The file generated, at
the end of a run, by FullProf cannot be read by DBWS. If the first position of a line in the file contents the
symbol ! the whole line is considered as a comment. The comments are useful for remembering the name of
variables and flags and facilitate the use of the program.
Two versions of the source code exist at present. The first corresponds to a source written in standard
FORTRAN 77 (F77) language, and is organised as to be easily adapted to different computers. This version is
that running in multiple platforms. The second version of the source code (FullProf.9x/2k) has been developed
from the previous one, and it has been totally re-written in a subset (ELF90) of the new standard Fortran 95
(F95). It uses the new syntax and features of Fortran 95. This last version has many more options that the F77
version, which is no more developed (Version 3.5d - Oct98) . The current version works with some allocatable
arrays, in which the user can directly control the dimensions of important arrays at run time. The future
development of FullProf will be continued only within the F95 version of the source code.

Features of FullProf.9x/2k

Some of the most important features of FullProf are summarised below:


• X-ray diffraction data: laboratory and synchrotron sources.
• Neutron diffraction data: Constant Wavelength (CW) and Time of Flight (TOF).
• One or two wavelengths (eventually with different profile parameters).
• The scattering variable may be 2θ in degrees, TOF in microseconds and Energy in KeV.
• Background: fixed, refinable, adaptable, or with Fourier filtering.
• Choice of peak shape for each phase: Gaussian, Lorentzian, modified Lorentzians, pseudo-Voigt, Pearson-
VII, Thompson-Cox-Hastings (TCH) pseudo-Voigt, numerical, split pseudo-Voigt, convolution of a double
exponential with a TCH pseudo-Voigt for TOF.
• Multi-phase (up to 16 phases).
• Preferred orientation: two functions available.
• Absorption correction for a different geometries. Micro-absorption correction for Bragg-Brentano set-up.
• Choice between three weighting schemes: standard least squares, maximum likelihood and unit weights.
• Choice between automatic generation of hkl and/or symmetry operators and file given by user.
• Magnetic structure refinement (crystallographic and spherical representation of the magnetic moments).
Two methods: describing the magnetic structure in the magnetic unit cell of making use of the propagation
vectors using the crystallographic cell. This second method is necessary for incommensurate magnetic
structures.
• Automatic generation of reflections for an incommensurate structure with up to 24 propagation vectors.
Refinement of propagation vectors in reciprocal lattice units.
• hkl-dependence of FWHM for strain and size effects.
• hkl-dependence of the position shifts of Bragg reflections for special kind of defects.
• Profile Matching. The full profile can be adjusted without prior knowledge of the structure (needs only good
starting cell and profile parameters).
• Quantitative analysis without need of structure factor calculations.
• Chemical (distances and angles) and magnetic (magnetic moments) slack constraints. They can be generated
automatically by the program.
• The instrumental resolution function (Voigt function) may be supplied in a file. A microstructural analysis is
then performed.
• Form factor refinement of complex objects (plastic crystals).
• Structural or magnetic model could be supplied by an external subroutine for special purposes (rigid body
TLS is the default, polymers, small angle scattering of amphifilic crystals, description of incommensurate
structures in real direct space, etc).
• Single crystal data or integrated intensities can be used as observations (alone or in combination with a
powder profile).
• Neutron (or X-rays) powder patterns can be mixed with integrated intensities of X-rays (or neutron) from
single crystal or powder data.
• Full Multi-pattern capabilities. The user may mix several powder diffraction patterns (eventually
heterogeneous: X-rays, TOF neutrons, etc.) with total control of the weighting scheme.
• Montecarlo/Simulated Annealing algorithms have been introduced to search the starting parameters of a
structural problem using integrated intensity data.

Running the program

The program FullProf exists in two forms under the operating system Window9x/2k/NT: the console mode
program fp2k.exe or the Windows application wfp2k.exe . Both programs are identical but the Windows
application can be run just by clicking on an alias put on the desktop or run from a graphic interface. In other
operating systems only the console mode is available.

To run the program in a DOS/Unix shell the user has to invoke the name of the executable file or an appropriate
alias, for instance:

FULLPROF <cr>, or FullProf <cr>, or fp2k <cr>...etc

Of course, the executable file must be placed in an accessible path. FullProf can also be run from a command
file. After invoking the execution of the program the following dialog appears in the current window:

**********************************************************
** PROGRAM FULLPROF.2k (Version 1.9a - Mar2001-LLB JRC) **
**********************************************************
M U L T I -- P A T T E R N
Rietveld, Profile Matching & Integrated Intensity
Refinement of X-ray and/or Neutron Data
(Multi_Pattern: DOS-version)

==> Give the code of the files (xx for xx.pcr):

After entering a value for xx, hereafter assumed to be CODFIL, the program prompts the following question:
==> Give the name of data file (yy for yy.dat )
( or yy.uxd )
(<cr> = CODFIL ):

If the user answer with <cr> the name of the data file is CODFIL.dat (or CODFIL.uxd). We assume, in the
following, the user has attributed the value FILE to the item yy. The file CODFIL.pcr must be created (from
the scratch or by modifying an existing one) with the help of an ASCII editor. This file contents the diffraction
conditions and crystallographic information needed by the program. The optional file FILE.dat (or FILE.uxd)
contents the profile intensity of the powder diffraction pattern.

The program and input files can also be invoked directly in a single line as:

LocalPrompt>FullProf CODFIL FILEDAT

If FILEDAT is absent, the code of the data file is assumed to be the same as that of the CODFIL.pcr file. For
using the Windows 9x/NT version you may create a shortcut pointing to the program in the desktop and then
double click on it, invoke the program from a DOS window, or run it from within WinPLOTR.
For doing sequential refinements the user can run the program using a command file, or answer CYC t o
the prompt asking for the code of the files, or use CYC as CODFIL name when using direct invoking.
In the last two cases another dialog opens:

==> Code of the starting *.pcr file (xx for xx.pcr):

Here the user should answer with the xx explicit name (let us assume that the code is CODFIL).

==> Give the code of data files (yy for yynnn.dat,uxd,acq)


(<cr> =CODFIL ):

As suggested by the question the name of the data files should have a part that constitutes the code followed by
an ordinal number. The user should give here the code. Let us assume that the code is FILEDAT.

==> Number of the starting *.dat file: 46


==> Number of the last *.dat file: 133

The user should give the ordinal numbers of the first and last files to be processed. The program runs by using
the file CODFIL.pcr to process the file FILEDAT46.dat. The updated CODFIL.pcr is then used to process the
file FILEDAT47.dat, etc. At the end, when the file FILEDAT133.dat has been processed, the control file
contents the parameters adequate to the last treated file. The results of the whole set of treatments are stored in
file CODFIL.rpa.
The user may create his (her) own scripts (or bat-files to be executed in a DOS shell) invoking the
program to adapt the execution of the program in different contexts. For using scripts only the console version of
the program should be used. It may be advantageous to take into account that the console version admits three
arguments on the command line. For example:

Fp2k pbso4a pbso4 pblog

Means that the input control file pbso4a.pcr is read, as well as the data file pbso4.dat. The normal screen output
is directed to the file pblog.log, so that one can run FullProf sequentially several times with different input files
in batch mode.
Input files
In the following, references to some variables are done without explicit explanations; this means that they are
explained in the appendix, where it is described in detail the contain of the input files.

CODFIL.pcr

Input control file. It will be called sometimes PCR-file. It must be in the current directory to
run the program. This file contains the title and crystallographic data and must be prepared by
the user with the help of a file editor. There are two different formats for this file: the first
one is free format and closely related to that of the DBWS program. The second is based on
keywords and commands 1 . Within the free format type of the file there are two slightly
different ways of writing the PCR-file: the classical way adapted to treat only a single
pattern, and the new way suitable to treat multiple pattern refinements.

This file is normally updated, or written to CODFIL.new, every time you run the program. In the first stages of
a refinement, it is wise to use the option generating a new file. The complete description of the file CODFIL.pcr
is given in the appendix of this document. The text file FULLPROF.INS or in the HTML file fp_frame.htm to
be used locally with a WEB browser correspond to older versions of FullProf. The current version of the
program is totally compatible with older versions except in some particular points that are described in the text
file fp2k-v1_7.inf.

The following files are optional :

FILE.dat

Intensity data file, its format depends on instrument. This corresponds to the profile intensity
of a powder diffraction pattern. If you do not specify the name FILE, the program takes
FILE=CODFIL. It is not necessary for pattern calculation modes. In the current version of the
program the extension may be different from “dat”. The program recognises automatically
(the extension is not given) the following extensions: dat, uxd, acq. The user may specify his
own extension giving the complete name of the file. If multiple patterns are treated
simultaneously a file FILE.dat exists with a different name for each pattern.

FILE.bac (or CODFIL.bac)

Background file. The program uses this file to calculate the background at each value of the
scattering variable. There are two types of formats for this file:
1. The first format is the same as that of FILE.dat for INSTRM=0:
• First line: 2θ/TOF/Energy (initial) step 2θ/TOF/Energy (final), any comment
• Rest of lines: list of intensities in free format.
2. The second format is the is adapted to the case were there is no fixed step in the
scattering variable. The first line is a comment and the rest of lines are pairs of values,
scatering variable – intensity, in free format.

The program may generate this file, from refined polynomial or interpolated data, if the user
asks for it.

CODFILn.hkl or hkln.hkl

Set of files with the reflections corresponding to phase n (n is the ordinal number of a phase).
These files are optional and depend on the value of the parameter IRF(n). The program reads
the list of reflections instead of generating them.

1
This last format is not available at present
MYRESOL.irf

File describing the instrumental resolution function. Any legal filename can be used and its
content depends on the value of the parameter IRESO.

global.shp or CODFIL.shp

File providing a numerical table for calculating the peak shape and its derivative.

CODFIL.cor

User-defined intensity corrections. Two types of corrections may be applied.


• In the first case the corrections are applied to the integrated intensities as a multiplier
constant. The file CODFIL.cor starts with a comment and in the rest of the file one pair
Scattering Variable – Correction is given per line.
• In the second case the correction is applied to the profile intensities. The format depends
on a number of variables. See appendix for details.

Output files

Except for CODFIL.out and CODFIL.sum, the creation of output files depends on the value of a flag that is
quoted in parenthesis. All possible values of the flags are given in the appendix.

CODFIL.out

This is the main output file that contains all control variables and refined parameters. Its content
depends on the values of flags set by the user.

CODFIL.prf or CODFIL_p.prf ( IPL2 different from zero)

Observed and calculated profile: to be fed into visualisation programs. This file is used
automatically by WinPLOTR. In case of multiple pattern refinements a file CODFIL_p.prf is
created for each patern, where p is the ordinal number of the diffracttion pattern.

CODFIL.rpa (JCIL=1)

Summary of refined parameters. Short version of CODFIL.sum . This file has the “append” attribute, so
if it exists the new output is appended. It is useful when running FullProf in cyclic modes. An auxiliar
program can extract values of particular parameters as a function of temperature, numor, etc.

CODFIL.sym (IPL1=JSY=1)

List of symmetry operators

CODFIL.sum

Parameter list after last cycle: summary of the last parameters, their standard deviations and
reliability factors. An analysis of the goodness of the refinement is included at the end if
IANALY=1.

CODFIL.fou
(JFOU=1)
h , k , l , Structure Factors in Cambridge (CCSL) format to be fed into FOURTK
(FOURPL) to produce Fourier maps. It corresponds to the file usually called
HKLFF.DAT but you must prepare the second file CRYST.cry.

(JFOU=2)
List of 'observed' structure factors in SHELXS format h, k, l, Fobs , σ ( Fobs )
(3I4,2F8.2)

(JFOU=-1 or -2)
As above but the structure factors are calculated in another way. The Fcalc in
JFOU>0 may depend on the peak shape and the integration interval, because they
are obtained by integration of the calculated profile in the same way as the Fobs are
obtained from I obs . If JFOU is negative, Fcalc are really the structure factors of the
conventional cell in absolute units.

(JFOU=3)
Format suitable for the program FOURIER
h, k, l , A, B, Fobs ,sin θ / λ
A and B are the real and imaginary parts of the calculated structure factors. The
observed Fobs and calculated structure factors of the conventional cell are in absolute
units.

(JFOU=4)
Format suitable for the program GFOURIER
h, k, l , Fobs , Fcalc , Phase
Phase is the phase in degrees. The observed (Fobs ) and calculated (Fcalc) structure
factors of the conventional cell are in absolute units.

CODFILn.ins (JFOU=2)

Template of the input control file for the program SHELXS.

CODFILn.inp (JFOU=3, 4)

Template of (G)FOURIER *.inp file.

CODFILn.hkl

Files that can be input or output files. The content depends on the value of IRF(n)

CODFIL.int

Single integrated intensity file when the program is used for refining with ICRYG=1, 2, 3 and IRF=4.

CODFIL.hkl

Complete list of reflections of each phase. This file can be used as a CODFILn.HKL files for
new runs.
§ JLKH=1
Ø If JOBTYP < 2
Code, h , k , l , mult , d hkl , 2θ , FWHM, I obs , I calc , I obs − I calc
Ø If JOBTYP > 1
h , k , l , mult , I calc , 2θ , d hkl

§ JLKH=2
Output for EXPO
h , k , l , mult ,sin θ / λ, 2θ , FWHM , F 2 , σ ( F 2 )

§ JLKH=3,-3
Output of real and imaginary part of structure factors (only for crystal structures)
h , k , l , mult , Freal , Fimag , 2θ , Intensity
If JLKH is negative the structure factors are given for the conventional cell, otherwise the
structure factor corresponds to the non-centrosymmetric part of the primitive cell.

§ JLKH=4
Output of: h, k, l , F 2 , σ ( F 2 ) .
2
Where F is the observed structure factor squared. The file may be used as an input for
a pseudo-single crystal integrated intensity file using ICRYG=1 and IRF=4.

§ JLKH=5
Output of: h, k, l , mult, Fcalc ,T hkl , d hkl , Qhkl
Where Fcalc is the module of the calculated structure factor. This file can be used as an
input for JBT=-3 IRF=2 in order to perform quantitative analysis without re-calculating
the structure factors for each cycle. The Fcalc values are given in absolute units for the
conventional unit cell.

CODFIL.sav (JCIL=2 only ouptuts if an interval in the scattering variable is given)

List of reflections between two selected angles


h , k , l , mult , I obs , 2θ , dhkl

CODFILn.dis (JDIS=3)

List of distances and angles (eventually bond valence calculations) for phase n.

CODFIL.mic (IRESO ≠ 0)

File containing microstructural information. The use of a resulution file, as well as the profile function
NPROF=7, is imperative.

CODFIL.sim (abs(JOBTYP) > 1 and IDUM =1)

File containing a simulated diffraction pattern. A Poisonian noise is added to the deterministic
calculated pattern. The statistics is controlled by the value of the scale factor. This file may be renamed
as a DAT-file and used for refinement in simulation work. The use of the same model as that used for
generating the diffraction pattern should give a reduced chi-squared nearly equal to 1.

CODFILn.sub (IOT=2, 3)

Files containing the calculated profile corresponding to the phase n.


CODFILn.atm (IMORE=1 and JDIST=±1, 2)

For JDIST=±1 it is supposed that a magnetic phase is concerned (JBT=±1, 5, 10).


If JDIST=+1 the files contain the list of magnetic atom positions within a primitive unit cell
corresponding to the phase n.
If JDIST=-1 the file is suitable as input to the program MOMENT that calculates everything concerned
with magnetic structures from the Fourier components and phases of magnetic moments.
If JDIST= 2 a nuclear phase is concerned (JBT=0, 4) and the files contain the list of atom positions
within a conventional unit cell.

CODFILn.sch (IMORE=1 and JVIEW=1, 2)

Files suitable as input for the programs SCHAKAL (JVIEW=1) and STRUPLO (JVIEW=2)
corresponding to the phase n.

CODFILn.int (JBT=2, IMORE=1 and JVIEW=11)

Files suitable as input for integrated intensity refinements. The generated file contains a list of
overlapped reflections obtained adding integrated intensities from profile matching refinement (JBT=2)
when they belong to a cluster. More details about this file is given in the appendix. The file corresponds
to the phase n.
The Rietveld Method in Practice
In this chapter some simple rules for starting a Rietveld refinement are stated. After discussing some of these
rules and comment about the problems the user can experience in running the program, a detailed description of
the examples given in the file pcr_dat.zip is given. The examples treated in this chapter are quite simple.
Experienced users may apply other procedures and more sophisticated sets of parameters of peak shapes that will
not be discussed here. Recently, the Commission on Powder Diffraction of the International Union of
Crystallography has published some guidelines for Rietveld refinement [L.B.McCusker et al., J. Appl. Cryst. 32,
36-50 (1999)] that can be used to complete the short notes provided in this paragraph. Rietveld refinement has
nothing to do with structure determination. To start refining a structure an initial model (even if incomplete) is
necessary. This model is supposed to be obtained from a crystal structure solver program or by any other
mean. Special tutorial documents on Rietveld refinement will be included in the distribution of FullProf.

Rietveld refinement
Although the principles behind the Rietveld profile refinement method are rather simple (see next chapter), the
use of the technique requires some expertise. This results merely from the fact that Rietveld refinement uses a
least-squares minimisation technique which, as any local search technique, gets easily stuck in false minima.
Besides, correlation between model parameters, or a bad starting point, may easily cause divergence in early
stages of the refinement. All these difficulties can actually be readily overcome by following a few simple
prescriptions:
• Use the best possible starting model: this can be easily done for background parameters and lattice
constants. In some cases, in particular when the structural model is very crude, it is advisable to analyse
first the pattern with the profile matching method in order to determine accurately the profile shape
function, background and cell parameters before running the Rietveld method.
• Do not start by refining all structural parameters at the same time. Some of them affect strongly the
residuals (they must be refined first) while others produce only little improvement and should be held
fixed till the latest stages of the analysis.
• Before you start, collect all the information available both on your sample (approximate cell parameters
and atomic positions) and on the diffractometer and experimental conditions of the data measurement:
zero-shift and resolution function of the instrument, for instance. Then a sensible sequence of
refinement of a crystal structure is the following:

1. Scale factor.
2. Scale factor, zero point of detector , 1rst background parameter and lattice constants. In case of
very sloppy background, it may be wise to actually refine at least two background parameters,
or better fix the background using linear interpolation between a set of fixed points provided
by user.
3. Add the refinement of atomic positions and (eventually) an overall Debye-Waller factor,
especially for high temperature data.
4. Add the peak shape and asymmetry parameters.
5. Add atom occupancies (if required).
6. Turn the overall temperature factor into individual isotropic thermal parameters.
7. Include additional background parameters (if background is refined).
8. Refine the individual anisotropic thermal parameters if the quality of the data is good enough.
9. In case of constant wavelength data, the parameters SYSCOS and/or SYSIN to correct for
instrumental or physical 2θ aberrations with a COS or SIN angular dependence.
10. Microstructural parameters: size and strain effects.

In all cases, it is essential to plot frequently the observed and experimental patterns. The examination of the
difference pattern is a quick and efficient method to detect blunders in the model or in the input file controlling
the refinement process. I may also provide useful hints on the best sequence to refine the whole set of model
parameters for each particular case.
When large and unrealistic fluctuations of certain parameters occur from one cycle to the next, examine
the correlation matrix: if large values (say larger than 50%) are observed, refine separately the corresponding
parameters, at least in the early stages of the refinement.
Finally it must be remembered that there is a limit to the amount of information that can be retrieved
from a powder diffraction pattern. Indeed structures with up to a hundred or more structural parameters can be
refined from neutron powder data but such refinements must be performed with great care; for refinements
involving a large number of variables the physical significance of certain parameters must be carefully
examined. For instance thermal and profile parameters can become poorly defined and act as a dumping ground
for systematic errors; then it is preferable to fix their values to a physically reasonable number and exclude them
from the refinement.
When the uncertainty concerns the atomic parameters, it may help to provide some external information
to the program. This can be achieved for instance by using strict constraints. For instance the displacement
(thermal) parameters of chemically similar but crystallographically distinct atoms may be constrained to be
identical, or the occupancy of two distinct and partly occupied sites of a structure may be compelled by the
chemical analysis of the material. For complex structures it may be necessary to use slack (soft) constraints on
distances and angles, or even rigid body constrains.

Whole-pattern decomposition (Profile Matching)


This procedure, that is also known as Lebail fitting [A. LeBail, H. Duroy and J.L. Fourquet, Mat. Res. Bull. 23 , 447
(1988)], does not require any structural information except approximate unit cell and resolution parameters. A
similar method developed by Pawley uses traditional least squares with constraints[ G.S. Pawley, J. Applied
Cryst. 14, 357 (1981)]. A discussion about the profile matching algorithm involved in this kind of refinement
may be found in [J. Rodríguez-Carvajal, Physica B 192, 55 (1993)]. This method makes the data input much
simpler and enlarges considerably the field of application of powder pattern profile refinement. However the
constraints applied to the refinement are far less severe than for Rietveld refinement and profile matching is
thereby more prone to instabilities if profile shape parameters or microstructural parameters are refined. In
FullProf this refinement mode can be used in two ways:

1. Profile Matching with constant scale factor (JBT=2). In this mode the scale factor is not allowed to vary and
integrated intensities are refined individually using iteratively the Rietveld formula for obtaining the
integrated observed intensity. The recommended procedure is as follows:
• For the first refinement, set IRF(n) of the phase n undergoing profile matching to 0 and the number of
refined parameters (MAXS on line 9) to zero. Set to 0 the flag controlling the automatic assignement of
refinement codes. Run FullProf for a few cycles (say 10). This will set up the hkl 's and intensity file
CODFILn.hkl.
• If the result of the above step is satisfactory (see plot!), rename the file CODFIL.new to CODFIL.pcr,
or use directly CODFIL.pcr if it was automatically updated. Edit the new CODFIL.pcr file to select
the parameters to refine. The progression of the refinement is very similar to that used for Rietveld
refinement: zero point of detector, background parameters and lattice constants.

In this mode of refinement FullProf cannot calculate theoretical line intensities and all hkl values permitted
by the space group are considered and included in the refinement, which sometimes means a lot of
reflections! Using this type of refinement one has to bear in mind that the starting cell parameters and
resolution function determines to a large extend the obtained intensity parameters. One cannot expect to
refine properly the cell parameters of a compound with a severe overlap of reflections if the starting
parameters are of poor reliability. It is wise to start with low angle reflections (without refining the FWHM
parameters) and progressively increase the angular domain.

2. Profile Matching with constant relative intensities (JBT=3). In this mode the intensities are held fixed and
only the scale factor is varied. Since profile matching does not require the calculation of the structure factors
it runs faster than Rietveld refinement.

Hints and tricks


Even if you follow carefully the recommendations mentioned above, you might experience difficulties to refine
your data; most of them can be avoided by following a few simple rules:

• If the number of measured reflections is limited, select carefully the refined parameters and keep the others
fixed to physically reasonable values or introduce suitable constraints.
• Exclude regions where the background is strongly distorted if any (e.g. background from sample
environment may show odd variations) for the background functions used in the program may not be able to
cope with it.
• It is importan to know beforehand the best peak shape function adapted to your particular diffraction pattern.
In general, for constant wavelength and energy dispersive data, the pseudo-Voigt function is well adapted
for X-ray and neutron diffraction, with predominant Lorentzian character for the former and Gaussian for
the latter. Remember to increase the range of the calculated profile (WDT on line 4) to large values (20-30
or more) for Lorentzian peaks; failure to increase properly this parameter will lead to discontinuities in the
edges of the calculated profile [7]. For T.O.F. data the profile function NPROF=8 (convolution of pseudo-
Voigt with back-to-back exponentials) is normally well suited.
• The FWHM parameters are sometimes difficult to refine especially for data spanning only a limited angular
range or samples giving broad diffraction lines. The best method is, of course, to refine first a standard
pattern with no sample broadening in order to determine the FWHM parameters of your instrument, create a
resolution file and fit only the FWHM parameters (size and strain) characteristics of your sample.

Trouble shooting

• If you experience difficulties from the very beginning (for instance a singular matrix at the first refinement),
start refining the scale factors only and examine the difference pattern with a plotting program. These will
most of the time reveal a glaring blunder in the input data (zero-shift, step size, angular limits etc).
• Owing to the complexity of the control file, error messages from the program are not always easy to
decipher in that they do not necessarily point to the initial error but merely to one of its consequences. Most
of the time, run time errors result from an error in the sequence of lines in the control file, e.g., an
inadequacy between the number of atoms stated on line 11.2 and the number of atomic positions given on
lines 11.4.

Examples. Content of pcr_dat.zip

To test the installation of the program, or for training purposes, a list of complete examples are provided together
with FullProf. The file pcr_dat.zip can be obtained by anonymous ftp to the server charybde.saclay.cea.fr in the
same area as the program. Set the mode to binary in order to get properly the file. The file pcr_dat.zip must be
unzipped using PKWARE pkzip/pkunzip or WinZip. The resulting ASCII files are in PC/DOS format. They
have to be converted to UNIX, Mac, or VMS using one of the appropriate utilities (dos2unix, editor...).

The files contained in pcr_dat.zip can be used for testing FullProf. They have been selected in order to illustrate
the use of FullProf in a variety of situations. In no way the proposed models pretend to be the most adequate to
the data. In some cases there is a clear disagreement between the data and the model. The user may try to
improve the models including new parameters that have a clear physical relevance. Increasing the number of
parameters just for getting more nice fits may result in non sense values.

For a quit test under DOS or under UNIX the user can type at the command line:

fullprof_alias < tempo.inp

FullProf will be executed for all files existing in file: tempo.inp where the answers expected by the
program are collected.

In a Windows 9x/2k/NT environment the user may execute the file test_fp.bat to run all examples. Verify first
that the DOS-like version fp2k.exe is in a proper directory within the PATH environment variable. The
Windows version of FullProf is not adequate for rapid tests because the program needs the intervention of the
user to answer questions about the continuation or stop the refinement process.

The number and nature of files within file pcr_dat.zip may change with different releases.
At present the files are:

PCR Code Purpose Data File


Ce1 refinement of a CeO2 standard ceo2.dat
Ce2 " "
Rutana Conventional X-ray diffraction pattern: Rutile+Anatase Rutana.dat
Tbbaco Conventional X-ray diffraction pattern: Tb2 BaCoO5 Tbbaco.dat
Tbba Conventional X-ray diffraction pattern: Profile Matching "
Tb Search for Tb,Ba and Co by Montecarlo with prev. output Tb.int
PbSOx Crystal structure refinement of PbSO4 with X-rays Pbsox.dat
PbSO Profile matching to obtain an overlapped intensity file "
PbSOm Search for Pb by Montecarlo using previous output pbsom.int
Pb Profile matching test of PbSO4 neutron data Pbso4.dat
PbSO4 Crystal structure refinement of PbSO4 "
PbSO4a Crystal structure refinement of PbSO4 (anisotropic b's) "
Pb_ho Artificial multipattern refinement Pbso4.dat,Pbsox.dat,
Hobk.dat
Pb_sing Example of new format of PCR file adapted for multipattern Pbso4.dat
refinements
Pb_san Example of Simulated Annealing: solves the structure of PbSO4 Pb_san.int
C60s Compares C60 x-tal data to form-factor SPHS sin(Qr)/Qr C60.int
C60 Refinement of C60 x-tal data using symmetry adapted cubic C60.int
harmonics. Form-factor type SASH.
Dy Four different ways of refining the crystal Dy.dat
Dya and magnetic structure of DyMn6 Ge6 "
Dyb "
Dyc "
Hocu Refinement of the magnetic structure of Ho2 Cu2 O5 (D1B data) Hocu.dat
Hobb Refinement with integrated intensities (Nuc+mag) Hobb.int
Hob Montecarlo search for mag. moments in Ho2BaNiO5 "
Hobk1 Three different ways of refining the crystal Hobk.dat
Hobk2 and magnetic structure of Ho2BaNiO5 "
Hobk3 "
Cuf1k Refinement of crystal & magnetic structrure of CuF2 . Cuf1k.dat
Microstructural effects (D1A data)
Pb_san Example of Simulated Annealing: solves the structure of PbSO4 Pb_san.int
La Two ways for strain refinement in La2 NiO4 (D1B) La.dat
Lab with low resolution neutron powder data "
Monte Montecarlo test with single crystal data Monte.int
Hmt Rigid body-TLS refinement of published single X-tal data Hmt.int
Urea Test Rigid body with satellites (simulated data) Urea.dat
Pyr Test Rigid body with general TLS refinement (sim. data) Pyr.dat
Ycbacu YBaCuO with Ca. Data from D1A Ycbacu.dat
Arg_si Corrected TOF data of Si from SEPD at Argonne Arg_si.dat
Cecoal TOF data from POLARIS at ISIS Cecoal
Cecua1 TOF data from POLARIS at ISIS Cecua1.dat
Lamn_3t2 Constant wavelenght neutron data from 3T2 (LLB) of LaMnO3 Lamn_3t2.dat
Lamn_pol TOF data from POLARIS at ISIS on the RT phase of LaMnO3 Lamn_pol.dat
Si3n4r Quantitative phase analysis. Two polymorphs of Si3 N4 . (Studvik) Si3n4r.dat
Sin_3t2 As above but data taken at 3T2 (LLB) Sin_3t2
Pb_san Example of Simulated Annealing: solves the structure of PbSO4 Pb_san.int
Maghem Refinement of Fe2 O3 -Fe3 O4 at RT (D1A data) Maghem

In general, the user must first run the program to verify that the provided pcr-files behave correctly. After that,
the user should make a copy of the control files for saving them before running his(her) own options. The best
way is to modify the given values for different sets of parameters and run the program. The beginner must make
extensive use of editor-plot cycles. The plot of the file CODFIL.prf is of absolutely necessity for knowing the
behaviour of the program under bad (or inaccurate) input parameters.

To use the above files for training, the inexperienced user must start with the simplest cases, that is ce1.pcr and
ce2.pcr used to process the file ceo2.dat. This file corresponds to a data collection on cerium oxide with a
laboratory X-ray powder diffractometer, using CuKα doublets. Other simple examples with conventional X-rays
are: the Rutile-Anatase mixture, that allow a quantitative analysis of the relative fraction of each component, and
the diffraction pattern of Tb2 BaCoO5 presenting micro-absorption effects that produce some negative
temperature factors. The user can modify the input file in order to input the micro-absorption correction and look
for the changes in the results. The next files to be processed are those of PbSO4 . The data file correspond to a
laboratory X-ray diffraction pattern (pbsox.dat) and to a neutron powder diffraction pattern (pbso4.dat)
obtained on D1A (ILL) that was used in a Round Robin on Rietveld refinement (R.J. Hill (1992), J.Appl.Cryst
25, 589). For a person working mainly with crystal structures the next files to be studied are: ycbacu, hmt and
urea for powder diffraction.

Some files to be used with single crystal data are also given: c60. The first one uses a simplistic model (just a
spherical shell) for describing the C60 molecule that gives relatively good results. The user can try this file as an
example of special form factor refinement. The free parameter is the radius of the C60 molecule. The file monte
corresponds to an artificial use of the Montecarlo technique for searching a starting set of initial parameters. Data
are from neutron diffraction on a single crystal of oxidised Pr2 NiO4+δ.

People interested in magnetic structures may use the rest of the files in the following order.

• la, lab: refinement of the low temperature phase crystal and magnetic structure of La2 NiO4 . The data are
from a medium-low resolution neutron powder diffractometer (D1B at ILL). This phase present a
microstrain that is refined using two equivalent methods in the two files. The magnetic structure is very
simple. A peak from an impurity phase is near the first magnetic peak.
• The files hobb, hob, hobk1, hobk2, hobk3 concern the refinement of the crystal and magnetic
structures of Ho2 BaNiO5 at 1.5K, using different methods and conditions. The user can verify that
hob.pcr can solve the magnetic structure of Ho2 BaNiO5 just testing random configurations. This is a
very favourable case and this method cannot be applied for general magnetic structure determination.
The data are from D1B at ILL.
• Hocu: refinement of the magnetic structure of Ho2 Cu2 O5 . The data have been taken on D1B
diffractometer at the ILL. Magnetic scattering dominates nuclear scattering. The crystal structure cannot
be refined with these data.
• Cuf1k: refinement of the magnetic structure of CuF2 . The data have been taken on D1A diffractometer
when it was installed provisionally at the LLB. Nuclear scattering dominates magnetic scattering. The
diffraction pattern cannot be refined properly without taking into account microstructural effects.
• The files dy, dya, dyb, dyc use different methods to refine the incommensurate magnetic structure of
DyMn6 Ge6 . This is a conical structure that can be refined using a real space approach as in dy and dya
or using Fourier components of the magnetic moments, which is the general formalism of FullProf for
handling magnetic structures. This is the case of files dyb and dyc .

An example of simulated annealing application is given. The file is Pb_san.pcr, where the user finds a particular
case of how to prepare a PCR file adapted for simulated annealing. The user may play with the different
parameters (starting temperature, number of Montecarlo cycles per temperature, type of algorithm, number of
reflections to be used, etc) to experience when the method is able to solve the PbSO4 structure.

The only right way to learn about crystal and magnetic structure refinements is practising with real data as
these are. However, it is better when the user try with its own data on a problem of interest to him(her).
Mathematical Information
In this chapter the basic equations concerned with the calculations performed in FullProf are discussed.
It is supposed that the reader has a good knowledge of powder diffraction, so the explanations given below
concern mainly the description of the terms involved in the formulae. The references to numbered lines (e.g.
LINE 3, Line 11-4-1) correspond to lines of the main input control file CODFIL.pcr described in
FULLPROF.INS.

The Rietveld Method. Calculated profile


A powder diffraction pattern can be recorded in numerical form for a discrete set of scattering angles, times of
flight or energies. We will refer to this scattering variable as T . Then, the experimental powder diffraction
pattern is usually given as two arrays {Ti , yi }i =1,..., n . The profile can be modelled using the calculated counts
yci at the ith step by summing the contribution from neighbouring Bragg reflections plus the background:

yci = ∑ sφ ∑ I φ ,h Ω(Ti − Tφ ,h ) + ybi (3.1)


φ h

The vector h(= H, or = H + k) labels the Bragg reflections, the subscript φ labels the phase and vary from 1
up to the number of phases existing in the model. In FullProf the term phase is synonymous of a same
procedure for calculating the integrated intensities Iφ , h .

Iφ ,h = { LF 2 ATPC}φ ,h (3.2)

For simplicity we will drop the φ -index. Sometimes we will refer to the whole arrays { yi } and { y ci} as yobs
and ycalc respectively. The meaning of the different terms appearing in (3.1) and (3.2) is the following:
• Sφ is the scale factor of the phase φ
• Lh contains the Lorentz, polarisation and multiplicity factors
• Fh is the structure factor1
• Ah is the asymmetry function
• Th is the transmission factor
• Ph is the preferred orientation function
• Ω is the reflection profile function that models both instrumental and sample effects
• ybi is the background intensity

In the following sections we discussed the different terms in more detail. The Rietveld Method consist of
refining a crystal (and/or magnetic) structure by minimising the weighted squared difference between the
observed { yi }i =1,..., n and the calculated (3.1) pattern { yci (á )} i=1,..., n against the parameter vector á . The
function minimised in the Rietveld Method is:

n
χ 2 = ∑ wi { yi − yci (á )}
2
(3.3)
i =1

1
The ratio of the intensities for the two wavelengths handled by the program is absorbed in the calculation of Fh2 , so that only a single
scale factor is required.
with wi = σ12 , being σ i2 the variance of the "observation" yi .
i

Background
The background intensity ybi at the ith step is obtained (see LINE 2 and LINE 6* or Line 10-2*) either from an
user-supplied table of background intensities, or from a refinable background function:

11 6 sin(Qi d j )
ybi = ∑ Bm ( −1) m + ∑ BCj
Ti
(3.4)
m =0 BKPOS j =1 Qi d j

The origin of the background polynomial is given by a selectable input parameter BKPOS (LINE 4) and should
be supplied by the user. The second sum is used only if NBCKGR=-1. The parameters to be refined are:
B0 , B1 ,..., B11 , BC1 ,..., BC 6 , d1 ,..., d 6 . Qi is the modulus of the scattering vector (Q = 2π h ) at the ith step,
and is given by:

sinθ
Qi = 4π (3.5)
λ

where λ = λ1 FullProf. The parameters d j are distances in Å.


The background can be also read from a supplied file FILE.bac. The actual background is calculated from the
read background applying the following formula:

Bacground (2θ ) = bBackg


1 [ (1 + b3 )2θ + b4 ] + b2 (3.6)

The background parameters and codes, given in Line 10-2*, correspond to the coefficients of the above formula
in the order: b1 , b2 , b3 , b4 . If b1 is given as zero, the program puts b1 = 1 . Limits against divergence are fixed
by program. The parameter b3 is allowed to vary up to a maximum value ABS (b3 ) = 0.1 and ABS (b4 ) is
kept below 3 degrees (2θ ) . The user can check the excursion of those parameters out of the allowed range
when they are strictly zero and their standard deviation is (fixed arbitrarily to) 0.99999. This option is useful
when complicated background shapes are present due to sample environment.
A new procedure for treating the background has also been introduced. The background is adjusted
iteratively at each cycle by using a Fourier filtering technique. The starting background is read from the file
FILE.bac. At cycle n the new background is calculated from the old one, cycle n-1, with the formula:

Background ( n) = Background (n − 1) + Filtered [ yobs − ycal ]( n −1) (3.7)

where Filtered[ yobs − y cal ] is a strongly smoothed version of yobs − ycal . The parameter controlling the
smoothing is FWINDOW that is equivalent to PST used in subroutine SMOOFT described in Numerical Recipes
(see [Numerical Recipes, by W.H. Press, B.P. Flanery, S.A. Teukolsky and W.T. Vetterling (Fortran version),
Cambridge University Press, 1990]). The implementation of SMOOFT in FullProf is not the same as in
Numerical Recipes. When using this method it is wise to draw the final background to see if it is really a smooth
curve. This option is only justifiable in cases of a very wavy background. The starting background should be
close to the real one.

Peak-shape functions for constant wavelength data


The profile function Ω is selected by the control variable NPROF (LINE 2). All the profile functions used in
+∞
FullProf are normalised to 1 (i.e. ∫−∞
Ω( x) dx = 1 ). The variable is x = T − Th , the FWHM will be called H.
The definition of Ω i ( x) , where the subscript i stands for the value of the variable NPROF, is the following:

GAUSSIAN : Ω 0 ( x ) = G( x ) = aG exp(−bG x 2 ) (3.8)


where:

2 ln2
4ln2
aG = bG =
H πH2
1 H π
The integral breadth of the Gaussian function is: βG = =
aG 2 ln2
aML
LORENTZIAN : Ω1 ( x) = L ( x ) = (3.9)
1 + bL x 2
where:

2 4
aL = bL =
πH H2
1 πH
The integral breadth of the Lorentzian function is: β L = =
aL 2
aML
MODIFIED LORENTZIAN : Ω 2 ( x) = ML( x) = (3.10)
(1 + bML x 2 )2
where:
4 2 −1 4( 2 − 1)
a ML = b ML =
πH H2

aIL
INTERMEDIATE LORENTZIAN : Ω3 ( x) = IL( x ) = (3.11)
(1 + bIL x 2 ) 3 / 2
where:
22 / 3 − 1 4(22 / 3 − 1)
a IL = bIL =
H H2

aVII
PEARSONVII : Ω 6 ( x) = PVII ( x) = (3.12)
(1 + bVII x 2 )m
where:
Γ( m) 2 21/ m − 1 4(21/ m − 1)
aVII = bVII =
Γ( m) −1 / 2 πH H2

PSEUDO − VOIGT : Ω 5 ( x ) = pV ( x) = η L′( x ) + (1 −η )G′( x ) 0 ≤ η ≤1 (3.13)

The pV ( x ) function is a linear combination of a Lorentzian ( L′) and a Gaussian (G′) of the same FWHM
( H ) 2 , so there are two parameters characterising the peak shape: pV ( x ) = pV ( x ,η, H ) . If L’(x) and G’(x)
are normalised, pV ( x ) is also normalised. The integral breadth of a normalised pseudo-Voigt function is just

2
The reader can verify that the FWHM of pV(x) is also H.
the inverse of the maximum value. The FWHM is the same for L(x), G(x) and pV(x). If the function is multiplied
by a constant (integrated intensity) the integral breadth doesn’t change:

β pV = ∫ Ω( x)dx = ∫ I pV (x )dx =
i 1
Ω (0) I i pV (0) pV (0)
πH 2
β pV =
η + (1 − η ) π ln2
The profile function NPROF=4, Ω 4 ( x) , is a superposition of three pV ( x ) functions (see below (3.22)).
The difference between NPROF=5 and NPROF=7 is that in the later the parameter η is not directly refinable
but calculated from H L and H G . Let us precise this point. The pseudo-Voigt function is an approximation to
the Voigt function defined as the convolution of a Lorentzian and a Gaussian:

+∞
VOIGT : V ( x) = L( x) ⊗G( x) = ∫ L( x − u) G( u) du (3.14)
−∞

where L( x) and G( x) have different FWHM ( H L and HG , respectively). The pV ( x ) function is an


approximation that substitutes the two shape parameters H L and H G by the pair (η, H ) .
+∞
V ( x) = L( x) ⊗ G( x ) = ∫ L( x − u )G( u) du
−∞
The Voigt function can be written in a closed form in terms of the complex error function and the integral
breaths of the Lorentzian ( β L ) and Gaussian components ( β G ):
V ( x) = V ( x , H L , H G ) = V ( x, β L , β G )

  π βL 
V ( x) = β G−1 Re  erf  x +i   (3.15)
  βG βG π  
where:
2

x
erf ( x ) = e −t dt
2

π 0

Numerically is more easy to calculate the pseudo-Voigt approximation (3.13) using a numerical
approximation relating the pairs ( H L ,H G ) and (η, H ) (see [24]):
(H, η ) = F (H G , H L )

H = ( HG5 + 2.69269 HG4 H L + 2.42843 HG3 HL2 + 4.47163 HG2 H L3 + 0.07842 H G H L4 + HL5)
(3.16)

2 3

− 0.47719  L  + 0.11116  L 
HL H H
η = 1.36603 (3.17)
H  H   H 
The inversion of the above two expressions leads to the relations:
( H G , H L ) = F −1 ( H, η)

HL
= 0.72928η + 0.19289η 2 + 0.07783η 3 (3.18)
H

HG
= (1 − 0.74417η − 0.24781η2 − 0.00810η3 )1 / 2 (3.19)
H
The difference between the pV-functions calculated with NPROF=5 or NPROF=7 concerns only the
parameterisation of η and H which can be simply related to significant physical parameters using NPROF=7.

The dependence of the peak-shape parameters (including FWHM) on the scattering variable (2θ for
constant wavelength diffractometers) is parameterised mainly through the variables defined in Line 11-6-1:
U , V , W , X , Y ,I G , S Z .
For profiles NPROF=0 to NPROF=6 :

IG
H 2 = (U + DST
2
)tan 2 θ + V tan θ + W + (3.20)
cos 2 θ

For NPROF=5 (pseudo-Voigt) the η parameter can be dependent on X through the formula:
η = η0 + X 2θ (3.21)

For NPROF=4 (tripled pseudo-Voigt), the three components are assumed to have the same η0 and FWHM, so
the effective total width depends on the additional shape parameter Sh 1 (see Line 11-8-3). The profile function
is given by the formula:

Ω 4 ( x) = p4 ( x) = XpV ( x − D) + (1 − X − Y ) pV ( x) + YpV ( x + D) (3.22)


where:
Sh 1
D=
d cosθ

So, apart from the FWHM that is calculated from U , V , W , DST and I G parameters for a single
component, the profile function has FOUR shape parameters η0 , X ,Y and Sh 1 . This function is adapted for
medium resolution neutron powder diffractometers having defects on the monochromator and/or the spectral
distribution that gives rise to a non-Gaussian distribution of wavelengths.
For NPROF = 6 (Pearson-VII) the m parameter can be dependent on X and Y through the formula:

X Y
m = m0 +100 +10000 (3.23)
2θ (2θ ) 2

For NPROF=7, the FWHM of the Gaussian ( HG ) and Lorentzian ( H L ) components is calculated as:

IG
HG2 = (U + DST
2
)tan 2 θ + V tan θ + W + (3.24)
cos 2 θ

[Y + F ( S Z )]
H L = X tan θ + (3.25)
cos θ

The units of parameters U , V , W , IG are ( degrees 2θ ) 2 . The physical meaning of I G , DST


2
and F ( S Z ) is
briefly discussed in FULLPROF.INS.

-------------------------------------------------------------------
For profiles 0 to 6 and 12:

FWHM 2 = (U + DST 2 )tan 2 θ + V tan θ + W + IG cos 2 θ


For NPROF = 4 (tripled pseudo-Voigt), the three components are assumed to have the same η0 and
FWHM, so the effective total width depends on the additional shape parameter Shape1. The profile
function is given by the formula:

p 4( x ) = XpV ( x − D) + (1 − X − Y ) pV ( x ) + YpV ( x + D )

where
D = Shape1/ d cosθ
pV ( x ) = η0 L (x ) + (1 −η0 )G( x)

So, apart from the FWHM that is calculated from U,V,W, DST and IG parameters for a single
component, the profile function has FOUR shape parameters η0 , X, Y and Shape1. This function is
adapted for medium resolution neutron powder diffractometers having defects on the monochromator
and/or the guide spatial spectral distribution giving rise to a non-Gaussian distribution of wavelengths.

For NPROF = 5 and 12 (pseudo-Voigt) the η parameter can be dependent on X through the formula:
pV ( x ) = η L (x ) + (1 −η )G( x)
η = η0 + X ⋅ 2θ

For NPROF = 11 (split pseudo-Voigt) DST and IG are common to the left and right parts of the profile.
Moreover additional FWHM parameters are used as new shape parameters, so the expression of the left
FWHM(L) for NPROF=11 is

FWHM 2 ( L) = (Ul + DST 2 )tan 2 θ + Vl tan θ + Wl + IG cos 2 θ + Shape1/tan 2 2θ

Shape1 is applied only for 2θ <= 90º. The value of η for the left part is given by:
ηl = η0 + Xl ⋅ 2θ

The expression of the right part is:

FWHM 2 ( R ) = (Ur + DST 2 )tan 2 θ + Vr tan θ + Wr + IG cos 2 θ + Shape 2/tan 2 2θ

Shape2 is applied only for 2θ >90º. The value of η for the right part is given by:

ηr = η0 + X r ⋅ 2θ

The FWHM and shape parameters for the right part are read in next lines

For NPROF = 6 (Pearson-VII) the m parameter can be dependent on X and Y through the formula:

m = m0 +100 X / 2θ +1000Y / 2θ 2

For NPROF = 7, the FWHM of the two components is calculated as

FWHM 2 ( Gaussian) = (U + DST 2 )tan 2 θ + V tan θ + W + IG cos 2 θ


FWHM 2 ( Lorentzian) = X tan θ + [Y + F ( SZ ) ] /cos θ

To be completed and corrected (List of Formulae to include):

New formulae:
IG
HG2 = (U + (1 − ξ ) 2 DST
2
)tan 2 θ + V tanθ + W +
cos 2 θ
[Y + F ( S Z )]
H L = ( X + ξ DST )tanθ +
cos θ

IG
2
HGS =
cos 2 θ
[Y + F ( S Z )]
H LS =
cos θ
For a particular reflection one can calculate, using the relations between the FWHM(=H) and η of the pseudo-
Voigt function and the Gaussian and Lorentzian components of the Voigt function
( H S , ηS ) = F ( H GS , H LS )
Substituting the expressions of the G and L size we obtain similar expressions where HG and HL are replaced by
SQRT(IG)=I1/2G and YL=Y+F(SZ) respectively. The term in 1/cosθ cancels out if we call HS = ZS /cosθ

Z S = I G5 / 2 + 2.69269 I G2 YL + 2.42843I G3 / 2YL2 + 4.47163 I GYL3 + 0.07842I G1 / 2YL4 + YL5


5

2 3
Y Y  Y 
ηS = 1.36603 L − 0.47719  L  + 0.11116  L 
ZS  ZS   ZS 

From ZS and ηS we obtain the integral breadth corresponding to size effects just from the corresponding
expression for the normalised pseudo-Voigt function.
π ZS 2 π 1
β pV ( Size) = ×( )×
ηS + (1 −ηS ) π l n 2 180 cos θ

If ZS and ηS have been calculated from the values of IG and Y as refined in FullProf, they are expressed in
degrees, so we have to transform to radians, as written above, in order to get the apparent size in the correct
units. From the Scherrer formula we have:

λ π ZS 2 π 1
βh = β PV ( size) = = ×( )×
Dh cos θ ηS + (1 −ηS ) π l n 2 180 cos θ

So, the apparent size considering both Gaussian and Lorentzian components, and under the hypothesis of
pseudo-Voigt (Voigt) peak shape, is given by the expression:
ηS + (1 −ηS ) π l n 2 360λ
Dh = ×( 2 )
ZS π
Where ZS and ηS have been obtained from IG =IG and YL =Y+F(Sz) using the TCH formula.

Note: Non-normalised pseudo-Voigt appears in many papers.


Let us call the non-normalised function as:
pVn ( x ) = ηn Ln ( x ) + (1 − η n )Gn ( x ) pVn (0) = 1
where:
1
Ln ( x ) = Ln (0) = 1
1 + bL x 2
Gn ( x ) = exp( −bG x 2 ) Gn (0) = 1

The integral breadth of a non-normalised pseudo-Voigt function of peak intensity I0 and FWHM=H is given by:
β pVn = ∫ Ω(x )dx = ∫ I 0 pVn ( x )dx
= ∫ pV (x )dx
n

Ω (0) I 0 pVn (0) 1


β pVn = ηn ∫ Ln ( x) dx + (1 − ηn ) ∫ Gn ( x) dx
1 1 πH H π
β pVn = ηn + (1 − ηn ) = ηn + (1 − ηn )
aL aG 2 2 ln2

The integral breadth of a particular peak is independent of the formulation of the pseudo-Voigt function. Both
descriptions gives the same FWHM and the same integral breath, so the numerical relation between the η values
is given by:

πH H π
Non-normalised: β pVn = ηn + (1 − ηn )
2 2 ln2

πH 2
Normalised: β pV =
η + (1 − η ) π l n 2

πH πH πH 2
ηn + (1 − ηn ) =
2 2 π ln2 η + (1 −η ) π l n 2

η
ηn =
η + (1 − η ) π ln2

ηn
η=
ηn + (1 −ηn ) 1
π ln2

Peak-shape functions for Neutron Time of Flight


The profile function Ω for TOF corresponds to the control variable NPROF=9, 10. The peak shape is the same
in both cases but the TOF position of the Bragg peaks are calculated in different ways for the two functions.
(To be completed)

Monochromator, Lorentz and geometrical corrections

Bragg-Brentano or Debye-Scherrer geometry


Monochromator polarisation correction (CTHM and K in LINE 4); the Lorentz polarisation factor Lp is
calculated as :

1 − K + K cos 2 2θ Monok cos 2 2θ


Lp = (3.26)
2sin 2 θ cosθ
CTHM = cos 2 2θ Monok . For instance with a Graphite monochromator, CTHM = 0.8351 and 0.7998 for
with
CuKβ and CuKα respectively.
Note that K is used only for synchrotron data (ILOR=3) and does not have to be input for other kind of
data taken with the specified geometry.
• For neutrons, K =0.0.
• For characteristic x-ray radiation (non-polarised beam), K=0.5.
• For synchrotron radiation, K must be given (K ≈ 0.1)

Transmission flat-plate geometry


In the transmission geometry, flat plate with the scattering vector within the plate (Stoe geometry for
X-rays, ILOR=2) the Lorentz factor is:

1
L= (3.27)
sin2θ
and the polarisation correction is given by:

1 + c1 cos 2 2θ 1 + c2 cos2 2θ
p=K + (1 − K ) (3.28)
1 + c1 1 + c2
where

c1 = cos2θ Monok = CTHM


c2 = cos 2 2θ Monok = CTHM
K = fraction of perfect crystal contribution

Asymmetry
The default asymmetry correction (see RLIM in LINE 4) follows the expression given in [12]. The asymmetry
correction adopts the form:

1 a ( z ) + P2Fb ( z )
PF P F ( z ) + P4 Fb (z )
Ah = 1 + + 3 a (3.29)
tanh θ h tanh2θ h

where

2θ i − 2θ h − S shf
z=
FWHM

Sshf includes the zero-point and other shifting terms,

Fa ( z ) = 2 z exp( − z 2 ), Fb ( z ) = 2(2 z 2 − 3) Fa ( z )

The asymmetry correction (3.29) has four independent parameters, ( P1 , P2 , P3 , P4 ) which are read in Line 11-
8-1.
If NPHASE$<$0 the method proposed by C.J.Howard (see [11]), is used. The approximation of the convolution
integral is performed using the Bode's rule (Simpson's formula for five points). The profile is calculated as a
superposition of five profile functions g ( x ) (only pseudo-Voigt NPROF=5 and NPROF=7 are implemented for
this correction) calculated at displaced points:
1
Ω(x ) = { 7g ( x ) + 32 g ( x + c2 P ) + 12g ( x + c3 P ) + 32g ( x + c4 P ) + 7g ( x + c5 P )} (3.30)
90

where x = 2θ i − 2θ h − S shf , P is the asymmetry parameter and cot2θ = 16c2 = 4c3 = 16 9 c4 = c5 .


The parameters P1 , P2 normally suffice for neutron diffraction. The starting value of these parameters should be
significantly lower than unity (e.g. 0.01) to get good results. If the value of the asymmetry parameter used in the
Rietveld's formula (see [2]) is kept fixed in FullProf the refinement may be very bad and may not converge.

Preferred orientation
Only two preferred orientation functions are currently implemented in the program:

• NORI=0 → the exponential function:

Ph = G2 + (1 − G2 )exp(G1α h2 ) (3.31)

Where G1 and G2 are refinable parameters and α h is the acute angle between the scattering vector
and the normal to the crystallites (platy habit). Note that setting G1 to any number >99.0 for a

[ hkl ]
*
phase causes the program to generate, for that phase, only those reflections for which is
parallel to the preferred orientation vector PREF specified in Line 11-2.
• NORI=1 → Modified March's function:

−3 / 2
 sin2 α h 
Ph = G2 + (1 − G2 ) ( G1 cos α h ) +
2
 (3.32)
 G1 

Where G1 and G2 are refinable parameters. This expression is adapted to both fibber and platy
habits:
Ø G1 < 1 : Platy habit (α is the acute angle between the scattering vector and the normal to the
crystallites)
Ø G1 = 1 : No preferred orientation
Ø G1 > 1 : Needle-like habit (α is the acute angle between the scattering vector and the fibber
axis direction)

Note that these values of G1 correspond to the Bragg-Brentano geometry of usual X-ray powder diffractometers;
for the Debye-Scherrer geometry of most neutron powder diffractometers the opposite holds.
The parameter G2 represents the fraction of the sample that is not textured. The program put its value
between 0 and 1 in case of divergence.

Absorption and micro-absorption


For Debye-Scherrer data, intensities may be corrected for the effects of sample absorption by applying the
following transmission factor:

Th = exp { −(1.7133 − 0.0368sin 2 θ h ) µ R + (0.0927 + 0.375sin 2 θ h )( µ R ) 2 } (3.33)


Where µ is the linear absorption coefficient and R the radius of the cylindrical sample.
For a flat plate in transmission geometry for X-rays (ILOR=2) the absorption correction is implemented
as:

exp( −mt /cos θ h )


Th = (3.34)
cos θ h

Where t is the "effective" thickness of the sample. The product mt is given in the same place as µ R .
For Bragg-Brentano geometry in X-rays an angular-dependent microabsorption correction has been
introduced following [25] and [26]. The factor Th becomes:

Th ⇒ Th S r ( h) = Th (1 − P( h)) (3.35)

Where Sr (h ) is given by the formula 6 of [25] (or P(h ) is given by formula 17 of [26]).
τ  τ 
P(h) = P0 + C p 1 −  (3.36)
sin θ h  sinθ h 

The limitations and degree of applicability of the above formula are explained in the cited references.

Systematic line-shifts
Powder diffraction data are sometimes affected by systematic aberrations resulting from the sample itself or from
an improper setting of the sample or diffractometer. FullProf gives the possibility to correct for two of the most
commonly occurring errors by refining the parameters called SYCOS and SYSIN (Line 10-1). These parameters
relate to errors having a cosθ and sinθ dependency, respectively. The corresponding errors originate from a
different physical or/and geometrical problem depending on the diffraction geometry. They are summarised
below:

Bragg-Brentano parafocusing arrangement

The two largest systematic aberrations of θ − 2θ powder diffractometers operating in this geometry arise from
specimen displacement and transparency; the sample displacement error is one of the largest systematic errors
affecting line positions in this geometry. It is given by:

−2 s
∆ 2θ = cosθ [inradians ] (3.37)
R
where s is the displacement of the sample surface with respect to the axis of the goniometer and R the radius of
the goniometer circle. The negative sign means that a displacement away from the centre of the focusing circle
moves the diffraction lines to lower 2θ angle. The refinable parameter is SYCOS = −2 s / R . This is by far
the largest systematic aberration in this geometry. As the angles are expressed in degrees in FullProf, the sample
offset can be calculated as:

π
s= R SYCOS
180
The transparency correction is given by the relation:

1
∆ 2θ = sin2θ [ inradians ] (3.38)
2µ R
where µ is the linear absorption coefficient of the sample. This relation holds in the case of thick absorbing
samples and the refinable parameter is SYSIN = 1/(2 µ R) . For thin transparent samples, the correction would
write:

t
∆ 2θ = cosθ [in radians ] (3.39)
R
where t is the sample thickness; this (less usual) correction is not explicitly included in the code but can be
accounted for by the displacement correction which turns out to show the same 2θ dependency. Note however
that samples requiring that kind of correction would also give biased integrated intensities; correction for this
effect is not implemented in FullProf. For further details on systematic aberrations in Bragg-Brentano geometry,
see [16].

Debye-Scherrer

The largest shifts of Debye-Scherrer rings result from sample off centring and absorption. Eccentricity
perpendicular to the incident beam direction is normally a second order effect if both sides of the Debye-Scherrer
ring are measured.
If only one side of the cone is measured, the line shift takes the form:

e
∆ 2θ = cosθ [in radians ] (3.40)
R

where e denotes the eccentricity, that is the refined parameter is SYCOS = e / R .


Eccentricity in the incident beam direction is observed in both cases and takes the form:

e
∆ 2θ = sin2θ [inradians ] (3.41)
R

i.e., the refined parameter is SYSIN = e / R . The correction is negative for a shift along the beam direction
towards the detector. For highly absorbing specimen with radius r, diffraction is limited to a cylindrical surface
layer resulting in a maximum peak shift:

r
∆ 2θ = cosθ [in radians ] (3.42)
R

i.e., in this case, SYCOS = r / R . The latter effect also leads to asymmetric line profiles.

Curved position sensitive detector with flat plate sample


For the asymmetric geometry of diffractometers using a curved position sensitive detector (CPSD) with a flat-
plate sample, the displacement correction takes the form:

−e
∆ 2θ = sin2θ [in radians] (3.43)
R sinα

where R is the radius of the CPSD and α the incident beam angle (in degrees) at sample surface. Thus, the
parameter refined by FullProf is SYSIN = − s /( R sin α ) . The negative sign means, as in the case of Bragg-
Brentano geometry, that a displacement away from the center of the focusing circle moves the diffraction lines to
lower 2θ angle; the value of the sample offset is given by:

π
s= R sinα SYSIN
180
Crystal structure factors
The crystallographic structure factor Fh is calculated in FullProf by using the formula:

{
Fh = ∑ O j f j (h)exp( −B j h /4) ∑ T js ( h)exp 2π i (h T S sr j + h T t s ) }
n m
(3.44)
j =1 s =1

where n is the number of atoms in the asymmetric unit, m is the number of the reduced set of symmetry
operators (centring lattice translations and inversion center operators removed). O j is the occupation factor,

f j (h ) is the scattering length (in electron units for X-rays, in 10−12 cm for neutrons), B j is the isotropic
temperature parameter given in Å2 , and r j is the position vector of atom j. The symmetry operator
{ S t } = { S t}
s s s
is applied to the scattering vector h (treated here as a column matrix) instead of the position

vector. hT is a row matrix with elements ( hkl ) . The temperature factor T js (h) is given by:

T js ( h) = exp { −hT Ss βj SsT h} (3.45)

where β j is the symmetrical matrix representing the anisotropic temperature parameters of the atom j. For the
first atom position ( Ss =1 = I ) the expression of the anisotropic temperature factor is the well-known expression:

T ( hkl ) = exp { −( β11h 2 + β22 k 2 + β33l 2 + 2 β12 hk + 2 β 13 hl + 2 β 23 kl )} (3.46)

where the subscript j has been dropped for simplicity. Of course, if the isotropic temperature factor
T j (iso) = exp(− B j sin 2 θ / λ 2 ) is used the parameters βαβ j should be set to zero. The β's have no direct
physical meaning. They have to be converted to a Cartesian U-matrix that provides, after diagonalisation, the
r.m.s (root mean squares) atom displacements (see [17]). FullProf does this work at the end of the refinement,
the results are given in the file CODFIL.out.

Apart from the standard scattering factor for individual atoms existing in an internal library of FullProf, the
version 3.2 and higher can handle complex form-factors as a standard option. In the general expression of the
nuclear structure factor (see (3.44)) the form factor f j (h ) is normally dependent on the module of h. For
molecular plastic crystals the treatment of rotating molecules cannot be done using an atomic description. The
approach of a molecular form-factor that takes into account the particular dynamics of the object is more
reliable. f j (h ) depends on a series of parameters for different types of objects. Coefficients of Symmetry
Adapted Spherical Harmonics, geometrical parameters (radius of a sphere, length and radius of a cylinder or
disk, etc), scattering density, for instance, may serve for describing the scattering factor of a complex object. In
the present version of FullProf the available (or projected) objects are the following: spherical shell (SPHS),
dense sphere (SPHE), ellipsoid (ELLI), cylinder/disk of elliptical section (DISK), etc.
For the calculation of the integrated intensities (3.2) two types of factors are applied to Fh2 . One is
an overall temperature factor ( exp {−B ov )
h / 2} and the other is the constant: NLAT = ( LAT g ICEN ) 2 ,
where LAT is the number of centring translations (1 for P, 2 for A,B,C and I, 3 for R and 4 for F) and ICEN=2
for centrosymmetric and ICEN=1 for non-centrosymmetric space groups.

Magnetic scattering calculations


For a magnetic phase Fh2 is calculated using the general formula of Halpern and Johnson:

Fh2 = F⊥ ( h) = Fm ( h) − ( e ⋅ Fm ( h) )
2 2 2
(3.47)

where Fm (h) is the magnetic structure factor, and e is the unit vector along the scattering vector h. Here the
scattering vector is written as h = H + k where H is a reciprocal lattice vector of the crystal structure and k the
propagation vector corresponding to the current magnetic reflection. The magnetic structures that can be refined
with FullProf must have a distribution of magnetic moments that can be expanded as a Fourier series:

µlj = ∑ S kj exp { −2π ikRl } (3.48)


{k}

In such a case the magnetic structure factor is given by:

Fm ( H + k ) = p∑ f j ( H + k) Skj exp {2π i (H + k ) r j }


nc
(3.49)
j =1

The sum is over all the atoms in the crystallographic cell. The constantp = (reγ /2) is 0.2695 and allows the
conversion of the Fourier components of magnetic moments, given in Bohr magnetons µ B to scattering lengths
−12
units of 10 cm. f j ( H + k ) is the magnetic form factor and r j is the vector position of atom j. In the above
expression the atoms have been considered at rest. If thermal motion is considered and if symmetry relations are
established for coupling the different Fourier components Skj , we obtain the general expression of the magnetic
structure factor used in FullProf for the reflection with scattering vector h=H+k:

{ }
n
Fm (h ) = p ∑ O j f j (h)T j ( iso ) ∑ M jsS kjT js exp 2π i h { S t} s r j −ψ kjs  (3.50)
j =1 s

The sum over j concerns the atoms of the magnetic asymmetric unit for the wave vector k (the Fourier
component with index k contributes only to the k-satellite). The sum over s concerns the different symmetry
operators of the crystal space group that belong to the wave vector group. The matrix M js transform the

components of the Fourier term Skj of the starting atom j1 to that numbered as js in the orbit of j. The
anisotropic temperature factor, T js , is simplified in the calculation to only diagonal terms ( βαα ), but it is not
generally necessary to use these terms in magnetic refinements. The phase factor ψ kjs has two components:

ψ kjs = Φ kj + φ kjs (3.51)

Φ kj is a phase factor that is not determined by symmetry. It is a refinable parameter and it is significant only for
an independent set of magnetic atoms with respect to another one. φ kjs is a phase factor determined by
symmetry. The Fourier component k of the magnetic moment of atom j1, Skj , is transformed to

Skjs = M js Skj exp {−2π iφkjs } (3.52)

The sign of φ kjs changes for -k. The reflection H + k has the negative sign indicated in the above formulae and
the reflection H − k has the positive sign.
In the general case Skj is a complex vector (in general there are six components. The magnetic phases
are given in fractions of 2π . For the scattering vector H − k the Fourier component is the complex conjugate
of that used for calculating the structure factor for H + k . The program takes into account automatically this
fact. If k is at the interior of the Brillouin Zone a factor 1/2 is applied to the Fourier coefficient.
Let us consider a single index j for all the magnetic atoms in the unit cell as in (3.50). The Fourier coefficient
for the sublattice j is explicitly given by:

Skj =
1
2
{ }
Rxj e1 + Ryj e2 + R zj e 3 + i  I x j e1 + I yj e2 + I zj e3  exp {−2π iφkj } (3.53)

The vector -k must also be given either explicitly or implicitly by giving NVK < 0 (see NVK on Line 11-2 ). If
NVK < 0 the program applies the factor 1/2 because it is supposed that k is non equivalent to -k even if k
belong to the surface of the Brillouin zone. If the option JHELIX=1 is used, the number of free parameters per
magnetic atom is reduced. The Fourier coefficients are considered of the form:

 m1 j u j + im2 j v j  exp {−2π iφkj }


1
Skj =
2
(3.54)

where u j and v j are orthogonal unit vectors. If m1 j = m2 j the magnetic structure for the sublattice j
corresponds to a classical helix (or spiral) of cylindrical envelope. All j atoms have a magnetic moment equal to
m0 . If m1 j ≠ m2 j the helix has an elliptical envelope and the moments have values between min( m1 j ,m2 j )
and max( m1 j ,m2 j ) . If m2 j = 0 the magnetic structure corresponds to a modulated sinusoid of amplitude
A = m1 j .
In general, the user has to calculate the real magnetic moments from the refined values of the Fourier
components: the term "Magnetic Moment" in the output file means the modulus of the corresponding Fourier
component. The program MOMENT has been written in order to help the user with these calculations. In any
case, the calculation of the magnetic moment of the atom j in the unit cell of index l, should be done by using the
formula:

µlj = ∑ S kj exp { −2π ikRl }


{k}

{
µlj = ∑ Rkj cos2π kRl +ψ kj  + I kj sin2π kRl + ψ kj  }
{k}

where the last sum is extended for half the number of propagation vectors, i.e. over the number of pairs (k,-k).
If the propagation vector k is commensurate (rational components) one can use the magnetic unit cell and Skj
can be identified with the magnetic moment at site j . In this case it is possible to describe the magnetic structure
with Ψ kj = 0 and Q = H , being H an integer vector of the reciprocal lattice of the magnetic cell. If
k = 12 H , the use of the chemical unit cell and real magnetic moments is also possible. In such a case only one
propagation vector is needed: if NVK is given as negative the generation of magnetic reflections could be in
error. For centred crystallographic unit cells one can use only the content of a primitive cell and generate the
satellites from the symbol of the centring followed by -1 (e.g. I -1 for a I-centred cell). In order to take the
advantage of the crystallographic conventions (propagation vector given with respect to the reciprocal basis of
the conventional cell) one can use the dimensions and the metrics of the conventional cell provided that, putting
the content of a primitive cell in the conventional cell frame, the occupation factors are multiplied by the number
of centring vectors. See the files hob*.pcr in the example directory of the anonymous FTP-area.

Codewords
Codewords Cx they are entered for each refined parameter. A zero codeword means that the parameter is not
being refined. For each refined parameter, the codeword is formed as:

Cx = sign( a) (10 p + a ) (3.55)

where p specifies the ordinal number of the parameter x (i.e. p runs from 1 to MAXS) and a(multiplier) is the
factor by which the computed shift will be multiplied before use.
The calculated shifts are also multiplied by a relaxation factor before being applied to the parameters.

Standard deviations
Standard deviations are estimated from the formula:

1/2
σ i = a ⋅  χ 2 M ii  (3.56)

where a is the coefficient of the codeword for the parameter, M ii is the corresponding diagonal element in the
inverted matrix. The χ index used in the above formula is always calculated for the points in the pattern
2

having Bragg contributions, thus σi could be greater than the corresponding value calculated with other
programs. As χ 2 is calculated in two ways (see below) the user can easily calculate the other value.

Method of refinement
Least squares refinement (the standard method)

M p = ∑  wi ( yo b s, i − yc a l c, i) 2  (3.57)
i

the weights of the observations are calculated as: wi = 1 varo b s, i

Maximum likelihood refinement


The weights of the observations are calculated at each cycle as: wi = 1 varc a l c, i

Agreement factors
The quality of the agreement between observed and calculated profiles is measured by a set of nowadays-
conventional factors. In FullProf two sets of indices are calculated, according to the meaning of the integer N. In
the first set N is the total number of points used in the refinement (N=NPTS-NEXC = total number of points in
the pattern total number of excluded points). In the second set only those points where there are Bragg
contributions are taken into account. The definition of the indices is as follows:

Profile Factor:
Rp = 100∑ yo b s, i − ycalci, / ∑ yo b s, i (3.58)
i i

Weighted Profile Factor:


1/2
 2
= 100 ∑ wi yo b s,i − ycalci, /∑ wi yo b s, i 
2
Rwp (3.59)
 i i 

Bragg Factor:
RB = 100 ∑ I o b s,k − Icalc ,k / ∑ I o b s, k (3.60)
k k

The expected R Factor:


1/2
 
Rexp = 100  ( N − P + C) / ∑ wi yo2 b s, i  (3.61)
 i 

The goodness of fit Factor:


2
χ 2 =  Rwp / Rexp  (3.62)

where N-P+C is the number of degrees of freedom (The meaning of N has been given above, P the number of
refined parameters and C the number of strict constraint functions).
Excluded regions are always excluded from the calculation of all agreement factors. Conventional Rietveld R-
Factors: cR p , cRwp are calculated as above but using background-corrected counts. The magnetic R-factor is
defined as the Bragg RB -factor but is applied to magnetic intensities.
The "observed" integrated intensity I o b s, k is in fact calculated from the Rietveld formula:

I o b s,k = I calck, ∑ { Ω(Ti − Tk )( yo b s,i − Bi )/( ycalci, − Bi )} (3.63)


i

This formula is equivalent to a "proportional sharing" of the integrated intensity of a cluster between its
components according to the actual model. Then, if the model contains a strictly zero integrated intensity for the
component "k" ( I calc , k =0), the observed integrated intensity is also zeroed: I o b s, k =0, even if it is obvious that
I o b s, k is non zero from the experimental pattern. This has as a consequence that the reflections with I calc , k =0 do
not contribute to the Bragg R-factor.

Although commonly used in crystallography, the Rp , Rw , RB agreement factors are not satisfactory from a
statistical point of view. Therefore, a number of statistically more significant parameters are calculated by
FullProf:
• The deviance [15] defined as:
D = 2∑ { yo b s,i ln( yo b s,i / ycalci, ) − ( yo b s,i − yc a l c, i)} (3.64)
i

• From the deviance, one can derive two other measures of discrepancy which are useful as model selection
criteria (somewhat analogous to Hamilton's criterion). These criteria take account of both the goodness of fit
of a model and of the number of parameters used to achieve that fit. They take the form:

Q = D + a ⋅ maxs (3.65)

where maxs is the number of refined parameters and a represents the "cost" of fitting an additional parameter.
Akaike's information criterion uses a=2 while Schwarz's criterion has a=ln(maxs).

• The Durbin-Watson statistic parameters: d and Q. The use of these two quantities to assess the quality of the
refinement has be advocated by Hill and Flack [16]. This statistic which measures the correlation between
adjacent residuals (serial correlation) is defined as:

{ } { }
N
d = ∑  wi ( y o b s, i − y calc, i ) − wi −1 ( y o b s, i −1 − y calci, −1 )  / ∑ wi ( y o b s, i − y c a l c, i) 
2 2
(3.66)
i= 2 i

Serial correlation is tested (at the 99.9% confidence level) by comparing the value of d to that of Q that is
given by the relation:
{
Q = 2 ( N − 1)/( N − P) − 3.0901/ N + 2 } (3.67)

Three cases may occur:


1) If d < Q, there is positive serial correlation: successive values of the residuals tend to have the same sign.
This is the most common situation in profile refinement.
2) If Q < d < 4-Q, there is no correlation
3) If d > 4-Q, there is negative serial correlation: successive values of the residuals tend to have opposite sign.

Analysis of the refinement


An empirical analysis of the refinement has been introduced at the end of the file CODFIL.SUM. A part from
some subjective comments that could appear in that analysis there are some important quantities that have to be
known by the users because they have not been published yet.

• Expected Rp factors are calculated supposing the best possible model.


Rp = 100∑ yo b s, i − ycalci, / ∑ yo b s, i (3.68)
i i

where ycalc , i is calculated with the help of a Poissonian function, Genpoi( x) , from yo b s, i . The argument
of Genpoi is an integer value representing an observation which is equal to their variance, Genpoi returns
another possible value compatible with the deterministic value x of variance x. The value of x is calculated
form yo b s, i and varo b s, i as follows:
c1 = yo b s,i / var( yo b s, i )
x = yo b s, i c1
yc a l c, i = Genpoi ( x) / c1

• The percentage of the contribution to the total integrated intensity. (Sum(Iobs) for all phases) of each phase
is now written.

• The number of refined parameters distributed in three classes are written:


Nglb: Number of global parameters (not depending of the phase index)
Nprofp: Number of profile parameters. the meaning of the integer
Nintdp: Number of intensity-dependent parameters (x,y,z,B,occ, Mx...). The preferred orientation
parameters are included in this class.

• An effective number of reflections is calculated in order to get the ratio Refni=(Effective Number of
Reflections)/Nintdp = Enref/Nintdp.

• The concept of effective number of reflections is introduced in order to take into account the effect of the
resolution in the refinement. It is clear that well separated independent reflections give better results that
when the reflections are overlapped. The program calculates a global effective number of reflections. For
each phase, a similar indicator is written.

A reflection contributes as x/(x+nearest), where "x" is the fraction of the total area of the current phase and
"nearest" is the number of adjacent reflections verifying the formula:

2theta-p*FWHM <= 2theta(adjacent) <= 2theta+p*FWHM

"nearest" is weighted by the corresponding "x(s)", and p is a parameter lower than unity.

The general formula for calculating the global effective number of reflections is:

Enref = Sum(i){ x[ph:i]/Sum(ni){x[ph:ni]} }


where Sum(i) is a sum over all the reflections contributing to the allowed areas of the diffraction pattern.
Sum(ni) is the sum extended to the reflections near to the reflection "i" (including this reflection). The
symbol x[ph:i] is the "x"-value of the phase to which the reflection "i" belongs.
The same formula restricted to reflections of a single phase is applied to calculate Enref(Iphase): Effective
number of reflections of the phase Iphase.
The program calculates these numbers (Enref's) and the ratios (Refni's) for three values of the parameter p
(1, 1/2 and 1/4).

You might also like