12 December 2004


Improvement of the Rigid Body refinement option


New Features


·         The internal coordinates of rigid body objects can now be of four different types:


        0: Spherical coordinates (previous versions, default)

        1: Cartesian coordinates    (KIND=1)

        2: Cylindrical coordinates  (KIND=2)

        3: Z-matrix form            (P6=4, KIND=3)


·         The angles can be given in radians (previous versions) or in degrees

·         The efficiency and convergence radius has been greatly improved

·         A small program for constructing rigid body objects adequate for pasting in a PCR file is now provided within the FullProf suite. A more sophisticated program for handling molecular objects is being prepared.

·         Correction of the matrix given in note of 9 October 2004. It was just an error on writing in the document.


In the following example the internal coordinates of atoms of the molecular fragment are given in standard spherical coordinates (KIND=0) and all angles are given in degrees (DEG=1)


!Atom Typ       x        y        z         B      Occ       P6     THETA     PHI  Spc

!  r/xc/rho the/yc/phi phi/zc/z   X0       Y0       Z0      CHI    P16:SAT   DEG  KIND

Ur1  C       0.00000  0.50000  0.32811  0.50000  1.00000  1.00000  31.3200   42.000  0

                0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00

    0.00000    0.000    0.000  0.00000  0.50000  0.32811  -12.140    0.000     1     0

       0.00     0.00     0.00     0.00     0.00     0.00     0.00


Ur3  N       0.14466  0.64466  0.17816  0.50000  1.00000                     0 0 0   0

                0.00     0.00     0.00     0.00     0.00

    1.34141  121.612   45.000

       0.00     0.00     0.00



In the following example the internal coordinates of atoms of the molecular fragment are provided in form a of a Z-matrix (P6=4, KIND=3) and all angles are given in degrees (DEG=1). At present the internal coordinates cannot be refined using the Z-matrix option. Only the orientation angles (THETA,PHI,CHI) and the position of the molecular origin (X0,Y0,Z0) are allowed to be refined when using a least-squares method. For using this formulation in Simulated Annealing jobs there is no restriction.


!Atom Typ       x        y        z         B      Occ       P6     THETA     PHI  Spc

!   dist   Bond-ang  Torsion-ang  X0       Y0       Z0      CHI    Connectiv DEG  KIND

Ur1  C       0.00000  0.50000  0.32811  0.50000  1.00000  4.00000  31.3200   42.000  0

                0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00

    0.00000    0.000    0.000  0.00000  0.50000  0.32811  -12.140    0.000     1     3

       0.00     0.00     0.00     0.00     0.00     0.00     0.00

Ur2  O       0.00000  0.50000  0.59574  0.50000  1.00000           1   0   0         0

                0.00     0.00     0.00     0.00     0.00

    1.25491    0.000    0.000

       0.00     0.00     0.00

Ur3  N       0.14466  0.64466  0.17816  0.50000  1.00000           1   2   0         0

                0.00     0.00     0.00     0.00     0.00

    1.34141  121.612    0.000

       0.00     0.00     0.00

Ur4  N      -0.14466  0.35534  0.17816  0.50000  1.00000           1   2   3         0

                0.00     0.00     0.00     0.00     0.00

    1.34141  121.612  180.000

       0.00     0.00     0.00

Ur5  H       0.14261  0.64261 -0.03550  0.50000  1.00000           3   1   2         0

                0.00     0.00     0.00     0.00     0.00

    1.00198  120.686  180.000

       0.00     0.00     0.00



09 November 2004


New version of FullProf and new version of FP_Studio


New Features



·         Few bugs in the output of the ATM and FST files have been corrected. The new way describing helical magnetic structures have been tested positively in several cases. See note of 9 October for details. The current version of FullProf has been updated to:



      ** PROGRAM FullProf.2k (Version 3.00 - Nov2004-LLB JRC) **



·         Few changes in WinPLOTR to handle the new version of DICVOL04 that is now distributed within the FullProf Suite. See WinPLOTR.new or Winplotr_news.htm in the DOCS directory of the FullProf Suite.


·         A new version of Fp-Studio, allowing a better interactivity, is available. In the forthcoming months new versions will be produced improving and adding new functionalities. The input file concerning the magnetic part has been changed (it is not compatible with the previous version). The current version of FullProf produces always an output for Fp-Studio, even if it is not explicitly asked by the user, according with the new input. In the current version only a single magnetic block per file is allowed but several propagation vectors can be grouped into a single magnetic block. The Fourier components are now given in a separate line from MATOM. Depending of the way the user describes the magnetic structure,in the case of several propagation vectors, the produced FST file may have to be changed manually in order to represent the real structure.


The new interface has been written using the Winteracter library. There are still some bugs (e.g. disappearance of the image after the output of a BMP file) that will be corrected in future releases. The functionalities that are not completely available in the interface can be manually set by editing the FST file via a button in the interface.


A manual of FullProf Studio is available in the "docs" subdirectory of the FullProf Suite directory. For details consult the manual. Here we give the most relevant changes with respect to the alpha-version.


·         New keyword CONN that is similar to BONDS but the atoms names correspond to atomic species instead of atom labels.


·         The new keyword BKG followed by a legal color value and to be put in the line with the name of the phase is now used


·         The magnetic atoms are now given without the Fourier coefficients in the same line. The new keyword GROUP is written in order to calculate the total magnetic moment when the structure has several propagation vectors. If one prefers to represent the arrows corresponding to each propagation vector, the keyword GROUP should be removed.


·         The Fourier coefficients of the magnetic structure are written just following the MATOM lines in the following format:


        SKP    n1  n2      Rx   Ry   Rz     Ix    Iy   Iz     MPhase   optional keywords ....


Where SKP is the keyword introducing the Fourier coefficients. The integers n1 and n2 correspond to the number of the propagation vector in the block and the number of magnetic matrices to be applied (same meaning as in FullProf). The numerical values Rx,Ry,Rz,Ix,Iy,Iz and MPhase correspond to the following expression of the Fourier coefficients


              Sk = 0.5 { (Rx,Ry,Rz) + i (Ix,Iy,Iz) } exp{-2 pi i  Mphas}


