xnd: phases description in the input file.


xnd top Next file Previous file

Introduction

The phase block has to be repeated for each phase according to the nPhase=@XND(PHASE) value declared in the program header. Following the header which specifies the phase, all the variables are encoded using the standard method seen in encoding variables in xnd.

Phase Header and common blocks

Phase Header

The header from the previous 1.1 release are still recognised. In the 1.2 release the header uses keys. If the @PHASE key is not found a 1.1 header is assumed.
@PHASE key identifier
NATURE d 0 classical phase, the hkl lines are generated
>0 classical phase but the hkl lines are read
-1 Radial expension for background
-2 Parasitic lines
-3 Quasicrystal (icosahedral or dodecaedral) pattern fitting
-4 magnetic superstructures
-5 incommensurate modulated structures
-6 incommensurate modulated structures with magnetic lines
-7 reserved for amorphous sample (not yet implemanted)
TRANSIT d 0 number of phase transitions to take into account in the scale factor
ORIG f 0 Origin of Temp in the phase variable expansion
TITLE s Title of the phase

Scale factor block

@SCALE key identifier of the variable block
Scale $ Scale factor for the phase
B_global $ Overall isotropic Thermal factor

Phase transition block

This block is read only if nTransit=@PHASE(TRANSIT) in the phase header has a positive value. In this case the effective scale factor is :
Scale_eff = Scale * exp(u) /(exp(u)+exp(-u))
where u = sign(T-T_c) * T_a * abs(T-T_c)^Exponant
@TRANSIT key identifier of the variable block
the following group of lines is repeated nTransit=@PHASE(TRANSIT) times
T_c $ Origin Temp
T_a $ Activation Temp
Exponant $ Exponant

Known crystalline phases.

Crystalline phase header

This block is concern only if N_hkl=@PHASE(NATURE) in the phase header specifies a known crystalline phase : ( N_hkl >= 0, -4, -5, -6, -7). In others cases, jump to Parasitic phases

If the @CRYSTAL key is not found a 1.1 crystal header is assumed.
@CRYSTAL key identifier
SYMGRP s this name must be known in the symetry part of the the file or in the symetry file
ATOM d 0 Number of independant atoms to be read
ORIEN d 0 No orientation functions in this phase of the sample
>0 Number of functions used for the prefered orientation of the sample, common to all experiments
<0 Same as above but there are nOrien functions for each experiment.
PROF d 0 Number of functions used for describing the line profile
In case of modulated structure, a negative value means that the profil depend on the set of lines.
BLOCK d 0 Number of rigid blocks to be read
BOND d 0 Number of Temp used in bond restraints
SETS d 0 Number of lines sets, incomensurates ... or profile dependence ...

Cell parameters block.

@CELL key identifier of the variable block
Center $ Centering error for this phase (s/R in reflexion)
A $ Cell lengths
B $
C $
Alpha $ Cell angles
Beta $
Gamma $

Supplementary header blocks for magnetic structure.

This block of data is inserted only when the phase has been declared as being magnetic : N_hkl=@PHASE(NATURE) = -4
In others cases, jump to modulated phases

This block is a small implementation of some magnetic structures, it is just to allow user to get rid of some magnetic lines when studying complex phases.
User have to provide at less two SET : one for magnetic lines and one for the other.
@MAGNET key identifier
SYMGRP s At the time the symmetry is not checked and user must provides a triclinic group in which the operations concern only the moment of the atom in the same order than the standard symmetry group.

Supplementary header blocks for modulated phases.

This block of data is inserted only when the phase has been declared as being modulated : N_hkl=@PHASE(NATURE) = -5
In others cases, jump to preferred orientation

In this case, the cell parameters and then the coordinates have to be expressed using the super-cell in which the rational part of the modulation vanishes, this cell is associated with the so-called "big indices". Nevetheless the coordinates of this rational part (centering in the superspace) are still expressed referring to the basic-cell associated with the "small indices". When there is no 4D centering, the two metrics are coincident.
User have to provide at less two SET : one for base lines and one for the other.
@MODUL key identifier
SYMGRP s name of the complementary group describing the symmetry
SIZE d 1 size of the modulation (reserved)
ORDER d 0 incommensurate use default (25)integration steps
<=0 opposite of number of integration steps
>0 reserved for commensurate
CENTER_X f 0.0 projection along X,Y, Z of the 4D centering vector
CENTER_Y f 0.0
CENTER_Z f 0.0
COMPO d 0 Not a composite structure
>0 Number of the first atom belonging to the second cell
COMPO_SYM s symmetry of the second cell. The reserved name SWAP_COMPO can be used, it exchanges the modulation and the symmetry along z between the two cells; in this case there is no complementary group to read.
COMPO_SYM4 s name of the complementary group of the second cell

Using explicit sets of lines.

