FullProf Manual
FullProf Manual
AN INTRODUCTION TO THE
PROGRAM
(Version July2001)
Juan Rodríguez-Carvajal
Laboratoire Léon Brillouin (CEA-CNRS)
CEA/Saclay, 91191 Gif sur Yvette Cedex, FRANCE
e-mail: [email protected]
Preface
This PDF document is the first serious attempt to a manual of the program FullProf. The manual is not
yet totally finished and the author apologises for the errors it contents. The description of the main control
file CODFIL.pcr is detailed in an appendix. A substantial part of the document is dedicated to the
treatment of examples and the description of specialised problems. A beginner cannot start to use the
program without any background in crystallography, magnetism, diffraction physics, and data analysis.
Even an expert in these fields can experience difficulties the first time (or even the n-th time!) he (she)
uses the program. An effort is presently being developed to facilitate the use of FullProf. For the moment
only the new version FullProf 2000 under Windows 9x/2k/NT, which is distributed together with
WinPLOTR, looks like a modern user-friendly application. A Linux version of the program WinPLOTR
will be prepared in order to provide an efficient Graphic User Interface (GUI) to FullProf. At present a
platform independent GUI (written in JAVA) exist but it is still in development and the performance is
still low.
The manual begins with a short description of the way to obtain FullProf from the anonymous ftp-area.
It follows with a chapter where a brief description of the purpose of the program and the list of input and
output files. The second chapter is dedicated to the description of strategies for using the program and the
description of examples. The best way to start is using examples that work properly if the good
parameters are provided to the program. To that end a kit of examples has been installed in an accessible
area of the server charybde.saclay.cea.fr. This file (pcr_dat.zip) must be unzipped with the well-known
WinZip program or a compatible product. The format of the files is for a PC, but they can be converted
easily to UNIX with an editor or with a simple application like dos2unix. The Windows 9x/2k/NT version
of FullProf is distributed in a single ZIP file containing the examples kit inside.
In the third chapter the mathematical expressions used inside FullProf are written and discussed briefly.
The rest of chapters are dedicated to the discussion of some specialised problems.
Juan Rodríguez-Carvajal
Saclay, July 2001
Disclaimer
The program FullProf is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY of being free of internal errors. In no event will the author be liable to you for damages,
including any general, special, incidental or consequential damages arising out of the use or inability to
use the program (including but not limited to loss of data or data being rendered inaccurate or losses
sustained by you or third parties or a failure of the program to operate with any other programs). The
author is not responsible for erroneous results obtained with FullProf. This manual cannot substitute the
lack of knowledge of users on crystallography, magnetism, diffraction physics, and data analysis. Powder
diffraction is becoming more and more powerful but FullProf is not an automatic (black-box) program,
as is usually found in single crystal structure determination. No attempt has been made in order to predict
the behaviour of the program against bad input data. The user must check his (her) data before claiming a
malfunction of the program. The author acknowledges all suggestions and notification of possible bugs
found in the program.
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:
Answer with the word: anonymous, to the Login request and password. Within the ftp prompt, do:
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)
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. 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 treated 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/2k/NT version of FullProf. So users working with Windows
9x/2k/NT can get the complete kit in the single file:
ftp://charybde.saclay.cea.fr/pub/divers/fullprof.98/windows/winfp98.zip
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
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
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:
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.9c - May2001-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)
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:
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/2k/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 to 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:
Here the user should answer with the xx explicit name (let us assume that the code is 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.
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:
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 (writen in blue) 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.
The logical unit associated with each file is given to help the user in the case or runtime errors.
Sometimes we shall give references to line numbers written in bold blue corresponding to labels the
different items in the input control file that is described in the appendix.
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.inf.
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.
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 Ins=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.
1
This last format is not available at present
CODFILn.hkl or hkln.hkl (logical unit: i_hkl = 15)
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.
File describing the instrumental resolution function. Any legal filename can be used
and its content depends on the value of the parameter Res.
File providing a numerical table for calculating the peak shape and its derivatives.
Single integrated intensity file when the program is used for refining with Cry=1, 2, 3 and Irf=4.
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.
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 (logical unit: i_prf = 17) (Prf 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.
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 (logical unit: i_sym = 3) (Syo=Sym=1)
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 Ana=1.
(Fou=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.
(Fou=2)
List of 'observed' structure factors in SHELXS format h, k , l , Fobs , σ ( Fobs )
(3I4,2F8.2)
(Fou= -1 or -2)
As above but the structure factors are calculated in another way. The Fcalc in
Fou>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 Fou is negative, Fcalc are really the
structure factors of the conventional cell in absolute units.
(Fou=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.
(Fou=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.
Files that can be input or output files. The content depends on the value of Irf(n)
CODFIL.hkl (logical unit: i_ghkl = 10)
Complete list of reflections of each phase. This file can be used as a CODFILn.HKL
files for new runs.
§ Hkl=1
Ø If Job < 2
Code, h, k , l , mult , d hkl , 2θ , FWHM, I obs , I calc , I obs − I calc
Ø If Job > 1
h, k , l , mult , I calc , 2θ , d hkl
§ Hkl=2
Output for EXPO
h, k , l , mult ,sin θ / λ , 2θ , FWHM , F 2 , σ ( F 2 )
§ Hkl=3,-3
Output of real and imaginary part of structure factors (only for crystal structures)
h, k , l , mult , Freal , Fimag , 2θ , Intensity
If Hkl 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.
§ Hkl=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 Cry=1 and Irf=4.
§ Hkl=5
Output of: h, k , l , mult , Fcalc , Thkl , 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.
List of reflections between two selected angles. This file is output only if an interval in the
scattering variable is given.
h, k , l , mult , I obs , 2θ , d hkl
List of distances and angles (eventually bond valence calculations) for phase n.
List of strings containing eventual distance and angle constraints for phase n. This file with fixed
name, DCONSTR, is generated automatically when the user asks for angle/distance
calculations. The user may edit this file and select the wished items, modify and paste them to
the input control file CODFIL.pcr in order to provide soft constraints on distance and angles in
a subsequent run.
CODFIL.sim (logical unit: i_sim = 14) (abs(Job) > 1 and Dum =1)
File containing a simulated diffraction pattern. A Poissonian 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.
For Jdi=±1 it is supposed that a magnetic phase is concerned (Jbt= ±1, 5, 10).
If Jdi=+1 the files contain the list of magnetic atom positions within a primitive unit cell
corresponding to the phase n.
If Jdi=-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 Jdi= 2 a nuclear phase is concerned (Jbt=0, 4) and the files contain the list of atom positions
within a conventional unit cell.
Files suitable as input for the programs SCHAKAL (Jvi=1) and STRUPLO (Jvi=2)
corresponding to the phase n.
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.
Getting started
For starting a profile refinement from the scratch, the best is to copy one of the PCR files accompanying
the distribution of FullProf, and modify it according to the user’s case: x-ray or neutron diffraction,
crystal or magnetic structure refinement, synchrotron, TOF neutrons, etc. The provided PCR files can
then be used as templates. Of course the closer to the user’s case is the initial PCR file the easier is to
modify it. An important aspect is the format of the data file that must be correctly given before attempting
any kind of refinement.
The least squares method used in Rietveld refinements is described in the mathematical section. The user
must be aware of the way he(she) can control the refinement procedure: the number of parameters to be
refined, fixing parameters, making constraints, etc. The control of the refined parameters is achieved by
using codewords. These are the numbers C x that 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:
C x = sign(a) (10 p + a )
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 (see equation 3.5 in mathematical section) will be multiplied
before use.
The calculated shifts are also multiplied by a relaxation factor before being applied to the
parameters.
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 Sycos 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.
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 13) to zero. Set to 0 the flag controlling the
automatic assignement of refinement codes (Aut=0). 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.
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 (variable called
Wdt) 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 Npr=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 times, 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 19 and the number of
atomic positions given on lines lines 25.
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 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.
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 Tb2BaCoO5 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
Pr2NiO4+δ.
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 La2NiO4. 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 Ho2BaNiO5 at 1.5K, using different methods and conditions. The user can verify
that hob.pcr can solve the magnetic structure of Ho2BaNiO5 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 Ho2Cu2O5. 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 DyMn6Ge6. 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).
ADDITIONAL NOTES
Magnetic Refinements
For a commensurate structure two descriptions of the magnetic structure are possible: the general
formalism using Fourier components of magnetic moments through the propagation vectors or a
crystallographic-like description using the magnetic unit cell. The simplest one, for a non-expert user, is
to describe the magnetic structure in the magnetic unit cell. In that case the following important points
must be taken into account:
• For magnetic structures described in a magnetic unit cell larger than the crystallographic cell, the co-
ordinates of atoms must be changed consequently, as well as the unit cell parameters. The codes for
common (or related) parameter with the crystallographic counterpart must be changed applying the
correct multiplier factor. It is worth stressing that codes for cell parameters are actually applied to the
"cell constants" (A, B, C, D, E, F) defined by the expression:
1/d2 = A h2 + B k2 + C l2 + D kl + E hl + F hk
Therefore, if you are dealing with an orthorhombic structure which has a magnetic structure with
propagation vector k=(1/2, 0, 0) you have to use the magnetic unit cell 2×a, b, c and if the codes of the
crystallographic unit cell a,b,c are for example:
Cell a b c 90 90 90
CodeCell 81.00 91.00 101.00 0 0 0
Cell 2a b c 90 90 90
CodeCell 80.25 91.00 101.00 0 0 0
The reason is that the crystallographic cell constant A is in this case: Ac=1/a2 and the magnetic cell
constant is Am=1/(2a)2= 0.25Ac. As explained above, the multiplier factor is applied to shifts of
parameters.
• The scale factors of the crystallographic and magnetic parts have to be related in some way in order
to get good values of magnetic moments. This relation depends on the way the users describes the
magnetic structure, however several rules can be useful to avoid bulk errors:
1. Use the correct occupation numbers in the crystallographic part (=multiplicity of special
position/general multiplicity)
2. The number of magnetic atoms in the chemical unit cell must coincide with the description above,
therefore the occupation numbers in the magnetic part are related to the number of symmetry
operators given and the centrosymmetry (or not) of the magnetic structure.
If these requirements are satisfied and the magnetic unit cell is the same as the chemical one, the scale
factors are strictly the same numbers; and, therefore represent the same parameter with a shift equal to
unity. If the magnetic unit cell is a multiple one, and the above requirements are satisfied, the relation
between the scale factors is a multiplier factor relating the two scale factors given by:
Sm = 1.0/(Vm/Vc)2 Sc =(Vc/Vm)2 Sc
Where Sc is the crystallographic scale factor and Sm the magnetic scale factor. In the case of large
magnetic cells it can be more convenient to modify the occupation numbers of magnetic atoms in such a
way that the two scale factors coincide.
For incommensurate magnetic structures the general formalism must be applied. When the magnetic
structure is described using the formalism of propagation vectors, the components Mx, My, Mz no longer
represent true magnetic moments (see mathematical section). The user should be cautious in interpreting
the output files. The modulus of the "magnetic moment" represents the Fourier component modulus of an
atomic magnetic moment which have to be calculated externally. The calculation of the intensity is based
on the expression of magnetic structure factor given in mathematical section; therefore the user knows
how to play with his input items in order to obtain physically sound results.
For the spherical description of the magnetic moments the following must be taken into account:
• The orthonormal system with respect to which are defined the spherical angles verifies:
The particular implementation of spherical components in magnetic structure refinements is that the Z-
axis must coincide with c. This works in all crystallographic systems except for triclinic. The monoclinic
setting must be changed to the setting 1 1 2/m to satisfy the above prescription.
Propagation vectors
A complete list of reflections can be generated when propagation vectors of an incommensurate structure
are present. To each fundamental reflection it is added the corresponding satellites. For n propagation
vectors k1, k2,... kn, there are n satellites obtained from each fundamental reciprocal lattice vector h:
In the present version of the program no symmetry analysis is performed. We recommend to use the
triclinic space group of symbol L -1 (where L = P, A, B, C, F, I, R) in order to have a full set of reflections
with the proper multiplicity when the true magnetic symmetry is not known.
The program generates first a list of unique reflections corresponding to the required space group and
then adds the satellites. This method had to be modified for reflections belonging to the boundary planes
and lines of the asymmetric region of the reciprocal space in order to obtain the correct number of
reflections and not miss (or repeat) some of them. Be careful with propagation vectors k equivalent to -k!
Two vectors k1 and k2 are "equivalent" if k1-k2 is a vector of the reciprocal lattice. So, for k1≡-k2, if
H=2k1 belongs to the reciprocal lattice, k1 is single and belongs to a point of high symmetry of the
Brillouin Zone. In such cases only ONE propagation vectors should be introduced Nvk=1, if the user puts
Nvk =-1, the satellite reflections are not correctly generated.
For centred cells a propagation vector k having components ±1/2, verifies that 2k has integer
components, but that does not mean that k and -k are equivalent, because 2k could not belong to the
reciprocal lattice. For a C lattice the propagation vector k1=(1/2 0 0) is not equivalent to k2=(-1/2 0 0)
because K=2k1=k1-k2=(1 0 0) does not belong to the reciprocal lattice: h+k=2n is the lattice C condition
for components (hkl). On the contrary, the vector (0 0 1/2) is single because (001) is a reciprocal lattice
point of the C lattice.
The microstructural effects within FullProf are treated using the Voigt approximation: both instrumental
and sample intrinsic profile are supposed to be described approximately by a convolution of Lorentzian
and Gaussian components. The TCH pseudo-Voigt profile function (Thompson, Cox and Hastings, J.
Appl. Cryst. 20, 79 (1987)) is used to mimic the exact Voigt function and it includes the Finger‘s
treatment of the axial divergence (L.W. Finger, J. Appl. Cryst. 31, 111 (1998)). The integral breadth
method to obtain volume averages of sizes and strains is used to output a microstructural file where an
analysis of the size and strain contribution to each reflection is written. No physical interpretation is given
by the program, only a phenomenological treatment of line broadening in terms of coherent domain size
and strains due to structural defects is performed. The user should consult the existing broad literature to
go further in the interpretation of the results. A recent book (Microstructure Analysis from Diffraction,
edited by R. L. Snyder, H. J. Bunge, and J. Fiala, International Union of Crystallography, 1999),
gathering different articles, is a good introduction to microstructural problems.
The new file containing information about the microstructure is output only if the user provides an input
file containing the instrumental resolution function (IRF, see manual for the different ways of giving
resolution parameters). At present, this option works only for constant wavelength mode.
The FWHM of the Gaussian ( H G ) and Lorentzian ( H L ) components of the peak profile have an angular
dependence given by:
IG
H G2 = (U + (1 − ξ ) 2 DST
2
(α D )) tan 2 θ + V tan θ + W +
cos 2 θ
[Y + F (α Z )]
H L = ( X + ξ DST (α D )) tan θ +
cos θ
If the user provides a file with the IRF, the user should fix V and W to zero, then the rest of parameters in
the above formula have a meaning in terms of strains ( U , α D , X ) or size ( Y , I G , α Z ) . The functions
DST (α D ) and F (α Z ) have different expressions depending on the particular model used of strain and
size contribution to broadening. The parameter ξ is a mixing coefficient to mimic Lorentzian
contribution to strains.
The anisotropic strain broadening is modeled using a quartic form in reciprocal space. This correspond to
an interpretation of the strains as due to static fluctuations and correlations between metric parameters (J.
Rodríguez-Carvajal, M.T. Fernández-Díaz and J.L. Martínez, J. Phys: Condensed Matter 3, 3215 (1991)).
1
M hkl =
2
= Ah 2 + Bk 2 + Cl 2 + Dkl + Ehl + Fhk = M (αi ; hkl )
d hkl
The metric parameters αi (direct, reciprocal or any combination) are considered as stochastic variables
with a Gaussian distribution characterized by the mean αi and the variance-covariance matrix Cij .
Here we consider the set: {αi } = { A, B, C , D, E , F } .The position of the peaks is obtained from the
average value of M hkl given by: M hkl = M ( α i ; hkl ) . The broadening of the reflections is
governed by the variance of M hkl :
æ S A2 C AB C AC C AD C AE C AF ö æ h 2 ö
ç ÷ç ÷
ç C AB S B2 CBC C BD CBE CBF ÷ ç k 2 ÷
∂M ∂M çC C BC SC2 CCD CCE CCF ÷ ç l 2 ÷
σ 2 ( M hkl ) = å Cij = ( h2 k2 l2 kl hl hk ) ç AC ÷ç ÷
i, j ∂α i ∂α j ç C AD CBD CCD S D2 C DE CDF ÷ ç kl ÷
ç C AE CBE CCE C DE S E2 CEF ÷ ç hl ÷
çç ÷ç ÷
è C AF CBF CCF C DF C EF S F2 ÷ø çè hk ÷ø
Where the non diagonal terms may be written as product of standard deviations multiplied by correlation
terms: Cij = Si S j corr (i, j ) . This original formulation can be used with a total control of the correlation
terms that must belong to the interval [-1, 1]. When using this formulation the user cannot refine all
parameters (up to 21) because some of them contributes to the same term in the quartic form in reciprocal
space, however this allows a better interpretation of the final results. Taking the appropriate caution one
can test different degrees of correlation between metric parameters. There are several special
formulations, within FullProf, for working with direct cell parameters instead of using reciprocal
parameters.
Another formulation and a useful notation corresponding to a grouping of terms was proposed by
Stephens (P. W. Stephens, J. Appl. Cryst. 32, 281 (1999)) who also included a phenomenological
Lorentzian contribution to the microstrains (the parameter ξ ). The final grouping of terms simplifies to:
æ h2 ö
ç 2÷
çk ÷
ç l2 ÷
σ 2 ( M hkl ) = ( h 2 k 2 l 2 kl hl hk ) [C ] ç ÷ = å S HKLh H k K l L
ç kl ÷ {H +HKL
K + L = 4}
ç hl ÷
çç ÷÷
è hk ø
The Stephens’ notation can also be used within FullProf. A maximum of 15 parameters can be refined for
the triclinic case. Whatever the model used for microstrains the mixing Lorentzian parameter, ξ , may be
2
used. In FullProf the function DST (α D ) , being α D the set of parameters Cij or S HKL , is given by:
æ 180 ö σ ( M hkl )
2 2
−8
D ( 2
α ) = 10 8Ln2 ç ÷
è π ø
STD 2
M hkl
An example of anisotropic strain refined using this formulation is shown in Figure 1, where the neutron
diffraction pattern of the low temperature phase of Nd2NiO4 is refined using the diffractometer D2B at
ILL.
Concerning anisotropic size broadening it is possible to use a very general phenomenological model,
using the Scherrer formula, that considers the size broadening can be written as a linear combination of
spherical harmonics (SPH). At present the anisotropic size is supposed to contribute to the Lorentzian
component of the total Voigt function. A Gaussian contribution will be introduced using a mixing
A-strain h k l
43.4585 0 1 2
48.1172 1 0 2
7.1018 1 1 0
5.9724 1 1 1 Nd2NiO4, LT
4.1383 1 1 2
9.7952 0 0 4
4.0162 1 1 3
79.5271 0 2 0
87.5578 2 0 0
Figure 1: High angle part of the neutron powder diffraction pattern (D2B, ILL) of the low temperature phase
of Nd2NiO4 [M. T. Fernández-Díaz, M. Medarde and J. Rodríguez-Carvajal (unpublished)]. (top) Comparison
of the observed pattern with the calculated pattern using the resolution function of the diffractometer. (bottom)
Observed and calculated pattern using an anisotropic model of strains with non-null values given in the panel.
A list of apparent strains (x 10-4), extracted from the microstructure file, for a selected number of reflections is
also given.
parameter similar to that used for anisotropic strain. The explicit formula for the SPH treatment of size
broadening is the following:
λ λ
βh = = åa ylmp ( Θh , Φ h )
Dh cos θ cos θ
lmp
lmp
Where βh is the size contribution to the integral breadth of reflection h, ylmp ( Θh , Φ h ) are the real
spherical harmonics with normalization as in [M. Jarvinen, J. Appl. Cryst. 26, 527 (1993)]. The
arguments are the polar angles of the vector h with respect to the Cartesian crystallographic frame. After
refinement of the coefficients almp the program calculates the apparent size (in angstroms) along each
reciprocal lattice vectors if the IRF is provided in a separate file.
Figure 2: Portion of the neutron diffraction pattern of Pd3MnD0.8 at room temperature obtained on 3T2 (LLB,
λ = 1.22 Å). On top, the comparison with the calculated profile using the resolution function of the instrument.
Below the fit using IsizeModel = -14. Notice that only the reflections with indices of different parity are
strongly broadened. An isotropic strain, due to the disorder of deuterium atoms, is also included for all kind of
reflections.
An important type of defects that give rise to size-like peak broadening is the presence of anti-phase
domains and stacking faults. These defects produce selective peak broadening that cannot be accounted
using a small number of coefficients in a SPH expansion. In fact only a family of reflections verifying
particular rules suffers from broadening. For such cases there is a number of size models built into
FullProf corresponding to particular sets of reflections that are affected from broadening. In figure 2 it is
represented the case of Pd3MnD0.8 [P.Onnerud, Y. Andersson, R. Tellgren, P. Norblad, F. Bourée and G.
André, Solid State Comm. 101, 433 (1997)] of structure similar to Au3Mn and showing the same kind of
defects: anti-phase domains [B.E. Warren, “X-ray Diffraction”, Dover Publications, Inc., New York,
1990]. In figure 3 a portion of the final microstructural file is shown.
! MICRO-STRUCTURAL ANALYSIS FROM FULLPROF (still under development!)
! ==================================================================
! Pattern No: 1 Phase No: 1 Pd3MnD.8 - CFC
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
! Integral breadths are given in reciprocal lattice units (1/angstroms)x 1000
! Apparent sizes are given in the same units as lambda (angstroms) …
! Apparent strains are given in %% (x 10000) (Strain= 1/2 * beta * d)
! An apparent size equal to 99999 means no size broadening
! The following items are output:
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
! The apparent sizes/strains are calculated for each reflection using the formula:
!
! App-size (Angstroms) = 1/(Beta-size)
! App-strain (%%) = 1/2 (Beta-strain) * d(hkl)
!
! (Beta-size) is obtained from the size parameters contributing to the FWHM:
! FWHM^2 (G-size) = Hgz^2 = IG/cos^2(theta)
! FWHM (L-size) = Hlz = ( Y + F(Sz))/cos(theta)
!(Beta-strain) is obtained from the strain parameters contributing to the FWHM:
! FWHM^2 (G-strain) = Hgs^2 = = (U+[(1-z)DST]^2) tan^2(theta)
! FWHM (L-strain) = Hls = (X+ z DST) tan(theta)
!
! In both cases (H,eta) are calculated from TCH formula and then
! Beta-pV is calculated from:
!
! beta-pV= 0.5*H/( eta/pi+(1.0-eta)/sqrt(pi/Ln2))
!
! The standard deviations appearing in the global average apparent size and
! strain is calculated using the different reciprocal lattice directions.
! It is a measure of the degree of anisotropy, not of the estimated error
Figure 3: Portion of the microstructural file (extension mic) corresponding to the fitting of the neutron
diffraction pattern in figure 2.
Other models for size broadening in FullProf following particular rules for each (hkl) are available.
Moreover an anisotropic size broadening modeled with a quadratic form in reciprocal space is also
available. The expression presently used in FullProf is the following:
Where ks is defined as ks=360/π2 × λ 10-3 for the 2θ space and ks=2/π × Dtt1 10-3 for TOF and Energy
space. Simple crystallite shapes as infinite platelets and needles (IsizeModel = 1, -1 respectively) are
also available.
Together with the size broadening models built into FullProf and described above, there is another way of
fitting independent size-like parameters for different sets of reflections. The user may introduce his(her)
own rule to be satisfied by the indices of reflections provided the rule can be written as a linear equality
(2 1 21)(4 3 3)
(5 2 3), (2 1 23)
(4 1 13)
(4 1 15)
(4 1 17)
(4 1 19)
(4 3 15)
(4 3 11)
(4 3 9)
Ca2MnO4 (I 41/acd), RT
a=5.187 Å, c=24.123 Å
Broadening: (hkl), l=2n+3
Figure 4: Selective size broadening observed by neutron diffraction at room temperature (3T2, LLB) for
superstructure reflections in Ca2MnO4[C. Autret et al. (unpublished)]. (top) Size parameter fixed to zero.
(bottom) Single size parameter according to the rule (hkl), l=2n+3. The indices of the most intense Bragg
reflections affected by size broadening are also given.
of the form: n1h + n2 k + n3l = n4 n + n5 . Where n is an arbitrary integer and ni (i = 1,2,...5) are
integers given by the user. A size parameter is associated to each rule (a maximum of nine rules may be
given per phase) that may be refined freely or constrained using the codewords appropriately.
To access this option in FullProf the value of IsizeModel should be in the interval [-2,-9]. The
absolute value of IsizeModel corresponds to the number of rules (independent parameters) to be
given. If all ni=0 the rule is not used. To give a single rule one must put IsizeModel = -2 and put zeros
. . . . . . . . . . . . . . . . . . . . . . . . . . .
! Selective Size-Broadening:
! hkl cond. (n1.h + n2.k + n3.l=n n4 +/- n5) Size-par Code
0 0 0 0 0 1 2 3 9.61440 661.000
0 0 0 0 0 0 0 0 0.00000 0.000
Figure 5: Portion of the PCR file for IsizeModel = -2 corresponding to the refinement in Figure
4. The first set of zeros below the text ‘hkl cond.’ is not used at present.
for the last condition. This is needed in order to avoid the confusion with the case of an infinite needle. In
Figure 4 we give an example using IsizeModel = -2 and if Figure 5 the relevant part of the PCR file is
written.
Finally, a general formulation for peak shifts, due to defects or to residual stresses, has also been
implemented. For Sol≠0, the lines corresponding to shift parameters are read in the PCR file. Selective
shifts can be selected when ModS <-1. For this option a set of up to ABS(ModS) (≤10) lines can be given.
The lines define rules to be satisfied by reflections undergoing shifts with respect to the theoretical Bragg
position due to some kind of defects (stacking and twin faults for instance). The rules are similar to those
of selective size broadening discussed above. The position of the reflections satisfying the rules are
displaced according to the expressions:
Where the index B stands for the theoretical Bragg position of the non defective material and SHIFT is
the shift parameter to be refined.
The shift of Bragg reflections may also be due to external stresses or residual stresses. For those cases it is
more appropriate to use the following generalized model for shifts. The model is implemented for ModS
= 100+NumLaue (with NumLaue the number of the Laue class according to FullProf manual, see
appendix) , and a set of parameters corresponding up to quartic form in hkl can be refined. The position of
a reflection is displaced according to the expressions:
The expression used for calculating the scalar Sh for reflection h is given by:
Sh = å
{ H + K + L = 2}
D 2 HKL h H k K l L + å
{ H + K + L = 4}
D 4 HKL h H k K l L
The free parameters for this option are the sets D 2 HKL and D 4 HKL . To refine these parameters the
average cell parameters of the non-stressed material should be fixed during the refinement.
Size effect:{only Lorentzian component is taken into account for anisotropic broadening of size origin
through LorSiz}
Str=0 and IsizeModel<>0 {Integer to select a particular model for LorSiz in subroutine SIZE}
IsizeModel =9 Reflections (HKL) with H=2n+1 and K=2m+1 are broadened. In this case also
LorSiz=SZ.
IsizeModel =13 Reflections (HKL) with H=2n and K=2m+1 are broadened.
In this case also LorSiz=SZ.
Str > 1 : A generalised formulation of the size effect is applied and the size parameters (up to six) are
given in line 11-14*.
In that case the LorSiz function is given by:
This formulation assumes that the average diameter <Dhkl> can be expressed as an ellipsoid of
refinable parameters p1..p6. Therefore
the constant c is equal to 2 sqrt(Ln2) (180/pi). In the program the effective value used is c*10e-3,
therefore it is necessary to divide the refined strain parameters by 1000. The user can consult the modules
FDUM's.FOR for details and reference 17.
IstrainModel = 5 Strain in an orthorhombic lattice with fluctuations along "a" and "b" and correlation
between "a" and "b".
Refined parameters Str1, Str2, Str3.
IstrainModel = 6 Strain in an orthorhombic lattice with fluctuations along "a", "b" and "c" and
corr(a,b)=-1, corr(a,c)=1, and corr(b,c)=0.
Refined parameters Str1, Str2, Str3.
Where:
FWHM^2= Var(SQ)(P/SQ)^2
IstrainModel =11 General anisotropic strain for monoclinic symmetry being the setting gamma><0 (2-
fold axis along 001)
(See ref. 17)
{limited to 8 parameter by putting arbitrarily zero
two correlation values (Cad=Cbd=0)}
Where:
FWHM^2= Var(SQ)(P/SQ)^2
Str=1,3 The generalised formulation of the strain broadening is used and 10 parameter are read in line
11-13*. The formalism is that described in reference 17. The strain parameters correspond to the
fluctuations and correlations of direct cell parameters. The lower symmetry is monoclinic with the
conventional setting. The hexagonal lattice is treated as a special case.
The parameter Pxy is an angle in degrees. This particular description is for taking into account that
corr(x,y)=covar(x,y)/(sigma(x).sigma(y)) and must belong to the interval [-1,1]. The strain parameters are
read in the following order:
Note:
In some cases the use of size-strain options of the program, the computing time is greatly increased. This
is related to the fact that the number of reflections contributing to each particular point of the diagram
increases because the broadening is quite important. An excessive computing time may indicate a
divergence of the refinement that has attributed a too much large FWHM to some reflections.
HKL-dependent shifts.
As a part of microstructural effects, the program can handle some cases of peak-shifts and asymmetry
effects. No hkl-dependent asymmetry model is currently available. Two models are available for peak-
shifts:
ModS = 1/-1
Uniaxial shifts along a direction [S1,S2,S3]
Shift of Bragg reflections of the form:
Shift(hkl) = Shift1 * cos(Phi(hkl)) (ModS= 1)
or Shift(hkl) = Shift1 * sin(Phi(hkl)) (ModS=-1)
Where Phi is the angle: between [hkl] and [S1,S2,S3]
ModS = 2
Shift(hkl) = Shift1 * Coeff(hkl) * tan(Theta(hkl))
The parameter Coeff(hkl) must be given by user in the file from which Bragg reflection indices and
multiplicities are read. This option cannot be used simultaneously with the output of a Fourier file, so Fou
is set to zero by the program.
where Vj is the volume of a particle of phase j mj is the particle linear absorption coefficient mu is the
mean linear absorption coefficient of the solid material of the powder x is the path of the radiation in the
particle of phase j when reflected by the volume element dVj
The latter parameter accounts for microabsorption effects that become important when the compounds of
the powder have rather different linear absorption coefficients. Its calculation requires only the
knowledge of the particle radius R and linear absorption coefficient m. Values of t as a function of the
product (mj-mu)R have been tabulated by Brindley and are reproduced below:
(mj-mu)R t(2Theta=0) t(2Theta=90) t(2Theta=180) (mj-mu)R t(2Theta=0) t(2Theta=90)
t(2Theta=180)
-----------------------------------------------------------------------------
-0.50 2.068 2.036 2.029 -0.40 1.813 1.807 1.827
-0.30 1.508 1.573 1.585 -0.20 1.352 1.353 1.362
-0.10 1.159 1.162 1.163 -0.09 1.142 1.143 1.144
-0.08 1.124 1.125 1.125 -0.07 1.107 1.108 1.108
-0.06 1.090 1.091 1.091 -0.05 1.074 1.073 1.074
-0.04 1.059 1.058 1.059 -0.03 1.043 1.042 1.042
-0.02 1.028 1.027 1.027 -0.01 1.014 1.014 1.014
0.00 1.000 1.000 1.000 0.01 0.986 0.986 0.986
0.02 0.972 0.973 0.973 0.03 0.959 0.960 0.960
0.04 0.945 0.946 0.947 0.05 0.932 0.933 0.934
0.06 0.918 0.919 0.921 0.07 0.905 0.906 0.908
0.08 0.892 0.893 0.895 0.09 0.878 0.879 0.882
0.10 0.865 0.866 0.870 0.20 0.742 0.753 0.760
0.30 0.640 0.653 0.671 0.40 0.545 0.569 0.587
0.50 0.468 0.496 0.529
R.J. Hill & C.J. Howard, J. Appl. Cryst. 20, 467-476 (1987)
G.W. Brindley, Phil. Mag. 36, 347-369 (1945)
Some powder diffraction applications need user-supplied parameters and subroutines calculating the
structure factors. Examples of this kind of applications are the following:
To do that, the user can prepare his(her) own subroutines and link the object FDUM1,FDUM2,FDUM3,...
with the rest of the modules and the FullProf library.
For crystal structures the subroutine to calculate the structure factor squared for a reflection (hkl) must be
called STRMOD. For a magnetic phase the name is MAGMOD. Examples of these are contained in the
public source code FDUM's.FOR.
The user can also modify or introduce new models for strains and size effects in the subroutines SIZE and
STRAIN which are also included in FDUM's.FOR
Useful information for users concerning the internal parameters:
The parameters (refinable variables) used in FullProf are divided in three categories: Global parameters,
Atom parameters and Phase parameters. For each category there is an array to store the values: GLB, XL
and PAR.
The global parameters are the following:
GLB(J) : J=1,2....40
J=1 : T0 Zero
J=2,...7: b1,b2,...b6 Background parameters
J=8,9 : SYCOS,SYSIN Systematic 2Theta-shifts/ DTT1,DTT2 for TOF
J=10..15: Bc1,.....Bc6 Background coefficients for Debye-
like function: DBback
J=16..21: d1,..... d6 distances in Angstroms in DBback
J=22,23,24,25: a,b,c,d Background transforming coefficients
J=26 : Flambda Wavelength (for CW neutron)/ 2SinTheta for TOF
J=27,28,29: P0,Cp,Tau Microabsorption coefficients
J=30..35: Additional background parameters
J=36..40: Not used at present
I=1,2,..N1,N1+1,N1+2,....N1+N2,N1+N2+1,....N1+N2+N3....N
These atomic parameters can be used by the subroutines STRMOD and MAGMOD for other purposes.
Moreover, there are other non-atomic parameters which can be used also for defining generalised co-
ordinates. They are internally stored in the array PAR(K,J) where the index K run over the phases and J
represents different parameters:
PAR(K,J):K=1,2,....Nph
In FullProf the default Jbt=4 option is an updated subroutine written by V.Rodriguez which handles rigid
body objects.
Dr V.Rodriguez
*********************
In the present version of Fullprof the default Jbt=4 option refers to a subroutine which handles rigid body
objects. Here we give a short guide in order to facilitate the use of this subroutine. This routine should be
used with caution and the user should be familiar enough with "conventional" Rietveld refinements. The
subroutine is still under improvement. At this time, all the options have been well tested except option Nr
4 (see below). I acknowledge all suggestions and notifications of possible bugs found in the program.
It should be pointed out that option Jbt=4 is not restricted to "perfect" rigid-body-groups. In the standard
definition of Rietveld atomic positions, reduced co-ordinates are used. Within this subroutine, molecules
or atomic groups are defined by spherical internal co-ordinates and six additional parameters, which
define the groups' position and orientation in the crystal.
In addition, this extended version of Rietveld refinement allows distorting groups in a final refinement
step if required.
Note: Each parameter referring to the orthonormal crystal system is recognised by the appended "c". Each
parameter referring to the orthonormal molecular system is recognised by the appended "m".
- Anti-clockwise rotations are always applied to spherical angles. These standard spherical angles are
defined as follow :
THETAc / thetam : inclination with respect to the Zc/zm axis of the
corresponding orthonormal system [-Pi, Pi].
PHIc / CHIc and phim: rotation around the Zc/zm axis of the corresponding
orthonormal system [0, 2*Pi].
- The orthonormal crystallographic system, with respect to which the spherical angles THETAc, PHIc and
CHIc of any RBG are defined, fulfils the following conditions:
Xc axis coincides with the crystallographic direction a
Yc axis belongs to the plane (a, b)
Zc axis is perpendicular to the plane (a, b) (parallel to c*)
One can imagine how to place a rigid molecule in the correct position in the unit cell by making the
following operations:
- The RBG has been completely defined by the spherical co-ordinates (dm,thetam,phim) of each atom
in the internal orthogonal system, that coincides at the beginning with the orthogonal crystallographic
system.
- Perform a rotation CHIc of the whole RBG around the zm axis of matrix:
( COS(CHIc) -SIN(CHIc) 0 )
( 0 0 1 )
( -SIN(THETAc) 0 COS(THETAc) )
- Translate the origin of the RBG to the position (Xc,Yc,Zc) which are transformed in reduced co-
ordinates (xo, yo, zo) with xo=Xc/a, yo=Yc/b, zo=Zc/c
- "Free atoms" (unconstrained or isolated) can be added with number 0 or without number. Each isolated
atom has the same definition of parameters as described in the Fullprof manual (see lines 11.4.1 and
11.4.3 of the Fullprof guide). Current information about "free atoms" is printed to the screen when
parameter P6 (see below) is set to any negative value. Note that the following parameters: P6, P7, P8, P15
and P16, are obsolete in this case.
- Rigid body satellite groups (RBSG) can be also included in this version, for example a methyl group
within a rigid group such as [N(CH3)4]+(tetramethyl ammonium). The definition and the structure of the
parameters are almost the same as those for a main RBG. The co-ordinates of the centre of the satellite
group should not be specified since they are specified through the knowledge of its absolute position in
the input file "x.pcr". The orientation THETAc,PHIc of satellites groups is also defined following the
value of parameter P16 of the 1st satellite atom (see below, option abs(P6)=2).
One easy external degree of freedom of the RBSG is the rotation around the z-molecular axis i.e. the N-C
bond. This degree of freedom is accessible through the EULER angle PHIc that can be refined.
Example:
P1 P2 P3 P4 P5 P6 P7-THETAc P8-PHIc
TD1 N .38900 .54090 .28796 4.00000 0.16667 1.000 -.290 .142
.00 .00 .00 .00 .00 .00 71.00 61.00
1.49300 1.57080 -.95532 .33333 .66667 .25000 1.04100 0
.00 .00 .00 .00 .00 .00 51.00
x y z
O O .28146 -.04125 .41456 .00000 1.00000 -1.000 .000 .000
.00 .00 .00 .00 .00 .00 .00 .00
.03957 .07078 .09069 .00314 .01571 -.01501 0
.00 .00 .00 .00 .00 .00
beta11 beta22 beta33 beta12 beta13 beta23
-> In a RBG (here, the generic name is TD) each atom (TD1 and TD2)
has its internal co-ordinates stored in the following items:
The atomic reduced co-ordinates are only for information with option 1
(RBG), see below for details.
Reduced co-ordinate x : P1
Reduced co-ordinate y : P2
Reduced co-ordinate z : P3
The parameters P4 and P5 have their usual meaning for each atom:
-> The third atom (oxygen, Number 0 (or none which is equivalent to 0)) is unconstrained ("free atom")
and its items are the standard ones : here, reduced co-ordinates (x, y, z) + atomic temperature parameters
(betaij).
-> No terminal output is required for the whole RBG TD (P6>0). Terminal output at each cycle is
required for "free atom" oxygen (P6<0).
Practical details
1- The item abs(P6) of the first atom indicates the option selected. If P6<0, the current information is
printed on the screen and in the file CODFIL.OUT. (file x.out). If the value of P6 is 0 for a RBG, the
parameter defaults to "1", corresponding to the standard RBG option.
2- The distance are expressed in the same unit as wavelength and cell parameters (usually in angstroms)
and the angles are always expressed in radians:
3- The listing of the different options is a function of the main optional parameter P6. In the following,
the temperature parameters are exclusively Boveral or Biso (isotropic Debye-Waller factors) except for
TLS option with abs(P6)=5.
abs(P6)= 1.0x : Normal rigid body option. If x=1 the fractional co-ordinates of the center of mass is
output. That supposes that every atom of the Molecule has been given explicitly in the asymmetric unit.
2.xx : Satellite group (RBSG) option (Int(abs(P6))=2). The integer value xx=100*(int(abs(P6))-2) gives
the absolute number of the reference group (as they appear following the writing order, whatever the
number of phase).
--> The parameter P15 is assigned to the rotation CHIc of RBSG as for RBG.
--> The parameter P16 of the first atom of the RBSG is defined as follows: P16 = N1.N2 with N1=
Int(P16) : Nr of the first reference atom of the reference RBG.
N2=100*(P16-Int(P16)): Nr of the second reference atom
of the reference RBG.
Example: 3.02 1st reference atom = Nr 3 2nd reference atom = Nr 2 Atom Nr 3 is the centre of the RBSG
and the z-axis of the RBSG is oriented in the direction: atom Nr 2-> atom Nr 3. Of course, the (xo, yo,
zo) fractional co-ordinates of the RBSG are not needed. The program calculates automatically the
corresponding values.
a) If the second atom is defined (N2#0), the spherical angles of the RBSG are calculated from these two
reference atoms.
b) If the second atom is not defined (N2=0), the centre of the main RBG is taken as the second reference
atom of the RBSG.
c) If N2=N1, the spherical orientation angles of the RBSG are those of the main reference RBG.
Apart from these constraints, a RBSG is treated as a normal RBG with as many atoms as desired. The
refinement of the centre of the RBSG as well as the orientation angles THETAc and PHIc are performed
in the main RBG.
3.0x : The spherical co-ordinates (parameters P9, P10 and P11) are generated from the reduced co-
ordinates (P1, P2 and P3) at the first cycle. Then the parameter P6 is automatically set to 1 and the sign of
the option is kept i.e. the next option is RBG. For selecting the internal orthogonal system the user has to
give in the parameters (P12,P13,P14) the origin of the internal orthogonal frame and in (P9,P10,P11) the
co-ordinates of an atom (that may be fictitious) for defining the plane "xz". The (P1,P2,P3) co-ordinates
of the first atom defines the z-axis of the internal frame, which is in the direction V3=(P1-P12,P2-P13,P3-
P14) in the conventional crystal frame (fractional components). the "y" axis in perpendicular to the plane
"xz" defined by the vectors:
V3=(P1,P2,P3)-(P12,P13,P14) -> z-axis
V1=(P9,P10,P11)-(P12,P13,P14) -> within the xz plane y-axis is in the direction V3 x V1
This option is very useful as it facilitates the use of standard input file with Jbt#4, the conversion of
published structures into spherical internal co-ordinate systems, etc... If x=1 the fractional co-ordinates of
the center of mass is output as in option 1.
4.xx : Option to generate an idealised molecule like aliphatic chains, planar or helical molecules..., where
xx is the number of atomic planes along the RBG Zc axis which is the reference axis. The spherical co-
ordinates are calculated from three parameters P9,P10 and P11. These parameters are lost after
processing. They are defined as:
P9 - distance of one atom to the center of the axis
P10 - angle between two atoms lying in consecutive planes and the corresponding mid-point
lying along the Zc-axis.
P11 - order of the generating axis (integer)
Examples: 1-For an aliphatic chain Cn along Zc in the
(Xc, Zc) plane (conformation all trans).
distance = 1.54/2. (angstroms)
angle = 114.*pi/180. (radians)
axis order = 2
The parameter P15 is assigned to CHIz as in the RBG option and the parameter abs(P6) is set to 1 in the
1st cycle, the sign of the option is kept. Therefore, the generated group is treated as a normal RBG in the
next cycles.
Remark : Further improvements are scheduled for this option that is not very reliable at the present time.
5.0x : TLS option for RBG including satellite groups, if any. This TLS version is based on the formalism
of V.Schomaker and K.N.Trueblood, Acta Cryst.(1968), B24, p-63. In this case, the refinement is
performed with the so-called one step process i.e. atomic positions and temperature factors TLS are
refined together.
The origin of the main RBG must be the centre of mass of the entire group concerned !!! The subroutine
calculates the centre of mass of the molecule if x=1. This option MUST be set when the centre of the
group does not coincide with the centre of mass. In this case, make sure that all atoms constituting the
RBG are defined in the input file since the RBG option does not generate atomic positions. Such a
situation can occur in non-centrosymmetric space group, as in urea SPG: P -4 21 M ,since the molecule is
located on a C2v site (mm.). Here, one must enter the entire molecule in the asymmetric unit.
The elements of the T(6), L(6) and S(9) matrices are read in "further parameters Furth" (see Fullprof
guide, line 11.12) following the usual order i.e. 11 22 33 12 13 and 23 for T and L. As the S matrix is not
symmetric, 9 elements can be required in the general case. The six first elements are as defined
previously, and the three last ones are respectively S21, S31 and S32.
Similarly to the atomic temperature parameters betaij, the components of the TLS matrices have
symmetry constraints, which are imposed by the symmetry of the crystallographic site (not the molecular
symmetry !). These symmetry relations can be found in the paper by Schomaker and Trueblood (1968).
The T elements are expressed in angstroms^2, the Lcomponents in radians^2 and the S ones in
angstroms*radians. For convenience, the output to the screen and to unit 7 (x.out) of the TLS components
are expressed in the following units: angstroms^2 for T, in degrees^2 for L and degrees*angstroms for S.
Remark : When using this option, one refines the observed structure factors by assuming that the atomic
temperature factors are constrained ab initio to satisfy the rigid-body hypothesis. It is well known that the
RBG/TLS can greatly reduce the number of atomic and thermal parameters, especially when the molecule
is located at a site of high symmetry, but the user should be familiar enough with the TLS hypothesis not
to perform inconsistent refinements.
4- It is advised to use specific rigid body refinement codes as damping parameters, especially for the
rotational parameter which need to be currently three time higher than the other ones. It is highly
recommended to use the options with screen output (P6 with a negative value) to control each RBG
refinement steps since good constrained refinements are not so easy to perform.
5- Concerning the refinements: when a main RBG has satellites groups, the derivatives of the general
RBG parameters, i.e. the 3 orientation angles THETAc, PHIc and CHIc and the co-ordinates (xo, yo, zo)
of the centre of the group, contain the contributions of the satellites groups. In contrast, the derivatives of
the internal spherical parameters do not account for these contributions.
6- When this subroutine is used, three additional files of fixed names are created at the end: x#.m, x#.bs
and x#.ortep (where # stands for the number of the phase), containing atomic parameters in a format
suitable to be used with well-known software packages (Molview, Balls & Sticks and ORTEP). Note that
files for Molview are directly executable. The output for the two other software are incomplete in the
sense that they contain either Cartesian co-ordinates (Balls & Sticks) or reduced co-ordinates + atomic
temperature parameters (ORTEP) of atoms located in the asymmetric unit.
In the present version of FullProf the default Jbt=5 option corresponds to the calculation of the magnetic
structure factor for a conical magnetic structure. The magnetic intensities are calculated following
standard formula as given, for instance, in the paper by J.M.Hasting & L.M.Corliss published is PhysRev
126(2),556 (1962). No symmetry operation can be introduced: all the magnetic atoms within a primitive
unit cell must be given (constraints have to be introduced through the codes of the parameters). The
subroutine MAGMOD, in this case, does not take into account symmetry for calculations (see the
modules FDUM's.FOR for details). However Isy must be set to 1, the value of the four parameters Nsym,
Cen, Laue, MagMat should be: 0 1 1 0.
The orthonormal system with respect to which are defined the spherical angles verifies:
The particular implementation of spherical components in magnetic structure refinements is that Z axis
must coincide with C. That works in all crystallographic systems except for triclinic. The monoclinic
setting must be changed to -> 1 1 2/m
It is recommended to generate the reflections using P-1 as Space group symbol and use for conical
structures the value Irf=0 (Generates satellites+ fundamentals). For a pure helix Irf=-1 (only satellites are
generated). The number of propagations vectors must be set to -1 (to generate + and - satellites). For
calculating the magnetic moments in different cells the following formula should be used:
The unitary vector defining the axis of the cone is given by:
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 input control file CODFIL.pcr described in the
appendix.
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 . In the case of data that have been
manipulated or normalised in some way the three arrays {Ti , yi , σ i }i =1,...,n , where σ i is the standard
deviation of the profile intensity yi , are needed in order to properly weight the residuals in the least
squares procedure. 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:
yc ,i = å Sφ å Iφ ,h Ω(Ti − Tφ ,h ) + bi (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 . This includes the usual meaning of a
phase and also the case of the magnetic contribution to scattering (treated usually as a different phase)
coming from a single crystallographic phase in the sample. The general expression of the integrated
intensity is:
Iφ ,h = {L A P C F 2 }φ ,h (3.2)
For simplicity we will drop the φ -index. Sometimes we will refer to the whole arrays { yi } and { yci } 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 absorption correction
• Ph is the preferred orientation function
• Ω is the reflection profile function that models both instrumental and sample effects
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
2
single scale factor is required. For magnetic scattering Fh is the square of the magnetic interaction vector (see below).
• Ch includes special corrections (non linearity, efficiencies, special absorption corrections,
extinction, etc)
• bi 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 {y c ,i (α )}i =1,...,n against the parameter vector
α = (α1 , α 2 , α3 ,...α p ) . The function minimised in the Rietveld Method is:
n
χ 2 = å wi { yi − yc ,i (α )}
2
(3.3)
i =1
with wi = σ12 , being σ i2 the variance of the "observation" yi . In more complex cases the user may
i
consider several diffraction patterns, or some chemical constraints. For those cases the general expression
of the function to be minimised is:
N N
é n 2ù
m
1
χ T2 = å ω P χ P2 + χ G2 = åω P ê å wi { yi − yci (α)} ú + c å 2 {g j − g cj (α )}
2
(3.4)
P =1 p =1 ë i =1 ûP j =1 σ gj
Where χ P2 and χ G2 are the chi-square of the pattern P and the chi-square of soft constraints. The weight
N
factors ωp are provided by the user and are internally normalised in order to get åω
P =1
P = 1 , for the N
patterns. The quantity g j is the prescribed value of a constraint (distance, angle, valence, magnetic
moment, etc) with standard deviation σ gj .The smaller the value of σ gj the higher is the strength of the
constraint. The calculated value of the constraint g cj (α ) is performed as a function of a subset of
components of the vector parameter α .The normalisation constant c is taken as the current value of the
global reduced chi-square for all the diffraction patterns. For simplicity we shall consider the expression
(3.3) to explain some standard points concerning the least squares optimisation. If the optimum set of free
parameters is α opt ,the necessary condition for a minimum of (3.3) is that the gradient of χ 2 should be
æ ∂χ 2 ö
zero: ç ∂α ÷ =0
è ø α= αopt
A Taylor expansion of yic ( α) around an initial guest α0 allows the application of an iterative process.
The shifts to be applied to the parameters at each cycle for improving χ 2 are obtained by solving a linear
system of equations (normal equations)
A δ α0 = b (3.5)
where the components of the p × p matrix A and vector b in the Gauss-Newton algorithm, used
within FullProf, are given by the expressions:
∂yc ,i (α0 ) ∂yc ,i (α0 )
Akl = å wi
i ∂α k ∂α l
(3.6)
∂y (α )
bk = å wi ( yi − yc ,i ) c ,i 0
i ∂α k
The shifts of the parameters δα 0
obtained by solving the normal equations are added to the starting
parameters giving rise to a new set α1 = α0 + δ α0 . The new parameters are considered as the starting
ones in the next cycle and the process is repeated until a convergence criterion is satisfied. The shifts
applied to the current parameters may be pre-multiplied by a user defined factor that depend on each
individual parameter (through the codeword) and a relaxation factor depending on a whole class of
parameters (see appendix). The standard deviations of the adjusted parameters are calculated by the
expression:
σ (α k ) = ak ( A −1 ) kk χν2 (3.7)
Where the reduced chi-square is defined as:
χ2
χ =
ν
2
(3.8)
n- p
The quantity ak is the coefficient of the codeword for the parameter α k . The χν2 quantity used in the
above formula is always calculated for the points in the pattern having Bragg contributions, thus σi could
be greater than the corresponding value calculated with other programs. In FullProf the quantity χν2 is
also calculated for all points considered in the refinement, so the user can easily re-calculate the
alternative value of the standard deviation.
In normal least square refinements the weighting scheme is based in fixed variances of the profile
intensities. This is appropriate when the statistics is good enough to be considered as Gaussian. For low
counting statistics a maximum likelihood refinement is more appropriate. This is equivalent to calculate
the variance according to the model instead of using experimental fixed variances that are very bad
estimated when low counting rate is dominant. Maximum likelihood can be used by setting the variable
to 1. In such a case the weights of the observations are calculated at each cycle as:
wi = 1 σ ca2 lc ,i supposing a Poissonian distribution and correcting for eventual normalisation factors used
in the input data file to estimate the experimental variances.
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 minus 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:
å
i =1,n
yi − yc ,i
R p = 100 (3.9)
åy
i =1,n
i
Crystallographic RF-Factor:
å ' F '− F obs ,k calc ,h
RF = 100 h
(3.14)
å 'F ' h
obs ,h
where n-p is the number of degrees of freedom. The meaning of n has been given above and p is the
number of refined parameters.
The experimental points within the 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. In the denominators the quantity yi is changed to yi − bi . The magnetic
R-factor is defined as the Bragg RB -factor but is applied to magnetic intensities.
The observed integrated intensity ' I obs ,h ' is in fact calculated from the Rietveld formula:
ìï Ω(Ti − Th )( yi − bi ) üï
' I obs ,h ' = I calc ,h å í ý (3.15)
i ïî ( yc ,i − bi ) ïþ
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 reflection h ( I calc ,h =0), the observed integrated intensity is also zeroed: ' I obs ,h ' =0, even if it is
obvious that ' I obs ,h ' is non zero from the experimental pattern. This has as a consequence that the
reflections with I calc ,h =0 do not contribute to the Bragg R-factor.
The observed structure factor appearing in (3.14) is obtained from (3.15) correcting for multiplicity and
the Lorentz-polarisation factor using the formula:
• The deviance [A. Antoniadis, J. Berruyer & A. Filhol, Acta Cryst. A46, 692 (1990)] is defined as:
D = 2 å{ yi ln( yi / yc ,i ) − ( yi − yc ,i )} (3.17)
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⋅ p (3.18)
where p 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(p).
• The Durbin-Watson statistic parameters: d and QD. The use of these two quantities to assess the
quality of the refinement has be advocated by Hill and Flack [R.J. Hill & H.D. Flack, J. Applied
Cryst. 20, 356 (1987)]. This statistic which measures the correlation between adjacent residuals
(serial correlation) is defined as:
{ } { }
n
d = å éë wi ( yi − yc ,i ) − wi −1 ( yi −1 − yc ,i −1 ) ùû / å éë wi ( yi − yc ,i ) ùû
2 2
(3.19)
i =2 i
Serial correlation is tested (at the 99.9% confidence level) by comparing the value of d to that of QD
that is given by the relation:
{
QD = 2 ( n − 1) /( n − p ) − 3.0901/ n + 2 } (3.20)
Background
The background intensity ybi at the ith step is obtained (see Nba on LINE 4 and the lines LINE 10 or
LINE 17) either from an user-supplied table of background intensities, or from a refinable background
functions:
11
Ti 6
sin(Qi rj )
ybi = å Bm ( − 1) + å BCj
m
(3.4)
m =0 BKPOS j =1 Qi rj
11
Ti
ybi = å B j cos( j ) (3.4’)
j =0 C
The origin of the background polynomial in (3.4) is given by a selectable input parameter Bkpos (LINE
8) and should be supplied by the user. The second sum is used only if Nba=-1 (see appendix for details).
The parameters to be refined are: B0 , B1 ,..., B11 , BC1 ,..., BC 6 , r1 ,..., r6 . Qi is the modulus of the
scattering vector (Q = 2π h) at the ith step, and is given by:
sin θ i 2π
Qi = 4π or Qi = (3.5)
λ di
where λ = λ1 in the case of two different wavelength contributing to the diffraction pattern. The
parameters rj are distances in Å.
The 12-terms Fourier cosine series (3.4’) contains a constant C that depends on the type of powder
diffraction pattern in use. For constant wavelength (2θ scale) C=180/π and for TOF or energy dispersive
techniques C=Tmax.
When the user provides a table with values of the scattering variable and the corresponding background
value there are two possibilities: 1) use the given values for the background with linear interpolation for
intermediate values 2) refine the individual background points together with the linear interpolation. For
using this last option the user must provide codewords to refine the values.
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:
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.
Another 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
help of the formula:
where Filtered [ yobs − ycal ] 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. If the FWINDOW parameter is too small the calculated
background enters into the regions inside Bragg peaks giving rise to a wrong estimation of structural
parameters. This option is only justifiable in cases of a very wavy background. The starting background
should be close to the real one.
The use of refinable background points in a user provided list may behave similarly to the Fourier
filtering technique if there is a large number of background points.
Peak-shape functions for constant wavelength data
The profile function Ω is selected by the control variable Npr (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 Npr, is the
following:
2 ln 2 4 ln 2
aG = bG =
H π H2
1 H π
The integral breadth of the Gaussian function is: β G = =
aG 2 ln 2
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)
aML = bML =
π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)
aIL = bIL =
H H2
aVII
PEARSON VII : Ω 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
β pV = ò Ω( x)dx = ò I pV ( x)dx =
i 1
Ω(0) I i pV (0) pV (0)
πH 2
β pV =
η + (1 − η ) π ln 2
The profile function Npr=4, Ω 4 ( x) , is a superposition of three pV ( x)
functions (see below (3.22)).
The difference between Npr=5 and Npr=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)
−∞
é æ π βL öù
V ( x) = β G−1 Re ê erf çç x +i ÷÷ ú (3.15)
êë è βG βG π ø úû
where:
2 x 2
erf ( x) =
π ò
0
e− t dt
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 )
2 3
H æH ö æH ö
η = 1.36603 L − 0.47719 ç L ÷ + 0.11116 ç L ÷ (3.17)
H è H ø è H ø
The inversion of the above two expressions leads to the relations:
2
The reader can verify that the FWHM of pV(x) is also H.
( 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 Npr=5 or Npr=7 concerns only the
parameterisation of η and H which can be simply related to significant physical parameters using Npr=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 Npr=0 to Npr=6 :
IG
H 2 = (U + DST
2
) tan 2 θ + V tan θ + W + (3.20)
cos2 θ
For Npr=5 (pseudo-Voigt) the η parameter can be dependent on X through the formula:
η = η0 + X 2θ (3.21)
For Npr=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 Sh1 (see Line 11-8-3). The profile
function is given by the formula:
X Y
m = m0 + 100 + 10000 (3.23)
2θ (2θ )2
For Npr=7, the FWHM of the Gaussian ( H G ) and Lorentzian ( H L ) components is calculated
as:
IG
H G2 = (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 , I G are (degrees 2θ )2 . The physical meaning of I G , DS2T and
F ( S Z ) is briefly discussed in FULLPROF.INS.
-------------------------------------------------------------------
For profiles 0 to 6 and 12:
For Npr = 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 GausSiz 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 Npr = 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 Npr = 11 (split pseudo-Voigt) DST and GausSiz 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 Npr=11 is
Shape1 is applied only for 2θ <= 90º. The value of η for the left part is given by:
ηl = η0 + Xl ⋅ 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 Npr = 6 (Pearson-VII) the m parameter can be dependent on X and Y through the formula:
m = m0 + 100 X / 2θ + 1000Y / 2θ 2
New formulae:
IG
H G2 = (U + (1 − ξ ) 2 DST
2
) tan 2 θ + V tan θ + W +
cos 2 θ
[Y + F ( S Z )]
H L = ( X + ξ DST ) tan θ +
cos θ
IG
2
H GS =
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(GausSiz)=I1/2G and YL=Y+LorSiz respectively. The term in 1/cosθ cancels out if we call HS=
ZS/cosθ
5
Z S = I G5 / 2 + 2.69269 I G2 YL + 2.42843I G3/ 2YL2 + 4.47163I GYL3 + 0.07842 I G1/ 2YL4 + YL5
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 ) π ln 2 180 cosθ
If ZS and ηS have been calculated from the values of GausSiz 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 ) π ln 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 ) π ln 2 360λ
Dh = ×( 2 )
ZS π
Where ZS and ηS have been obtained from IG=GausSiz and YL=Y+LorSiz using the TCH formula.
The integral breadth of a non-normalised pseudo-Voigt function of peak intensity I0 and FWHM=H is
given by:
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 ln 2
πH 2
Normalised: β pV =
η + (1 − η ) π ln 2
πH πH πH 2
ηn + (1 − ηn ) =
2 2 π ln 2 η + (1 − η ) π ln 2
η
ηn =
η + (1 − η ) π ln 2
ηn
η=
ηn + (1 − ηn ) 1
π ln 2
Peak-shape functions for Neutron Time of Flight
The profile function Ω for TOF corresponds to the control variable Npr=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.
with CTHM = cos 2 2θ Monok . For instance with a Graphite monochromator, Cthm = 0.8351 and 0.7998
for CuK β and CuKα respectively.
Note that K is used only for synchrotron data (Ilo=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)
1
L= (3.27)
sin 2θ
and the polarisation correction is given by:
1 + c1 cos 2 2θ 1 + c2 cos 2 2θ
p=K + (1 − K ) (3.28)
1 + c1 1 + c2
where
The default asymmetry correction is a multiplier term to the peak shape. The asymmetry correction
adopts the form:
P1Fa ( z ) + P2 Fb ( z ) P3 Fa ( z ) + P4 Fb ( z )
As ( z ) = 1 + + (3.29)
tanh θ h tanh 2θ h
where
2θ i − 2θ h − S shf
z=
FWHM
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 Nph$<$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 Npr=5 and Npr=7 are
implemented for this correction) calculated at displaced points:
1
Ω( x ) = {7 g ( x) + 32 g ( x + c2 P) + 12 g ( x + c3 P) + 32 g ( x + c4 P) + 7 g ( x + c5 P)} (3.30)
90
Preferred orientation
Only two preferred orientation functions are currently implemented in the program:
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 phase causes the program to generate, for that phase, only those
[ hkl ]
*
reflections for which is parallel to the preferred orientation vector Pr1 Pr2 Pr3
specified in Line 11-2.
• Nor=1 → Modified March's function:
−3/ 2
æ sin 2 α 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.
For Debye-Scherrer data, intensities may be corrected for the effects of sample absorption by applying the
following transmission factor:
Where µ is the linear absorption coefficient and R the radius of the cylindrical sample.
For a flat plate in transmission geometry for X-rays (Ilo=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:
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:
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 θ [in radians] (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 = −2s / 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θ = sin 2θ [in radians] (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
e
∆ 2θ = sin 2θ [in radians] (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.
−e
∆ 2θ = sin 2θ [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
{ }
n m
Fh = å O j f j (h) exp(− B j h / 4)å T js (h) exp 2π i ( hT S s r j + hT t s ) (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:
where βj is the symmetrical matrix representing the anisotropic temperature parameters of the atom j.
For the first atom position ( S s =1 = I ) the expression of the anisotropic temperature factor is the well-
known expression:
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.
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:
nc
Fm (H + k ) = p å f j (H + k )S kj exp {2π i (H + k )r j } (3.49)
j =1
The sum is over all the atoms in the crystallographic cell. The constant p = (reγ / 2) is 0.2695 and
allows the conversion of the Fourier components of magnetic moments, given in Bohr magnetons µ B to
−12
scattering lengths 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 S kj ,
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 js SkjT 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 S kj 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:
Φ 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, S kj , is
transformed to
Skj =
1
2
{ }
Rxj e1 + Ryj e2 + Rzj e3 + i éë I xj e1 + I yj e 2 + 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 Hel=1 is used, the number of free
parameters per magnetic atom is reduced. The Fourier coefficients are considered of the form:
1
Skj = é m1 j u j + im2 j v j ùû exp {−2π iφkj } (3.54)
2ë
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 = å R kj cos 2π éëkR l + ψ kj ùû + I kj sin 2π éëkR l + ψ 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
S kj 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 = H , the use of the chemical unit cell and real magnetic moments is also possible.
1
2
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.
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.
where ycalc ,i is calculated with the help of a Poissonian function, Genpoi ( x) , from yobs ,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 yobs ,i and varobs ,i as follows:
c1 = yobs ,i / var( yobs ,i )
x = yobs ,i c1
ycalc ,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.
• 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:
"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:
General comments
FullProf permits the refinement of integrated intensity data. Single crystal and/or powder
integrated intensities can be included (or used alone) as observations for refining a structural model. The
structure factor calculation is exactly the same as in powder diffraction, except that for powder diffraction
there is a simplification due to the fact that the reflections h and –h are always orvelapped, so all the
available features can be directly used with integrated intensity data.
The function optimised when using integrated intensities is:
M = å wn (Gobs
2
,n − å Gcalc ,k )
2 2
n k
The index n runs over the observations (1,..Nobs). The index k runs over the reflections contributing to the
observation n. G 2 is the square of the structure factor (intensity corrected for Lp-factor). In case of
powder diffraction Gk = I k = ( jLpF ) k , so clusters of integrated intensities are used.
2 2
The R-factors in single crystal work are calculated according to the following formulae:
RF2 -factor:
é ù
åê G 2
− å Gcalc
obs ,n
2
,k ú
RF 2 = 100
n ë k û
å obs,n
G
n
2
RF2w-factor:
M
RwF 2 = 100
å wnGobs2 ,n
n
RF-factor:
é ù
åê G obs ,n − åG 2
calc ,k ú
RF = 100
n ë k û
åG
n
obs ,n
Gobs ,n = Gobs
2
M
χ 2(I ) =
N obs − p
Notice that RF2w for w(n)=1.0 is not the same value as RF2.
When the option Iwg=2 (unit weights) is used. The inverse of the normal matrix is not multiplied by Chi2
as is usual in weighted refinements.
At present only the "empirical correction" (a single parameter), as used in SHELX, has been
implemented. I hope to have time for putting the anisotropic Becker-Coppens extinction coefficients into
the program.
Mixed refinements
This option is still in an exploring stage. For the moment only a single powder diffraction profile can be
used with different sets of integrated intensity data that are related to each phase. A global powder
diffraction pattern can be given as primary information, and some "phases" can be given in addition with
their own integrated intensity data. For mixing X-ray and neutron refinement, the best thing to do is to
provide a "powder" neutron diffraction pattern as the global data information and a set of integrated
intensities for the crystallographic phase to be refined. A present it is necessary to "repeat" the same
phase, as in that modelling the neutron pattern, using the appropriate constraints in the refined parameters
(using the same code for physically identical parameters).
APPENDIX
APPENDIX
CODFIL.PCR
This file is free format. This does not mean free format in Fortran (*)-sense: a procedure interprets the
items given by the user that must obey the order given below. A space is needed between each item
(except when the second is a negative number). When the program is run, messages of error reading a line
of this file are normally due to a previous error. For example, the number of atoms you really wrote does
not correspond to the number you put in the line following the name of the phase. Empty lines as well as
lines starting with the symbol “!” in the first column are considered as comments and are ignored by the
program. This file is re-written by FullProf at the end of a job. The original file may be suppressed or
conserved depending on the value of a flag. The program generated PCR-file contains comments
(mnemonics for each variable) to facilitate the recognition of the different variables.
If the user starts his (her) CODFIL.PCR file with the left-adjusted capital “COMM”, the new
CODFIL.PCR file conserves the initial format; that is the usual single pattern format, otherwise the
program generates a PCR-file with a format adapted to the multiple pattern refinement. If the user
introduce his(her) own comments, they are not saved in the new version of the file. The best to start
working with FullProf is to edit a previously existent PCR-file and modify it as wished. The
inexperienced user can use some of the programs that are specially developed to edit a PCR-file (see for
instance the program AXES by Hugo Mandar [Hugo Ma'ndar <[email protected]>]. A dedicated tool
will be soon available for the operating systems Windows and Linux.
In the following we use the term LINE as a label for reference purposes in the document. The line
number does not correspond to the effective ordinal number of the line appearing in an actual PCR-file.
When a block of similar lines have to be repeated for each pattern (it is supposed that we are dealing with
NPATT patterns simultaneously) the keyword NPATT_Lines starts the block and the block is finished by
the keyword End_NPATT_Lines, this corresponds to a loop on the index of the pattern. Sometimes the
number of lines is less than NPATT. This occurs when the line is optional and depends on the value of a
pattern-dependent variable.
In this document we shall describe the format of the PCR-file adapted to multipattern refinements.
This format derives from the single pattern one by just splitting some lines where flags depending on the
pattern number were written in a single line. The program is, and will continue to be, totally compatible
with the old single pattern format even if new items corresponding to new options are concerned. When
there are differences between the two formats we will give the lines of the single pattern format in black
font preceded with the word LINE n together with the new ones in blue font starting with LINE n. In
fact the places where differences, apart from the fact that the loops on the number of patterns reduce to 1,
are the LINES 2, 3, 4, 5, 7, 9, 19, 19-1, 19-3, and 19-4.
Sometimes we shall use mathematical formulas to clarify the meaning of a variable, the complete
explanation is given in the Mathematical section of the FullProf manual. The scattering variable is
represented, in general, by the symbol T. When the context requires an explicit reference we use 2θ, TOF
or E. For multiple patterns refinement we shall use the variable n_pat to index a diffraction pattern. We
will write XXX(n_pat) for the name of a variable XXX that depends of the diffraction pattern n_pat.
When the context is clear the variable will be referenced simply as XXX.
LINE1: Title line, made of any 80 characters, and used to label the printout. TITL and/or COMM (for
single pattern format) at the beginning of the title line, are reserved keywords.
Examples:
COMM My sample, at this temperature :(old) Single pattern format)
My sample, at this temperature :Mutipattern format
If the first four character of TITLE correspond to the word TITL the file is given in "command
mode" (not available yet). If the first four characters of TITLE correspond to COMM, the new
CODFIL.PCR file conserves the initial format; that is the usual single pattern format, otherwise
the program generates a PCR-file with a format adapted to the multiple pattern refinement.
The generated PCR-file include comment lines give a keyword for each variable in order to be
easily recognised by the user. This comment line has been included below to facilitate the
recognition of the different lines.
The next two lines should not be given if one wishes to use the conventional single pattern format of the
PCR-file. However, the new multi-pattern format works properly also for a single pattern.
Example:
NPATT 3
(5 characters +1 integer)
Keyword NPATT followed by an integer, NPATT, corresponding to the number of patterns to
be treated simultaneously.
This line may be suppressed for a single pattern (NPATT=1) and the rest of the file follows the
same format as that of previous versions of FullProf for single pattern refinement.
Example:
Example:
W_PAT 0.5 0.25 0.25
This line contains the codes used to select the type of the job: combinations of the given codes allow a
number of different possibilities for the user. Important codes to handle the job are the following.
For multipattern powder work, and for each pattern (patterns are, for the moment describing powder data
only!):
The calculated or the experimental data to be refined can be done for X-ray or Neutron radiation (selected
trough Job). These patterns can have possibly different scattering variables (selected via Uni),. The
number of magnetic or structural phases needed to model the diffraction patterns is given in Nph. Also
important, if the “pattern matching” mode will have to be used for one of the phases (see Jbt in the line
19), Dum have to be set to 1.
For mixed single crystal /powders refinement, see the section mixed refinements in “SINGLE
CRYSTAL AND INTEGRATED INTENSITY REFINEMENTS”.
The other codes are used, depending on the setting of the important codes listed above. Their meaning is
detailed below.
Input format
Multi-Pattern:
A specific line (4n) should be given for each pattern
Comment line: ! Job Npr Nba Nex Nsc Nor Iwg Ilo Res Ste Uni Cor
LINE 4n [NPATT_Lines]: Job, Npr, Nba, Nex, Nsc, Nor, Iwg, Ilo,
Res, Ste, Uni, Cor, (12 integers)
Comment line:!Job Npr Nph Nba Nex Nsc Nor Dum Iwg Ilo Ias Res Ste Nre Cry Uni Cor Opt Aut
LINE 4: Job, Npr, Nph, Nba, Nex, Nsc, Nor, Dum, Iwg, Ilo,
Ias, Res, Ste, Nre, Cry, Uni, Cor, Opt, Aut (19 integers)
Common flags for Single/Multi-Pattern
Dum – Control of the divergence for specific jobs, ex: profile matching
=1 If equal to 1 and some of the phases are treated with Profile Matching modes, the
criterion of convergence when shifts are lower than a fraction of standard deviations is
not applied.
=2 If equal to 2, the program is stopped in case of local divergence: chi2(icycle+1)>
chi2(icycle)
=3 If equal to 3 the reflections near excluded regions (Tlim±Wdt*FWHM) are not taken
into account to calculate the Bragg R-factor. These reflections are omitted in the output
files with hkl's.
Job –Select the simulation or refinement mode and the type of the radiation
X-ray, CW or T.O.F neutrons
=0 X-ray case
=1 Neutron case (constant wavelength, nuclear and magnetic)
=2 Pattern calculation (X-ray)
=3 Pattern calculation (Neutron, constant wavelength)
=-1 Neutron case (T.O.F., nuclear and magnetic)
=-3 Pattern calculation (Neutron, T.O.F.)
The value of Job(n_pat) may be different for each pattern when one wants to perform combined
refinements: X-ray + neutron diffraction patterns treated simultaneously.
If ABS(Job)>1 and Dum=1 (see below) a calculated pattern is created with the name
CODFIL.SIM in format corresponding to Ins(n_pat)=0. A Poisonian noise is added to the
deterministic calculated pattern. The statistics is controlled by the value of the scale factor. This
pattern corresponds to an “ideal observed” pattern and can be use for simulation purposes in
order to investigate the effect of systematic errors on the structural parameters and on the
reliability factors.
H L = ( X i 2θ + Yi )2θ + Z i
Res =3 H G2 = (U i 2θ + Vi )2θ + Wi
H L = ( X i 2θ + Yi )2θ + Z i
Res =4 List of values 2θ , H G (2θ ) , H L (2θ )
(a linear interpolation is applied for intermediate 2θ)
Name of the pattern files including the extension in case that is different from “.dat”
Name of the file with the instrumental resolution function. To be given only in the case of Res
≠0. The items in FILERES are read in free format. The format of this file is described below in
this appendix.
The effective number of lines may be less than NPATT. Only the names of the files for which
Res(n_pat)≠0 should be given.
Control flags handling the input CODEFIL.pcr, *.dat and output files
(LINE7 is compulsory)
Input format
Multi-Pattern:
A specific line (7n) should be given for each pattern
Comment line: !Ipr Ppl Ioc Mat Pcr Ls1 Ls2 Ls3 Syo Prf Ins Rpa Sym Hkl Fou Sho Ana
LINE 7: Ipr, Ppl, Ioc, Mat, Pcr, Ls1, Ls2, Ls3, Syo, Prf, Ins, Rpa, Sym, Hkl, Fou,
Sho, Ana (17 integers)
[For 2θ]
Comment line:!lambda1 lambda2 Ratio Bkpos Wdt Cthm muR AsyLim Rpolarz -> Patt #N
LINE 8n: Lambda1, Lambda2, Ratio, Bkpos, Wdt, Cthm, muR, AsymLim, Rpolarz
(9 reals)
Common variables for each 2theta, TOF and energy dispersive pattern
Lambda1
Wavelength λ1
Lambda2
Wavelength λ2 (=λ1 for monochromatic beam)
Comment line: ! NCY Eps R_at R_an R_pr R_gl Thmin Step Thmax PSD Sent0
Comment line: ! NCY Eps R_at R_an R_pr R_gl TOF-min <Step> TOF-max
Comment line: ! NCY Eps R_at R_an R_pr R_gl Emin <Step> Emax
LINE 9: NCY, Eps, R_at, R_an, R_pr, R_gl , Thmin, Step, Thmax, PSD, Sent0 (1 integer, 10 reals)
R_at, R_an, R_pr, R_gl- 4 relaxation factors of the shifts of the refined
parameters
The four relaxation factors for shifts:
1. Atomic parameters: co-ordinates, magnetic moments, site occupancies and isotropic
displacement (temperature) factors
2. Anisotropic displacement (temperature) factors
3. Profile parameters, asymmetry, overall displacement (temperature), cell constants, preferred
orientation parameters, strains, size, propagation vectors & user-supplied parameters.
4. Global parameters, zero-shift, background, displacement and transparency.
Input format
For each pattern, in the order they are given in LINE 5, two set of lines should be given sequentially,
depending on Nba(n_pat) and Nex(n_pat).:
The first one is a list of Nba(n_pat) bckdg points if Nba(n_pat) ≥ 2 or Nba(n_pat) ≤ - 4.
The second one is a list ofNex(n_pat) lines of excluded regions
NPATT
This makes a maximum total of å
n_pat=1
NBCKGD(n_pat) + NEXCRG(n_pat) lines
Note: Special values of Nba(n_pat)(=-3,-2,-1,1) are reserved. In this case, some background coefficients
are read elsewhere, in the line 17
Variables
Units of POS, ALOW, AHIGH depend on the scattering variable unit, defined as Uni(n_pat):
POS
Position in degrees/micro-seconds/keV
BCK
Background counts at this position
ALOW
Low scattering variable bound in degrees/micro-seconds/keV
AHIGH
High scattering variable bound in degrees/micro-seconds/keV
User defined scattering lengths and form factors
(LINE 12 is optional, it is to be given only if at least one of Nsc(n_pat)≠0-Line 4)
Input format
For each pattern, in the order they are given in LINE 5, a list of Nsc(n_pat) (if ≠0) user provided
scattering factors or form factors can be given.
Variables
The scattering lengths for X-rays are user defined, and Df ′ and Df ′′ are read in DFP and
DFPP. The form factor will depend on the following options:
ITY =0
• If Nsc(n_pat)> 0:
The option allows the user to provide the sinθ/λ dependent part of the X-rays
form factor f: in this case, a new line is read with the format:
LINE 12b: A1, B1, A2, B2, A3, B3, A4, B4,C (9 reals)
A1,B1,A2,B2,A3,B3,A4,B4,C give the coefficients for the analytic
approximation to the X-ray form factor f. The expression is the following:
sin θ 4
sin θ 2
f( ) = å ai exp{−bi ( ) }+ c
λ i =1 λ
If A2 is set to zero, only A1 are B1 used
• If Nsc(n_pat)< 0:
Allows the user to define his own form factors as a table of sinθ/λ - f values
For each scatterer, the user has to provide a table made of a set of lines in the
form: sinθ/λ - f:
LINE 12b: A, a (2 reals)
to define the form factors. The set have to be terminated by a line with the
number “-100” in first position.
ITY =2
Indicates that you are giving just Df ′ and Df ′′ and the program will use tabulated
coefficients for the sinθ/λ dependent part of f (X-rays). The name NAM must
correspond in this case to a valid tabulated name (See Notes(1, 2) below). At
variance with the name used for determining the scattering factor in the description
of atoms, the chemical symbol used in NAM must be LOWER CASE. This is the
most simple way of giving anomalous dispersion parameters for synchrotron data.
ITY =0 Only reads a user defined atomic Fermi length b for the species NAM in DFP.
• If Nsc(n_pat)> 0:
The option allows you to give a magnetic form factor. In this case, a new line is
read with the format:
LINE 12b: A, a, B, b, C, c, D (7 reals)
Where A,a,B,b,C,c,D give the coefficients for the analytic approximation to the
magnetic form factor f (P.J. Brown, Vol C new ed. ITC) similar to the X-ray
sin θ
form factor f( ) given above for Xrays, but with the sum extended to 3
λ
terms only.
If B is set to zero, only the parameters A and a are used.
• If Nsc(n_pat)< 0:
Allows the user to define his own form factors as a table of sinθ/λ - f values
For each scatterer, the user has to provide a table made of a set of lines in the
form: sinθ/λ - f:
LINE 12b: A, a (2 reals)
to define the form factors. The set have to be terminated by a line with the
number “-100” in first position.
Note: Scattering length, X-rays and magnetic form factors are stored in internal tables. To use
them you must give the “name” of the scatterer using UPPER CASE chemical symbols (for
neutron scattering length b), chemical species (e.g. CU+2, for the X-rays form factor of Cu2+) or
M followed by the chemical symbol and formal charge state (for magnetic form factor, e.g. MNI2
for the magnetic Ni2+). These names will have to be given in Typ, in the lines 25a-1or 25b-1
behind the atom name (see below).
For X-ray diffraction, in the case of giving user supplied Df ′ and Df ′′ , the chemical symbol
is converted to LOWER CASE: the form factors symbols Typ behind the atom name can then be
given either in LOWER or in UPPER case. This will force the program to use the user-defined
values.
If tabulated values of the magnetic form factors of the rare earths are to be used, two options
exist:
Example:
MHO3: magnetic form factor of Ho3+ as <j0>
JHO3: magnetic form factor of Ho3+ as <j0>+c2<j2>
where c2 has been calculated using the dipolar approximation. Seven coefficients A,a,B,b,C,c,D
are used for approximating <j0>+c2<j2>.
Input format
LINE 13:Maxs (one integer) !Number of refined parameters (Comment on the same line)
Variable
Micro absorption:
(LINE 15, is an optional line, read only if Ilo(n_pat)=0 and Job(n_pat)=0 or 2, and Uni=0 on LINE 4)
The meaning of the parameters of this line is detailed separately in the LINE 15
For 2θ patterns:
Comment line:! Zero Code Sycos Code Sysin Code Lambda Code More -> Patt #N
LINE 14: [2θ] Zero, Code, Sycos, Code, Sysin, Code, Lambda, Code, More (8 reals - 1 integer)
Comment line:! Zero Code Dtt1 Code Dtt2 Code 2SinTh -> Patt #N
LINE 14: [T.O.F] Zero, Code, Dtt1, Code, Dtt2, Code, 2SinTh (7 reals)
Comment line:! Zero Code StE1 Code StE2 Code 2SinTh -> Patt #N
LINE 14: [Energy dispersive] Zero, Code, STE1, FSTE1, STE2, FSTE2, 2SinTh (7 reals)
Code - Codeword
Codeword for zero-shift
Code - Codeword
Codeword for Sycos
Code- Codeword
Codeword for Sysin
Code- Codeword
Codeword for Lambda.
Cell parameters should be fixed if wavelength is to be refined.
The component of thee TOF position of a reflection, for Npr(n_pat)= 10, with d-spacing d for
the region of epithermal neutrons (Dtt2 is not used) is calculated using the formula:
TOFe = Zero + Dtt1 d
See next line to see the calculation of the TOF position when Npr(n_pat)= 10.
Input format
Line 15: P0, CP0, CP, CCP, TAU, CTAU (5 reals, to be given)
Comment line:! P0 Cod_P0 Cp Cod_Cp Tau Cod_Tau
Variables
Input format
Variables
This line corresponds to the formulation, by Jason Hodges, of the TOF versus d-spacing that divides the
spectrum in three parts depending on the neutron energy. The epithermal (fastest neutrons), crossover
(intermediate) and thermal regions. It is supposed that in the previous line the parameters allowing the
calculation of TOF as a function of d-spacing correspond to epithermal neutrons. In this line the
parameters controlling the thermal and crossover regions. See Mathematical section for details.
Zerot
Zero shift for thermal neutrons
Dtt1t
Coefficient 1 for d-spacing calculation
Dtt2t
Coefficient 2 for d-spacing calculation
x-cross
Position of the centre of the crossover region
Width
Width of the crossover region
The component of the TOF position of a reflection, for Npr(n_pat)= 10, with d-spacing d for the
region of thermal neutrons is calculated using the formula:
TOFt = Zerot + Dtt1t d – Dtt2t d-1
The position of a Bragg reflection (in microseconds TOF) is finally calculated using the
expressions:
ncross = 0.5 erfc(Width (x-cross-d-1))
For each pattern for which –2 ≤Nba(n_pat)≤ 1, a list of lines defining the backcground coefficients has to
be given at . The number of lines depends Nba(n_pat).
The right place to input this line is detailed in the LINE 14
FWINDOW (1 integer)
Comment line:! Window for Fourier Filter for Pattern #N
2θ -6 coefficients polynome function + Debye-like function for Nba (n_pat)=-1
Variables
Note: If Nba=1 (background read from file), BACK1 cannot be zero. Only four coefficients are
needed if such a case.
LOOP OVER PHASES
At this point of the CODEFIL.pcr file, Nph (defined on line 4) blocks of lines (Line 18 to 46) should be
given in order to describe the different phases to be included. These phases are used model the
single/multi-pattern/integrated intensities if the users give input data (for Job=0,1,-1 on line 4), or to
calculate simulated powder patterns (for Job=2,3,-3 on line 4). Each block defines several control codes,
parameters and variables that are associated to the phase. The beginning of each block is identified with a
heading made of several comment lines (optional on the reading, but re-written automatically after the
first refinement). These comments have the form:
Comment line:
-------------------------------------------------------------------------------------------------------
! Data for PHASE number:n_phas ==> Current R_Bragg for Pattern# n_pat1: 6.79
! Data for PHASE number:n_phas ==> Current R_Bragg for Pattern# n_pat2: 5.46
…
!------------------------------------------------------------------------------------------------------
indicating the R_Bragg of thedifferent patterns to which the phase contributes. The selection of such
patterns is made trough JCONTR(n_pat(i))- Line 19
The specific job and parameters to be applied to each phase and the specific outputs are selected in the
line 19. The other parameters and variables for this phase are given in the following lines, and their
format will depend on the control codes given in Line 19. These parameters include:
• The phase name -Line 18,
• The phase crystallographic/magnetic/mechanic symmetry properties, Line 22 and Line 23a or
Line 23b.
• The atomic and/or magnetic parameters in several available formats on in the Line 25a or the
Line 25b
The input format then differs slightly, whether the phase is intended to contribute to patterns (controlled
through Cry in Line 4 and JCONTR in Line 19) or if it contributes to a set of integrated intensities as
observations (in this case, Cry≠0, Irf on Line 19 should be set to 4, and all JCONTR set to 0 on the Line
19):
• For those phases participating to a (some) patterns(s), (then JCONTR(n_pat) should be ≠0 to
indicate the phase contribute to the pattern n_pat), the user have to give, for each pattern, a
set of lines in the following order:
Profile I parameters (including some general parameters and strain parameters in
the Line 26-27) / Cell parameters (Line 29) / profile II (preferred orientation and
asymmetry parameters- Line 30) /hkl shifts (Line 34-35)/ size parameters (Line 36)/
additional size-strain parameters (Line 37-38)
Lines 34 to 38 are optional and their reading is controlled by the codes Sol in the line 19 for
hkl-shifts, Str on line 19 for strain together with Strain-Model on Line 26, and Size-Model in
the Line 27 for size.
• In a case of a phase contributing to a single crystal integrated intensity reflection list, these
lines have a different format and correspond to
Scale parameters (Line 26)/Extinction parameters (Line 29)/λ/2 contamination
(Line 30)
• After, the reading of the CODEFIL.pcr file is common for both modes, and continue at the
line Line 43 up to the end.
Phase name
(LINE 18 is a compulsory line, for information purpose only)
Input format
Variable
PHSNM
Name of phase
Input format
Multi-Pattern:
The selection of the patterns to which the phase contributes is made in line 19-2 and 19-3. More≠0 in the
line 19-1is used to read optional codes and variables to define specific outputs and/or jobs related to the
phase
Comment line: ! Nat Dis {Mom or Ang} Pr1 Pr2 Pr3 Jbt Irf Isy Str Furth ATZ Nvk Npr More
LINE 19: Nat, Dis, {Mom(Moment) or Mom(Angles)}, Jbt, Isy, Str, Furth, ATZ, Nvk, More
(7 integers - 1 real - 2 integers)
(For each pattern, two optional lines 19-3n and 19-4n are read if JCONTR(n_pat)≠0)
Comment line:! Irf Npr Jtyp for Pattern #N
LINE 19-3: Irf, Npr, Jtyp (3 reals)
Comment line:! Pr1 Pr2 Pr3 Brind Rmua Rmub Rmuc for Pattern #N
LINE 19-4: Pr1 Pr2 Pr3, Brind, Rmua, Rmub, Rmuc (7 reals)
[(Old) Single pattern format]
The items of the different multi-pattern lines are merged in two lines with a slightly different formatting in
case of the use of the single pattern format (The multi-pattern Lines 19, 19-3n excepted Jtyp and Pr1 Pr2
Pr3 in 19-4n are merged into Line 19; for More≠0, theLine 19-1, Jtyp in the line 19-3n and items of the
Line 19-4n-excepted Pr1 Pr2 Pr3 are merged into line 19-1). As in the multi pattern format More≠0 is
used to read optional outputs and/or jobs defined in the line 19-1:
Comment line: ! Nat Dis {Mom or Ang} Pr1 Pr2 Pr3 Jbt Irf Isy Str Furth ATZ Nvk Npr More
LINE 19: Nat, Dis, {Mom(Moment) or Mom(Angles)}, Pr1 Pr2 Pr3, Jbt, Irf, Isy, Str, Furth, ATZ, Nvk,
Npr, More
(3 integer, 3 reals, 5 integers, 1 real, 3 integers)
Jbt –Structure factor model and refinement method for the phase
=0 The phase is treated with the Rietveld Method, then refining a given structural model.
=1 The phase is treated with the Rietveld Method and it is considered as pure magnetic.
Only magnetic atoms are required. In order to obtain the correct values of the magnetic
moments the scale factor and structural parameters must be constrained to have the
same values (except a multiplying factor defined by the user) that their crystallographic
counterpart. See note on magnetic refinements. The three extra parameters
characterising the atomic magnetic moments corresponds to components (in Bohr
magnetons) along the crystallographic axes.
=-1 As 1 but the three extra parameters characterising the atomic magnetic moments
corresponds to the value of M (in Bohr magnetons) the spherical Φ angle with X axis
and the spherical Θ angle with Z axis. This mode works only if the Z axis is
perpendicular to the XY plane. (for monoclinic space groups the Laue Class 1 1 2/m is
required).
=2 Profile Matching mode with constant scale factor.
=-2 As 2 but instead of intensity the modulus of the structure factor is given in the
CODFILn.hkl file
=3 Profile Matching mode with constant relative intensities for the current phase. The scale
factor can be refined. In this case Irf(n_pat) must be equal to 2, see below.
=-3 As 3 but instead of intensity the modulus of the structure factor in absolute units
(effective number of electrons for X-rays/ units of 10-12 cm for neutrons) is given in the
CODFILn.hkl file. This structure factor is given for the non-centrosymmetric part of the
primitive cell, so for a centrosymmetric space group with a centred lattice the structure
factor to be read is:
where Nlat is the multiplicity of the conventional cell and Icen=1 for non-
centrosymmetric space groups and Icen=2 for centrosymmetric space groups.
=4 The intensities of nuclear reflections are calculated from a routine handling Rigid body
groups.
=5 The intensities of magnetic reflections are calculated from a routine handling conical
magnetic structures in real space.
=+10/-10 The phase can contain nuclear and magnetic contributions STFAC is called for
reflections with no propagation vector associated and CALMAG is called for satellite
reflections. CALMAG is also called for fundamental reflections if there is no
propagation vector given but the number of magnetic symmetry matrices (MagMat, see
below) is greater than 0. The negative value indicates spherical components for
magnetic parameters. For this case the atom parameters are input in a slightly different
format.
=+15/-15 The phase is treated as a commensurate modulated crystal structure. All the input
propagation vectors and also k=(0,0,0) are identified to be magnetic and/or structural by
the reading subroutine. All nuclear contributions at reflections without propagation
vectors (fundamental reflections of the basic structure) and all the reflections associated
to a modulation propagation vector (superstructure reflections), are calculated by
MOD_STFAC. Magnetic contributions are added, if necessary, calling the subroutine
CALMAG as in the case of Jbt=+10/-10. The negative value indicates spherical
components for magnetic parameters. This value of Jbt implies the use of a specific
format for atom parameters.
For Jbt=10 with magnetic contribution Isy could be 0 but a comment starting with
“Mag” should be given after the space group symbol.
Note: For Profile Matching mode 2, Irf can be 0 in the first run. In that case, a
CODFILn.hkl file is generated and Irf is set to 2 in the new CODFIL.pcr file. The file is
updated at each run in the case of Jbt =2. Of course Isy must be 0.
If for a phase Irf≤0 and Isy=1, the reflections are generated from the symbol given in
the place reserved for the space group. In that case, a file CODFILn.hkl is generated
with the relevant (non-zero) reflections and proper multiplicities for the particular
model described by user-given symmetry operators. In addition the calculated
intensities are F2 (corrected for multiplicity, scale and LP-factor) in absolute units. This
file can be used as an input file to accelerate the calculations. The program does not use
the intensities in new runs reading this generated file.
The contain of this generated file, apart from the features described above, is:
No k-vectors Þ h k l m F2(calc) F2(obs)
k-vectors Þ h k l nv m F2(calc) F2(obs) hr kr lr
with obvious meaning.
ATZ = Z M W f 2 / t
More - Options
If different from 0 the LINE 19-1 is read
Mom - Unused
Unused at present
Ter - Unused
Unused at present
Example (it is supposed that we are dealing with 5 diffraction patterns simultaneously):
0 1 1 0 1
The meaning of the list is that the current phase only contributes to patterns number 2, 3 and 5.
The file CODFILn.hkl can also be named as HKLn.hkl, or CODFIL.int in the case Cry≠0.
The format of CODFILn.hkl files is described in this appendix in the paragraph
G(i) is the integrated intensity, T(i) is the Bragg position, H(i) is the FWHM of reflection i, Gsum
is the cumulated integrated intensity of the current cluster.
If Rmub and Rmuc are given as zeroes, the program uses the values Rmub=1.0 and Rmuc=0.2.
From here up to the end of the PCR-file the old single pattern format coincides with the format for
multiple patterns. The only prescription to take into account is that NPATT=1 in the loops depending on
the number of patterns.
Optional Bond-Valence or distance and angles calculations
(LINE 20 and 21 are Optional lines, read if Jdi=3 or 4)
Input format
Variables
Input format
Variables
If SYMB starts with the keyword HALL, the program expects to read the Hall symbol of the
space group instead of the conventional Hermann-Mauguin symbol.
Example:
HALL -P 4 2a
Note: At present rhombohedral space groups must be given in the hexagonal description. Do not
forget blanks between symmetry operators corresponding to different directions. It is advisable
to check the Laue symmetry and symmetry operators in the output file especially for those space
groups for which alternative origins are shown in the International Tables. By default the
program uses the setting with the inversion centre at the origin. Upper and/or lower case
characters can be used. If you find that for a non standard space group symbol the operators of
the space group do not correspond to what you expect (the program has selected another origin!),
you have to change the setting (another symbol) or give your own symmetry operators (see
above Isy). For cubic space groups you may use either the old notation, e.g. F d 3 m or the
new notation of the International Tables: F d -3 m. The space group symbol must be given
even in the case that you are giving your own symmetry operators. The reflections (if they are
not read from file) will be generated according to the space group symbol.
A Comment can be put after column 20. If this Comment starts with the keyword “Mag”
(without quotes) then the following line is read if Jbt=10 or Jbt=15.
Specific user defined mag symmetry with time reversal operations
(LINE 23a is optional, only read if Jbt=±10 AND Comment = Mag)
Input format
Meaning
NS is the number of independent symmetry operators given in file CODFIL.out for the
crystallographic space group. TIME_REV(i)=-1 if time reversal is associated to operator “i” for
magnetic symmetry, otherwise is equal to 1. The order of operators is the same as in
CODFIL.out, so a first run is needed for knowing the list of crystallographic symmetry
operators. For centrosymmetric groups TIME_REV(NS+1) tells the program if time reversal is
associated (-1) or not (1) to the inversion operator. This last item should be given only for
centrosymmetric space groups.
This approach assumes that the magnetic symmetry belongs to the family of the crystallographic
space group. However the user can treat the problem using subgroups of the space group
(making the appropriate constraints in the atomic positions) when needed.
Controls codes for symmetry operators AND/OR irreducible representations and basis
functions
(LINE 23b, optional, read if Isy≠0)
Input format
This number is only used for checking the symmetry operators given by users. For a phase
described in a hexagonal basis one should put Laue=6,7...12, even if the space group symbol
used for generating the reflections is of different symmetry.
If Isy=1 the symmetry operators are given as 3x3 matrix in numeric form:
Sij for symmetries relating atomic position, Mij for matrix relating Fouriercomponents of the magnetic
moments, and Dij for the matrix relatinfg the Fouriercomponents of the displacement parameters (Jbt=15).
The numerical Ph value following the Mij and Dij symmetry operators are the magnetic/displacement
phase in units of 2π .
Remark: DepMat is always 0 if Jbt ≠ 15 (see line 23b)
Comment line :
!S11 S12 S13 T1 S21 S22 S23 T2 S31 S32 S33 T3
!M11 M12 M13 M21 M22 M23 M31 M32 M33 Ph (If MagMat≠0)
!D11 D12 D13 D21 D22 D23 D31 D32 D33 Ph (If Jbt=±15 and DepMat≠0)
S11 S12 S13 T1 S21 S22 S23 T2 S31 S32 S33 T3 (3(3Int,1real))
D11 D12 D13 D21 D22 D23 D31 D32 D33 .Phase (9Int,1real)
DepMat lines
R11 R12 R13 R21 R22 R23 R31 R32 R33 .Phase (9Int,1real)
MagMat lines
The symbols U,V,W (lower or capital case) are used for the Fourier components of the magnetic
moments/displacement vectors along X,Y,Z. The numerical value following the MSYM/DSYM
operator is the magnetic/displacement phase in units of 2π .
• If Isy=-2 the basis functions of the irreducible representations of the propagation vector group
are read in the following form:
The keyword BASR precedes the list of 3-components vectors corresponding to the real part of
the atomic basis functions. A list of 3×N_Bas real numbers should be given in the same line.
In the case of negative Ireps, the keyword BASI precedes the list of 3×N_Bas real numbers
corresponding to the imaginary components of the atomic basis functions.
Comment line : ! Atom Typ Mag Vek X Y Z Biso Occ Rm Rphi Rtheta'
LINE 25-1: Atom, Typ, Mag, Vek, X, Y, Z, Biso, Occ, RM, Rphi, Rthet
(2A4, 2 integers, 8 reals)
LINE 25-2: CX, CY, CZ, CB, CN, CRM , CRPHI , CRTHET (Codewords 8reals)
Comment line : ! Im Iphi Itheta beta11 beta22 beta33 MagPh
LINE 25-3: Im, Iphi, Ithet, B11, B22, B33, MagPh (7 reals)
LINE 25-4: CIX, CIY, CIZ, CB11, CB22, CB23, CMphas (Codewords 7 reals)
C1, C2, C3, C4, C5, C6, C7, C8, C9 – Coefficients of the basis functions
Coefficients of the linear combinations of basis functions.
The units of IX, IY, IZ and Im are in Bohr magnetons. The angles Iphi, Ithet are in degrees, the
vector corresponding to the Fourier component of the magnetic moments is defined as (see
Mathematical section):
Sk=1/2 (Rk+i Ik) exp(-2π i MagPh)
The components of the real, Rk, and imaginary, Ik, parts are given with respect to a basis of unit
vectors along the crystallographic unit cell.
If Hel=1 (see LINE 19) the third component IZ is calculated by the program in order to have an
imaginary vector orthogonal to the real vector (Rk⋅Ik =0). If Jbt<0, then the φ-angle of the
imaginary part is calculated by the program for keeping the orthogonal constraint.
The form-factor corresponding to Typ =SASH is well adapted to nearly free molecular
rotations. For a molecule with N atoms rotating around its centre of mass (supposed to be in a
particular crystallographic site) the molecular form factor is given by:
f ( Q ) = 4π å clmp
s
i l jl ( Qrs ) bs ylmp (θ , ϕ )
slmp
or
f ( Q ) = 4π å cljs i l jl ( Qrs ) bs K lj (θ , ϕ )
slj
Where the index s runs from 1 to N and corresponds to N spherical shells. jl(x) is the spherical
Bessel function of order l. Klj(θ,ϕ) and ylmp(θ,ϕ) and are the cubic harmonics and the real
spherical harmonics, respectively, as defined in M. Kara and K. Kurki-Suonio, Acta Cryst 37,
201 (1981). bs is the scattering length (or X-ray scattering factor). The coefficients cljs and clmp
s
Example:
P1 to P15
For Jbt=4,-4, the parameters are defined by user in the subroutine STRMOD. At present the
parameters correspond to the Rigid Body constraints. The meaning of the parameters is
explained in the Rigid Body Refinements section.
For Jbt=5,-5 the parameters are defined by user in the subroutine MAGMOD. At present the
parameters correspond to the treatment of conical structures in real space.
INPUT FORMAT OF ATOM PARAMETERS FOR COMBINED JOBS
(LINE 25b, FOR Jbt=±10, ±15)
Comment lines : !Atom Typ Mag Vek X Y Z Biso Occ N_type Spc
!Line below:Codes
or
! Rx Ry Rz Ix Iy Iz MagPh
!Line below:Codes
or
! Rm Rphi Rtheta Im Rphi Rtheta MagPh
!Line below:Codes
or
! C1 C2 C3 C4 C5 C6 MagPh
!Line below:Codes
or
! beta11 beta22 beta33 beta12 beta13 beta23 /Line below:Codes
or
! Form-factor refinable parameters
LINE 25-1: Atom, Typ, Mag, Vek, X, Y, Z, Biso, Occ N_t Spc (a)
(2a4,2 integers,5 reals,2 integers)
LINE 25-2: CX, CY, CZ, CB, COC (b) (5 reals)
(Optional magnetic moment components in cartesian coordinates, read if N_t=1,3)
LINE 25-3: RX, RY, RZ IX, IY, IZ MagPh (c) (7 reals)
LINE 25-4: CRX CRY CRZ CIX CIY CIZ CMPhas (d) (7 reals)
(Optional magnetic moment components in spherical coordinates, read if N_t=-1,-3)
LINE 25-3: RM Rphi Rthet Im Iphi Ithet MagPh (c) (7 reals)
LINE 25-4: CRM CRPHI CRTHET CIM CIPHI CITHET CMPhas (d) (7 reals)
(Optional coefficient for the linear combination of basis functions, read if N_t=1,3 and Isy=-2)
LINE 25-3: C1 C2 C3 C4 C5 C6 MagPh (c) (7 reals)
LINE 25-4: CC1 CC2 CC3 CC4 CC5 CC6 CMPhas (d) (7 reals)
(Optional Anisotropic temperature factor parameters, read if N_t=2,3,-3, and Isy=-2)
LINE 25-5: B11 B22 B33 B12 B13 B23 (e) (6 reals)
LINE 25-6: CB11 CB22 CB33 CB12 CB13 CB23 (f) (6 reals)
(Optional Form factors coefficients ansd codes (4 lines) are read if N_t=4)
LINE 25-7: f1 f2 f3 f4 f5 f6 f7 (g) (7 reals)
LINE 25-8: Cf1 Cf2 Cf3 Cf4 Cf5 Cf6 Cf7 (h) (7 reals)
LINE 25-9: f8 f9 f10 f11 f12 f13 f14 (i) (7 reals)
LINE 25-10: Cf8 Cf9 Cf10 Cf11 Cf12 Cf13 Cf14 (j) (7 reals)
Note that:
If N_t = 0 Only lines (a) and (b) need to be given
If N_t = 1 give the lines (a), (b), (c) and (d)
If N_t = 2 give the lines (a), (b), (e) and (f)
If N_t = 3 give the lines from (a) to (f)
if N_t = 4 give the lines (a), (b), (g),(h),(i) and (j) (special form-factor)
This input could be also used for X-rays, in such case Mag and Vek should be zero for all the atoms and
Job or Jtyp(n)=0. In such case the space group symbol can be used for generation of reflections and
symmetry operators (with Irf set to 0).
For a phase with magnetic contributions Typ should be equal to the magnetic form factor symbol. The
program extracts internally the Fermi length symbol from Typ. If there are magnetic contributions the
symmetry should be controlled by the user (Isy=±1,-2) and the magnetic part should be described with the
formalism of propagation vectors, the magnetic contribution is calculated only for the satellite reflections.
If fundamental reflections have magnetic contribution the propagation vector k=(0,0,0) must be included
explicitly if there are other propagation vectors. If the magnetic cell is the same as the chemical cell
propagation vectors are not needed.
The symmetry operators must belong to the group of the propagation vector Gk, so some atoms need, in
general, to be repeated for the rest of positions not generated by Gk.
Note that
If N_t = 0 Only lines (a) and (b) need to be given
If N_t = 1 give the lines (a), (b), (c) and (d)
If N_t = 2 give the lines (a), (b), (e) and (f)
If N_t = 3 give the lines from (a) to (f)
if N_t = 4 give the lines (a), (b), (g),(h),(i) and (j) (special form-factor)
The symmetry operators must belong to the group of the propagation vector Gk, so some atoms need, in
general, to be repeated for the rest of positions not generated by Gk.
Where the components of the vectors RD nk and ID nk (nk=1…Ndvk) are defined in each
line where Dx, Dy, Dz, Dxi, Dyi, Dzi are inputed. The propagation vector PVK is one of
the propagation vectors of the phase. It is identified by the code (Dvek(nk)) that gives the
ordinal number of PVK in the list of propagation vectors. This list is either read in the
(k1,k2,…,kNvk) list inputed in the LINE 44 (if Nvk>0) or found in the list of (k1,k2,…,kNvk, -
k1,-k2,…,-kNvk) of propagation vectors, generated from the given list of LINE 44 in case
Nvk<0.
Input format
Variables
SC1, SC2, SC3, SC4, SC5, SC6 – Scale factors, 6 domains allowed
Scale factor for different domains or for heterogeneous integrated intensity data. For powder data
only the first scale factor is used
EXT1, EXT2, EXT3, EXT4, EXT5, EXT6, EXT7 – Extinction parameters
Extinction parameters
At present only the first extinction parameter is used for single crystal work.
Profile parameters I:
A specific line 27 should be given for each pattern to which the phase contributes (controlled by
JCONTR(n_pat) in line 19). The format will depend on Uni and Npr
Sample parameters
U, V, W - Half-width parameters
Half-width parameters (normally characterising the instrumental resolution function).
Sig-2, Sig-1, Sig-0 – Variance of the gaussian component of the TOF peak
profile
The variance of the Gaussian component of the peak shape in TOF neutrons is given by:
σ 2 = ( Sig 2 + GSIZ )d 4 + ( Sig1 + DST )d 2 + Sig 0
where d is the d-spacing in angstroms
Units: Sig-2 (microsecs/Å2)2; Sig-1 (microsecs/Å2); Sig-0 (microsecs2)
Xt, Yt - Unused
Not used at present
Z0 - Unused
Not used at present
S_L, D_L
Asymmetry parameters corresponding to the L. Finger formulation of the axial divergence.
For Npr=10, the parameters ALPH0, BETA0, ALPHA1, BETA1 correspond to the
epithermal component of the neutron spectrum. In this case the TOF peak positions and
decay parameters versus d-pacing are calculated using the following expressions:
The final fast and slow decay parameters are calculated like the case of TOF peak
positions:
α = ncross αe + (1-ncross) αt
β = ncross βe + (1-ncross) βt
The parameters for calculating the thermal fast and slow decay functions are read in
LINE 31.
Input format
Shift parameters:
At the present, none of the user supplied subroutines for shifts use the SHFi parameters, excepted Shf1
when ModS=±1. Other built-in available models can be selected by ModS and are detailed afterwards.
Shift models:
(1) Shift due to the deviation of the (hkl) direction with respect to a specific reciprocal direction
by an angle ϕ: ModS=1, cosϕ dependance, ModS=-1, sinϕ dependance of the shift
(If ModS =±1, an optional line is read)
Comment line: ! Shift integers (n1.h + n2.k + n3.l = n4.n + n5) Shift-par Code
LINE 35: n1, n2, n3, n4, n5, Shift, CShift (5 integers, 2 reals)
[ModS=108, 109, 110, 111, 112] Laue classes: -3 H, -3m1, -31m, 6/m, 6/mmm
Comment lines are directly the names of the variables as given below.
LINE 35: D2_200, D2_002 (2 reals)
LINE 35-1: CD2_200, CD2_002 (Codewords 2 reals)
LINE 35-2: D4_400, D4_004, D4_112 (3 reals)
LINE 35-3: CD4_400, CD4_004, CD4_112 (Codewords 3 reals)
These parameters are defined by the user through the subroutines SHIFHKL, where a particular
model for displacement of Bragg reflections is built for each value of ModS.
n1, n2, n3, n4, n5, SHIFT – User defined (hkl) shift rules
Set of ABS(ModS) (≤10) lines, defining rules to be satisfied by reflections undergoing shifts
with respect to the theoretical Bragg position, due to some kind of defects: stacking and twin
faults.
Are set of integers that should be the same for all patterns. If the Miller indices of the reflection
satisfy the relation:
n1 H + n2 K + n3 L = n4 n + n5
The position of the reflection is displaced according to the expressions:
Input format
Size models:
(1) Cylindrical (platelet) shaped crystallites
[If Size-Model =±1]
LINE 36: n1, n2, n3, n4, n5, SZ, CSZ (5 integers, 2 reals)
Comment line:! Size-Broadening (n1.h + n2.k + n3.l=n n4 +/- n5) Size-par Code
[Size-Model=17] Laue classes: m3, m3m. Cubic harmonics, for m3m K62=0.
LINE 36: K00, K41, K61, K62, K81 (5 reals)
LINE 36-1: CK00, CK41, CK61, CK62, CK81 (Codewords 5 reals)
Comment lines are directly the names of the variables as given below.
[Size-Model=21] Laue classes: 4/m, 4/mmm. For 4/mmm Y44-=0 and Y64=0.
LINE 36: Y00, Y20, Y40, Y44+, Y44-, Y60 (6 reals)
LINE 36-1: CY00, CY20, CY40, CY44+, CY44-, CY60 (Codewords 6 reals)
LINE 36-2: Y64+, Y64- (2 reals)
LINE 36-3: CY64+, CY64- (Codewords 2 reals)
Comment lines are directly the names of the variables as given below.
Variables
n1, n2, n3, n4, n5, SZ – User-defined rules for selective hkl size-broadening
Set of ABS(Size-Model) (≤9) lines, defining rules to be satisfied by reflections undergoing
selective “size-like” broadening due to some kind of defects (anti-phase domains, … ).
Are set of integers that should be the same for all patterns. If the Miller indices of the reflection
satisfy the relation:
n1 H + n2 K + n3 L = n4 n + n5
Input format
Size/strain models:
(1) Axial vector Microstrain
[If Strain-Model=7]
Strain-Model= 8, 9, 10, 11, 12 Laue classes: -3, -3m1, -31m, 6/m, 6/mmm
Comment lines are directly the names of the variables as given below.
LINE 37: S_400, S_004, S_112 (3 reals)
LINE 37-1: CS_400, CS_004, CS_112 (Codewords 3 reals)
Comment lines are directly the names of the variables as given below.
LINE 37: STR4, STR5, STR6, STR7, STR8, STR9 (6 reals)
LINE 37-1:CSTR4, CSTR5, CSTR6, CSTR7, CSTR8, CSTR9 (Codewords 6 reals)
LINE 37-2: STR10, STR11, STR12, STR13, STR14, STR15 (6 reals)
LINE 37-3:CSTR10, CSTR11, CSTR12, CSTR13, CSTR14, CSTR15 (Codewords 6 reals)
DST = å
{ H + K + L = 4}
S HKL h H k K l L
A maximum of 15 parameters can be given. The input format is different for the different Laue
classes.
Input format
Variables
Propagation vectors
(LINE 44 is read if Nvk≠0)
Input format
(ABS(Nvk) pairs of Lines)
Comment line:! Propagation vectors
LINE 44: PVK (3 reals)
LINE 44-1: CPVK (3 reals, codewords)
Variables
Input format
Variables
Dist
Value of the required distance in angstroms (Å).
Non-hexagonal frames
Hexagonal frames
The string representing a distance soft constraint may be obtained after a run with fixed parameters asking
for output a distance file CODFILn.dis, another file called “dconstrn.hlp” is automatically generated.
After editing this file, the user may paste into the file CODFIL.pcr the desired strings and modify them as
wished.
Input format
Variables
As in the case of distance constraints, the string representing an angle soft constraint may be obtained
from the file “dconstrn.hlp” (remember to put ANG_MAX≠0, see LINE 20). After editing this file, the
user may paste into the file CODFIL.pcr the desired strings and modify them as wished.
Input format
Variables
Input format
Variables
Input format
Variables
Note: The constraints established with the coding of parameters have the same meaning as with
least-squares(LS). In LSQ refinement, or in Montecarlo search, two variables having codes
xx1.00 and xx0.5 means that the shift applied to the second variable is half the shift applied
to the first one irrespective of their initial values. Remember the prescription given in LINE 47.
Input format
Variables
The parameters given in the line 49 and the next two lines 49-1 and 49-2 are specific to the
Simulated Annealing algorithm for optimising a crystal and/or magnetic structure using integrated
intensities. This method may be used for solving crystal structures when more efficient methods
(like direct methods) fail. It may be used always for magnetic structure determination when simple
trial an error (even using symmetry analysis) fail.
T_INI - Starting temperature
Starting temperature in the Simulated Annealing procedure. Arbitrary value, the user should
experiment with different values for each problem. A good starting point is a temperature for
which the percentage of accepted configurations in the first Montecarlo cycle is of the order of
80-90%.
NSCALEF -
If different from zero the scale factor used in the program is obtained from the relation:
å I obs = Scaleå Icalc
NALGOR - Flag to select the type of algorithm
Flag to select the type of algorithm to be applied.
=0 The Corana algorithm is selected. This algorithm do not use fixed steps for moving the
parameters defining the configuration, instead the program starts by using then whole
interval as initial step for all parameters and then adapt progressively their values in
order to maintain an approximate rate of accepted configurations between two pre-set
values (40% and 60% in our case).
=1 The Corana algorithm is selected using as initial steps, instead of the whole interval, the
steps given in LINE 47.
=2 The conventional algorithm is selected using the fixed steps as given in LINE 47.
Input format
For each pattern, in the order they are given in LINE 5, a line should be given depending on Ppl(n_patt):
Variables
ISCALE
Counts per character position for observed and calculated curves on line printer plot
IDIF
Counts per character for difference curve
Input format
The reflection list between these angles is saved in the file CODFIL.sav
Other Input/Output files
CODFIL.shp or global.shp
File providing a numerical table for calculating the peak shape and its derivative. This
option is useful only in very special cases where the peak shape characteristic of a
given instrument is not possible to be fitted with one of the peak shape analytical
functions provided by FullProf.
The peak shape should be given in a normalised form P( x) where the variable
x ∈ [ x1 , x2 ] is chosen to give a FWHM=1 and the area is 1, so
x2
òx1
P( x)dx = 1 .
That allows the use of the conventional U,V,and W parameters for defining the
FWHM as a function of angle.
The format of this file is the following:
CODFIL.cor / cor.cor
The format of this file depends on the value of the input variable Cor.
Cor=1
The file CODFIL.cor (or cor.cor) starts with a comment and follows with a list of pairs:
a simple list of scattering variable and correction values.
TITLE ...
Scattering variable (T) Value of the correction
" "
...................... ...........................
Data are read in free format. For peaks between points provided in the CODFIL.cor file,
the correction is linearly interpolated.
Example:
This is my correction FILE for integrated intensities
10.0 1.3
20.0 1.1
30.0 1.0
40.0 0.9
80.0 0.8
120.0 0.7
The intensity of a reflection at scattering variable T=40 is assumed to be I calc *0.9.
Cor=2
The file contains the coefficients of an empirical function and their standard deviations.
The format is:
TITLE ...
ITYCORR, ITYFUNC, NPCORR
Coefficient Sigma(Coefficient)
................
(NPCORR lines)
ITYCORR
=1 Corrections are applied to the integrated intensities. Standard
deviations must not be given.
=2 Corrections are applied to the observed profile. The corrected
observed profile and their variance are obtained as:
NPCORR
Number of coefficients of the empirical function.
ITYFUNC
=1 Polynomial function:
npcorr
cor = å coeff (i) T
i =1
( i −1)
MYRESOL.irf
This file is read only when Res≠0. The name of the file is stored in the character variable
FILERES= MYRESOL.irf. All items are read in free format.
This options works, at present, only for constant wavelength type of data. The profile is assumed
to be a Voigt function (Npr=7). 12 parameters or a table determine the resolution function. The
parameters are U i , Vi , Wi , X i , Yi , Z i (i=1,2 for λ1 and λ2)
The different types of functions are:
Res =1 H G2 = (U i tan θ + Vi ) tan θ + Wi
Y
H L = X i tan θ + i + Z i
cos θ
Res =2 H G = (U i tan θ + Vi ) tan θ + Wi
2
H L = ( X i 2θ + Yi )2θ + Z i
Res =3 H = (U i 2θ + Vi )2θ + Wi
2
G
H L = ( X i 2θ + Yi )2θ + Z i
Res =4 List of values 2θ , H G (2θ ) , H L (2θ )
(a linear interpolation is applied for intermediate 2θ)
For Res =4, the file FILERES starts with a line containing the title followed by a line with the
number of points (NPOINS) where the instrumental Gaussian and Lorentzian FWHM are
given. NPOINS lines follow containing the three items: 2θ , H G and H L . The Bragg peaks
of the diffraction pattern must be between 2θ(1) and 2θ(NPOINS) For this case the same
resolution function is applied to both wavelengths. The maximum number of NPOINS is 60.
FILE.dat
The format of this file, containing the input profile intensity data, depends on the value of the variable
Ins. The different formats are described here in more detail than was described in the explanation of the
Ins variable within the PCR-file.
When adequate a small piece of Fortran code, without specifying tests and writings, is provided in order
to help users understand how the program reads the data. The module containing the procedures for
reading profile intensity files in FullProf is available on request to the author. The important variables are
the following: the variable n_pat indexes the pattern; Thmin, Step and Thmax correspond to the
initial value of the scattering variable (2θ, TOF, Energy); npts is the number of channels in the
diffraction pattern; y is the profile intensity; var is the variance of the intensities; txv contains the
values of the scattering variable for each channel.
Ins =0
Data supplied in free format. Up to seven comment lines are accepted. The first three real numbers
found at the beginning of a line are interpreted as Ti, step and Tf and. The following lines after Ti,
step and Tf must contain NPTS=(Tf–Ti)/step+1 values of the intensity profile. Data format of TOF
raw data from Argonne are also interpreted by this value of Ins.
The following piece of Fortran is used for reading intensity data for Ins =0:
line_da=0
DO
line_da=line_da+1
IF(line_da > 7) GO TO 99999
READ(i_dat,'(a)',END=99998) aline
IF(aline(1:4) == 'BANK') THEN
READ(aline(5:41),*) inum,npts(n_pat)
READ(aline(47:90),*) thmin(n_pat),step(n_pat)
thmax(n_pat)=thmin(n_pat)+(npts(n_pat)-1)*step(n_pat)
ELSE
READ(aline,*,iostat=ier)thmin(n_pat),step(n_pat),thmax(n_pat)
if(ier /= 0) cycle
npts(n_pat) = (thmax(n_pat)-thmin(n_pat))/step(n_pat)+1.5
END IF
IF(npts(n_pat) < 4) THEN
IF(line_da < 7) CYCLE
GO TO 99999
END IF
END DO
READ(i_dat,*,END=99998,ERR=99999)(y(i,n_pat),i=1,npts(n_pat))
Ins =1
D1A/D2B format (original Rietveld-Hewat format: the first line must be Ti, step and Tf
The following piece of Fortran is used in FullProf for reading intensity data for Ins =1:
READ(i_dat,*,END=99998,ERR=99999)thmin(n_pat),step(n_pat),thmax(n_pat)
npts(n_pat) = (thmax(n_pat)-thmin(n_pat))/step(n_pat)+1.5
READ(i_dat,3,END=99998,ERR=99999)(iww(i,n_pat),y(i,n_pat),i=1,npts(n_pat))
DO i=1,npts(n_pat)
IF (y(i,n_pat) <= 0.00001) y(i,n_pat) = 1.0
IF (iww(i,n_pat) == 0) iww(i,n_pat) = 1
var(i,n_pat) = y(i,n_pat)/REAL(iww(i,n_pat))
txv(i,n_pat)= thmin(n_pat)+(i-1)*step(n_pat)
END DO
Ins =2
D1B old ILL format (DEC-10). The code for reading this format is:
READ(i_dat,5,END=99998,ERR=99999)date
READ(i_dat,5,END=99998,ERR=99999)txt1
READ(i_dat,*,END=99998,ERR=99999)io,numor(n_pat)
tsamp(n_pat) = REAL(numor(n_pat))
inum = 1
READ(i_dat,5,END=99998,ERR=99999)txt2
READ(i_dat,5,END=99998,ERR=99999)txt3
j = 0
READ(i_dat,'(f7.3,10f6.0)',END=99998,ERR=99999) a1,(y(j+no,n_pat),no=1,10)
j = j+10
DO i=2,40
READ(i_dat,'(f7.3,10f6.0)',END=99998,ERR=99999)(y(j+no,n_pat),no=1,10)
j = j+10
END DO
y(1,n_pat) = y(2,n_pat)
y(400,n_pat) = y(399,n_pat)
thmin(n_pat) = 2.0*a1
step(n_pat) = 0.2
npts(n_pat) = 400
thmax(n_pat) = thmin(n_pat)+399*step(n_pat)
DO i=1,npts(n_pat)
var(i,n_pat) = y(i,n_pat)
txv(i,n_pat)= thmin(n_pat)+(i-1)*step(n_pat)
END DO
Ins =3
Format corresponding to the ILL instruments D1B and D20.
The code for reading the files corresponding to these instruments is:
READ(i_dat,11,END=99998,ERR=99999)nset
READ(i_dat,'(1x,a,2X,a,2X,a)',END=99998,ERR=99999)jdate,noexp,txt1
READ(i_dat,'(i3,1X,i6,1X,i4) ',END=99998,ERR=99999)nset1,numor(n_pat),nsumad
READ(i_dat,'(f13.0,f9.0,1X,10(f8.3,1X)) ',END=99998,ERR=99999) &
xm,ti,x0,ome,chi,phi,tr1,tr2,step(n_pat),tset,tcons,tsamp(n_pat)
thmin(n_pat) = x0
READ(i_dat,'(i4,a)',ERR=99999) npts(n_pat),txt1
j = 0
npunt = nint(REAL(npts(n_pat))/10.)
thmax(n_pat) = thmin(n_pat)+(npts(n_pat)-1)*step(n_pat)
DO i=1,npunt
READ(i_dat,19,END=99998,ERR=99999)(iww(j+no,n_pat),y(j+no,n_pat),no=1,10)
j = j+10
END DO
READ(i_dat,20,END=99998,ERR=99999)inum
DO i=1,npts(n_pat)
IF (y(i,n_pat) <= 0.00001) y(i,n_pat) = 1.0
IF (iww(i,n_pat) <= 0) iww(i,n_pat) = 1
var(i,n_pat) = y(i,n_pat)/REAL(iww(i,n_pat))
txv(i,n_pat)= thmin(n_pat)+(i-1)*step(n_pat)
END DO
Ins =±4
Brookhaven synchrotron.
4: First line: 2θi, step, 2θf (free format). Rest of file: pairs of lines with 10 items like
Y1 Y2 ......... Y10 -- (10F8) intensities
S1 S2 ......... S10 -- " standard deviations
-4: Format given by DBWS program for synchrotron data. (Version DBW3.2S-8711)
The Fortran code for Ins = 4 is:
READ(i_dat,*,END=99998,ERR=99999)thmin(n_pat),step(n_pat),thmax(n_pat)
npts(n_pat) = (thmax(n_pat)-thmin(n_pat))/step(n_pat)+1.5
nlines = npts(n_pat)/10+1
j = 0
DO i=1,nlines
READ(i_dat,23,END=99998,ERR=99999)(y(j+no,n_pat),no=1,10)
READ(i_dat,24,END=99998,ERR=99999)(var(j+no,n_pat),no=1,10)
j = j+10
END DO
var(1,n_pat) = var(1,n_pat)**2
txv(1,n_pat)=thmin(n_pat)
DO i=2,npts(n_pat)
IF ( y(i,n_pat) < 0.00001) y(i,n_pat) = y(i-1,n_pat)
IF (var(i,n_pat) < 0.00001) var(i,n_pat) = 1.0
var(i,n_pat) = var(i,n_pat)**2
cnorm(n_pat)=cnorm(n_pat)+var(i,n_pat)/y(i,n_pat)
txv(i,n_pat)= thmin(n_pat)+(i-1)*step(n_pat)
END DO
Ins =5
Data from GENERAL FORMAT for TWO AXIS instrument. Three lines of text followed by two
lines with the items:
Set of lines containing 10 items corresponding to the Intensities in format 10F8.1, up to NPTS
points (NPTS=(Tf–Ti)/step+1), followed by the corresponding standard deviations in format
(10f8.2) if Ivari=1. If Ivari=0 the standard deviations are calculated as
Rmon1
σ (y) = y× .
Rmon 2
The following Fortran code read the data corresponding to this format:
READ(i_dat,'(A)',ERR=99999)txt1
READ(i_dat,'(A)',ERR=99999)txt2
READ(i_dat,'(A)',ERR=99999)txt3
READ(i_dat,'(I6,1X,2F10.3,i5,2f10.1)',ERR=99999) &
npts(n_pat),tsamp(n_pat),treg,ivari,rmon1,rmon2
READ(i_dat,'(3F10.0)',ERR=99999)thmin(n_pat),step(n_pat),thmax(n_pat)
READ(i_dat,'(10F8.1)',ERR=99999)(y(i,n_pat),i=1,npts(n_pat))
READ(i_dat,*,ERR=99999)(y(i,n_pat),i=1,npts(n_pat))
IF(ivari /= 0) THEN !IVARI
READ(i_dat,'(10F8.2)',ERR=99999)(var(i,n_pat),i=1,npts(n_pat))
READ(i_dat,*,ERR=99999)(var(i,n_pat),i=1,npts(n_pat))
cnorm(n_pat)=0.0
DO i=1,npts(n_pat)
IF(y(i,n_pat) < 0.0001) y(i,n_pat)=0.0001
var(i,n_pat)=var(i,n_pat)*var(i,n_pat)
IF(var(i,n_pat) < 0.000001) var(i,n_pat)=1.0
txv(i,n_pat)= thmin(n_pat)+(i-1)*step(n_pat)
cnorm(n_pat)=cnorm(n_pat)+var(i,n_pat)/y(i,n_pat)
END DO
cnorm(n_pat)=cnorm(n_pat)/REAL(npts(n_pat))
ELSE !IVARI
IF(rmon1 > 1.0 .AND. rmon2 > 1.0) THEN
cnorm(n_pat)=rmon1/rmon2
ELSE
cnorm(n_pat)=1.0
END IF
DO i=1,npts(n_pat)
var(i,n_pat)=y(i,n_pat)*cnorm(n_pat)
txv(i,n_pat)= thmin(n_pat)+(i-1)*step(n_pat)
END DO
END IF !IVARI
Ins =6
D1A/D2B standard format prepared by D1A(D2B)SUM (ILL), ADDET(LLB), MPDSUM (LLB)
or equivalent programs. The Fortran code reading this kind of file is:
READ(i_dat,'(A)',ERR=99999) txt1
READ(i_dat,'(16x,F8.3)',ERR=99999) step(n_pat)
READ(i_dat,'(F8.3)',ERR=99999)thmin(n_pat)
READ(i_dat,'(2F8.0)',ERR=99999) rmoni,rmoniold
IF(rmoniold < 1.) THEN
cnorm(n_pat)=1.00
rmoniold=rmoni
ELSE
cnorm(n_pat)=rmoni/rmoniold
END IF
npunt = nint(18./step(n_pat))
j=0
DO i=1,npunt
READ(i_dat,3,ERR=99999)(iww(j+no,n_pat),y(j+no,n_pat),no=1,10)
IF(ABS(y(j+1,n_pat)+1000.) < 1.e-03) EXIT
j = j+10
END DO
j=j-10
npts(n_pat)=j
thmax(n_pat) = thmin(n_pat)+(npts(n_pat)-1)*step(n_pat)
DO i=1,npts(n_pat)
IF (y(i,n_pat) <= 0.00001) y(i,n_pat) = 1.0
IF (iww(i,n_pat) == 0) iww(i,n_pat) = 1
var(i,n_pat) = cnorm(n_pat)*y(i,n_pat)/REAL(iww(i,n_pat))
txv(i,n_pat)= thmin(n_pat)+(i-1)*step(n_pat)
END DO
Ins =7
Files from D4 or D20L. The Fortran code reading this kind of file is:
READ(i_dat,'(I5,1X,F5.0,1X,A72)',ERR=99999)npts(n_pat),tsamp(n_pat),txt1
READ(i_dat,'(5(F7.2,1X,F8.1,1X,F5.1))',ERR=99999) &
(txv(i,n_pat),y(i,n_pat),var(i,n_pat),i=1,npts(n_pat))
iconstep(n_pat)=0
cnorm(n_pat)=0.0
step(n_pat)=txv(2,n_pat)-txv(1,n_pat)
thmin(n_pat)=txv(1,n_pat)
thmax(n_pat)=txv(npts(n_pat),n_pat)
DO i=1,npts(n_pat)
var(i,n_pat)=0.5*var(i,n_pat)*var(i,n_pat)
END DO
Ins =8
Data from DMC at Paul Scherrer Institute. The Fortran code reading this kind of file is:
READ(i_dat,'(A)',ERR=99999)txt1
READ(i_dat,'(A)',ERR=99999)txt2
READ(i_dat,*,ERR=99999) thmin(n_pat),step(n_pat),thmax(n_pat)
npts(n_pat) = (thmax(n_pat) - thmin(n_pat))/step(n_pat) + 1.005
READ(i_dat,'(10F8.0)', ERR=99999) (y(i,n_pat),i=1,npts(n_pat))
READ(i_dat,'(10F8.0)', ERR=99999) (var(i,n_pat),i=1,npts(n_pat))
DO i=1,npts(n_pat)
var(i,n_pat) = var(i,n_pat)*var(i,n_pat)
txv(i,n_pat)= thmin(n_pat)+(i-1)*step(n_pat)
END DO
Ins =9
Data of file CODFIL.uxd generated by the Socabim software on x-rays diffractometer.
Ins =10
X, Y, Sigma format with header lines. In all cases the first 6 lines are considered as comments. If
in the first line (left adjusted) appears the keyword XYDATA, then the following 5 lines are
considered as the heading of the file. Among these 5 lines the following keywords and values have
a meaning to the program:
INTER fac_x fac_y Interpol Stepin
TEMP tsamp
fac_x internal multiplier of X-values
fac_y internal multiplier of Y and Sigma-values
Interpol
=0 Variable step is used in the program
=1 The variable step data are interpolated internally to the constant step Stepin.
=2 Data are supplied directly at constant step
If no sigma values are provided the program assumes that σ ( y ) = y . You can add comments to
the data file if they start with the character ! in the first position of the line. These lines are ignored
by the program.
The Fortran code reading this type of file is too long to be reproduced here.
Ins =11
Data from variable time X-ray data collection. The first four lines are considered as comments The
following lines are:
(Time, Intensity) in format 5(F6, I10). The program uses the information contained in Time to
normalise the observed intensities to the average time <Time> and to calculate the variance of the
normalised values. The Fortran code reading this type of file is reproduced below:
READ(i_dat,'(A)',ERR=99999)txt1 !1
READ(i_dat,'(A)',ERR=99999)txt2 !2
READ(i_dat,'(A)',ERR=99999)txt3 !3
READ(i_dat,'(A)',ERR=99999)txt4 !4
READ(i_dat,*,ERR=99999)thmin(n_pat),step(n_pat),thmax(n_pat)
npts(n_pat) = (thmax(n_pat)-thmin(n_pat))/step(n_pat)+1.5
READ(i_dat,'(5(F6.0,F10.0))',ERR=99999)(bk(i,n_pat),y(i,n_pat),i=1,npts(n_pat))
!Normalize data to constant time
cnorma=0.0
DO i=1,npts(n_pat)
IF(bk(i,n_pat) < 1.0E-06)CALL stop_cond(' Zero time in *.DAT ',1)
cnorma=cnorma+bk(i,n_pat)
txv(i,n_pat)= thmin(n_pat)+(i-1)*step(n_pat)
END DO
cnorma=cnorma/REAL(npts(n_pat))
DO i=1,npts(n_pat)
y(i,n_pat)=y(i,n_pat)*cnorma/bk(i,n_pat)
var(i,n_pat)=y(i,n_pat)
bk(i,n_pat)=0.0
END DO
Ins =12
The input data file conforms to GSAS standard data file.
BINTYP = LOG6, TIME_MAP and LPSD are not yet available.
The subroutine reading GSAS formats is available on request.
For ABS(Irf(n_pat))<4:
The first two lines are read as titles (characters) The rest of the lines consist of the
following items:
1) No propagation vectors
Note: The generated files when Jbt=2,3 may content additional items that are not used by
FullProf. These items (sigma, angle, FWHM) can be used by other programs. The case Irf=1
and Sol=1 is to be used when shifts of Bragg reflections are observed and a model for it () is
known. The user must provide the value of the coefficient COEFF for each reflection.
For ABS(Irf(n_pat))=4:
• The first line is considered as a TITLE
• In the second line the format of the intensity data to be read below is given.
Example: (3i4,2f10.2,i4,3f8.4)
Do not forget parentheses. The program expect to read h, k, l, F2, σ(F2), code, and three
angles (or coefficients for extinction calculations) in the case of no propagation vectors.
The format must be provided for all items even if some of them (particularly the code
and the three final items) are not provided.
• R_lambda(n), Itypdata, ipow(n)
This third line is read in free format, the three items must be given. The meaning of the
three items is:
R_lambda(n)
Wavelength for phase n
Itypdata
=0 Square of structure factors (F2) and σ(F2) are input.
=1 Structure factors (F) and σ(F) are input. These quantities are transformed
internally to case Itypdata=0 (F2 and σ(F2)).
Ipow(n)
=0 Single crystal observations.
=1 Twinned single crystal observations. At present up to 6 hkl's can contribute to a
single observation.
=2 Powder integrated intensities. In this case cluster of peaks can be given. For
this case Itypdata is irrelevant.
• cmono, Rpolarz’s
This fourth line is optional (to be given only for X-rays and Ipow=2). The items
correspond to variables Cthm and Rpolarz for monochromator polarisation correction.
The rest of lines correspond to the list of integrated intensities or structure factors. The particular
set of items to be read depends on whether there are propagation vectors given or not.
2) Propagation vectors
In the third/fourth line you have to give the number of propagation vectors Nok that must
be equal to Nvk, then you give Nvk lines with: nv K1 K2 K3 , where nv is the ordinal
number of k and Ki are the components of k in free format.
The format of the data corresponds to that given explicitly in line 2 of the CODFILn.hkl
file. No data reduction is performed. The program expects to be provided with an
independent set of reflections. The integer nv is the ordinal number of the propagation
vector corresponding to the current observation hkl. Gobs and σ(Gobs) have different
meanings depending on the value of Itypdata and Ipow:
Ipow
=0 Itypdata= 0 Þ Gobs=F2
= 1 Þ Gobs=F
=1 As above but if Gobs<0 the reflection contributes to the next positive
observation.
=2 Gobs=Σ{jLpF2}: Sums of powder integrated intensities
cod: code for reflections indicating the scale factor number to be applied (for twinned
crystals or inhomogeneous data).
If Ipow=2 and Nvk≠0 cod is the multiplicity of the reflection.
If Ipow=2 and Nvk=0 the multiplicity is automatically calculated using the symmetry
operators generated from the symbol of the space group.
For Irf=4
c1, c2, c3: Not yet used (but they are read!) (coefficients for extinction corrections)
For Irf=-4
c1, c2: Real and Imaginary part of the partial calculated structure factor or the reflection. The
program will add this contribution to the structure factor calculated with the given atoms:
Þ Ftot= F + Fp= (A+ i B) + (c1+ i c2). See comments for Irf=3.
Examples:
Twinned Orthorhombic crystal with two domains
(a,b,c) (b,a,c)
h k l Gobs Sigma cod
.............................
2 0 0 -1.0 0.0 2
0 2 0 3221.0 12.1 1
3 1 1 -1.0 0.0 2
1 3 1 1221.0 8.2 1