when k is not equivalent to -k (so both terms Sk and Sk* are included in the sum)If k is equivalent to -k (a single term) then Sk=M= (Rx,Ry,Rz) and all I=0, Mphas=0



09 October 2004


New multi-helical magnetic structure description


New Features


·         A new way for describing helical magnetic structures in real space has been introduced in FullProf. For accessing this option one has to put JBT=-1 (or JBT=-10) and HEL=2 (option accessible when More=1). The list of refinable magnetic parameters per atom is the following: Mr, Mi, Chi, Phi, Theta and Mphas. These parameters are used to calculate the Fourier coefficients corresponding to a helix as:


                Sk = 0.5 ( Mr u + i Mi v) exp{-2pi i Mphas}


where u and v are perpendicular unit vectors. Together with the vector w = u x v they form an orthogonal system that is associated with the magnetic atom. The orientation of this system with respect to the Cartesian frame bound to the unit cell is determined by the Euler angles (Chi, Phi, Theta) defined in the following way:


In the starting position the cartesian frame (u,v,w) coincides with the crystallographic cartesian frame (e1//a, e2 in the a-b plane and e3= e1 x e2). First an active rotation Chi around the e3 axis is applied, then an active rotation Theta around the e2 axis and finally an active rotation Phi around e3. The total rotation matrix is


           R(Phi,Theta,Chi) = R(e3,Phi) R(e2,Theta) R(e3,Chi) = [[ u, v, w]]


(Active rotations correspond to the transpose of the rotation matrix relating coordinates of a same point in two rotated reference frame)


The columns of the active rotation matrix are the components of the unitary vectors u,v,w.


u = ( cosPhi cosTheta cosChi - sinPhi sinChi, sinPhi cosTheta cosChi+cosPhi sinChi,  -sinTheta cosChi)

v = (-sinPhi cosChi - cosPhi cosTheta sinChi, cosPhi cosChi -sinPhi cosTheta sinChi,  sinTheta sinChi)

w = ( cosPhi sinTheta, sinPhi sinTheta,  cosTheta)


Notice that the refinable angles (Phi,Theta) correspond to the spherical angles of the helix axis (w). The Chi angle represent a rotation of (u,v) around the w-axis. The Chi angle is 100% correlated to the phase MPhas, so they should not be refined simultaneously. If one wants to described a circular envelope for the helix the two magnetic moments Mr and Mi should be constrained to have the same value. The order in which the refinable parameters are as given in the following ficticious examples





!Nat Dis Mom Pr1 Pr2 Pr3 Jbt Irf Isy Str Furth       ATZ    Nvk Npr More

   3   0   0 0.0 0.0 1.0  -1   4  -1   0   0          0.000  -1   0   1


!Jvi Jdi Hel Sol Mom Ter  Brind   RMua    RMub    RMuc   Jtyp  Nsp_Ref Ph_Shift

   3   0   2   0   0   0  1.0000  1.0000  0.0000  0.0000    1      0      0


P -1                     <--Space group symbol

!Nsym Cen Laue MagMat

   4   1   1   1


SYMM   x, y, z

MSYM   u, v, w, 0.00



!Atom Typ  Mag Vek    X      Y      Z       Biso   Occ      Mr       Mi     Chi

!   Phi    Theta  unused  beta11  beta22  beta33   MagPh

Fe   MFE3  1  0  0.12340 0.02210 0.25000 0.00000 0.50000   3.450   3.450   0.000

                    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00

  15.000  25.000   0.000   0.000   0.000   0.000 0.00000

    0.00     .00    0.00    0.00    0.00    0.00    0.00






!Nat Dis Ang Pr1 Pr2 Pr3 Jbt Irf Isy Str Furth       ATZ    Nvk Npr More

   3   0   0 0.0 0.0 1.0 -10   4  -1   0   0        492.121  -1   0   1


!Jvi Jdi Hel Sol Mom Ter  Brind   RMua    RMub    RMuc   Jtyp  Nsp_Ref Ph_Shift

   3  -1   2   0   0   0  1.0000  1.0000  0.0000  0.0000    1      0      0


P -1                     <--Space group symbol

!Nsym Cen Laue MagMat

   4   1   1   1


SYMM   x, y, z

MSYM   u, v, w, 0.00


!Atom Typ    Mag Vek      X         Y         Z       Biso      Occ    N_type Spc/Fftype

!     Mr       Mi        Chi        Phi      Theta   unused      MagPh  / Line below:Codes

!    beta11   beta22   beta33   beta12   beta13   beta23  / Line below:Codes

Fe   MFE3      1  0    0.12340   0.02210   0.25000   0.00000   0.50000    1    0

                          0.00      0.00      0.00      0.00      0.00

   4.46000   4.46000   0.00000  10.00000  25.00169   0.00000   0.12110 <-MagPar

      0.00      0.00      0.00      0.00       .00      0.00      0.00



18 September 2004


New version of FullProf


New Features


·         The current version of FullProf is now:



      ** PROGRAM FullProf.2k (Version 2.90 - Sep2004-LLB JRC) **



·         The cartesian system used in different parts of FullProf has been unified. The setting selected is: "x" axis is along "a" ([100]), "y" is in the a-b plane and "z" is perpendicular to a-b. This corresponds to the CarType="A" in CrysFML library. This change may produce problems if one wants to run old PCR files for rigid body refinements in triclinic, monoclinic and hexagonal/Rhombohedral bases. Only the rotational angles of the rigid group are affected by this change.


·         The constraint for using spherical components of magnetic moments (or their Fourier coefficients) to systems where the c-axis had to be perpendicular to the a-b plane has been removed. Spherical components referred to the above cartesian system can be used within the triclinic system.


·         The polar angles (Theta,Phi) of the helix axis in JBT=5 are now referred to the unified cartesian system.




·         A bug has been corrected concerning TOF profile calculation. A temporary statement during a testing for accelerating calculations was not removed. The calculation was wrong for very broad peaks due to overflow in calculation of exponentials. Sorry! (I have taken the opportunity for optimizing a little bit the calculation of exponentials).


11 September 2004


Corrections of bugs and improvements


New Features


·         The cartesian system using simulated annealing and jbt=-1 has been changed in order to be consistent with least squares part. The "x" axis is along "a" ([100]), "y" is in the a-b plane and "z" is perpendicular to a-b.


·         Improvements in the calculation of simulated single crystal diffraction patterns. IRF can now take whatever value. In particular IRF=-1 for generating only satellites reflections is now allowed.


·         Changes in WinPLOTR

o        A Fourier based smoothing procedure has been added.

o        The output for the forthcoming DICVOL 2004 program (Boultiff and Louer) has been prepared.

o        A buttom to access FP_Studio has been added. If the word fp_studio is added into the WinPLOTR.set file the program is automatically lauched after running FullProf to displaye the first phase.




·         A bug concerning the calculation of magnetic intensities (incommensurate structures)using simulated annealing when jbt=-1 and isy=1,-1 has been corrected. The error affected the phase of reflections with propagation vector "-k" when the Fourier coefficients have imaginary components. The calculation using least squares was correct.



14 July 2004


FullProf Studio: Visualising crystal and magnetic structures


New Features


·         An alpha version of the FullProf Studio program will be distributed with the forthcoming version of the FullProf Suite. The program has been written by Laurent Chapon (ISIS, RAL) and it is based in the CrysFGL and CrysFML Fortran 95 crystallographic libraries. This is the result of an informal collaboration between LLB(Saclay, France) and ISIS(Didcot, UK) in data treatment with the aim of providing useful tools for free to the scientific community using diffraction techniques for structural research. At present the program is being strongly modified in order to incorporate new features. Here I give some of the most important keys for using the program.


RUNNING FullProf Studio


o        For the moment the program runs only on Windows platforms. It will be ported to Linux as soon as we have time.

o        The program can be invoked from a DOS shell typing "fp_studio"

o        The program asks for the name of the input file, normally "codfefiln.fst" where "codefil" is the code of a PCR file and "n" is the ordinal number of the phase within the PCR file. The program can also be invoked with an argument as:


         My_prompt> fp_studio codfefiln <cr>


o        If there is no error the program opens a window with a plot of the structure that can be rotated with the help of the mouse. At present, the only way to save an image is by using the "prnt scrn" key and pasting it in a windows application (Power Point, Word, MSpaint, etc...). We shall try to export post-script and jpeg files as soon as wee can.


The input file (*.fst) for FullProf Studio can be generated from FullProf using Jview=3 (for all phases to be plotted) and the following directives:


o        If a nuclear part is related to one or several magnetic phases the keywords "magphn" must appear in the name of the phase. The final symbol "n" should be substituted by the numeral (integer) representing a magnetic phase related to the current crystallographic phase (eg. My_phase_name magph2 magph3. This tells to the program to associate the magnetic phases 2 and 3 to the current crystallographic phase)

o        The program generates automatically severall keywords (see below), but additional plotting keywords can be added at the end of the atoms lines. To start the plotting keywords the symbol "#" is used. For instance, the directive "# RADIUS 0.8  COLOR 1 0.2 0.2 1  BOND Cu1 Cu 0.0 2.3" added in the same line of an atom at the end of the normal PCR line will create the appropriate keywords in the FST file. Remember that the BOND directive must appear after other keywords affecting the current atom. The BOND directive can make reference to different atoms. The keywords are case insensitive but not the label used for atoms.


There is another version of the program, called "fp_studio_dyn", that is useful for looking dynamically the behaviour of the structure during a refinement or a simulated annealing run. For that FullProf has to generate a *.fst file at each refinement (or Montecarlo) cycle, this is obtained by putting the flag Ls2 = 5 (LSQ refinement or Simulated Annealing job) in addition to Jview=3. In the case of a Simulated annealing job the name of the *.fst file is fixed to "simann.fst". One can run FullProf in a shell or from WinPLOTR and go, in a DOS shell, to the directory where the current files are read/written. Then type "fp_studio_dyn simann" to see the behaviour of the atoms during the structure solution process. FullProf and f_studion_dyn run simultaneously and the whole process is slower.



      CONTENT of the input file (FST file)


o        All lines starting with ! are considered as comments

o        The file contents a list of keywords needed to plot the structure.

o        For plotting a crystal structure the following keywords are needed:



is followed by the Hermann-Mauguin symbol of the space group given in the same format as in FullProf (e.g. SPACEG I 41/a m d) Instead of giving the space group a list of generators is also admissible. The keyword is then GENER followed by the symmetry operator given in symbolic form, e.g. GENER x,-y,z+1/2. Up to 15 generators are allowed.



is followed by six real numbers (a,b,c,alpha,beta,gamma) defining the cell parameters (e.g. CELL  4.32 4.32 8.41 90.0 90.0 90.0)



is followed by six real numbers representing the volume of the structure to be considered for plot (xmin,xmax,ymin,ymax,zmin,zmax)

(e.g. BOX  -0.15 1.15  -0.15 1.15   -1.25 1.25)



This keyword and the forthcoming up to ATOM refers to the orientation view of the unit cell the first time the program is invoked. ROTAX is followed by four real numbers. The first (ang) is an angle in degrees and the other three represent the components of a unit vector in cartesian coordinates around which a rotation is performed. The orientation of the system (if no orientation keyword is given) is a view along the c-axis with the a-axis horizontal and directed to the right.

The values of ROTAX are output in the DOS-shell each time one changes the orientation of the view using the mouse. The user may copy and paste these values in the FST file for further processing.

(e.g.  ROTAX  88  1.0 0.0  0.0)



is followed by three real values representing the vector (in cartesian components) along which the structure will be output on the screen

(e.g. "VIEW  u v w",  with u,v,w, real numbers default VIEW 0 0 1)



Followed by two real numbers representing the spherical angles theta and phi of the orientation axis the same as that given in VIEW.

(e.g.  SPHER  87 10  )



Followed by three real numbers representing the rotations (in degrees) along x,y and z to be applied to the default orientation in order to obtain the desired view. The rotation are applied in the following order first "rotx", then "roty" and, finally, "rotz". A point P is trasformed to point P' as: P'= rotz(roty(rotx(P))).

If several rotation instructions are given in the file, only the last one is applied in practice.

(e.g. ROTXYZ 88 10 0)



This keyword is followed by the label of the atom, the chemical symbol the fractional coordinates and, optionally, other keywords. The additional keywords are given for plotting purposes. At present they are: DISPLAY (default), NODISPLAY, RADIUS and COLOR

The number of ATOM keywords is not limited.

(e.g. ATOM Cu1 CU 0.0  0.0   0.5  RADIUS 0.8 COLOR 0.8 0.8 0.1 1)



Followed by two atom labels and two real numbers representing the distance range between the two given atoms for making a bond between them. Additional plotting keywords may be added in the same line. There is no limit for the number of BOND keywords

(e.g. BOND  Cu1 Cu1 0 3.3 RADIUS 1.0 COLOR 1 1 1 1,

      BOND  Cu1 O1  0 2.4 RADIUS 0.2 COLOR 0.2 0.2 0.5 1  NODISPLAY )



o        For plotting magnetic structures, we need in addition the definition of the propagation vector, magnetic symmetry and Fourier coefficients of the magnetic moment. For starting the magnetic part description a brace "{" must appears in the first column. The magnetic description bloc finish with a line containing "}" in the first column. Several magnetic blocks may be defined. The content of the magnetic part is the following:



Followed by three real numbers representing the components of the propagation vector with respect to the reciprocal basis of the conventional unit cell.

(e.g. K   0.5  0.0  0.123)



This keyword is, normally, the lattice symbol of the Space group.

(e.g. LATTICE I)


A block of symmetry operators similar to that appearing in the PCR file for a magnetic phase when Isym=-1. An example is given below.



Similar to ATOM keyword to which the Fourier coefficients of the magnetic moments are added just after the fractional coordinates, real and imaginary parts along a,b,c are given between parenthesis. The plotting keyword SCALE followed by a real value, can be added in order to re-scale the magnetic moments. There's no limit for the number of MATOM lines.


         Here is a complete example of the magnetic part.


K   0.5 0.5 0.5


SYMM   x,y,z

MSYM   u,v,w,0.0

SYMM   -x+1/2,-y,z-1/2

MSYM   u,v,w,-0.25

SYMM   y+3/4,-x+1/4,-z+3/4

MSYM   u,v,w,0

SYMM   -y+3/4,x+3/4,-z+5/4

MSYM   u,v,w,0.25

MATOM Cu1 Cu  0.00 0.00 0.50 (0.4786,0) (0,0.4786) (0,0) 0.0 SCALE 3.0 COLOR 0.1 0.6 0.0 1.0  #color 1 0 1 1



04 July 2004


MagDraw v1.6 (plotting and editing magnetic structures with LAMP)




·         A new tool to visualise magnetic structures has been incorporated within the program LAMP (Large Array Manipulation Program) developed at ILL by Didier Richard. The tool is able to read the file with extension *.atm generated by FullProf using the flag "Jdist=-1" in a magnetic phase.

The whole LAMP can be obtained from the ILL ftp server:




A short account of the capabilities of the program is given in:


ILL News  41, p 10-11, June 2004


The tool is able to represent incommensurate magnetic structures and the propagation vector formalism is fully implemented. MAGDRAW contains an editor in which the user can implement by hand his(her) own model of a magnetic structure. In MagDraw v1.6 some bugs have been corrected. Please send an e-mail didier.richard@ill.fr, ouladdiaf@ill.fr,juan@llb.saclay.cea.fr) if bugs are discovered.


