|
Crystals ManualChapter 7: Structure Factors And Least Squares
7.1: Scope of the structure factors and least squares sectionThis 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 7.2: RefinementBefore 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.
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.
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.
Several strategies are available for refining hydrogen atoms.
Which you use is probably a matter of taste.
Note that the different methods can be mixed in any way, with some
hydrogens placed geometrically, and others refined.
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 7.3: Special positionsThe 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). 7.4: Atomic parameter refinementAtomic 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.
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.
By default, the last type of parameter definition is taken to be implicit.
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] 7.5: Overall parameter refinementOverall 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 7.6: Scale factor definitionsThe 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 :
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.
This directive controls modifications that can be applied to Fo
and Fc.
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.
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'.
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.
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 a principal component of the temperature factor of any atom is less than U[MIN] , then a warning is issued and the isotropic temperature factor reset to u[min]. If this parameter is omitted, a default value of 0.0 is assumed for U[MIN] . 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 .
7.8: Printing the SLFS control list\PRINT 23 This prints LIST 23. There is no instruction for punching LIST 23.
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.
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. 7.10: Printing the special position informationForce 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 7.11: Refinement directives - LIST 12This 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.
7.12: Obsolete Refinement directivesThe 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
CONTINUE PARAMETERS after the BLOCK card.
7.13: Defining the least squares matrixParameters 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. 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. 7.14: Printing of LIST 12LIST 12 may be listed with either
LIST 12 may be punched with
7.15: Creating a null LIST 12A null LIST 12, containing no refinement instructions, may be created with
7.16: Processing of LIST 12LIST 12 is processed to greate a LIST 22 with
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 7.17: Restraint instructions - LIST 16This 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.
7.18: Parameter, atom, bond and angle specificationsComposite 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.
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.
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.
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. 7.19: General restraintsThe '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.
( ) ** 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.
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) 7.20: General restraint instructionsThere are two instructions.
7.21: Debugging restraintsDebugging commands are available to help with the creation of general
restraints
7.22: Printing the contents of LIST 16The contents of LIST 16 may be listed with:
LIST 16 may be punched with:
7.23: Creating a null LIST 16A null LIST 16, containing no restraint instructions, may be created with
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]) 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.
7.25: Printing and punching LIST 17\PRINT 17 or \SUMMARY LIST 17 It is punched with: \PUNCH 17 7.26: Creating a null LIST 17A null LIST 17, containing no restraint instructions, may be created with
7.27: Checking restraints - CHECKThe target values for the restraints can be checked against
the calculated values by issuing the following instruction :
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.
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. 7.29: Weighting for refinement against FoThis 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. 7.30: Weighting for refinement against FsqRefinement 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.
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.
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.
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 7.31: Weights stored in LIST 6If 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. 7.32: Weighting schemesIn 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. 7.33: Dunitz Seiler weighting - scheme 137.34: Chebychev weighting schemes 10, 11A[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. 7.35: Robust-resistant weighting schemes 14, 157.36: Statistical Weights, 167.37: Printing LIST 4of LIST 4 may be printed with:
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 7.38: Weighting the reflections - WEIGHTIf 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:
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.
This defines the coefficients whose minimum values are
to be restricted.
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.
This gives the number of conditional directives to follow.
This directive selects reflections to those giving
values of (h*p + k*q + l*r) in the range s to t.
For example, a single layer of
reciprocal points, or a set of adjacent layers, oriented in any
desired crystallographic direction, can be selected. The number
of such instructions is specified on the READ card above. TYPE
indicates whether the selected reflections are accepted or rejected.
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.
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.
For example, l odd layers can be rejected by setting
'r' and 's' to 1, 't' to 2.
The number
of such instructions is specified on the READ card above.
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.
7.40: Creating a null LIST 28\LIST 28 END Allows all the reflections in LIST 28 to be used. 7.41: Printing the contents of LIST 28LIST 28 may be listed by the command :
There is no instruction for punching LIST 28. EXAMPLE \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 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 7.43: DefinitionsMinimisation 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.
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. 7.44: Unstable refinementsIf 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).
7.45: Sorting of LIST 6 for structure factor calculationsDuring 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.
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.
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.
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.
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.
This directive indicates a complete structure factor least squares
calculation.
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.
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.
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.
This is similar to MAXIMUM above, except that the
specified r.m.s. shift when applied must be equal to VALUE.
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.
7.46: Processing of the refinement instructionsThe 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 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 Fo 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 Fo. 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.
sqrt(Fo) - Default value Fo If TYPE is sqrt(Fo), (its default value), the interval between successive Fo ranges is based on 'the square root of Fo' Values of Fo in the interval '0 to INTERVAL**2' will be analysed in the first range, Fo 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 Fo between successive ranges and, in this case, has a default value of 1. If TYPE is Fo , the interval between successive Fo ranges is based on the value of Fo. In this case INTERVAL is the increment in Fo 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.
This directive allows the results of layer scaling to be
investigated.
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.
HIGH LOW - Default value If LEVEL is LOW the analysis is against Fo and sin theta only. 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.
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.
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.
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 --- 7.49: Internal WorkingsSOme understanding of the internal data management in CRYSTALS may
help the user to sort out unexplained failures.
7.50: Refinement parameter map - LIST 22This 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.
7.51: The least squares matrix - LIST 11The 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 7.52: Printing the contents of LIST 11LIST 11 is printed by :
7.53: Least squares shift list - LIST 24When 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. 7.54: Restraints in internal format - LIST 26This 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. 7.55: Structure factors for a group of trial models - \TRIALAt 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.
This directive determines which reflections will be used in the
calculations and how the map will be printed.
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.
The default values for these parameters are zero, indicating no
initial origin shift before the structure factor calculation.
This directive specifies the printing down the page.
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.
These are the values that define the change from section to section.
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 |