Crystals Manual
Chapter 7: Structure Factors And Least Squares
- 7.1: Scope of the structure factors and least squares section
- 7.2: Refinement
- 7.3: Special positions
- 7.4: Atomic parameter refinement
- 7.5: Overall parameter refinement
- 7.6: Scale factor definitions
- 7.7: Structure factor calculation control list - LIST 23
- 7.8: Printing the SLFS control list
- 7.9: Special position constraints - \SPECIAL
- 7.10: Printing the special position information
- 7.11: Refinement directives - LIST 12
- 7.12: Obsolete Refinement directives
- 7.13: Defining the least squares matrix
- 7.14: Printing of LIST 12
- 7.15: Creating a null LIST 12
- 7.16: Processing of LIST 12
- 7.17: Restraint instructions - LIST 16
- 7.18: Parameter, atom, bond and angle specifications
- 7.19: General restraints
- 7.20: General restraint instructions
- 7.21: Debugging restraints
- 7.22: Printing the contents of LIST 16
- 7.23: Creating a null LIST 16
- 7.24: The special restraint instructions - LIST 17
- 7.25: Printing and punching LIST 17
- 7.26: Creating a null LIST 17
- 7.27: Checking restraints - CHECK
- 7.28: Weighting schemes for refinement- LIST 4
- 7.29: Weighting for refinement against Fo
- 7.30: Weighting for refinement against Fsq
- 7.31: Weights stored in LIST 6
- 7.32: Weighting schemes
- 7.33: Dunitz Seiler weighting - scheme 13
- 7.34: Chebychev weighting schemes 10, 11
- 7.35: Robust-resistant weighting schemes 14, 15
- 7.36: Statistical Weights, 16
- 7.37: Printing LIST 4
- 7.38: Weighting the reflections - WEIGHT
- 7.39: Reflection restriction list - LIST 28
- 7.40: Creating a null LIST 28
- 7.41: Printing the contents of LIST 28
- 7.42: Structure Factor Least Squares Calculations - \SFLS
- 7.43: Definitions
- 7.44: Unstable refinements
- 7.45: Sorting of LIST 6 for structure factor calculations
- 7.46: Processing of the refinement instructions
- 7.47: Analysis of residuals - \ANALYSE
- 7.48: Least squares absorption correction - \DIFABS
- 7.49: Internal Workings
- 7.50: Refinement parameter map - LIST 22
- 7.51: The least squares matrix - LIST 11
- 7.52: Printing the contents of LIST 11
- 7.53: Least squares shift list - LIST 24
- 7.54: Restraints in internal format - LIST 26
- 7.55: Structure factors for a group of trial models - \TRIAL
- 7.2: Refinement
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.1: Scope of the structure factors and least squares section
This section describes the necessary LISTS and explains how structure factor calculation and least squares refinement can be carried out.
Refinement Structure factor calculation control list - LIST 23 Special positions constraints - SPECIAL Input of refinement directives - LIST 12 Input of the restraint instructions - LIST 16 Weighting the reflections - LIST 4 Reflection restriction list - LIST 28 Checking the refinement and restraint directives - CHECK Structure factor least squares calculations - SFLS Systematic comparisons of Fo and Fc - ANALYSE Least squares absorption correction - DIFABS Internal workings Refinement parameter map - LIST 22 Input of the special restraint instructions - LIST 17 The least squares matrix - LIST 11 The least squares shift list - LIST 24 Restraints in internal format - LIST 26 Structure factors for a group of trial models - TRIAL
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.2: Refinement
Before a stucture factor-least squares calculation is performed, the following lists must exist in the .DSC file
LIST 1 Cell parameters LIST 2 Symmetry inforamation LIST 3 Scattering factors LIST 4 Weighting scheme LIST 5 Atomic and other refinable parameters LIST 6 Reflection data LIST 12 Refinement definitions LIST 16 Restraints LIST 17 Special position restraints LIST 23 Structure factor control list LIST 25 Twin laws, only for twinned refinements LIST 28 Reflection control list LISTS 12,16 and 17 are not required if structure factors are only going to be calculated.
The refinement directives specify which model parameters are to be refined, and the control directives control the terms in the minimisation function.
During structure factor least squares calculations, the partial derivatives with respect to each of the parameters is calculated for each structure factor and added into the 'normal equations'. This system of equations may be represented in matrix notation as :
A.x = b WHERE : A 'A' is a symmetric n*n matrix. an element 'A(i,j)' of 'A'is given by : A(i,j) = Sum [ w(k)*Q(i,k)*Q(j,k) ] over k. n number of parameters being refined. k indicates reflection number 'k'. w(k) weight of reflection k. Q(i,k) the partial differential of Fc(k) with respect to parameter i. x a column vector of order n, containing the shifts in the parameters. b also a column vector, an element of which is given by : b(i) = Sum [ w(k)*DF(k)*Q(i,k) ] over k. DF(k) delta for reflection k, given by : DF(k) = [Fo(k) - Fc(k)]
As the matrix A is symmetric, only (n(n+1))/2 of its elements need to be calculated and stored, together with a few house keeping items.
In some cases, because of either storage or time considerations, it is impractical to use the full normal matrix A . In this situation, it is necessary to use a 'block diagonal approximation' to the full matrix, in which interactions between parameters which are known not to be highly correlated are ignored. The effect of ignoring such interactions is to leave blank areas of the full matrix, related symmetrically across the diagonal, which do not need to be stored or accumulated. A common (but not very efficient or stable) example of this approach is to place one atom in each of the blocks used to approximate the normal matrix, so that each block is of order either 4 (x, y, z and u[iso]) or 9 (x, y, z and the anisotropic thermal parameters).
One of the main purposes of the refinement directives is to describe the areas of the matrix A that are to be calculated. If the matrix A is approximated by m blocks of order n(1), n(2),.....n(m), The total amount of memory needed to hold the matrix and vector is:
Elements = 12 + 4*m + Sum n(i)*(5 +n(i))/2, i = 1 to m Currently (December 1996) elements=1,048,576, giving up to 1440 parameters in a single block.
The formation of the blocks that are to be used to approximate the normal matrix A is controlled in the refinement directive list by a series of BLOCK cards, each of which contains the coordinates that are to be included in the newly specified block. Further control instructions for the current block may appear on subsequent cards until a new BLOCK card is found, when the formation of another block with its associated parameters is started.
Two special directives are provided to allow for the most common
cases required, full matrix refinement (a FULL card)
and one atom per block (a DIAGONAL card).
For all these cases only the parameters specified on the control cards
and the following cards are refined.
Correlations in Refinement
Highly correleated parameters MUST be refined together. Refining them in different cycles or different blocks will lead to an incorrect structure.
As a rough guide, the following groups of parameters are in general highly correlated and should be refined in the same block if possible :
1. Temperature factors, scale factors, the extinction parameter, the polarity parameter and the enantiopole parameter. 2. Coordinates of bonded atoms. 3. Non-orthogonal coordinates of the same atom. 4. U(11), U(22) and U(33) of the same atom.
If it is necessary to split the temperature factors and scale factor into different blocks, their interactions must not be neglected but must be allowed for by using a 'dummy overall isotropic temperature factor'. In this case, the scale factor and the dummy temperature factor must be put into a block of order 2 by themselves, and the program will make the appropriate corrections to all the temperature factors. This dummy temperature factor should not be confused with the 'overall temperature factor' which is a temperature factor that applies to all the atoms and is therefore just a convenience and requires no special treatment.
For futher details, Computing Methods in Crystallography, edited by J. S. Rollett, page 50, and Crystalographic Computing, ed Ahmed, 1970, page 174.
Although it is possible to input an overall temperature factor as one
of the overall parameters, it is not possible to use it under all
circumstances. The structure factor routines always take the
temperature factor of an individual atom as the value or values stored
for that atom. If the overall temperature factor is to be refined, the
system will ensure that the current value of the overall temperature
factor is inserted for the temperature factor of all the atoms. When the
new parameters are computed after the solution of the normal equations,
this substitution is again made, so that all the atoms have the same
overall isotropic temperature factor. However, if the overall temperature
factor is not refined, or no refinement is done, the individual temperature
factor for each atom will be used, and the overall temperature factor ignored.
CAUTION
It should be noted that if a set of anisotropic atoms are input with no
U[ISO] key and U[ISO] data, then the default value of 0.05 will be
inserted by the sfls routines. This implies that all such atoms are
isotropic, so that the anisotropic temperature factors will be set to
zero, and the calculation will proceed for isotropic atoms.
F or Fsq refinement?
Both type of refinement have been available in CRYSTALS since the early
70's. For most data sets, there is little difference between the two
correclty weighted refinements. One of the current reasons for choosing
Fsq refinement is 'so that -ve observations may be used'. Such a choice
is based on the misapprehension that the moduli in /Fo/ are the result
of taking the square root of Fsq. In fact, it indicates that the phase
cannot be observed experimentally. The experimental value of Fo takes
the sign of Fsq and the positive square root. With proper weighting,
both refinemets converge to the same minima
(Rollett, J.S., McKinlay,T.G. and Haigh, N.P., 1976, Crystallographic
Computing Techniques, pp 413-415, ed F.R.
Ahmed,Munksgaard; and Prince,E. 1994, Mathematical Techniques in
Crystalography and Materials Science, pp 124-125.Springer-Verlag).
However, the path to the
minima will be different, and there is some evidence that Fsq refinement
has less false minima. Using all data, including -ve observations,
increases the observation:variable ratio, but it is not evident that a
large number of essentially unobserved data will improve the refienemnt.
If the difference between F and Fsq refinement is significant, then the
analysis requires care and attention.
Hydrogen Atom Refinement
Several strategies are available for refining hydrogen atoms.
Which you use is probably a matter of taste.
Geometric re-placement
The instruction \HYDROGEN or \PERHYDRO is used to compute geometrically
suitable positions for the H atoms. These are not refined (either
they are left out of LIST 12, or a fixed with the FIX directive). After
a few cycles of refinement of the remaining parameters, they are deleted
(\EDIT <cr> SELECT TYPE NE H) and new positions computed. This ensures
optimal geometry, ensures that Fcalc is optimal, but avoids the cost of
including the deviatives in the normal matrix.
Riding hydrogens
As above, the hydrogens are placed geomtrically, but they are included
in the formation of the least squares matrix. Their derivatives are
added to those of the corresponding carbon, and a composite shift
computed for each carbon and its riding hydrogens. This preserves the
C-H vector, but can distort C-C-H angles. A cycle of refinement takes
almost twice as long as the re-placement method.
Restrained hydrogens
In this method, starting positions are hound for the hydrogen atoms
(either from Fourier maps of geometrically), and the hydrogen positions
are refined along with other atoms. The C-H distances and C-C-H angles
are restrained to acceptable values in LIST 16. This calculation is even
slower than the riding model, and would normally only be applied to an
atom of special significance ( e.g. a hydrogen bond H atom).
Free refinement
The hydrogen atom is treated like any other atom. Requires good data,
and may be applied to atoms of special interest.
Note that the different methods can be mixed in any way, with some
hydrogens placed geometrically, and others refined.
R-Factor and minimisation function definitions
Conventional R-value
This is defined as:
R = 100*Sum[//Fo/-/Fc//]/Sum[/Fo/]
The summation is over all the reflections accepted by LIST 28. This definition is used for both conventional and F-squared refinement.
Weighted R-value The Hamilton weighted R-value is defined as :
100*Sqrt(Sum[ w(i)*D'(i)*D'(i) ]/SUM[ w(i)*Fo'(i)*Fo'(i) ]) D' = Fo'-Fc' Fo' = Fo for normal refinement, Fsq for F-squared refinement. Fc' = Fc for normal refinement, Fc*Fc for F-squared refinement.
Minimisation function This is defined by :
MINFUNC = Sum[ w(i)*D(i)*D(i) ] D', Fo', Fc' defined above.
Residual The residual and weighted residual are defined by:
residual = Sum D'(i)**2 weighted residual = Sum w(i)*D'(i)**2
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.3: Special positions
The second major purpose of the refinement directives is to allow for atoms on special positions. For example, the atom at the Wyckoff site H in the space group P6(3)/mmc (no. 194) has coordinates X,2X,Z . In a least squares refinement, the X and Y coordinates of this atom must be set to the same variable, i.e. they become equivalent. The Instruction \SPECIAL can be used to generate the necessary constraints or restraints, and may be invoked automatically before structure factor calculations by setting the appropriate parameters in LIST 23 The user can do this manually via the refinement directives, LIST 12. The relationship is set up by an EQUIVALENCE card, which sets all the parameters on the card to the same least squares parameter. In this example, it is also necessary to alter the contribution of the Y coordinates to the normal matrix by multiplying the derivatives by 2. This facility is provided by the WEIGHT card, which should not be confused with the weight ascribed to each reflection in the refinement. For a full treatment of atoms on special positions, see Crystallographic Computing, edited by F. R. Ahmed, page 187, or Computing Methods in Crystallography, page 51.
Similar relationships also hold for the anisotropic temperature factors.
The relationships between the variable parameters in a refinement may also be defined by RESTRAINTS. These are held in LIST 17 (see below), and are particularly usefull if a complex matrix has been defined (e.g. using RIDE, LINK, EQUIVALENCE, WEIGHT, BLOCK, GROUP or COMBINE).
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.4: Atomic parameter refinement
Atomic parameters may be specified in three different ways. Firstly, there is an IMPLICIT definition, in which parameters for all the atoms are specified simply by giving the appropriate key or keys.
Hydrogen atoms are automatically excluded from implicit definitions.
Secondly, there is an EXPLICIT definition, in which the parameters of one atom are specified by giving the atom name followed by the appropriate keys.
Lastly, the parameters for a continuous group of atoms in LIST 5 may be
specified by an UNTIL sequence.
This type of parameter definition is taken to be implicit.
KEY[1] . . . KEY[K]
parameters defined by the keys KEY[1] . . KEY[K]
are included (or excluded) for all the atoms in LIST 5,
e.g. X U[ISO] implies that the 'X' and 'U[ISO]'
parameters of all the atoms in the current LIST 5
will be used. This is an implicit definition,
since parameters for
all the atoms in LIST 5 are specified simply by
giving the appropiate key.
TYPE(SERIAL,KEY[1], . . ,KEY[K])
parameters defined by the keys KEY[1] . . . KEY[K]
are included (or excluded) for the atom of type 'TYPE' with
the serial number 'SERIAL', e.g. C(21,X,U[ISO])
implies that the 'X' and 'U[ISO]' parameters of
atom C(21) will be used.
This is an explicit definition.
TYPE1(SERIAL1,KEY[1], . ,KEY[K]) UNTIL TYPE2(SERIAL2)
the parameters defined by the keys KEY[1] . . KEY[K]
are included (or excluded) for atoms in LIST 5 starting at the
atom with type 'TYPE1' and serial 'SERIAL1', and
finishing with the atom of type 'TYPE2' and
serial 'SERIAL2'.
This definition is implicit,
since the number of atoms
included by this definition depends on the number
and order of the atoms in LIST 5.
Parameter definitions of all three types may appear on any card in any desired combination.
EXAMPLE LIST 5 contains FE(1) C(1) C(2) C(3) C(4) C(5) C(6) N(1) \LIST 12 BLOCK X'S C(1,U[ISO]) UNTIL C(6) FE(1,U'S) END This refines x,y,z of all atoms, u[11]...u[12] of iron, and u[iso] of the other atoms.
The following parameter keys may be given in an atom definition :
OCC X Y Z U[ISO] SIZE DECLINAT AZIMUTH U[11] U[22] U[33] U[23] U[13] U[12] X'S Indicating X,Y,Z U'S Indicating U[11],U[22],U[33],U[23],U[13],U[12] UII'S Indicating U[11],U[22],U[33] UIJ'S Indicating U[23],U[13],U[12]
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.5: Overall parameter refinement
Overall parameters, apart from the layer scale factors and the element scale factors, are specified simply by their keys. Such a specification is considered to be an explicit definition. The following overall parameter keys may be given :
SCALE OU[ISO] DU[ISO] POLARITY ENANTIO EXTPARAM
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.6: Scale factor definitions
The OVERALL scale factor is always applied to the structure factor calculation, though it need not necessarily be refined. LAYER and BATCH scale factors are applied only if indicated in LIST 23, and ELEMENT scales only if the crystals is marked as being twinned in LIST 13. Note that all of these scale factors can be expected to be correlated with each other, and the overall parameters.
The layer scale factors, batch scale factors
and the element scale factors may be
given in three different ways, all of which are
considered to be explicit :
LAYER(M), BATCH(M) OR ELEMENT(M)
this indicates only scale factor 'M' of the specified type.
'M' must be in the correct range, which for 'N' layer scale factors
is 0 to 'N-1', and for 'N' element scale factors is
1 to N.
LAYER(P) UNTIL LAYER(Q) OR BATCH(P) .....
this indicates all the scale factors of the specified type from
'P' to 'Q'.
'P' and 'Q' must be in the correct range, as defined for 'M'
in the previous section.
LAYER SCALES, BATCH SCALES OR ELEMENT SCALES
this indicates all the scale factors of the given type.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.7: Structure factor calculation control list - LIST 23
\LIST 23 MODIFY ANOM= EXTINCT= LAYERSCALE= BATCHSCALE= PARTIAL= UPDATE= ENANTIO= MINIMISE NSINGULARITY= F-SQUARED= REFLECTIONS= RESTRAIN= REFINE SPECIAL= UPDATE= TOLERANCE= ALLCYCLES MIN-R= MAX-R= *-WR= *-SUMSQ= *-MINFUNC= U[MIN]= INTERCYCLE MIN-DR= MAX-DR= *-DWR= *-DSUMSQ= *-DMINFUNC= END
\LIST 23 MODIFY EXTINCTION=YES, ANOMALOUS=YES END
This LIST controls the structure factor calculation. The default calculation involves the minimum of computation (atomic parameters and overall sale factor). More extensive calculations have to be indicated by entries in this list. The presence of a parameter in the parameter list (LIST 5) does not automatically mean that it will be included in the structure factor calculation.
This list also controls the treatment of atoms on special positions, the use of F or Fsq, and the use of restraints.
The presence of information in the DSC file does
not ensure that it will be used by the structure factor
routines. Thus, the operations corresponding to
RESTRAIN , ANOMALOUS , EXTINCTION , PARTIAL , BATCHSCALES,
LAYERSCALES and ENANTIO are not performed unless they are explicitly
asked for in a LIST 23.
\LIST 23
MODIFY ANOM= EXTINCT= LAYERSCALE= BATCHSCALE= PARTIAL= UPDATE= ENANTIO=
This directive controls modifications that can be applied to Fo
and Fc.
ANOMALOUS=
NO - Default value YES
If ANOMALOUS is YES , the imaginary part of the anomalous dispersion correction, input in LIST 3, will be included in the s.f.l.s. calculations. For computational efficiency, it is recommended only to use the value YES towards the end of a refinement. Note that the value YES should be used even for centro-symmetric crystals if they contain a heavy atom.
EXTINCTION=
NO - Default value YES
If EXTINCTION is YES , the calculated structure factors are modified to allow for the effects of extinction by the method of A. C. Larson. See Atomic and Structural Parameters for the definition.
LAYERSCALES=
BATCHSCALES= SCALE keys have two alternatives:
NO - Default value YES
If either SCALE key is YES , the corresponding scale factors stored in LIST 5 are applied to the reflection data. If this parameter is omitted, the scale factors are not applied, even if they exist in LIST 5
PARTIAL=
NO - Default value YES
If PARTIAL is YES , the fixed partial contributions stored in LIST 6 are added in during the calculation of Fc and the phase. The partial contributions must already be present in LIST 6, and should have the keys A-PART and B-PART . The atoms which have contributed to the partial terms should be omitted from LIST 5 whenever PARTIAL is YES .
UPDATE=
NO - Default value YES
If UPDATE is YES , the contributions of the atoms to A and B are output to LIST 6 with the keys A-PART and B-PART . If UPDATE is NO , its default value, the partial contributions are not changed during structure factor calculations. This instruction requires that LIST 6 contain the keys A-PART and B-PART.
ENANTIO=
NO - Default value YES
If ENANTIO is YES, then Fc ic computed with
Fc = SQRT( (1-x)*F(h)**2 + x*F(-h)**2 )
Where x is the enantiopole parameter from LIST 5. Once the correct enantiomer has been established, set this parameter back to NO.
MINIMISE= NSINGULARITY= F-SQUARED= REFLECTIONS= RESTRAIN=
This directive controls modifications made to the minimisation
function during s.f.l.s.
NSINGULARITY=
The default value is zero.
If this parameter is omitted, any singularities discovered during the
inversion of the normal matrix will cause the program to
terminate after the current cycle of refinement.
If NSINGULARITY is greater than zero, it represents the number of
singularities allowed before the program will terminate.
F-SQUARED=
NO - Default value YES
If F-SQUARED is NO, the traditional minimisation function is:
Minimisation function = Sum[ w*(Fo - Fc)**2 ]
If F-SQUARED is YES , the minimisation function is:
Minimisation function = Sum[ w*(Fo**2 - Fc**2)**2 ]
If F-SQUARED is YES , the weights given by w in the above expression are assumed to be on the correct scale and to refer to Fsq rather than Fo's. Note that refinement can be against Fo or Fsq independent of whether the input was Fo or Fsq.
REFLECTIONS= REFLECTIONS has two alternatives:
NO YES - Default value
If REFLECTIONS is YES, the reflections stored in LIST 6 (and subject to the checks in LIST 28) are used for computing structure factors and the derivatives added into the matrix if required.
If REFLECTIONS is NO, LIST 6 is not used, whether it is
present or not. This setting could be used for refinement against restraints
only. See the section DLS, 'Distance Least Squares'.
RESTRAIN=
RESTRAIN has two alternatives:
NO YES - Default value
If RESTRAIN is YES, the restraints in LIST 16 and LIST 17 are added into the normal equations.
REFINE SPECIAL= UPDATE= TOLERANCE= This directive controls the refinement of atoms on special positions and the control of floating origins. The default action for atoms is to try to constrain them. However, if an atom is already the subject of a user defined constraint, the symmetry requirements are imposed by restraints. The site occupancy, positional and thermal parameters can be set to satisfy the site symmetry. The site occupancy is indepentant of any chemical or physical partial occupancy by an atom.
Floating origins are controlled by
restraining the center of gravity of the structure along the axis to remain
fixed.
SPECIAL=
X SPECIAL = NONE No action = TEST Displays but does not store any restrictions = ORIGIN Tests for and restrains floating origins = RESTRAIN Creates and stores restraints = CONSTRAIN (Default) Attempt to create constraints
UPDATE=
UPDATE = NONE Nothing updated = OCCUPATION Site occupancies modified = PARAMETERS (Default) All adjustable parameters modified
REWEIGHT= Not currently used
GROUPS=
NO - Default value YES
GROUPS is automatically set to YES if LIST 12 contains any GROUP directives. It forces the group derivatives to be recalculated between each cycle or refinement. Not currently used
COMPOSITE= Not currently used
TOLERANCE= Atoms within 'TOLERANCE' Angstrom of a symmetry equivalent atom are regarded as being on a special position. The default is 0.6A. For high symmetry spacegroups with disorder, the value might need reducing if multiplicities are incorrectly calculated.
ALLCYCLES MIN-R= MAX-R= *-WR= *-SUMSQ= *-MINFUNC= U[MIN]= This directive controls conditions that must be satisfied after each cycle if refinement is to continue. It can be used to detect converged or 'blown-up' refinements. The heading has been abbreviated, the * representing MIN and MAX .
MIN-R=, MAX-R= The normal R-value must lie between MIN-R and MAX-R, otherwise refinement is terminated after the current cycle. The default values for MIN-R and MAX-R are 0.0 and 100.0 percent.
MIN-WR MAX-WR The Hamilton weighted R-VALUE must lie between MIN-WR and MAX-WR, otherwise the refinement is terminated after the current cycle. The default values for MIN-WR and MAX-WR are 0.0 and 100.0 percent respectively.
MIN-SUMSQ=, MAX-SUMSQ= The sum of the squares of the ratios of the shifts to the e.s.d.'s must lie between MIN-SUMSQ and MAX-SUMSQ, otherwise the refinement is terminated after the current cycle. The sum of the squares of the ratios is defined as :
Sum[ (shift/e.s.d.)**2 ] over all refined parameters.
The default values of MIN-SUMSQ and MAX-SUMSQ are 0.0 and 10000.0, .
MIN-MINFUNC= MAX-MINFUNC= The minimisation function, on the scale of Fo, must lie between MIN-MINFUNC and MAX-MINFUNC, otherwise the refinement is terminated after the current cycle. The default values of MIN-MINFUNC and MAX-MINFUNC are 0.0 and 1000000000000000.0.
U[MIN]= If Uiso or a principal component of the adp of any atom is less than U[MIN] , then a warning is issued and the idp reset to u[min], or the components of the adp reset to MAX(Uii,U[MIN]) or MAX(Uij,0.01U[min]). If this parameter is omitted, a default value of 0.0 is assumed.
INTERCYCLE MIN-DR= MAX-DR= *-DWR= *-DSUMSQ= *-DMINFUNC=
This directive refers to conditions that must be obeyed before the
next cycle of least squares refinement can proceed. (A quantity
undergoes a positive change if OLD - NEW is positive, not
NEW - OLD ). The definitions are similar to ALLCYCLES.
The abbreviation '*' represents MIN and MAX .
MIN-DR= MAX-DR=
Between two cycles of least squares, the change in
R-VALUE must lie between MIN-DR and MAX-DR, otherwise
the refinement is terminated.
The default values are 0.0 and 100.0.
MIN-DWR MAX-DWR
The default values are 0.0 and 100.0.
MIN-DSUMSQ MAX-DSUMSQ
The default values are 0.0 and 10000.0.
MIN-DMINFUNC MAX-DMINFUNC
The default values are 0.0 and 1000000000000000.0.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.8: Printing the SLFS control list
\PRINT 23
This prints LIST 23. There is no instruction for punching LIST 23.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.9: Special position constraints - \SPECIAL
\SPECIAL ACTION= UPDATE= TOLERANCE=
END \SPECIAL END
\SPECIAL can be issued at any time to get information about atoms on special positions. However, normally it is called automatically by setting the SPECIAL keyword in LIST 23.
Atoms on special positions may be constrained through LIST 12, or restrained through LIST 17. CRYSTALS will attempt to generate the special position conditions when requested via the SPECIAL command, and also update coordinates of atoms on special positions.
If the RESTRAIN option is chosen, then the special conditions are imposed on the refinement by restraints, which are generated without reference to what is being specified in LIST 12, the refined parameter definition list.
If the CONSTRAIN option is chosen, then CRYSTALS examines the site restrictions as it processes LIST 12. If an atom on a special position is being refined without any user defined conditions (EQUIVALENCE, RIDE, LINK, COMBINE, GROUP, WEIGHT), and the related coordinates are in the same matrix block, then the internal representation of LIST 12 (LIST 22) is dynamically modified to include the necessary constraints. If the atom is already the object of a constraint, then LIST 12 cannot safely be modified, and the special condition is applied as a restraint. In either case, CRYSTALS warns the user about what is being done.
The origins of polar space groups are always fixed by restraints, since this produces a better conditioned matrix than one from just fixing atomic coordinates.
The UPDATE directive controls whether parameters of atoms near special positions will be modified to make them exact. The routine will update just the site occupancies, or the occupancies and the other variable parameters. The crystallographic site occupancy is held temporarily in the key SPARE, leaving the key OCC available for a refinable chemical occupancy. Take care if an atom refines onto (or off) a special position.
The function SPECIAL is actioned automatically for every round of least
squares refinement. Its action is then determined by values held in LIST 23.
\SPECIAL ACTION= UPDATE= TOLERANCE=
ACTION
ACTION = NONE No action = TEST Displays but does not store any restrictions = ORIGIN Tests for and restrains floating origins = RESTRAIN Creates and store a LIST 17 = CONSTRAIN Attempt to create constraints. = LIST23 (Default) Takes the action defined in LIST 23
UPDATE
UPDATE = NONE Nothing updated = OCCUPATION Site occupancies modified = PARAMETERS All adjustable parameters modified = LIST23 (Default) Takes action defined in LIST 23
TOLERANCE
TOLERANCE is the maximum separation, in Angstrom, between nominally equivalent sites. The default is 0.6A.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.10: Printing the special position information
Force the atom parameter list (LIST 5) to be updated and send it to the PCH file.
\SPECIAL TEST PARAMETER END \PUNCH 5 (to get a listing with 5 decimal places) END
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.11: Refinement directives - LIST 12
This list defines the parameters to be refined in the least squares calculation, and specifies relationships between the refinable parameters.
\LIST 12 BLOCK PARAMETERS ... FIX PARAMETERS ... EQUIVALENCE PARAMETERS ... RIDE ATOM_PARAMETER SPECIFICATIONS ... LINK PARAMETER_LIST AND PARAMETER_LIST AND PARAMETER_LIST. COMBINE PARAMETERS_LIST AND PARAMETERS_LIST GROUP ATOM SPECIFICATIONS WEIGHT F1 PARAMETERS F2 PARAMETERS ... FULL PARAMETERS DIAGONAL PARAMETERS PLUS PARAMETERS END
\LIST 12 BLOCK SCALE X'S U'S END
\LIST 12
BLOCK PARAMETERS This directive defines the start of a new matrix block. Any parameters that come on this card and any cards until another BLOCK card are put into the same matrix block. If only one BLOCK card is given, then the refinement is 'full matrix'.
FIX PARAMETERS The specified parameters are not to be refined.
EQUIVALENCE PARAMETERS Sets the given parameters to a single least squares parameter (see the examples).
RIDE ATOM_PARAMETER SPECIFICATIONS This instruction links corresponding parameters for all the atoms specified on the card. The parameters specified for the first atom given on this card are each assigned to individual least squares parameters, and parameters for subsequent atoms are EQUIVALENCED, in the order given, to the corresponding least squares parameter. Only explicit atom parameters can be used on this card. Usually, the same parameter keys will be given in the same order for all atoms referenced, though this may not be true for high symmetry space groups.
LINK PARAMETER_LIST AND PARAMETER_LIST ( AND PARAMETER_LIST.) Links the parameters defined after the AND with those specified in the first parameter list. A least squares parameter is assigned to each physical parameter in the first list. Physical parameters specified in the second (and subsequent if present) lists are then assigned IN THE ORDER GIVEN to these least squares parameters. There must be the same number of parameters in each parameter list. The parameter list may contain more than one atom, and is terminated by the 'AND' or the end of the directive. Overall and implicit parameters may be given.
COMBINE PARAMETERS_1 AND PARAMETERS_2 Combines the parameters defined before the AND with those defined after. Physical parameters are taken pairwise in the order given from parameter list 1 and 2 and two least-squares parameters defined such that one is the sum and the other is the difference of the physical parameters.
x' = x1 + x2 x" = x1 - x2 where x1 and x2 are physical parameters, and x' and x" are least squares parameters.
Such a re-parameterisation is useful for dealing with certain sorts of ill- conditioning, such as that due to pseudo-symmetry, of the normal matrix (see Edward Prince, Mathematical Techniques in Crystallography and Material Science, 1982, Springer-Verlag, page 113). NOTE that only one AND can be given.
GROUP ATOM SPECIFICATIONS The positional coordinates of the atoms given in the ATOM SPECIFICATIONS are refined as a rigid group. Parameter specifications MUST NOT be included. The first atom specified is taken as the pivot atom of the group. All atoms in the group may be the subject of restraints to atoms in other parts of the structure, or in other groups. Use LINK, RIDE or EQUIVALENCE to build a suitable model for the temperature factors.
Because of the linearisation algorithm used, some distortion of the group
will occur if there are large parameter shifts. Use REGULARISE to re-form it.
WEIGHT w1 PARAMETERS w2 PARAMETERS . .
Before the contributions of the specified parameters
are included in the normal equations, they are
multiplied by the number wI . Similarly ,
when the normal equations are solved, the shifts
and e.s.d.'s are multiplied by the same wI.
The default value of wI is 1.0.
The parameters are multiplied by the value of
wI that precedes them (see the examples).
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.12: Obsolete Refinement directives
The following directives may be removed in some future release.
FULL PARAMETERS The parameters on the directive card plus any other parameters defined on subsequent cards are to be included in a full matrix refinement. The scale factor is automatically included, while the dummy overall isotropic temperature factor is fixed. This is equivalent to:
BLOCK SCALE PARAMETERS
PLUS PARAMETERS
The specified parameters are to be refined, and
they will be placed in the current block of
the normal matrix. This is equivalent to:
CONTINUE PARAMETERS after the BLOCK card.
DIAGONAL PARAMETERS
All the specified parameters in the LIST 12 are
included in a block diagonal approximation to
the full matrix, based on one block for each atom.
Both the SCALE FACTOR and the DUMMY OVERALL ISOTROPIC
TEMPERATURE FACTOR are automatically included.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.13: Defining the least squares matrix
Parameters may be refered to either implicitly, by just giving the parameter name (in which case that parameter is referenced for all atoms), or explicitly by specifying the parameter for an atom or group of atoms. All implicit specifications ignore H atoms.
e.g. IMPLICIT: x, u's EXPLICIT C(1,X), O(1,U'S) UNTIL O(14)
A parameter may not be referenced more than once either explicitly or implicitly. A parameter may be referenced both implicitly and explicitly, in which case the explicit reference takes precedence.
e.g. BLOCK x's (implicit reference) FIX Pb(1,y) (explicit reference) This establishes the refinement of z,y,z for all atoms except Pb(1), for which only x and z are refined.
EXAMPLES : 1. BLOCK SCALE X FIX C(1,X) ALLOWED 2. BLOCK SCALE X FIX X NOT ALLOWED
The refinement directives are read and stored on the disc. Before the structure factor least squares routines can use the information in LIST 12, it is validated against LIST 5 and stored symbolically as a LIST 22. This is done automatically by the SFLS routines, but the user can force the verification of LIST 12 by issuing the instruction \LIST 22.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.14: Printing of LIST 12
LIST 12 may be listed with either
\PRINT 12
or
\SUMMARY 12
LIST 12 may be punched with
\PUNCH 12
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.15: Creating a null LIST 12
A null LIST 12, containing no refinement instructions, may be created with
\CLEAR 12
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.16: Processing of LIST 12
LIST 12 is processed to greate a LIST 22 with
\LIST 22
Examples. 1. Full matrix isotropic refinement of a structure without H atoms \LIST 12 BLOCK SCALE X'S U[ISO] END 2. Full matrix anisotropic of a structure with C(25) as the last non-hydrogen, not refining the H atoms. \LIST 12 BLOCK SCALE FIRST(X'S,U'S) UNTIL C(25) END 3. Refine all positions, aniso non-H, iso H atoms \LIST 12 BLOCK SCALE X'S CONTINUE FIRST(U'S) UNTIL C(25) CONTINUE H(1,U[ISO]) UNTIL LAST END 4. Ride H(1) positions on C(21) positions, etc. There are 2 H on C(25) \LIST 12 BLOCK SCALE X'S CONTINUE FIRST(U'S) UNTIL C(25) CONTINUE H(1,U[ISO]) UNTIL LAST RIDE C(21,X'S) H(1,X'S) RIDE C(22,X'S) H(2,X'S) RIDE C(23,X'S) H(3,X'S) RIDE C(24,X'S) H(4,X'S) RIDE C(25,X'S) H(51,X'S) H(52,X'S) END 5. A fragment is distributed over 2 sites. The fragments are C(100) C(101) O(102) C(103) and C(200) C(201) O(202) C(203) \LIST 12 BLOCK SCALE X'S ... ... EQUIVALENCE C(100,OCC) UNTIL C(103) C(200,OCC) UNTIL C(203) WEIGHT -1 C(200,OCC) UNTIL C(203) END
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.17: Restraint instructions - LIST 16
This list defines the restraint to be used as supplemental observations.
\LIST 16 DISTANCES VALUE, E.S.D= BOND1, BOND2 DISTANCES VALUE, E.S.D= MEAN BOND1, BOND2 DISTANCES VALUE, E.S.D= DIFFERENCE BOND1, BOND2 NONBONDED VALUE, POWERFACTOR= BOND1, BOND2 ANGLES VALUE, E.S.D= ANGLE1, ANGLE2 ANGLES VALUE, E.S.D= MEAN ANGLE1, ANGLE2 ANGLES VALUE, E.S.D= DIFFERENCE ANGLE1, ANGLE2 VIBRATIONS VALUE, E.S.D= BOND1, BOND2 U(IJ)'S VALUE, E.S.D= BOND1, BOND2 PLANAR E.S.D FOR 'ATOM SPECIFICATIONS' LIMIT E.S.D FOR 'PARAMETER SPECIFICATIONS' ORIGIN E.S.D FOR 'PARAMETER SPECIFICATIONS' SUM E.S.D FOR 'PARAMETER SPECIFICATIONS' AVERAGE E.S.D FOR 'PARAMETER SPECIFICATIONS' RESTRAIN VALUE, E.S.D= TEXT DEFINE NAME = TEXT COMPILER EXECUTION END
\LIST 16 DIST 1.39 , .01 = C(1) to C(2), C(2) to C(3), C(3) to C(4) DIST 0.0 , .01 = MEAN C(1) to C(2), C(2) to C(3), C(3) to C(4) VIBR 0.0 , .01 = C(1) to C(2), C(2) to C(3), C(3) to C(4) U(IJ) 0.0 , .02 = C(1) to C(2), C(2) to C(3), C(3) to C(4) PLANAR C(1) until C(6) SUM K(1,OCC), K(2,OCC) K(3,OCC) SUM ELEMENT SCALES (twin element scale factors) LIMIT U[11] U[22] U[33] END
The restraints that can be applied under this system are of a type originally described by J. Waser, Acta Cryst. 1963, 16, 1091. A good summary of the present facilities and aims is provided by J.S. Rollett in Crystallographic Computing, p170.
In this method of restraints, the user provides a set of physical or chemical restraints that are to be applied to the proposed model. These restraints are usually based upon observations of similar compounds (for example, bond lengths or bond angles) or upon known physical laws (for example, the difference in mean square displacement of two atoms along the bond that joins them). These restraints are not rigidly applied to the model, but each restraint has associated with it an e.s.d., which is used to calculate a weight so that the restraint can then be added into the normal equations. (The e.s.d.'s are provided on an absolute scale, and rescaled by the program onto the same scale as the xray data). In this way, the importance of the restraints, which are treated as extra observations, can be varied with respect to the importance of the X-ray data. If the structure is required to adhere closely to the proposed model, the restraints are given high weights (i.e. small e.s.d.'s) otherwise they can be given smaller weights.
If, at the end of a refinement, the restraints are not compatible with the Xray data, this is shown by a discrepancy between the requested value for the restraint, and that computed from the refine parameters. If this is found, the validity of the restraints that have been imposed should be carefully checked.
In order that the restraint routines should be completely general, each atom that is part of a restraint can be modified by a set of symmetry operators before the restraint is applied. (This is vital for molecules that lie across a symmetry element, as all the atoms that constitute the molecule are not present in LIST 5).
If a structure uses symmetry related atoms to form bonds, the Instruction \DISTANCE with OUTPUT PUNCH=RESTRAIN can be used to set up a proforma restraints list, including symmetry codes. The distances and e.s.ds will have to be edited to the correct target values. Use appropriate values on the SELECT, INCLUDE and EXCLUDE directives for DISTANCE to tailor the generated list.
Note that restraints may be used without
diffraction data, see the chapter 'Distance Least Squares' for examples.
NOTE
The restraint directives are read and
stored on the disc.
Before the structure factor least squares routines
can use the information in LIST 16, it is validated against LIST 5 and stored
symbolically as a LIST 26.
This is done automatically by the SFLS routines, but
the user can force the verification of LIST 16 by issuing the instruction
\CHECK (see later).
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.18: Parameter, atom, bond and angle specifications
Composite parameter specifications are not permitted ( e.g. U's), atom specifications are as in Chapter 4.
Two atoms that are bonded together are defined in the following way :
atom1 to atom2,
'atom1' and 'atom2' are standard atom specifications as described in chapter 4, and are separated from any other text on the line by at least one space. If there is more than one bond specification on a line, it may be separated from another by either a space or a comma. The 'TO' is mandatory, and is terminated by one or more spaces.
The definition of an angle is an extension of the definition of a bond:
atom1 to atom2 to atom3,
The angle is defined as the angle subtended at atom2 by atom1 and atom3. The restraints routines apply all the required symmetry if specified in an atom definition, while still conserving the partial derivatives in their correct form.
\LIST 16
The restraints routines regard all continuation cards as part of the original directive card, so that the column of a character on a continuation card will have had '80*n' added to it, where 'n' is the number of cards between the current continuation card and the start of the instruction. The ',', '=' signs and separator 'MEAN' are mandatory if shown in the definition.
DISTANCES VALUE, E.S.D. = BOND1, BOND2, . . . . . The bonds specified after the '=' sign are restrained to have a length of 'VALUE', with an e.s.d. of 'E.S.D.'.
DISTANCES VALUE, E.S.D. = MEAN BOND1, BOND2, . . . . Initially the restraints routines calculate the 'MEAN' value of all the bonds specified on the instruction card. Each of the bonds on the card is then restrained to be equal to 'MEAN' + 'VALUE', with an e.s.d. of 'E.S.D.'. The 'DELTA' used in the right hand sides of the normal equations is defined by :
DELTA = MEAN + VALUE - BOND CALCULATED.
DISTANCES VALUE, E.S.D. = DIFFERENCE BOND1, BOND2, . . Each of the bonds on the instruction card is restrained to be equal to 'VALUE' plus the length of each of the bonds that follow it on the instruction card. The computed value of 'DELTA' used in the right hand sides of the normal equations is thus given by :
DELTA = VALUE + BOND(N) - BOND(M)
Where BOND(N) occurs after BOND(M) on the instruction card.
Each such restraint is added into the normal equations with an e.s.d. Of E.S.D. . However, as each bond is restrained to each of the bonds that follow it, (N*(N-1))/2 separate restraints are generated. Many of these restraints involve the same bond lengths and are thus not independent. To be strictly accurate, a non-diagonal weight matrix should be used with this restraint but such a facility is not available.
The letters DIFFERENCE are terminated
by one or more spaces and may be abbreviated to
DIFF.
NONBODED VALUE, POWERFACTOR =, BOND1, BOND2, . . . . .
This restraint is similar to the 'DISTANCE' restraint in that the pairs of
atoms defining the bond are restrained to be at the 'VALUE' distance appart.
However, the weight to be given to the restraint is computed from the
difference between the observed and the requested contact distance using the
expression:
weight = 10000*(requested/observed)**(powerfactor*12)
When the observed equals the requested distance,
the weight corresponds to an e.s.d.
of .01. If the requested is less than the observed, the weight is reduced
slowly as a function of the discrepancy. If the requested is greater than the
observed, the weight rises rapidly with discrepancy. The function is like the
repulsive part of a 6-12 energy expression, having greatest effect on
anomalously short contacts. Powerfactors of between 1 and 4 seem to be
suitable.
ANGLES VALUE, E.S.D. = ANGLE1, ANGLE2, . . . .
Each of the angles given on the instruction
card is restrained to a value of 'VALUE',
with an e.s.d. of 'E.S.D.'. The angles must
be in degrees.
ANGLES VALUE, E.S.D. = MEAN ANGLE1, ANGLE2, . . . . .
This is the analagous to the MEAN distance restaint,
except that the mean value is computed for
the specified angles and each of the angles
is then restrained to 'MEAN' + 'VALUE',
with an e.s.d. of 'E.S.D.'.
The 'DELTA' values and the syntax rules are all the
same as for the equivalent distance restraint.
ANGLES VALUE, E.S.D. = DIFFERENCE ANGLE1, ANGLE2, . .
This restraint is analogous to the
DIFFERENCE restraint for bond lengths.
Each of the angles on the instruction card is
restrained to be equal to 'VALUE' plus each of
the angles after it on the instruction card.
Although each such restraint is applied with
an e.s.d. of 'E.S.D.', the same reservations about
the validity of the weighting scheme exist
here as for the equivalent distance restraint.
VIBRATIONS VALUE, E.S.D. = BOND1, BOND2, . . . .
The difference in mean square displacement
along the bond direction
of the two atoms that form the bond is
restrained to be 'VALUE', with an e.s.d. of
'E.S.D.'. In general, 'VALUE' is assumed to be
zero, while the e.s.d. reflects the maximum
discrepancy in m.s.d. that would be expected for
the type of bond being considered.
If either or both of the given atoms is
isotropic, the program will convert the m.s.d.
into the appropriate form and calculate the
derivatives for the isotropic atom correctly.
Note that the atoms defining a 'bond' need not actually be bonded, but
merely serve to define a direction. For really bonded atoms, try an esd
of .002; for 1-3 atoms or diagonals of phenyl groups, try .005.
U(IJ)'S VALUE, E.S.D. =, BOND1, BOND2, . . . .
This is a similarity restraint, and may be used to ensure that the
vibration parameters of adjacent atoms are similar, as must be the case
even for flexible systems. The esd used must be softer than for a
VIBRATION restraint, typically 0.01.
In this restraint, the difference
between corresponding u(ii) and u(ij) terms
is restrained to be 'VALUE', with an
e.s.d. of 'E.S.D.'.
Each bond that is specified generates therefore
six separate restraints, one for each of
the anisotropic temperature parameters. If
an atom with an isotropic temperature factor
is included in this restraint, the specified bond
and all six restraints are ignored.
PLANAR E.S.D. FOR 'ATOM SPECIFICATIONS'
This directive instructs the system to compute the mean plane
through the atoms given in the atom specifications,
and then to restrain each of the atoms to lie in the plane.
The 'E.S.D.' with which each atom is restrained to be on
the plane is given in angstrom.
This parameter is optional and has a default value of 0.01.
'FOR' is optional.
'ATOM SPECIFICATIONS' define the atoms that are on the plane.
Each 'ATOM SPECIFICATIONS' may consist of one atom, together
with symmetry data, or two atoms separated by 'UNTIL'.
One or more specifications must be given.
Examples : PLANAR C(1,2) UNTIL C(6) C(9) C(10,2,2) PLANAR 0.05 C(1) C(2) UNTIL C(6) PLANAR 0.05 FOR C(1) C(2) UNTIL C(6) PLANAR FOR C(1,2) UNTIL C(6)
LIMIT E.S.D. FOR 'PARAMETER SPECIFICATIONS' This restraint seta a target shift of zero for the specified parameters, with the specified esd, and thus tries to limit the shift in the parameters. Since it modifies the normal matrix, it does not have the same effect as partial shifts (SHIFT,MAXIMUM,and FORCE in SFLS, VOL5). In particular, the e.s.d. on the parameter will depend upon the E.S.D. given to this restraint. The default for E.S.D. is .001. Reducing this to about .00001 will have almost the same effect as FIX in LIST 12. Increasing it to 10.0 will cause the restraint to have almost no effect unless the parameter involved is almost singular with respect to some other parameter. Note that this is only a restraint, and if the medel and X-ray data are good, the specified parameters will still shift. This restraint is valuable during the development of a poor starting model.
ORIGIN E.S.D. FOR 'PARAMETER SPECIFICATIONS' This is used for polar space groups, where the singularity up the polar axis may be removed by holding the electron weighted sum of all the coordinates up that axis constant.
Example ORIGIN Y
SUM E.S.D. FOR 'PARAMETER SPECIFICATIONS' This restraint holds the sum of the parameters on the card constant during the refinement. A typical case is where several (more than 2, which are better treated with EQUIVALENCE, in LIST 12) atoms share a site. 'E.S.D.' is the e.s.d. with which the sum of the parameters is held constant. This is an optional parameter and has a default value of 0.0001. 'FOR' is optional. 'PARAMETER SPECIFICATIONS' define the parameters that are to be summed. They may be given as :
overall parameters e.g. SCALE, all atomic parameters of one type e.g. X, Y, U[11], atomic parameters of one type for a group of atoms e.g. NA(1,OCC) UNTIL RB(6),
Examples : SUM 0.0001 NA(1,OCC) UNTIL RB(6) SUM LAYER SCALES
AVERAGE E.S.D. FOR 'PARAMETER SPECIFICATIONS' For this directive, the system computes the mean of the given parameters, and then restrains each to have the mean value with an e.s.d. of 'E.S.D.'. The parameters are as for the 'SUM' directive above.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.19: General restraints
The 'general restraint' enables the user to write out a restraining equation explicitly. The system automatically calculates the value of the restraint and then evaluates the partial derivatives for each of the refinable parameters
Thes restraints look like simple
fortran statements involving operators and operands.
OPERATORS
The available operators are :
( ) ** must be followed by an operand. * must join two operands. / must join two operands. + must precede an operand. - must precede an operand.
An operand may be a simple variable or an expression enclosed in parentheses.
The operators above assume their normal FORTRAN meanings,
and the combination of operands and operators is the same as in
standard FORTRAN, except that all calculations are done
in floating point.
ATOMIC COORDINATES
These are specified by a modified form of the
atom definition given above. This is :
TYPE(SERIAL,S,L,TX,TY,TZ,KEY)
KEY Specifies the relevant coordinate of the atom. The KEY is regarded as an obligatory parameter, but for the remaining symmetry parameters, the drop out rules and default settings described under the atom definition may be applied, so that the simplest form of coordinate definition is TYPE(SERIAL,KEY), similar to a LIST 12 definition . The usual parameter keys are recognized.
OVERALL PARAMETERS The usual overall paameter keys are recognized.
VARIABLES These are unsubscripted variables specified by up to 8 characters, of which the first must be a letter. Many commonly occurring crystallographic quantities are already prestored by the system, and the user has the ability to declare new constants with a 'DEFINE' instruction, which is described below. When a user defines a new variable, he must not use a name that has already been declared by the system. The system variables are:
ARRAY VARIABLES
The system has pre-stored various arrays and variables holding useful crystallographic information, and users may not define or declare new arrays. The addressing is done in the normal Fortran manner, except that the element required must be specified by numeric arguments, and not variables. Thus A(3,1) is allowed, but A(I,J) is illegal.
A(6) the cell parameters (angles in radians) CV real cell volume AR(6) reciprocal cell parameters (angles in radians) RCV reciprocal cell volume G(3,3) real metric tensor GR(3,3) reciprocal metric tensor L(3,3) real orthogonalization matrix LR(3,3) reciprocal orthogonalization matrix CONV(3) conversion factor for the 'U(ij)'s' from 'U[iso]' RIJ(6) coefficients needed to calculate [sin(theta)/l]**2 ANIS(6) coefficients needed to calculate the temperature factor from the anisotropic temperature factors SM(3,4,p) symmetry matrix 'p', where the translational part is stored in sm(i,4,p) SMI(3,4,p) inverse symmetry operators NPLT(3,n) non-primitive lattice translations PI 3.141......... etc. TPI 2*Pi TPIS 2*pi*pi DTR conversion of degrees to radians RTD conversion of radians to degrees ZERO 0.0
The following functions are also recognized :
SIN(ARG) COS(ARG) TAN(ARG) ACOS(ARG) ASIN(ARG) ATAN(ARG) EXP(ARG) SQRT(ARG)
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.20: General restraint instructions
There are two instructions.
DEFINE NAME = TEXT
This may be used to set up a user defined variable,
which may be referred to later on by 'NAME'.
The text comprises a series of variables and
numeric constants interspersed with operators.
The 'NAME' must not be one of the standard functions or
variables, and may be overwritten several times - i.e.
its value may be redefined.
RESTRAIN VALUE, E.S.D. = TEXT
The physical or chemical quantity defined by the
'TEXT' is restrained to be 'VALUE', with
an e.s.d. of 'E.S.D.'.
The text is comprised of operands separated by
operators.
The system will differentiate the 'TEXT' with
respect to each of the refinable coordinates
that it contains and add the derivatives to
the normal matrix in the usual way.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.21: Debugging restraints
Debugging commands are available to help with the creation of general
restraints
COMPILER
During the formation of LIST 26 (see later),
the input card images are listed, together
with various internal stacks.
EXECUTION
During the application of the restraints to
the normal equations, various stacks are
printed and all the calculated derivatives
are printed (use with care).
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.22: Printing the contents of LIST 16
The contents of LIST 16 may be listed with:
\PRINT 16
or
\SUMMARY LIST 16
LIST 16 may be punched with:
\PUNCH 16
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.23: Creating a null LIST 16
A null LIST 16, containing no restraint instructions, may be created with
\CLEAR 16
restrain a set of distances to 1.5 angstrom with an e.s.d. of 0.03, note the use of symmetry indicators. DISTANCE 1.5 , 0.03 = C(1) TO S(1) , C(1,5) TO S(1,5) CONT S(1,7,1,-1) TO C(1,7,1,-1) restrain the first distance above explicitly, by a user defined restraint RESTRAIN 1.5 , 0.03 = SQRT CONT ((C(1,5,X)-S(1,5,X))*(C(1,5,X)-S(1,5,X))*G(1,1) CONT +(C(1,5,X)-S(1,5,X))*(C(1,5,Y)-S(1,5,Y))*G(1,2) CONT +(C(1,5,X)-S(1,5,X))*(C(1,5,Z)-S(1,5,Z))*G(1,3) CONT +(C(1,5,Y)-S(1,5,Y))*(C(1,5,X)-S(1,5,X))*G(2,1) CONT +(C(1,5,Y)-S(1,5,Y))*(C(1,5,Y)-S(1,5,Y))*G(2,2) CONT +(C(1,5,Y)-S(1,5,Y))*(C(1,5,Z)-S(1,5,Z))*G(2,3) CONT +(C(1,5,Z)-S(1,5,Z))*(C(1,5,X)-S(1,5,X))*G(3,1) CONT +(C(1,5,Z)-S(1,5,Z))*(C(1,5,Y)-S(1,5,Y))*G(3,2) CONT +(C(1,5,Z)-S(1,5,Z))*(C(1,5,Z)-S(1,5,Z))*G(3,3)) restrain some distances to their mean DISTANCE 0.0 , 0.03 = MEAN O(1) TO S(1) O(2) TO S(1) CONT O(1,2) TO S(1) O(1,7) TO S(1) vibration restraints along a bond VIBRATION 0.0 , 0.01 = S(1,5) TO O(1,5) S(1,7) TO C(1,7) CONT S(1) TO O(1) S(1) TO C(1) thermal similarity restraints U(IJ) 0.0 , 0.01 = S(1,5) TO O(1,5) S(1,7) TO C(1,7) CONT S(1) TO O(1) S(1) TO C(1) user defined restraints to some of the U(IJ)'S. This might cure a npd atom RESTRAIN 0.0,0.01=S(1,U[11])-S(1,U[33]) RESTRAIN 0.0,0.01=S(1,U[12]) RESTRAIN 0.0,0.01=S(1,U[13]) RESTRAIN 0.0,0.01=S(1,U[23])
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.24: The special restraint instructions - LIST 17
\LIST 17
LIST 17 is generated automatically
be the instruction \SPECIAL, and is intended to take care of floating
origins and atoms on special positions.
The user may create their own LIST 17, but this will be over written by
SPECIAL unless it this is deactivated.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.25: Printing and punching LIST 17
\PRINT 17
or
\SUMMARY LIST 17
It is punched with:
\PUNCH 17
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.26: Creating a null LIST 17
A null LIST 17, containing no restraint instructions, may be created with
\CLEAR 17
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.27: Checking restraints - CHECK
The target values for the restraints can be checked against
the calculated values by issuing the following instruction :
\CHECK LEVEL=
LEVEL=
LOW Default value HIGH
This instruction causes the restraints to be calculated,
but not added into the normal equations.
The observed and calculated values are output to the listing file,
with a summary on the terminal. If the LEVEL is LOW, only restraints
where the calculated value differs significantly from the target are
printed, otherwise all restraints are printed.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.28: Weighting schemes for refinement- LIST 4
\LIST 4 SCHEME NUMBER= NPARAMETERS= TYPE= WEIGHT= MAXIMUM= PARAMETERS P= END \LIST 4 SCHEME 14 3 END
The weighting of least squares refinement is still very controversial. The matter is discussed at some length by Schwartzenbach et al in Statistical Descriptors, and futher insights may be gleaned from Numerical Recipies. Weighting the refinement can serve several purposes, and the weighting may need to be changed as the refinement proceeds. The weighting of Fo and Fsq refinements will be different. To a first approximation,
w(Fsq) = w(Fo)/2Fo note the problem as Fo approaches 0.0
Initially the analyst must choose a scheme which will hasten the rate of convergence, and reduce the risk of the refinement falling into a false minimum. Towards the end of the refinement, once all the parameters have been approximately refined, a different scheme will be necessary to generate reliable parameter s.u.s (e.s.d.s)
My advice (DJW,1996) is to use unit weights for Fo refinement (1./4Fsq for Fsq refinement) until the structure is fully parameterised, and then an empirical scheme for the final refinement. It seems that pure 'statistical' weights are rarely satisfactory. The crucial thing is to look at the analysis of variance (/ANALYSE). The weighted residual (see definition of Fo' etc above) w(Fo'-Fc')**2 should be invariant for any rational ranking of the data. If there are any trends, then either the model is wrong or the estimates of w are wrong. If the model is believed to be full parameterised and substantially correct, the trend in residual can be used to estimate the weights.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.29: Weighting for refinement against Fo
This set of weighting schemes should be selected when the minimisation function that is to be used during the least squares process is given by :
SUM( w*(Fo - Fc)**2 )
Where the summation is over all the reflections.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.30: Weighting for refinement against Fsq
Refinement against Fo or Fsq is also controversial. The controversy is not really concerned with negative observations, since Fo can be given the sign of Io. The real problem is that the error distribution for Fo is not the same as that of Fsq, and is not simply related to it for very weak reflections. However, the argument is academic, since the error estimates for Fsq are not really known.
CRYSTALS provides two different alternatives for the case in which the minimisation function is given by :
SUM( w*(Fo**2 - Fc**2)**2 )
In the first of these options, the weights are calculated normally for Fo, and then converted so that they apply to Fsq by the operation :
w' = w/(4*Fo*Fo)
Where w' is the weight for Fsq and w is the weight for Fo. This option is selected by the parameter TYPE = 1/2Fo in the SCHEME directive above. For example, pseudo unit weights are selected by the cards :
\LIST 4 SCHEME 9 0 1/2Fo
This option may be used with any of the weighting schemes above.
The second option also uses the weighting scheme types for Fo, except
that Fsq is substituted for Fo in the equations.
This option is selected by the parameter TYPE = Fo**2
in the SCHEME directive above. This choice would be suitable for the
Chebychev weighting schemes.
\LIST 4
SCHEME= NUMBER= NPARAMETERS= TYPE= WEIGHT= MAXIMUM=
NUMBER=
The number of the weighting scheme to be used
(see below). The default value is 9 (unit weights).
NPARAMETERS=
The number of parameters to be provided for the weighting
scheme. The default value is zero,
TYPE
NORMAL 1/2Fo Fo**2 CHOOSE - Default value
The value of NORMAL indicates that the weighting scheme type is for refinement against Fo. If TYPE is 1/2Fo or Fo**2 the weighting scheme type is for refinement against Fsq (see above).
If TYPE equals CHOOSE, one of the three previous type is chosen depending
on the scheme number and the refinement type set in LIST 23.
WEIGHT=
This parameter determines the weight assigned to reflections during the
determination of Chebychev coefficients.
For each reflection the weight with which it is added into the
Chebychev normal equations is given by :
W = 1/[1+Fo**WEIGHT].
Thus if WEIGHT is equal to zero, all the weights will be the same and equal to 0.5. The default value is 2.0
MAXIMUM= This parameter is used to set the maximum weight that can be applied, and is usefull for the Dunitz-Seiler scheme (13), and the Chebyshev schemes (10 and 14).
PARAMETERS P=
The parameters that are to be used to compute the weight for a given
reflection are specified with this directive.
P=
This card contains NPARAMETERS values. If this parameter is omitted,
default values of zero are assumed for P.
The parameters must always be provided on the scale of Fo, not on the scale of Fc. For example, the agreement analysis programs can work on the scale of Fc, so that constants derived from such output must be put on the scale of Fo by multiplying them by the scale factor in LIST 5
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.31: Weights stored in LIST 6
If w is the weight to be applied to a reflection in the least squares refinement, the value to be stored in LIST 6 is sqrt(w), given the key SQRTW. If weights are computed by some external utiity, then either is should generate sqrt(w), or the values be converted after input to CRYSTALS - see scheme 5 below.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.32: Weighting schemes
In the equations and explanations below, NP is an abbreviation of NPARAMETERS , the number of parameters required to define the weighting scheme, P(1) is the first such parameter and P(NP) the last parameter.
The available weighting schemes are :
1. sqrt(W) = Fo/P(1), Fo < P(1) OR Fo = P(1) sqrt(W) = P(1)/Fo, Fo > P(1) 2. sqrt(W) = 1 , Fo < P(1) OR Fo = P(1) sqrt(W) = P(1)/Fo, Fo > P(1) 3. sqrt(W) = sqrt(1/(1 + [(Fo - P(2))/P(1)]**2)) 4. sqrt(W) = sqrt(1/[P(1) + Fo + P(2)*Fo**2 + . . + P(NP)*Fo**NP]) try P(1) = 2*FMIN and P(2) = 2/FMAX, Cruickshank, Computing Methods and the Phase Problem, Pepinsky et al, 1961, page 45 5. sqrt(W) = SQRT(data with the key 'SQRTW' in list 6) 6. sqrt(W) = (data with the key 'SQRTW' in list 6) 7. sqrt(W) = SQRT(1/(data with the key 'sigma(Fo)' in LIST 6)) 8. sqrt(W) = 1/(DATA WITH THE KEY 'SIGMA(Fo)' IN LIST 6) ** remember that for schemes 7 & 8, LIST 6 ** ** must store both weight and sigma. ** 9. sqrt(W) = 1.0 (Unit weights, default) 10. sqrt(W) = sqrt(1.0/[A[0]*T[0]'(X) + A[1]*T[1]'(X) . . +A[NP-1]*T[NP-1]'(X)]) Chebychev weighting - see below for details 11. As for 10, but only applying previously determined parameters. 12. sqrt(W) = sqrt([SIN(THETA)/LAMBDA]**P(1)) If NP is zero, a value of -1 is assumed for P(1) . 13. sqrt(W) = sqrt([weight] * exp[8*(p(1)/p(2))*(pi*s)**2]) Dunitz Seiler weighting - see below for details 14. sqrt(W) = sqrt(W' * (1. - (delta(F)/ 6* del(F)est)**2)**2) W' = 1.0/[A[0]*T[0]'(X) + A[1]*T[1]'(X) . . +A[NP-1]*T[NP-1]'(X)] Robust-resistant refinement - see below 15. As for 14, but only applying previously determined parameters. 16. sqrt(W) = Sheldrick SHELX-97 weights (page 7-31). The P1-P6 correspond to Sheldricks parameters a-f, but are not refined automatically. Fo and Fc replace Fosq and Fcsq for Fo refinement. Use 0.1 0 0 0 0 .333 to get Sheldrick defaults.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.33: Dunitz Seiler weighting - scheme 13
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.34: Chebychev weighting schemes 10, 11
A[i] are the coefficients of a Chebyshev series in t[i]'(x), where x = Fo/Fo(max). (There is an account of CHEBYSHEV series in Computing Methods in Crystallography, edited by J.S. Rollett, p40). For this weighting scheme, the coefficients a[i] are calculated by the program using a least squares procedure which minimizes sum[(Fo - Fc)**4] over all the reflections. The resulting coefficients are stored in a new LIST 4 as weighting scheme type 11 (see below), and then used to calculate the weights for each of the reflections. It is recommended that several different values of NP are used (e.g 3 to 5), so that series of various orders are tested to see which gives the best fit. If negative or very small reciprocal weights are computed (i.e. the computed curve fall close to or crosses the ordinate axis), the parameter MAXIMUM can be used to restrict the maximum weight. For data on 'ordinary' scales, this will require a value of about 100. (This is best seen by computing an agreement analysis once the new weights have been calculated). The parameters P(i) need not be given, because they are to be computed. When the Chebyshev coefficients have been determined, p(1) is overwritten by the value determined for a[1]. (Carruthers and Watkin, Acta Cryst (1979) A35, 698). Scheme 10 generates the parameters needed for a scheme 11.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.35: Robust-resistant weighting schemes 14, 15
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.36: Statistical Weights, 16
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.37: Printing LIST 4
of LIST 4 may be printed with:
\PRINT 4
There is no instruction for punching LIST 4.
Example \ Weighting scheme type 10 (Chebyshev) with 3 parameters \LIST 4 SCHEME NUMBER = 10,NPARAM = 3 END
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.38: Weighting the reflections - WEIGHT
If the weighting scheme is changed, new weights are automatically
computed for the next structure factor calculation. The computation of
weights can be forced at any time with:
\WEIGHT
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.39: Reflection restriction list - LIST 28
\LIST 28 MINIMA COEFFICIENT(1)= COEFFICIENT(2)= ... MAXIMA COEFFICIENT(1)= COEFFICIENT(2)= ... READ NSLICES= NOMISSIONS= NCONDITIONS= SLICE P= Q= R= S= T= TYPE= OMIT H= K= L= CONDITION P= Q= R= S= T= TYPE SKIP STEP= END
\LIST 28 MINIMA RATIO=3 READ NOMIS=1 OMIT 2 0 0 END
LIST 6 should contain all the reflections, including negative ones. LIST 28 can then be used to dynamically select which ones are to be omitted from a calculation. Several conditions may be specified, and ALL the conditions must be satisfied for a reflection to be used, i.e. the conditions are ANDed together.
It is also possible to specify individual reflections which are to be omitted.
TAKE CARE WHEN CHANGING LIST 28. If the conditions are relaxed, reflections
may become acceptable for which Fc and phase have not been recomputed
because they were rejected at an earlier stage. Recompute them all.
\LIST 28
MINIMA COEFFICIENT(1)= COEFFICIENT(2)= . .
This defines the coefficients whose minimum values are
to be restricted.
COEFFICIENT= VALUE
Each such parameter defines one coefficient and its minimum value.
The following are known to the system, BUT REMEMBER, with the exception of
(sintheta/lambda)**2, which is computed for each reflection from the cell
parameters, only those coefficients specifically stored in the LIST 6
(see the section on LIST 6) will have values.
H K L /FO/ SQRTW FCALC PHASE A-PART B-PART TBAR FOT ELEMENTS SIGMA(F) BATCH INDICES BATCH/PHASE SINTH/L**2 FO/FC JCODE SERIAL RATIO THETA OMEGA CHI PHI KAPPA PSI CORRECTIONS FACTOR1 FACTOR2 FACTOR3 RATIO/JCODE
MAXIMA COEFFICIENT(1) COEFFICIENT(2) . .
This defines the coefficients whose maximum values are
to be restricted. See MINIMA above.
READ NSLICES= NOMISSIONS= NCONDITIONS=
This gives the number of conditional directives to follow.
NSLICES
This specifies the number of SLICE directives, default is zero.
NOMISSIONS
This specifies the number of OMIT directives, default is zero.
NCONDITION
This specifies the number of CONDITION directives, default is zero.
SLICE P= Q= R= S= T= TYPE=
This directive selects reflections to those giving values of (h*p + k*q + l*r) in the range s to t. The number of such instructions is specified on the READ card above. TYPE indicates whether the selected reflections are accepted or rejected. The records are processed in the order given. If a reflection matches the the conditions, the specified action is taken and no futher slice directives are considered. This enables quite fancy intersections to be specified.
For example, a single layer of
reciprocal points, or a set of adjacent layers, oriented in any
desired crystallographic direction, can be selected.
P= Q= R= S= T=
These parameters, whose default values are zero, specify selected
slices of reciprocal space.
TYPE=
REJECT (default) causes rejection of selected reflections. ACCEPT accepts reflections
OMIT H= K= L=
This directive causes the reflection with the indices H, K, and L
to be omitted.
H= K= L=
These parameters specify the indices of the reflection to be omitted.
CONDITION P= Q= R= S= T= TYPE=
This directive causes selection of reflections giving values of (h*p + k*q + l*r + s) exact multiples of 't'. TYPE indicates whether the selected reflections are accepted or rejected. The number of such instructions is specified on the READ card above. The records are processed in the order given. If a reflection matches the the conditions, the specified action is taken and no futher slice directives are considered. This enables quite fancy intersections to be specified.
For example, l odd layers can be rejected by setting
'r' and 's' to 1, 't' to 2.
P= Q= R= S= T=
These parameters, whose default values are zero, specify selected
slices of reciprocal space.
TYPE=
REJECT (default) causes rejection of selected reflections. ACCEPT accepts reflections
SKIP STEP=
This directive can be used sample the data by skipping through LIST 6,
and may be usefull to speed up initial refinement.
STEP=
This is the skip step length, and has a default of 1, i.e. all reflections
are accepted. A value 3 selects every third reflection.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.40: Creating a null LIST 28
\LIST 28 END
Allows all the reflections in LIST 28 to be used.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.41: Printing the contents of LIST 28
LIST 28 may be listed by the command :
\PRINT 28
There is no instruction for punching LIST 28.
Example 1 \LIST 28 \ Set the minimum ratio I/sigma(i) to 3.0, \ a maximum Fo to 1000 \ and omit the 0 2 0 reflection \ MINIMA Ratio=3 MAXIMA Fo=1000 READ NOMIS = 1 OMIT 0 2 0 END Example 2. To reject h and k simultaneously even: condit p=1 s=1 t=1 type=accept \lets ALL with h odd through condit q=1 s=1 t=1 type=accept \lets ALL with k odd through condit s=1 t=1 type=reject \rejects remaining. Example 3. To reject all k=0, k=2: slice q=1 s=0 t=0 type=reject slice q=1 s=2 t=2 type=reject Example 4. To reject all k=0, k=2 but keep the l=0 row: slice r=1 s=0 t=0 type=accept slice q=1 s=0 t=0 type=reject slice q=1 s=2 t=2 type=reject Example 5. To only allow specific zones, the ones wanted are selected, and then the rest rejected, eg for h=0: slice p=1 s=0 t=0 type=accept \ accept the h00 zone slice p=1 q=1 r=1 s=-500 t=500 type=reject \ reject everything else
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.42: Structure Factor Least Squares Calculations - \SFLS
\SFLS CALCULATE LIST= MAP= Fo= SCALE LIST= MAP= Fo= REFINE LIST= MAP= Fo= PUNCH= MATRIX= MONITOR= INVERTOR= SHIFT KEY= KEY= MAXIMUM KEY= KEY= FORCE KEY= KEY= SOLVE MONITOR= MA=P Fo= PUNCH= MATRIX= VECTOR MONITOR= MAP= Fo= PUNCH= MATRIX= END
\SFLS REFINE REFINE END
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.43: Definitions
Minimisation funtion for Fsq
Minimisation function = Sum[ w*(Fo**2 - Fc**2)**2 ]
Minmisation function for Fo
Minimisation function = Sum[ w*(Fo - Fc)**2 ]
R-factor for Fo
R = 100*Sum[//Fo/-/Fc//]/Sum[/Fo/]
The summation is over all the reflections accepted by LIST 28. This definition is used for both conventional and F-squared refinement.
R-Factor, Hamilton weighted
100*Sqrt(Sum[ w(i)*D'(i)*D'(i) ]/SUM[ w(i)*Fo'(i)*Fo'(i) ]) Fo' = Fo for normal refinement, Fsq for F-squared refinement. Fc' = Fc for normal refinement, Fc*Fc for F-squared refinement. D' = Fo'-Fc'
The weighted R-factor stored in LIST 6 and LIST 30 is that computed
during a struture factor calculation. The conventional R-factor is
updated by either an SFLS calculation or a SUMMARY of LIST 6.
Minimisation function
Fo' = Fo for normal refinement, Fo*Fo for F-squared refinement. Fc' = Fc for normal refinement, Fc*Fc for F-squared refinement. D' = Fo'-Fc' MINFUNC = Sum[ w(i)*D(i)*D(i) ]
Good references to the theory and practice of structure factor least squares are in the chapters by J. S. Rollett and D. W. J. Cruickshank in Crystallographic Computing, edited by F. R. Ahmed, and chapters 4, 5 and 6 in Computing Methods in Crystallography, edited by J. S. Rollett.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.44: Unstable refinements
If a refinement 'blows up', i.e. diverges rapidly, the user should
seek out the physical cause (wrong space group, pseudo symmetry,
incorrect data processing, disorder, twinning etc). If the cause of the
divergence is simply that the model is too inaccurate, the divergence
can by controlled by limiting the shifts applied in the first few
cycles. The modern way to do this is via 'shift limiting restraints'
(Marquardt modifier) in LIST 16. An older method was to use partial
shift factors. These are set up by directives to the \SFLS instruction.
During the solution of the normal equations, the user may specify
that more or less than the whole calculated shift should be
applied.
Alternatively, the program can be instructed to scale the shifts so that
the r.m.s. shift for any parameter group is limited to a maximum value.
(The SHIFT , MAXIMUM and FORCE directives).
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.45: Sorting of LIST 6 for structure factor calculations
During a structure factor least squares calculation, the values for the real and imaginary parts of A and B and their derivatives are computed and stored. These values are then taken and formed into Fc and its derivatives, which are added into the normal matrix. Between reflections, the values for A and B and their derivatives are retained. If the next reflection in LIST 6 has a set of indices which are equivalent to the last reflection, the same values for the real and imaginary parts of A and B and their derivatives can be used.
This type of situation can arise either when anomalous scatterers are present, implying that F(h,k,l) is not equal to F(-h,-k,-l), or when an extinction parameter is being refined and formally equivalent reflections have different Fo values and mean path lengths. In this sort of case, the time for a structure factor calculation can be significantly reduced if reflections with symmetry related sets of indices are adjacent in LIST 6, when the conserved values of A and B can be used repeatedly.
In a similar way,
during a structure factor calculation for a twinned crystal, the
contribution and derivatives for each element are stored as they are
calculated and then combined to produce /FCT/ when all the contributions
have been accumulated.
Between reflections this stored information is retained, so that if the
next reflection contains contributions from elements with the same
indices as the previous reflection,
it is unnecessary to re-compute the A and B parts.
Obviously,
reflections with common contributors must again be adjacent in LIST 6,
in which case a structure factor calculation, with or without least
squares, takes only slightly longer than the corresponding normal calculation
with the same number of observations.
\SFLS
The directives are carried out in the order in which they appear.
The directives REFINE, SCALE, and CALCULATE
initiate cycles of S.F.L.S. calculations. If one of the
directives SHIFT , MAXIMUM or FORCE is given following REFINE,
a scaled shift will be applied to that cycle of refinement.
CALCULATE LIST MAP Fo
This directive indicates that structure factors should be
calculated, but that no refinement of any type should be done.
The directives
SHIFT , MAXIMUM and FORCE may not be given before the next
REFINE directive.
LIST
Controls the listing of reflection information.
OFF - Default MEDIUM HIGH
The value OFF indicates that the discrepancy for each reflection (/Fo-Fc/)/Fo is computed and if greater than 3*(overall R factor) from the previous cycle of structure factors, a warning is printed. Only the first 25 such reflections are listed.
If the ENANTIOPOLE parameter is activated in LIST 23, sensitive reflections, for which /(F+)-(F-)/ .> .05 *((F+)+(F-)/2), are also listed.
If LIST is MEDIUM , the structure factors are listed as they are computed. The output contains h, k, l, Fo (on the scale of Fc), Fc, the phase and sin(theta)/lambda, the unweighted and weighted delta's. (Fo - Fc or Fo**2 - Fc**2, depending upon the type of refinement being done), and information which is useful when anomalous dispersion effects are present, and contains the real part of Fc (/Fc'/), the imaginary part of Fc (/Fc"/), the computed difference between /F(h,k,l)/**2 and /F(-h,-k,-l)/**2, and the calculated or theoretical Bijvoet ratio (t.b.r.).
When a twinned crystal structure is being refined, LIST = HIGH gives FoT and /FcT/ in place of Fo and Fc, respectively. Also, the contributions of each element to each reflection of a twinned crystal are listed. As well as /FcT/ and the indices, Fc, multiplied by the square root of the element scale factor, and the element number are also printed for each component under the column headed by /FC'/. This option is only obeyed if LIST 13 indicates that a twinned crystal structure is being refined.
List MEDIUM and HIGH produces one line of output for each reflection.
MAP
Controls printing of the memory map - mainly used by programmers
NONE - Default value PART FULL
If MAP is PART , a list of core addresses is printed, together with any unused locations. If MAP is FULL , the addresses and contents of the areas of code claimed by each list as it is brought down are printed on the line printer as the list is loaded. This option produces reams of output and should never be used except by programmers. If MAP is NONE , its default value, a core map is not printed.
Fo Controls the treatment of twinned data.
FoT - Default value Scaled-FoT
In the refinement of a twinned crystal, if Fo = FoT , its default value, the FoT is output as the data for the key Fo , the corresponding /FcT/ is output for Fc , and the phase is arbitrarily set to zero. If Fo is SCALED-FoT , the data for Fo , Fc and PHASE contain an estimate of the required quantities for the element in whose reference system the nominal indices are given, i.e. estimates of the resolved data are produced.
SCALE LIST MAP Fo
This directive indicates that structure factors should be calculated
and the overall scale factor should be refined.
The directives
SHIFT , MAXIMUM and FORCE may not be given before the next
REFINE directive.
LIST
This parameter has the same options as for
the CALCULATE directive above.
MAP
This parameter has the same options as for
the CALCULATE directive above.
Fo
This parameter has the same options as for
the CALCULATE directive above.
REFINE LIST MAP Fo PUNCH MATRIX MONITOR INVERTOR ...
This directive indicates a complete structure factor least squares
calculation.
LIST
This parameter has the same options as for
the CALCULATE directive above.
MAP
This parameter has the same options as for
the CALCULATE directive above.
Fo
This parameter has the same options as for
the CALCULATE directive above.
PUNCH
Controls punching LIST 5 (atomic parameters) to the .PCH file
NO - Default value YES
If PUNCH is YES, LIST 5 is punched after the current cycle of refinement.
MATRIX Controls re-use of the normal matrix
NEW - Default value OLD
If MATRIX is NEW, a new matrix is computed for the current cycle.
If MATRIX is OLD , the left hand side of the normal matrix is not
accumulated during the cycle of refinement. Instead, the version that
already exists is used with the new right hand sides. This option
is particularly useful at the end of a refinement of a large structure
when the left hand side does not change appreciably from cycle to cycle.
It greatly reduces the time for a cycle.
MONITOR
Controls the shift information printed out.
LOW - Default value MEDIUM
The MEDIUM listing outputs details about all parameters refined, and lists the values, shifts and e.s.d.s of all parameters in LIST 5. The LOW listing outputs information only for those l.s. parameters for which the SHIFT RATIO exceeds 3.0, and/or the SHIFT/ESD exceeds 1.0 . Only those atoms in LIST 5 containing one or more refinable parameters are listed.
INVERTOR Two matrix inversion methods are provided.
CHOLESKI - Default value EIGENVALUE
The default Choleski invertor is suitable for most well conditioned problems. The alternative Eigenvalue invertor is suitable for ill-conditioned cases, such as those involving pseudo-symmetry. It is slower than the Choleski method and cannot handle such large normal matrices. The memory required is almost three times that used for each block in the Cholesky method.
AUGFACT This is a constant to be added to all eigen values during eigenvalue inversion. The default value is 0.0.
FILTER The inverse of eigen values below this threshold are set to 0.0 rather than 1./value. It filters out latent singularities. The default is 0.0
DISCRIMINATOR If the ratio of two adjacent eigenvalues in a ranked listing exceeds this value, the inverse of the smaller and all subsequent eigen values is set to 0.0. The default is 100.0
SHIFT KEY = VALUE KEY = VALUE . . . .
This directive sets the shift factor for the specified cycle of
refinement. (The shift factor is the amount by which the calculated
shift is multiplied before it is applied to generate the new parameters).
For each of the parameters given by the KEYS on the directive card,
the shift factor is changed to the value given by VALUE.
The = sign is not optional.
If more
than one shift directive ( SHIFT , MAXIMUM or FORCE ) is given for
the same parameter, only the last is obeyed.
The following KEYS are recognized :
GENERAL This refers to all the coordinates OVERALL This refers to the overall parameters OCC U[ISO] X Y Z U[11] U[22] U[33] U[23] U[13] U[12]
The default shift factors are 1.0.
MAXIMUM KEY = VALUE KEY = VALUE . . . .
This directive is similar to the directive SHIFT above, except that the
r.m.s. shift that is applied for the given parameters cannot be
greater than VALUE . (The units of VALUE are conventional,
except that x, y, and z are measured in angstrom). This provides a
method of automatically scaling down the applied shifts, depending on
the size of the calculated shifts.
The KEYS are the same as in SHIFT above. There is no default maximum
shift.
FORCE KEY = VALUE KEY = VALUE . . . .
This is similar to MAXIMUM above, except that the
specified r.m.s. shift when applied must be equal to VALUE.
The KEYS are the same as in SHIFT above. There is no default
shift.
VECTOR MONITOR MAP Fo PUNCH MATRIX
This is an obsolete feature, and will be removed at a later date.
This directive indicates that structure factors are to be calculated
and then the shift vector stored in LIST 24 is to be applied.
This is used to apply a shift vector calculated from one of
the eigenvalues of the normal matrix. Although no new matrix is produced
by this instruction, sufficient space must be allocated for the normal
matrix, since it is loaded when the new coordinates are calculated.
MONITOR
This parameter has the same options as for
the CALCULATE directive above.
MAP
This parameter has the same options as for
the CALCULATE directive above.
Fo
This parameter has the same options as for
the CALCULATE directive above.
PUNCH
This parameter has the same options as for
the REFINE directive above.
MATRIX
This parameter has the same options as for
the REFINE directive above.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.46: Processing of the refinement instructions
The program expands the CALCULATE, SCALE or REFINE directives into sub-directives. These sub-directives MUST NOT be given by a user:
1. \REFINE Compute structure factors and derivatives. No refinement is actually done. 2. \SCALE Calculate structure factors and refine the overall scale factor. 3. \CALCULATE Calculate structure factors. 4. \RESTRAIN Apply the restraints stored in the current lists 16 and 17. 5. \INVERT Invert the current normal matrix and output a shift list as list 24. 6. \SOLVE Take the current list 5 and apply the shifts given in the current list 24. 7. \NEWSHIFTS Allocate space for list 24. 8. \CYCLENDS
e.s.d.s Most publication listings require e.s.ds. These are computed from the normal matrix. If LIST 5 has been modified in ANY WAY (including simply renaming or ordering atoms) since the last refinement cycle, the matrix will be invalid.
CRYSTALS will warn you that LIST 11, the normal matrix, cannot be loaded. To create a valid matrix without changing the parameter values, compute a refinemnt cycle but set all the shifts to zero.
\SFLS REFINE SHIFT GENERAL = 0.0 END
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.47: Analysis of residuals - \ANALYSE
\ANALYSE FO INTERVAL= TYPE= SCALE= THETA INTERVAL= LIST LEVEL= LAYERSCALE AXIS= APPLY= ANALYSE= END
\ANALYSE LIST HIGH END
ANALYSE provides a comparison between Fo and Fc as a function of the indices, various parity groups, ranges of F and ranges of sin(theta)/lambda. For a well refined structure with suitable weights, <Fo>/<Fc> should be about unity for all ranges, and <wdeltasq> should also be about unity for all ranges. A serious imbalance in Fo/Fc may mean the structure is incomplete, or unsuitable data reduction. A systemstic trend in <wdeltasw> may mean unsuitable weights are being used.
The monitor listing is always just as a funtion of F. The output to the listing file is user controlled.
This routine will also compute approximate layer scale factors for
data which has been collected by layers. These can be refined in the
least squares to complete a refinement.
\ANALYSE
FO INTERVAL= TYPE= SCALE=
Controls the analysis as a function of F.
INTERVAL=
The interval between successive ranges of F.
Its value should be determined in combination with the
parameter TYPE.
TYPE
Controls how F is sampled.
sqrt(Fc) - Default value Fc sqrt(Fo) Fo
If TYPE is sqrt(Fc), (its default value), the interval between successive F ranges is based on 'the square root of Fc' Values of Fc in the interval '0 to INTERVAL**2' will be analysed in the first range, Fc values that lie in the range INTERVAL**2 to 4*INTERVAL**2 in the second and so on). INTERVAL is thus the increment in the square root of Fc between successive ranges and, in this case, has a default value of 1. If TYPE is Fc , the interval between successive Fc ranges is based on the value of Fc. In this case INTERVAL is the increment in Fc and has a default value of 2.5.
SCALE Controls the scale of the listing
Fo - Default value Fc
If SCALE is Fo, the reflection information is printed on the scale of Fo. (This is useful as the weighting parameters in LIST 4 must be provided on the scale of Fo). If SCALE is Fc, the reflection information is printed on the scale of Fc.
THETA INTERVAL=
This directive determines the interval between successive
sin(theta)/lambda squared ranges.
INTERVAL=
The default is 0.04.
LAYERSCALE AXIS= APPLY= ANALYSE=
This directive allows the results of layer scaling to be
investigated.
AXIS=
Selects the axis for layer scaling
NONE - Default value H K L
The default value of NONE indicates that no layer scaling is to be done. H, K and L indicate the axes up which layer scaling is to be done.
APPLY=
NO - Default value YES
When layer scaling has been completed and the results printed, the calculated scale factors will be applied to the stored Fo data if APPLY is YES . If APPLY is NO , its default setting, then the new scales will not be applied to the data. If AXIS is NONE , then APPLY is ignored.
ANALYSE
NO YES - Default value
If ANALYSE is YES, a second agreement analysis will be performed after the layer scaling so that the results of the new scales can be seen. (This is true whether the new scales are applied or not, i.e. independent of the value of APPLY ). In this way the effects of layer scaling can be seen without damaging the data. If ANALYSE is NO , the second agreement analysis is suppressed.
LIST LEVEL=
This directive determines the amount of output produced.
LEVEL=
HIGH LOW - Default value
If LEVEL is LOW the analysis is against Fo and sin theta only.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.48: Least squares absorption correction - \DIFABS
\DIFABS ACTION= MODE= CORRECTION THETA= DIFFRACTION GEOMETRY= MODE= END \DIFABS ACTION=NEW MODE=FC END
Although this is a least squares fitting technique for an arbitary model, it does not form part of the main refinement module. The DIFABS parameters cannot be refined simultaneously with the atomic parameters.
A low order term Fourier series is used to model an absorption surface for differences between the observed structure factors and those obtained from a structure factor calculation after isotropic least squares refinement. Spherical polar angles are used to define the incident and diffracted beam path directions so that each reflection is characterised by four angles - viz. PHI(p), MU(p), PHI(s), and MU(s). A theta-dependent correction is evaluated to allow for diffracted beams with different path lengths occurring at the same polar angles. A low order term Fourier series is used in Bragg angle THETA, but is highly correlated with the temperature factors, and not normally recommended. This version is general for any 4-circle diffractometer data collection geometry.
The quantity minimised is the sum of the squares of the residuals, Rj, where
Rj = ( //Fc/-/Fo//)wj
The weighting function, wj, used is derived from the overall scale factor, the counting statistics standard deviation, and the Lorentz-polarisation factor.
In the original implementation, the correction factor was applied to
Fo. This lead to criticism in the literature that the observations were
being tampered with. In the current implementaion in CRYSTALS, the
correction can be applied to Fo or Fc.
References:
N. Walker and D. Stuart, 1983, Acta Cryst., A39, 158 - 166.
The code is incorporated with the permission of Dr N. Walker
Implementation
The correction is evaluated using observed structure factors, /Fo/, corrected
for Lorentz-polarisation effects and any decay in intensity standards during
data collection, with systematically absent reflections removed. Since
equivalent reflections will be measured at different diffractometer
settings, the correction should be calculated and applied to the data set
without any transformation of the reflection indices, and without
symmetry- equivalent or Freidel-pair reflections being averaged.
Calculated amplitudes must be obtained from the isotropic
refinement of an as-complete a model as practical from the unique (merged)
data set. Such a LIST 6 will probably be unsuitable for Fourier or
difference maps (since these expect a unique segment of data only) unless
you then remerge the data. The best maps must be computed
with the correction applied to Fo before the data is merged. In addition,
the most reliable merging R factor (Rint) must be computed from
corrected Fos.
WARNING
To use DIFABS most successfully, you should probably do data-reduction
again from scratch, inhibiting the merging of all but exactly equivalent
reflections.
In favourable cases, when the observed data is the unique segment plus a small redundant volume (e.g. often the -1 layers at Oxford), you may get away with applying the correction to normally (merged) processed data during structure development.
Once the structure is fully developed (ie all atoms found
and partially refined with an extinction correction if necessary), data
reduction should be repeated inhibiting all index transformations.
New values of Fc must be computed from
isotropic atoms (Use UEQUIV in \EDIT to recover equivalent isotropic
temperature factors, and then do a few cylces of isotropic refinement)
and the DIFABS correction applied to Fc. Anisotropic refinement can be
computed to completion (including optimisation of weights) using
unmerged data. If you wish to see an absorption correctd Rint
and compute a final difference map, the data must be re-merged. Use
DIFABS with MODE = TRANSFER to move the correction onto Fo before
transforming indices, sorting and merging the data.
\DIFABS ACTION= MODE=
ACTION=
Controls the action on LIST 6, and has three values:
TEST - Computes the correction, but does not apply it UPDATE - Tries to update LIST 6 NEW - DEFAULT. Creates new LIST 6
If UPDATE is specified, the stored values of Fo are over written. If
NEW is specified, a new LIST 6 is written to disc. The
disc will be extended sufficiently to accomodate the new list.
MODE=
Controls the mode of application of the correction, and
has three values:
FO - Applies the correction to Fo FC - Applies the correction to Fc TRANSFER - Applies the inverse of the Fc correction to Fo
CORRECTION THETA=
Controls whether a theta-dependent correction is to be applied. - NOT RECOMMENDED.
THETA=
NO - Default value YES
DIFFRACTION GEOMETRY= MODE=
Controls the geometry used for data collection to be input.
GEOMETRY= The type of diffractometer used is specified:
CAD4 - Default value SYNTEX-P1 SYNTEX-P21 PICKER - Picker FACS-I PW1100 - Philips PW1100
MODE= The mode of data collection is given:
BISECTING - Default value PARALLEL GENERAL
This example assumes that there are no equivalent reflections. \DIFABS DIFFRACTION GEOMETRY=SYNTEX-P1 END
This example demonstrates a total re-processing of the data, including converting atoms to isotropic if they have previously been refined anisotropically. Note that a theta dependant correction from International Tables is applied during data reduction. The theta dependant correction in DIFABS is ill-conditioned and unstable. \ save the contents of the old dsc file \PURGE NEW END \ Connect the reflection file to HKLI \OPEN HKLI ZNCPD.HKL \ Use an \HKLI instruction to apply the tabulated theta correction \HKLI READ NCOEF=12 FORMAT=FIXED UNIT=HKLI F'S=FSQ CHECK=NO INPUT H K L /FO/ SIGMA(/FO/) JCODE SERIAL BATCH THETA PHI OMEGA KAPPA FORMAT (5X,3F4.0,F9.0,F7.0,F4.0,F9.0,F4.0,4F7.2) STORE NCOEF=6 OUTPUT INDICES /FO/ BATCH RATIO/JCODE SIGMA(/FO/) CORRECTIONS SERIAL ABSORPTION PHI=NO THETA=YES PRINT=NONE THETA 16 THETAVALUES CONT 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 THETACURVE CONT 3.61 3.60 3.58 3.54 3.50 3.44 3.37 3.30 CONT 3.23 3.16 3.09 3.02 2.96 2.91 2.86 2.82 END \LP END \SYSTEMATIC \ preserve the original indices STORE NEWINDICES=NO END \SORT END \ copy from workfile to disk \LIST 6 READ TYPE=COPY END \ unit weights \LIST 4 END \WEIGHT END \EDIT UEQUIV FIRST UNTIL LAST END \LIST 28 MINIMA RATIO = 3.0 END \SFLS SCALE END \ assume there are no H atoms \LIST 12 FULL FIRST(U[ISO]) UNTIL LAST END \SFLS REFINE REFINE CALC END \LIST 28 \ remove all restrictions to get Fcs. END \DIFABS UPDATE FC END \ Complete anisotropic refinement, produce publication tables etc \LIST 12 FULL X'S U'S END \LIST 28 MINIMA RATIO=3 END \SFLS REFINE ..... \CIF END \ reprocess data so that it can be merged for the final \ difference map \DIFABS UPDATE TRANSFER END \SYST END \MERGE END \FOURIER \ etc etc etc ---
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.49: Internal Workings
SOme understanding of the internal data management in CRYSTALS may
help the user to sort out unexplained failures.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.50: Refinement parameter map - LIST 22
This list contains the refinement instructions in internal format and it can only be generated by the computer. After the refinement directives have been read in, they are stored on the disc in card image format ready for processing. Before the structure factor least squares routines can use the information in LIST 12, it is necessary to convert them to a LIST 22.
If the conversion fails, or the input of LIST 5 or LIST 12 is in error, LIST 22 will be marked as an error list, and any job that attempts to reference LIST 22 will terminate in error.
For complex LIST 12s, i.e. those
containing EQUIVALENCE, LINK, RIDE, GROUP, WEIGHT or COMBINE, the user is
strongly advised to issue \LIST 22 and then \PRINT 22, and look at the
LIST 22
generated. The ouput, which is set out like a LIST 5, shows the
relationship between the physical and the least squares parameters.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.51: The least squares matrix - LIST 11
The matrix that is produced by the structure factor least squares process is stored on the disc as a LIST 11. This list may be massive, so it is wise to purge the disk regularly with large structures. To recover the maximum space, delete the LIST 11 before purging.
\DISK DELETE 11 END \PURGE END
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.52: Printing the contents of LIST 11
LIST 11 is printed by :
\PRINT 11
\PRINT 11 A
Prints those correlation coefficients greater than 0.3.
\PRINT 11 B
Prints the correlation matrix.
\PRINT 11 C
Prints the inverse matrix.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.53: Least squares shift list - LIST 24
When the normal matrix produced by the least squares process has been inverted, a set of shifts is calculated, suitably scaled if necessary, to apply to the atomic parameters. These shifts are output to the disc as a LIST 24, and then applied by the routines that compute the new parameters. List 24 can only be generated in the machine.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.54: Restraints in internal format - LIST 26
This list contains the restraints in internal format. Before the structure factor least squares routines can use the information in LIST 16 and 17, it is necessary to convert it to an internal format held in LIST 26.
If this operation fails, or the input of LIST 12 or LIST 16 goes wrong, LIST 26 will be marked as an error list, and any job that attempts to reference LIST 26 will terminate in error.
[Top] [Index] Manuals generated on Wed Jun 6 2001
7.55: Structure factors for a group of trial models - \TRIAL
At some stage during a structure determination, the orientation of a group of atoms may be known, but not their position in the unit cell. The routine described in this section provides a rapid method of calculating structure factors for a group of atoms at a series of points that fall on a grid in the unit cell. The algorithm used is similar to that employed in the slant fourier, (see the section of the user guide on 'Fourier routines') and is as follows :
The A part of the structure factor for the reflection with indices given by the vector H may be written as :
A(H) = SUM[ G.SUM[ COS2PI(H'.S.X + H'.T) ] ]
With a similar expression for the B part. ( G Is the required form factor, modified by the temperature factor expression). Conventionally, the inner sum runs over the various symmetry operators that define the space group, and the outer sum runs over the number of atoms in the asymmetric unit. However, if the summation order is changed, it is possible to accumulate sums for all the atoms for each symmetry position :
P(H,S) = SUM[ G.COS2PI(H'.S.X + H'.T) ]
With a similar expression for Q(H,S) for the B part. It is now possible to use a recurrence relationship for P and Q to give :
P(H,S,2) = P(H,S,1)*2*COS2PI(H'.S.DX) - P(H,S,0) and Q(H,S,2) = Q(H,S,1)*2*COS2PI(H'.S.DX) - Q(H,S,0)
P(H,S,0) Is the original value of P for the symmetry position S for the reflection given by H . P(H,S,1) Is the corresponding value of P after a vector DX has been added to each set of coordinates, and P(H,S,2) is the corresponding term after a vector 2*DX has been added. Similar relationships hold for the Q terms. After the initial eight cosine and sine terms have been calculated, it is possible to calculate structure factors very rapidly as the group of atoms is moved about the unit cell, using the relationships given above.
Apart from an array to hold each section through the unit cell, it is necessary to store the eight cosine and sine terms, together with the three step vector cosines, for each reflection for each symmetry position. Because this imposes certain storage limitations, it is necessary to restrict the number of relections that are used. In practice it is only the large reflections that must agree, and so the user is required to input a minimum Fo value, below which reflections are not used. The function that is displayed for each grid point is given by :
SCALE*SUM[ Fo*Fc ]
Accordingly, the largest value printed represents the most likely solution. The SCALE term may be calculated by the program to give numbers in a reasonable range, or input by the user. The time for each calculation is proportional to the number of reflections used, the number of symmetry operators in LIST 2, and the number of grid points calculated. (A calculation in a non-centro space group takes twice as long as a calculation in the corresponding centro space group). The atoms to be moved around are taken directly from LIST 5.
\TRIAL
This is the instruction which initiates the routine to calculate
structure factors for a group of trial models.
MAP Fo-MIN SCALE MIN-RHO
This directive determines which reflections will be used in the
calculations and how the map will be printed.
Fo-MIN
This parameter is the minimum value of Fo that a reflection must
have if it is to be used (this number must be on the scale of Fo).
If this parameter is omitted, a value of zero is assumed.
SCALE
If SCALE is equal to zero, its default value, the program will
choose a scale factor that places all the numbers on
a reasonable scale for printing.
If this parameter is greater than zero, the sum of Fo*Fc
is multiplied by SCALE before it is printed.
(The scale factor computed by the program is dependent upon
the origin chosen for the group of atoms, so that
successive maps with different origins will be on different
scales, unless this parameter is specified for all the maps
after the first).
MIN-RHO
This parameter is a cut-off value, such that all numbers less than
MIN-RHO are printed as zero. If this parameter is absent, a
default value of zero is assumed, which means that all the points
are printed.
DISPLACEMENT DELTA-X DELTA-Y DELTA-Z
This directive defines a vector which is added to each set of
coordinates in LIST 5 before the structure factor calculation
starts. DELTA-X , DELTA-Y And DELTA-Z thus correspond
to an initial origin shift for the group in LIST 5.
DELTA-X
The shift along the x-direction.
DELTA-Y
The shift along the y-direction.
DELTA-Z
The shift along the z-direction.
The default values for these parameters are zero, indicating no
initial origin shift before the structure factor calculation.
DOWN NUMBER X-COMPONENT Y-COMPONENT Z-COMPONENT
This directive specifies the printing down the page.
NUMBER
The number of points to be printed down the page, for which there is no
default value.
X-COMPONENT Y-COMPONENT Z-COMPONENT
There are no default values for these parameters, which specify
the fractional coordinate shift vector. The vector moves the group so
that :
X1 = X0 + X-COMPONENT Y1 = Y0 + Y-COMPONENT Z1 = Z0 + Z-COMPONENT
Where 1 and 0 define successive points down the page.
ACROSS NUMBER X-COMPONENT Y-COMPONENT Z-COMPONENT
These are the corresponding values across the page.
NUMBER
The number of points to be printed across the page, for which there is
no default value.
X-COMPONENT Y-COMPONENT Z-COMPONENT
There are no default values for these parameters, which specify the
fractional coordinate shift vector.
THROUGH NUMBER X-COMPONENT Y-COMPONENT Z-COMPONENT
These are the values that define the change from section to section.
NUMBER
The number of sections to be printed, for which there is no default value.
X-COMPONENT Y-COMPONENT Z-COMPONENT
There are no default values for these parameters, which specify the
fractional coordinate shift vector.
These shift vectors allow any change of position for the group to be plotted out.
\TITLE MOVE 2 SULPHURS AROUND \LIST 5 READ NATOM=2 ATOM S 1 X=0.00 0.15 0.37 ATOM S 2 X=0.13 0.05 0.24 \ call '\trial' with a min. fO of 250 \TRIAL MAP Fo-MIN=250 \ initial origin shift DISPLACEMENT 0 0 -0.3 \ plot half of y down the page DOWN 26 0 0.02 0 \ plot half of x across the page ACROSS 26 0.02 0 0 \ plot half of z up the page negatively THROUGH 51 0 0 -0.01 \FINISH