03 July 2004


Energy dispersive input


New Features


·         For Energy Dispersive data treatment, it is not needed to give "STE1" if the value of 2SinTheta (or 2Theta) of the detector is provided. The program considers that 2Theta is provided, instead of 2SinTheta, if 2SinTh > 2.0. The parameters relating the energy in KeV with the inverse of the d-spacing (s=1/d) are as given in the expression: E(KeV) = zero + (STE1 + STE2 * s) * s. For the first run, if STE1=0.0 and 2sinTh is given, the program calculates STE1= hc/2sinTh in KeV*Angstrom. In the new PCR file this value is written and the value of 2SinTh is replaced by the 2theta angle of the detector. Of course the parameters zero,STE1 and STE2 may be refined using a standard sample with fixed cell parameters.


08 May 2004


Correction of integrated intensities (external texture, ...)


New Features


·         A multiplicative correction of integrated intensities for each phase and pattern can be performed in Rietveld refinements, just putting IRF=2 (provided that abs(JBT)=0,1,4,5,... but not for abs(JBT)=2,3). The program will read reflections as for profile matching modes except that the variable representing the intensity for those modes is now a multiplier included in the Lp-factor. The program expects to read a file “codfiln_pat.hkl", n: number of the phase, pat: number of the pattern, in which the first two lines are considered as comments.