This block of data is inserted only @CRYSTAL(SETS) > 0
It is requested to allow non regular profile dependence and for magnetic or modulated structures.
In others cases, jump to preferred orientations

Keys are scanned from SET_0 to SET_(@CRYSTAL(SETS)-1). For incommensurates or composites, the LOOP is requested, it allows to specify the lines to be used and the 4th indices. The value of the string must be consistent with known for the sudied case.
The ALLOW and DENY strings synthax remains the c ones knowing only "+-*/%" operators for integers and logical comparisons operators.
@SET_n key identifier
LINES d 0 generated lines (default)
>0 number of lines to read
ALLOW s string rules "ALLOW = 'H%2==0 && (K+2*L)%3==1'"
DENY s string rules "DENY = 'H%2==0 && (K+2*L)%3==1'"
LOOP s magnetic lines "LOOP='MAGNET'"
incomensurate base lines "LOOP='HKL,M=0'"
sattelites lines "LOOP='HKL,M=1,-1..'"
composites common lines "LOOP='HKL=0,M=0'"
1st layer lines "LOOP='HKL,M=0'"
2nd layer lines "LOOP='HKL=0,M'"
sattelites lines "LOOP='HKL,M=1,2..'"
AUTO d 0 pattern matching
1 allows to create intensity variable at cycle 1

Incommensurate wavevector.

The following block contains the incommensurate wavevector if requested.
@VECTOR key identifier of the variable block
x_vector $ component of the incommensurate modulation vector on the reciprocal super-cell
y_vector $
z_vector $

Preferred orientations blocks.

There are two possibilities to consider : eiher the prefered orientation function is the same for all experiments or it strongly depends on the experiment : as an example, consider what happens when you refine simultaneously a neutron transmission experiment together with an Xray reflection one. To distinguish these two cases, we use the value of nOrien=@PHASE(ORIEN) given in the header. If nOrien < 0, there are nOrien functions for each experiment, the effective number of functions being read will be eff_nOrien = abs(nOrien) * nManip else eff_nOrien = nOrien.

The following values are read only if nOrien is not zero.
# optional comments
c_Orien d the eff_nOrien reference number of the orientation functions used in describing the sample prefered orientation
... d
@ORIEN key identifier of the variable block
the following group is repeated eff_nOrien times.
coef $ coeficient of the function
theta $ angle of the polar axis of the function with z
phi $ angle of the projection of the polar axis on xy with x

Line Profile blocks.

The following values are read only if nProf=@PHASE(PROFIL) is not zero. If nProf < 0, there are nProf functions for each set of lines (incommensurate case,...)
# optional comments
c_Prof d the abs(nProf) reference number of the orientation functions used in line profile description
... d
# optional comments
if nProf < 0 the @PROF_n keys ares read nSets=@CRYSTAL(SETS) times else the @PROF key read (nProf > 0).
@PROFxx key identifier of the variable block
the following group is repeated abs(nProf) times.
Wl_C $ width of the Lorentz component /cos(theta)
Wg_C $ width of the Gauss component /cos(theta)
WlT $ width of the Lorentz component *tan(theta)
WgT $ width of the Gauss component *tan(theta)
theta $ angle of the polar axis of the function with z
phi $ angle of the projection of the polar axis on xy with x
# optional comments
@ASSYM key identifier of the variable block
# optional comments
the following group is repeated first MaxAssym=@MODES(ASSYM) times then abs(nProf) times.
A0 $ constant asymetry term
AT $ asymmetry term *tan(theta)

Atoms.

If the @ATOM or @COORD key are not found a 1.1 atom header or coordinates are assumed.

The following values are read only if nAtom=@CRYSTAL(ATOM) is not zero. The @COORD variables read for each atom depend on the value declared for case just after its name and chemical kind.
#optional comments
@ATOM key identifier of the variable block
NAMEc7name of the atom
CHEMc7 identification of the scattering coefficients
CASEd0default
+1 use and read anisotropic thermal factor (Beta ij)
+2 use and read magnetic moment
4 use and read modulation coefs order 1
8 orders 1, 2
12orders 1, 2, 3
16 orders 1 to 4
32 use and read anharmonic thermal factors Cijk
64 Dijkl
128 Eijklm
256 Fijklmn
512 free rotator (reserved for R is read as B22)
# optional comments
@COORD key identifier of the variable block
X $ coordinates
Y $
Z $
T $ occupancy (taking into account the site multiplicity)
the following variable is read only if case=@ATOM(CASE) is even
U $ isotropic thermal factor
the 6 following variables are read only if case=@ATOM(CASE) is odd
B11 $ anisotropic thermal factor "Beta" used in the thermal factor :
T = exp -(B11 h^2 + B22 k^2 + B33 l^2 + 2 (B12 hk + B13 hl + B23 kl))
in release up to 1.16, the thermal factor was written without the factor in the diagonal terms, this was modified to agree with the ITC, vol B page 18 formula 1.2.10.3b.
Normalized Uij are calculated on last cycle together with the equivalent isotropic factor
B22 $
B33 $
B12 $
B13 $
B23 $
the 3 following variables are read only if case=@ATOM(CASE) is declared as magnetic
Kx $
Ky $
Kz $