In the case of a single pattern the name of the file does not contain "_pat". If there is no propagation vectors the program reads (up to the end of the file) a list of reflections containing the items: h,k,l,m,corr. Corresponding to the reflection indices, multiplicity and correction factor for the integrated      intensity. If the phase contains propagation vectors, a line with the number of propagation vectors (nv) is first read in the third line. Then "nv" lines containing the number of the propagation vector and the components (nvk,vk1,vk2,vk3) is read. After that the program reads a list of reflections containing the items: h,k,l,ivk,m,corr.

The items (h,k,l,etc) are read in free format, so all of them have to be provided. This correction may be useful for different purposes. In particular when a polycristalline plate of known texture is measured.



05 May 2004


Note about generation of reflections in magnetic refinements


New Features


·         The versions of FullProf starting with number 2.6 behave differently than previous ones when using the space group "L 1" (L: P,A,B,C,I,F,R) to generate magnetic reflections. The whole set of reflections including Friedel pairs (even with powder data) was generated with multiplicity 2. This error can be overcome avoiding the use of "L 1" as symbol for generating reflections and      putting instead "L -1". A protection against the use of the "L 1" symbol in magnetic refinement has now been included.


03 May 2004


New option for anomalous scattering plots


New Features


·         If Anm is given the value 2, two kind of anomalous scattering files are generated to be plot with WinPLOTR. See note of 14 April 2004 for details.


a)    Files with extension ".pgf" containing observed and calculated resonant patterns as a function of 2theta. The calculated non-resonant pattern transformed to the  conditions of the resonant pattern and the difference ycal(res)-ycal(non-res) ( e.g. ycal(NE)-ycal(FFE) ).


b)    Files with extension ".prf" containing as observed pattern the difference of the observed resonant (NE) pattern minus a simulated non-resonant (FFE) pattern transformed to the (profile) conditions of the resonant pattern. As calculated pattern the files contain the corresponding calculated differences. As for other kind of PRF-files Bragg positions, etc ... are automatically accessed from WinPLOTR.



29 April 2004


Correction of small bugs in FullProf and WinPLOTR




·         The hkl file automatically generated in magnetic refinements at the end of a run can now be re-read with IRF=1 in subsequent refinements, without he need of removing some header lines. Thanks to Francois Fauth for calling my attention to this small bug.


·         Corrected a bug in the writing of some standard deviations of correlated parameters.


·         The automatic treatment of sequential refinements from WinPLOTR has been improved. In particular the restriction in the sense of counting the dat files (ascending) has been removed. This was not a restriction of FullProf.



23 April 2004


Correction of small bugs in BasIreps, FullProf and WinPLOTR




·         In BasIreps the precision for giving propagation vectors has been relaxed in order to take the highest symmetry point in the Brillouin Zone. For instance 0.333 is automatically changed to 1/3, etc.


·         Protection against bad input data in the PCR file has been reinforced.



14 April 2004


Multipattern with anomalous dispersion difference plots





·         Small bugs in the output file concerned with the information in the IRF files for Res=8 have been corrected



New Features


·         The current version of FullProf is now:



      ** PROGRAM FullProf.2k (Version 2.70 - Apr2004-LLB JRC) **



·         New output files, useful when working with several x-ray diffraction patterns of different wavelengths (anomalous scattering synchrotron data collection), have been implemented. The files represent differences of near-edge (NE) patterns minus the far-from-edge (FFE) pattern for both observed and calculated patterns. Before performing the differences the profile intensities are corrected from background and Lorentz-polarization, and the different scattering angles are transformed (by linear interpolation) to common s=1/d (modulus of scattering vector). The intensities of the NE patterns are normalized to the intensities of the FFE pattern, e.g. multiplied by norm=sum_FFE/sum_NE.


To access this option the new flag "Anm" appears after the flag "Cor" in the PCR file. The FFE pattern should be attributed the value Anm=-1, and

those from which the differences have to be output should be attributed the value Anm=1. The name of the output files has the same code of the PCR file and appended with "_" and the numbers of the difference patterns. For example if in the PCR file called "my_pcrfile.pcr" the flag Anm take the

values as in:


       . . . . . . .

      !Job Npr Nba Nex Nsc Nor Iwg Ilo Res Ste Uni Cor Anm

         0   7  39   1   4   0   0   0   0   0   0   0  -1

         0   7  36   1   4   0   0   0   0   0   0   0   1

         0   7  36   1   4   0   0   0   0   0   0   0   0

      !File names of data(patterns) files

       . . . . . . . .


the patern #1 is the FFE pattern and the pattern #2 is a NE pattern from which the user wants to get the difference pattern. FullProf will create      an anomalous scattering difference pattern in a single file called: my_pcrfile_21.pgf. This can be visualized with WinPLOTR using going to the

"File" menu and selecting the item "Open .Pgf file".



07 April 2004


Phase-dependent shifts

New ILO for multi-films


New Features


·         A new option concerning global shifts of reflections has been included for Bragg-Brentano and Debye-Scherrer geometry, for constant wavelength      case, that may be useful in some circumstances. Typical examples are phases contributing to the diffraction pattern that are not in the optical center of the diffractometer, samples formed by several polycrystalline thin films, etc.

A zero shift, systematic cosine (SyCos, e.g. displacement) and systematic sine (SySin, e.g. transparency) shifts depending on each individual phase

and pattern can be now refined.

To access this option the new flag "Ph_Shift" must be equal to "1". This is accessible using More=1 in the traditional single pattern format for the

PCR file. For all cases this flag appears in the same line and after the flag "Nsp_Ref".

If Ph_Shift=1, the program reads the parameters Zero_ph, SyCos_ph, SySin_ph and their corresponding refinement codes appearing just after the items

concerned with the asymmetry parameters and before the items concerned with multi-axial preferred orientation parameters (if used).


      A example is given below:



!  Data for PHASE number:   3  ==> Current R_Bragg for Pattern#  1:     4.01


Name: Rutile


!Nat Dis Ang Pr1 Pr2 Pr3 Jbt Irf Isy Str Furth       ATZ    Nvk Npr More

   2   0   0 0.0 0.0 1.0   0   0   0   0   0        159.798   0   7   1


!Jvi Jdi Hel Sol Mom Ter  Brind   RMua    RMub    RMuc   Jtyp  Nsp_Ref Ph_Shift

   0   0   0   0   0   0  1.0000  0.0000  0.0000  0.0000    0      0      1


P 42/m n m               <--Space group symbol


!     a          b         c        alpha      beta       gamma

   4.594301   4.594301   2.960153  90.000000  90.000000  90.000000

  111.00000  111.00000  121.00000    0.00000    0.00000    0.00000