The following table is read only if the atom is declared as modulated (case == 4..17 ), 8 variables are read for each required order
@MODUL key identifier of the variable block
S_x $ Fourier coefficients of the expansion of the displacement
C_x $
S_y $
C_y $
S_z $
C_z $
S_t $ Fourier coefficients of the expansion of the occupancy
C_t $

The following table is read only if the atom is declared as anharmonic (case == 32, 33, 64, 65 ,96, 97....), such expansion can take some signification only for simple phases; the expansion can 3th, 4th, 5th or 6th order to allow its use one high symetrical sites, at the times one order only is allowed for each atom.
Gram-Charlier expansion is not normalized: the thermal factor To is replaced by
T=To(1 + i sum(i<=j<=k) Cijk Hi Hj Hk + sum(i<=j<=k<=l) Dijkl Hi Hj Hk Hl + i .... )

the following block is read only if case == 32 or 33
# optional comments
Order % kind of block
Chhh $ 9 unormalized 3th order coefs of Gram-Charlier expansion,
order just written not checked!
Ckkk $
Clll $
Chhk $
Chhl $
Ckkh $
Ckkhl $
Cllh $
Cllk $

the following block is read only if case == 64 or 65
# optional comments
Order % kind of block
Dhhhh $ 15 Unormalized 4th order coefs of Gram-Charlier expansion
Dkkkk $
Dllll $
.... $ Dhhhk, Dhhhl, Dkkkh, Dkkkl, Dlllh, Dlllk
Dhhkk, Dhhll, Dkkll, Dhhkl, Dkkhl, Dllhk

the following block is read only if case == 128 or 129
# optional comments
Order % kind of block
Ehhhhh $ 21 Unormalized 5th order coefs of Gram-Charlier expansion
order just written not checked!
Ekkkkk $
Elllll $
.... $ Ehhhhk, Ehhhhl, Ekkkkh, Ekkkkl, Ellllh, Ellllk
Ehhhkk, Ehhhll, Ekkkhh, Ekkkll, Elllhh, Elllkk
Ehhhkl, Ekkkhl, Elllhk
Ehhkkl, Ehhllk, Ekkllh

the following block is read only if case == 256 or 257
# optional comments
Order % kind of block
Fhhhhhh $ 28 Unormalized 6th order coefs of Gram-Charlier expansion
order just written not checked!
Fkkkkkk $
Fllllll $
.... $ Fhhhhhk, Fhhhhhl, Fkkkkkh, Fkkkkkl, Flllllh, Flllllk
Fhhhhkk, Fhhhhll, Fkkkkhh, Fkkkkll, Fllllhh, Fllllkk
Fhhhhkl, Fkkkkhl, Fllllhk
Fhhhkkk, Fhhhlll, Fkkklll
Fhhhkkl, Fhhhllk, Fkkkhhl,, Fkkkllh, Flllhhk, Flllkkh
Fhhkkll

Rigid Bodies.

The following blocks are read only if nBloc is not zero.
# optional comments
Order % kind of block
the lines are read for each block
X $ cell coordinates of the origine of an orthogonal repear which characterize the block
Y $
Y $
theta $ Eulerian angles of the block
phi $
psi $

Then for each block we have to read the number of atoms and their coordinates.
nAtom d number of atoms inside the block
nAtom atomic description as for independant atoms
name c7 name of the atom
kind c7 identification of the scattering coefficients
case d as for independant atoms
Order % kind of block
X $ coordinates on the orthogonal repear
Y $
Y $
T $ occupancy (taking into account the site multiplicity)
B $ isotropic thermal factor
.......... next atom inside the block

Hkl list and intensities.

The following block is read only if nb_Hkl is positive. In case of lines sets, several block may be read if @SET_n::LINES >0 n_Hkl non zero.
@LINES key identifier
h d Miller index of the line
k d
l d
m d Only for 4D modulated structures
Intens $ raw integrated intensity, only if needed

Even if there is no atom ( pattern matching), a symetry group is mandatory, one can use the trivial (P1) group in this case. The raw intensities can be taken out the hkl file using the observed values. However they are not calculated using the same assumptions : the hkl file contains sums of counts, the other values are refined using the mean square procedure. It is possible to copy in the .k files the values from the hkl file here using a small program (xhkl2k), in this case the block has to be identified using the specific comments #BEGINHKL2K and #ENDHKL2K. A procedure introduce in the 1.2 release allows xnd to minimise the generated intensities : in the sets the key-word AUTO with value 1, creates the variable at the end of cycle 0, they are then minimised at cycle 2...