!  Pref1    Pref2      Asy1     Asy2     Asy3     Asy4      S_L      D_L

  0.00000  0.00000  0.00000  0.00000  0.00000  0.00000  0.03300  0.03100

     0.00     0.00     0.00     0.00     0.00     0.00     0.00     0.00

!      Zero_ph      SyCos_ph      SySin_ph

      0.027186     -0.000917      0.000000

     31.000000    251.000000      0.000000





In the case of a multipattern-like PCR file the part that is different from the above example is:



!  Data for PHASE number:   3  ==> Current R_Bragg for Pattern#  1:     4.04


Name: Rutile


!Nat Dis Ang Jbt Isy Str Furth        ATZ     Nvk More

   2   0   0   0   0   0   0        159.7980   0   0

!Contributions (0/1) of this phase to the  1 patterns


!Irf Npr Jtyp  Nsp_Ref Ph_Shift for Pattern#  1

   0   7    0      0      1

! Pr1    Pr2    Pr3   Brind.   Rmua   Rmub   Rmuc     for Pattern#  1

  0.000  0.000  1.000  1.000  0.000  0.000  0.000


P 42/m n m               <--Space group symbol





·         A new ILO value has been included and may be used together with the new shift options of the above paragraph. If ILO=5 it is supposed that the symmetric Bragg-Brentano geometry is used together with a sample formed by layers of different phases. The product of the effective linear absorption coefficient "mu" by the thickness "t" for each phase is given in the variable RMUA (that is also used for other purposes, see manual). A fixed absorption correction is applied to each phase. Notice that the order of phases in the PCR file must be the same as that of the sample starting with the phase in the surface exposed to the X-ray beam. The multiplicative correction applied to the integrated intensities of the phase "p" is given by the expression:


Corr(p)= Product(i=1,p-1){exp(-2*Rmua(i)/sinTh)}*(1-exp(-2*Rmua(p)/sinTh)/(2*Rmua(p))



·         A modification in the generation of reflections with propagation vectors has been performed in order to simplify the cases with centred lattices      and integer propagation vectors. If the space group for generation was "L -1" (L: lattice symbol) everything was O.K., however some repetitions      were observed using higher symmetry space groups when L /= P and k=integer in the list. Using a higher symmetry group (the propagation vector group) all reflections are now generated with the proper multiplicity. Remember that the propagation vector group is the higher configurational symmetry of a magnetic structure. The real magnetic structure may have lower symmetry and then the space group for generating the reflections should have the same symmetry. Using the triclinic "L -1" for generating the whole set of reflections is safer in the first stages of solving the structure.




27 March 2004


Correction of bugs in WinPLOTR, GFourier




·         New versions of WinPLOTR, GFourier and Fourier have been included in the FullProf Suite. Several small bugs have been corrected. In particular the editor of GFourier (version 4.00) was not working properly: the user had to modify by hand the *.inp file for changing the type of Fourier map. The extra peaks found in the peak search procedure are now visualized in maps when this is asked clicking on the "Active atom representation" button.

·         Some changes have also been performed in Fourier concerned with the merging of peaks and atom/peaks distances.

·         Other small bugs in latests versions of WinPLOTR have been corrected. In particular the manual changes of plot styles, pen width, sized of symbols, etc ... are now working properly.




08 March 2004


Output for Fourier using twinned single crystals


New Features


·         The current version of FullProf is now:



      ** PROGRAM FullProf.2k (Version 2.60 - Mar2004-LLB JRC) **




·         Fourier files for the case of twinned single crystals and mutiple data collection data (up to 24 scale factors per phase) are now generated using Fou=5. The Fourier file can be read by Fourier and Gfourier programs.


An additional file of extension *.mrg is generated to check the details of the reflection merging. In order to unscramble the original data, containing observations with different domain contributions, I have used a method similar to that used in powder diffraction to get the "observed" integrated intensity. In order to obtain an observed 'Fo(h)' of a particular reflection contributing to F2obs of a cluster the following formula is used:


                 'Fo(h)' = Fc(h) * sqrt(F2obs/F2cal)


where F2obs if the experimentally determined F^2  and


                F2cal = Sumk { Fc(k)^2 * Scale(k) * Corr(k) }


The sum is extended to all reflections contributing to the current observation. Corr(k) includes absorption and extinction corrections. When there is only a reflection contributing to an observation one obtains the obvious result:


          'Fo(h)' = Fc(h) * sqrt( F2obs/{Fc(h)^2* Scale(h) * Corr(h)} )

          'Fo(h)' = Fo(h) = sqrt( F2obs/{Scale(h) * Corr(h)} )


The use of Fou=5 is only valid for CRY /= 0  (integrated intensity data alone). If one uses several artificial phases (for instance to separate

different class of reflections, different crystals, or for whatever other reason), it is supposed that all phases refer to the same crystal structure.

The reflections read for each particular phase are merged into a single Fourier file.




05 March 2004


Minor bug in the SUM files




·         An error in the *.sum files, in the case of using the option Ana=1 (final analysis of the quality of powder diffraction patterns) when multiple patterns are present, has been corrected. The error was in the writing of the area fraction of the different phases in different patterns.      Several cosmetic changes have also been performed.




29 February 2004






·         In the last version on EdPCR the values of wavelengths defined on Profile Data Information were wrong. Now it was resolved.



New Features




An internal change to unify the description of magnetic refinements for powder and single crystal cases has been performed.


The correction concerns mostly the people working in single crystal diffraction, however there is an additional modification that changes the way of treating the occupation numbers of a magnetic phase in the case of centred lattices.


Now in all cases the nuclear and magnetic structure factors are calculated for the content of the conventional unit cell, that is the old (internal) structure factor was calculated only for the asymmetric part of the unit cell ( , no lattice centring, no centre of symmetry) and only after that calculation the square of the structure factor was multiplied by  to obtain the conventional structure factors .



NLAT: Number of lattice points per cell (1 for P; 2 for A,B,C,I; 3 for R and 4 for F lattices),

ICEN=1 for non-centro and ICEN=2 for centrosymmetric case.


The multiplication of  by N was performed in different places outside the structure factor procedures. See for instance note on extinction correction of 8 April 2002.


The factor N was not applied to the single crystal refinements, so that the scale factor was higher because  was used instead of . This obliged to use JBT=10 for doing magnetic refinements or to apply a rule different from that of powder case to relate the scale factors of a nuclear and a magnetic phase in order to obtain the correct values of magnetic moments.



Consequences using old PCR files for single crystals


This change has as a consequence that the old scale factor of a crystal or magnetic structure refinement using single crystals (including JBT=10) should be reduced by a factor 1.0/N in order to be consistent with the current formulation.

In most cases it suffices to perform a refinement with a sufficient number of cycles and the program will find the new scale factor straightforwardly. In more critical cases it is convenient to fix the structural parameters and refine only the scale and extinction parameters.



Consequences using old PCR files for powders


For POWDER DIFFRACTION there is no consequence EXCEPT IN THE CASE OF CENTRED CELLS when a magnetic phase has been defined using a centred symbol for generating the magnetic reflections. Now the number of lattice points per cell is taken into account for calculating the final magnetic interaction vector squared . Up to now if one wanted to calculate the magnetic contribution using the same scale factor than that of the corresponding nuclear counterpart, it was necessary to take into account (if one was using the content of a primitive cell) a multiplication of the occupation factors by NLAT (ICEN was already included in the magnetic structure factor calculation) or give all the atoms in the conventional cell. This is no more necessary.


The examples given in the "examples" subdirectory of the FullProf Suite have been slightly modified to take into account the new way of handling centred cells.



Unified rules (powders + sxtals) for doing magnetic refinements


The rule to get the correct values of magnetic moments when using a magnetic phase separated of the nuclear one (JBT /= 10) is the following:


o        Use of the same cell [propagation vector formalism, or k=(000)] and the same scale factor for both the nuclear and the magnetic phases.


Nuclear phase:

M : general multiplicity of the space group

m : multiplicity of the site of a particular atom

f : factor given by the user to get "convenient" occupation factors





The structure factor is calculated using Oc, so only in the case of f=1 the structure factor coincides with that of the conventional cell in absolute units (electrons for X-rays and  for neutrons).



Magnetic phase:

Mm: number of symmetry operators given to describe the magnetic phase.


mm: number of different atoms generated by applying the Mm symmetry operators (+ Center of symmetry if Icen=2) to a particular atom.


Icen: Value given by the user to tell the program if the magnetic structure is centrosymmetric (Icen=2), that is, the centre of symmetry does not change the orientation of the magnetic moment or non-centrosymmetric (Icen=1).


Nlat: Number of lattice points per conventional unit cell



If the lattice is centred, the centring translations operators should not be given among the Mm symmetry operators. In the propagation vector formalism the calculation does not need this redundant information. The total number of magnetic atoms of a particular site in the conventional cell is "m", so the number to be given in the description is Nmag=m/Nlat. Nmag is the number of magnetic atoms in a primitive cell. If the Mm symmetry operators (+ Center of symmetry if Icen=2) are able to generate at least all the Nmag atoms we obtain the following prescriptions.


To get proper values of magnetic moments the occupation number, Ocm,to be used is that giving the same number of magnetic atoms per unit volume in both the nuclear and the magnetic phase. This gives the rule:



Ocm  =  Oc * M / (Mm*Icen*Nlat)                (1)



If we call Oca = mm/(Mm*Icen), it is easy to verify that


Ocm= f * Oca * m /(mm*Nlat) = f * Oca * Nmag /mm      (2)



The formula (1) is the most general and easy to apply. It assumes implicitly that, for each magnetic atom site in the asymmetric crystallographic unit, there is only one magnetic atom in the asymmetric magnetic unit.


If the user prefers to describe individually all the "Nmag" magnetic atoms (sublattices) corresponding to a single atom site (crystallographic Wyckoff position) putting only the identity operator, then Mm=Nmag, and then all occupation factors should be fixed to:


Ocm = Oc * M / (Mm*Icen*Nlat)  =  Oc * M / (Nmag*Icen*Nlat)


Ocm = Oc * M / m  =  f * m/M *  M/ m = f * 1 = f



·         If one uses the magnetic unit cell (not recommended, the propagation vector formalism is of general applicability!), then use a P symbol for generating the magnetic reflections (in order to fix Nlat=1). In this case the same prescriptions as above apply except that the scale factor of the magnetic phase is related to that of the crystallographic part by


Sc: crystallographic scale factor, Vc: Unit cell volume

Sm: magnetic scale factor, Vm: Magnetic unit cell volume




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. The occupation factors of the magnetic part should then be multiplied by the factor: Vc/Vm.




16 February 2004


New files for Single Xtal Laue/TOF refinements

Bug in the Pearson VII function





·         An error in the Pearson VII function when the exponent was close to 1 has been corrected. This caused instabilities in refinement. The lowest m-value accepted by the program is m=0.6


New Features


·         The number of scale factors to be used in the refinement of single crystal data has been augmented up to 24. A new format adapted to data taken with different wavelengths (Laue or TOF) has been implemented. The JOB variable should be given the value JOB=-1. The format of the intensity file is the following:


o        Firt line is considered as a title

o        Whatever number of comment lines (starting with ! or #) can follow the title

o        A line with the format item is searched by the program by looking for balanced parentheses (starting with "(" and finishing with ")" ... without quotes). An example is: (3i4,2f14.4,i3,4f10.4)

o        After the format item the program tries to read the number (nvk) of propagation vectors that must coincide with what is given in the PCR file. And immediately the program reads the propagation vectors themselves in the following nvk lines.

o        Finally the program read lines using the format item from which it extracts the following items: h,k,l, F2, sigma(F2), cod, lambda, 2theta, absorption, Tbar. In the case of propagation vectors an additional integer following hkl is read.


·         The meaning of Cod (integer) is the number of the scale factor to be applied for treating the current observation. It may be used for treating twinning or to combine reflections obtained in different circumstances (e.g. different banks with non-normalized data)

·         The program uses the additional information to calculate wavelength-dependent extinction corrections (four different models are available).

·         For using more than 6 scale factors, the user must add the number of scale factors at the end of the same line where they are provided. Add lines (up to 6 scale factors/line plus the line of refinement codes) with the additional scale factors.




12 February 2004


Bug (2 days in the web)




·         Sorry, during few hours the version in the CEA site was wrong for profile matching modes using two wavelengths!




10 February 2004


IRF files. DLIM in TOF. Changes in profile matching modes

Generation of *.int files for TOF

New files of extension *.seq putting Rpa=-2 in sequential refinements


New Features


Several changes have been performed in the current version of FullProf.


·         The keyword "WAVE" followed by three real numbers can now be included in IRF files corresponding to Res=4, before giving the number of points to be read.

Example (header of the file):

 My resolution file: diffractometer with Cu ka1-ka2

  !This is a comment: File prepared using LaB6 and WinPLOTR

  WAVE 1.5406 1.5444 0.497




·         Another IRF format is available. Putting Res=8 a similar file to that described for Res=4 is read. The only difference is that in each line the asymmetry parameters S_L,D_L due to axial divergence (L. Finger, et al.) are also read. In principle all the asymmetry parameters should have the same values but this has been included in each line to take into account other possible causes of asymmetry. Then the lines read with Res=4 have as items "2theta  HG  HL" and those read with Res=8 are of the form  "2theta  HG  HL  S_L  D_L".


·         In the IRF files for Res=5 (T.O.F.) the keyword "NPROF" has been included. It tells the program what kind of profile function has been used to create the IRF file itself. NPROF is followed by an integer that can be 9 for the back-to-back exponentials  or 13 for the Ikeda-Carpenter function convoluted with a pseudo-Voigt. In the lines starting with the keyword D2TOF a third item (in addition to Dtt1_i and Dtt2_i) can be read representing the zero point of the bank   in micro-seconds.


·         Some tuning of special variables controlling the range in different banks of TOF multi-pattern refinement has been performed. This concerns mostly the cutting at low d-spacing and the way of generating satellite reflections at low Q (high d-spacing) for propagation vectors near the zone boundary. The range of TOF in the instrumental resolution files has a higher priority than the effective range read from the input data file.


·         The generation of *.int files for simulated annealing in TOF has been totally revised. Instead of storing sums of integrated intensities in a cluster (j.Lp.C.F2), we use just sums of F2 (without multiplicities and Lorentz factors) in order to get the same units for data coming from different banks. The reflections in *.int files, for each bank, are re-ordered in order to put on top the most important ones (those at low Q).


·         For sequential refinements it is now possible to generate a file of extension ".seq", putting Rpa=-2. This file is better than the old ".rpa" file because it contains the summary of effectively refined parameters together with their   symbolic names. In the console version of FullProf ("fp2k.exe" or "fp2k") a sequential refinement can be performed by using the necessary information in the command line. For instance a command like:


            >fp2k  cyc  my_pcr  datcode  2341  2680  y n


      means the following:


The program is invoked for sequential refinements by using as the first command line argument the keyword "cyc", the code of the PCR file that will be used for treating all the data is given as the second argument "my_pcr". The code of   the data files is the third argument "datcode". The arguments 4 and 5 correspond to the numbering of data files to be treated. Eg. in our example all files between "datcode2341.dat" and "datcode2680.dat" will be treated. The last two arguments are given to ask the program to save (y) or not (n) the files with extension ".prf" and ".hkl" respectively.





·         An error was introduced in profile matching modes few month ago. This cause re-starting the refinement with a bad fit in some circumstances and a slowing down of the convergence. I have taken the oportunity for changing the output values. Now, in all cases, what is updated in each cycle of a profile matching refinent is the square of the structure factor not the observed integrated intensity. Depending of what kind of refinement is being done the output could be the structure factor itself (Jbt=-2) or the integrated intensity (j.Lp.C.F2 for Jbt=2). If one wants to use correction factors stored in C (preferred orientation, absorption, etc ... but not extinction!) it must be taken into account that the output j.Lp.C.F2 (Jbt=2) contains everyting. The integrated intensity will be independent of what corrections we are using, for different corrections the extracted structure factors will be different in the files obtained with Jbt=-2. The format of some output files controled by the flag "Hkl" has also been changed in order to cope with very different magnitudes.




26 January 2004


New versions of EdPCR,Fourier, GFourier and WinPLOTR.

Fitting procedure in WinPLOTR with axial divergence asymmetry


New Features


·         The current version of the program FullProf is 2.55  Jan2004


·         New versions of EdPCR, Fourier, GFourier and WinPLOTR have been included in the new release of the FullProf Suite. The suite is also distributed for Linux. A program GProfile/WinPLOTR for Linux has been written using the Winteracter library for Linux. This program has not all the capabilities that has WinPLOTR for Windows, however it may satisfy most of the requests of Linux users.


·         An additional subfolder/subdirectory containing instrumental resolution files of several instruments (TOF machines at ISIS, powder diffractometers at ILL and LLB, etc...) is now created in the installation of the FullProf Suite.


·         Fourier/GFourier provides now, within the peak search procedure distances between new peaks and the atoms included in the model, as well as the inter-peaks distances and angles.


·         The fitting procedure within WinPLOTR includes now the axial divergence treatment of asymmetry for constant wavelength. Now it is possible to refine individual peaks in TOF powder diffraction patterns (See WinPLOTR.new for details).





·         Several corrections of small bugs in output files have been introduced. In particular for the anomalous scattering in X-rays the output file for GFourier was neglecting Df". The default output file for GFourier includes now more instructions.


·         EdPCR has been improved and many small bugs corrected.


·         Now Gfourier create a plot file into Isosurface mode.