Restraints.

If n_Bond in the phase header is positive, we read here restraints on the bond lengths and angles. This block can also be used to calculate these value giving it a neglectible weight in the refinement procedure. There is first a header to read and then the parameters
n_Dist d number of bond lengths restraint
n_Angle d number of angular restraint
the following value is read n_Bond times
Temp d value of the Temp parameter for which the restraints are calculated.

The following block is then read n_Dist times.
# optional comments
n_coord d number of bond using the following length
sigma f weigth for this length used in the penality function
Order % kind of block
Dist $ expected value of the bond length
n_coord times, the description of the bonds
Atom0 c7 name of the origin atom
Atom1 c7 name of the end atom
Sym s string defining the sym operation between the Atom1 and the position of its equivalent in the bond ( can be x,y,z)

A similar block is then read n_Angl times, calculations are possible but the refinement is not implemented.
# optional comments
n_coord d number of bonds using the following angle
sigma f weigth for this length
Order % kind of block
Angle $ expected value of the angle between bonds
n_coord times, the description of the bonds
Atom0 c7 name of the origin atom
Atom1 c7 name of the first end atom
Sym s string defining the sym operation for Atom1
Atom2 c7 name of the second end atom
Sym s string defining the sym operation for Atom2

Parasitic lines

This block is read only if NbHkl in the phase header specifies a parasitic crystalline phase :
( NbHkl = -2).
nProf d Number of functions used for describing the line profile
nDist d Number of independant Bragg distances to be read

If nProf is non zero, the line profile block is read using the same mode already defined for the known crystalline phases. However the following differences have to be considered : we can not define a polar axis and the function reference number has to be set to 0 (isotropic). Obviously the value of theta and phi can not be refined.

Then the lines can be read.
# optional comments
Order % 0 kind of the block
nDist group of Dist and Intens
Dist $ distance according to Bragg law
Intens $ raw integrated intensity

Quasi crystal lines

This block is read only if NbHkl in the phase header specifies a quasicrystalline crystalline phase :
( NbHkl = -3) with icosaedral or dodecaedral symetry. It allows only some pattern matching. The distances are calculated using the simplified formula:
Q = (n + m T)A*2 + l B*2
then in the icosaedral system A has to be multiplied by sqrt(2(2+Tau)), and l and B have to be set to zero
nProf d Number of functions used for describing the line profile
nDist d Number of independant Bragg distancesto be read
# optional comments
Order % kind of block
Center $ Relative sample position error
A $ the pseudo cell lengths
B $

If nProf is non zero, line profile block is read using the same mode defined for the known crystalline phases. However the following differences have to be considered. The polar axis definition is dummy and it is reasonnable to set to 0 (isotropic) the reference number of the function. However other values can be checked.

Then the lines can be read.
# optional comments
Order % 0 if nAtom is not zero, there is no intensities to read
% if nAtom is zero, kind of intensities expansion
nDist group of m, n, l
m d pseudo index of the line
n d
l d
Intens $ raw integrated intensity

Radial expension for background

This kind of phases do not use (and take into account) the instrumental widths.

This block is read only if NbHkl in the phase header specifies a simple radial distribution :
( NbHkl = -1).

According to Klug and Alexander, the intensity scattered by noncrystalline materials (eq.11-15) can be expressed as

I/N = Σm fm²(s) + 4 π fe²(s) Sum(0,inf) Σm(m) Km ΔGm(r) r² sin(sr)/sr dr
Such simple distribution can be used to model the background (D Simeone@saclay.cea.fr). In xnd, the above formula has sligthly be modified to
I/N = Σm [fm²(s) (1 + 4 π/fm(0) Sum(0,inf) ΔGm(r) r² sin(sr)/sr dr)]
or
I/N = Σm [fm²(s) (1 + 4 π/fm(0) Sum(0,inf) ΔGm(r) r sin(sr)/s dr)]
Then ΔG the difference between the electronic density function and its mean. In case of more than one atom, a common ΔG can be used.

Radial expension header

The @NONCRYST key is required.

@NONCRYSTkey identifier
ATOMd0Number of atoms to be read
DISTd0>1 Number of Distances for the ΔG functioncommon to all atoms
<1for each atom

Chemical composition.

@ATOM key identifier of the variable block
NAMEc7name of the atom
CHEMc7identification of the scattering coefficients
CASEd0must be zero

Each atom is followed by the @COORD block used to specify its amount (occupancy).

@COORD key identifier of the variable block
T$occupancy

Radial distribution.

#optional comments
Order%0 kind of the block
nDist group of Dist and Nr
Dist$distance
Nr$scattering power


xnd top Next file Previous file

$Id: xnd_rpha.html,v 1.4 2004/07/30 08:03:27 berar Exp $