The manual was originally printed on an upper case lineprinter with an old print chain. Hopefully not too many errors have been introduced.
The X-Ray System of Crystallographic Programs for any computer system having a Pidgin Fortran compiler
Pidgin Fortran is a neutral subset of FORTRAN IV and is described in detail in an Appendix.
In collaboration with Department of Energy, Mines and Resources, Canada and the Science Research Council, UK
I shall try to correct errors where shown to be errors, and shall not adopy new views as fast as they appear to be true views....
Abraham Lincoln
This is a manual for the use of a library of crystallographic programs. This library, called the X-RAY System, is designed to carry out the calculations required to solve the structure of crystals by diffraction techniques. It has been implemented at the University of Maryland on the Univac 1108 under EXEC VIII. It has, however, been developed and run on a variety of machines under various operating systems. Hence we consider it to be an essentially machine independent library of applications programs. The report includes definition of crystallographic computing terms, program descriptions, with some text to show their application to specific crystal problems. Detailed card input descriptions, mass storage file structure and some example run streams. No programs are shown. They are supplied separately as about 60000 cards on a blocked tape appropriate to the machine on which they are to be compiled and run.
The write-up of each program is given in two parts, the first is descriptive. The second is a card order summary, file handling summary, and card format description. In each case, the write-up appears alphabetically by program calling card mnemonic. The appendices provide further details about the structure of the system.
The input data requirements for each program are given in two parts. The first, (A), is a card order and file handling summary, and the second, (B), gives the detailed card formats.
The X-RAY system comprises a collection of inter-related FORTRAN programs for the structural analysis of crystals from diffraction data. It provides routines at all levels of the analysis - examples are diffractometer setting programs, programs for applying direct methods of phase determination in the production of a trial structure, Fourier transforms and least squares refinements, and also programs to aid in the interpretation and publication of the refined results. It operates under its own Fortran sub-system monitor - the nucleus - which permits the ready addition of extra programs into the system.
The course of a job run on the system is determined by the input data cards which call the appropriate programs into the store of the computer as required. At the same time, a binary data file (which is fully described later) is continuously updated as the solution progresses, thus keeping the size of an input data deck to a minimum. Whenever possible, the system will continue with a calculation but, in the event of an irrecoverable situation, it will abandon its efforts and chastise the user with an epigrammatic quotation.
This write-up is divided into three sections:
Although each program of the X-RAY system and the nucleus has been tested by its contributors and further tested on a number of different computers, no warranty, expressed or implied, is made by the contributors or the system's programmers as to the accuracy and functioning of the programs, their subprograms, the related program material, or write-up. No responsibility is assumed by the contributors or by any member of the X-RAY system group or supporters of these persons in connection with the use or attempted use or application of these programs.
The usual journal reference to calculations done with the X-RAY system is as follows:
The X-RAY system - version of June 1972. Technical Report TR-192 of the Computer Science Center, University of Maryland, June 1972.
The overall plan of the X-RAY system is such that the user should understand several topics, namely:
It is not possible here to treat all the local lore (even if it were known) concerning the preamble cards required to get a job run on any given computer. Appendix 2 gives several examples of runs of varying complexity in system use. When the system is implemented on a specific machine, it is suggested that each of the examples be prefaced by the appropriate job control deck required for that machine.
The following discussion will only be concerned with how the user must prepare his data from the point at which the system assumes control of the job.
The X-RAY system utilizes four types of input data cards. Every card, regardless of type, is identified by its first six columns.
The four types of card are as follows:
In addition to its identification columns, each card has a fixed format which is set in the programs. Every card is read at least twice, once to identify its function and once to decode it according to its format and the list of items which it should contain. This double reading makes possible fairly flexible card orders and gives the user control of the calculations by means of the structure of his data deck. The whole process of control is based upon these cards and their order so that the utmost care should be exercised in their punching and ordering. As long as no invalid punching is contained in the card, checking and diagnostic print out are possible when unacceptable card order sequences are encountered. This diagnostic which, unfortunately, will become familiar to most X-RAY system users states:
CARD JUST READ../.. (IMAGE OF CARD IN QUESTION) CARD I.D. EXPECTED.... XXXXXX YYYYYY ZZZZZZ
where =XXXXXX=, =YYYYYY=, and =ZZZZZZ= are the only acceptable card identifications expected at the point at which the condemned card was encountered. Many times this error is caused by simply not punching what is shown in the instructions, e.g. =DATRON= for =DATRDN=, or, more commonly, a confusion between the letter O and the digit 0.
The invalid punching referred to above is the placing of characters in fields which do not belong there under the rules of FORTRAN. Examples are the placing of a decimal point within an I field, or a letter within an F field.
The following discussion is not intended to be exhaustive, but rather to emphasize the rules of FORTRAN format statements which are usually troublesome to the crystallographer using the X-RAY system with no previous FORTRAN programming experience. Some of the following material will represent an oversimplification but hopefully will be sufficient to insure fewer terminations due to bad cards in the crystallographic data decks.
A FORMAT statement is a one dimensional array of characters beginning with ( and ending with ). Within these () are a set of characters which describe, card column by card column, the decoding of the card on an item by item basis. Each item is an entity of data. In general, the system uses three kinds of data - alphanumeric characters, numeric integers, and numeric floating point. In a FORMAT statement these are represented by A, I, and F respectively. The number of columns designated for each item is placed directly after the format letter in the case of A, I, and F, thus, if an item consists of four columns of alphabetic or integer information, it is coded A4 or I4. However, if the item consists of floating point information then the number of decimal factions at the right of the field must also be shown. Therefore F6.4 means six columns of floating point data, the last four of which are to the right of the decimal point. The number 543217, punched in such a six column field is interpreted as 54.3217 and is actually stored within the computer as .543217 X 10 exp 2, hence the name floating point. The FORTRAN convention for floating point is such that if a decimal point is punched anywhere in the field, it overrides the implicit position specified in the format statement. In our F6.4 example, this would allow only 5 columns for digits to be punched, e.g. 54321. which will be treated as .54321 X 10 exp 5.
The restrictions on each of these types of data specifications are as follows...
' AB', 'AB ', 'A B ', ' a B', 'A B'As a matter of fact, in the computer storage, a blank has a specific representation just as unique as that which represents 1, 2, A, or Z or any other character.
A number in front of an A, I, or F specification designates the number of identical fields specified.
The complete format statement is thus formed by a series of item specifications separated by commas. there is one other feature commonly used in the X-RAY system and that is the X, or column skipping function. In this case, the number of columns to be skipped is written before the X.
One must take care, also. not to confuse numeric zero and the letter O (0,0). On the printing keypunches they often appear to be the same but the hole configuration in the card is unique for each. on most printers the difference is subtle but one can usually learn to see it. Similarly 1 (one) and I must be distinguished.
There now exists several kinds of keypunch and at least two sets of widely used symbols (business and scientific). This may also lead to problems but usually only if data are punched in different computer laboratories. Remember that the hole configuration is the important consideration, not the symbol printed on the card or printer.
The following example should make clear the instructions given in part 2 of this write-up. Let us suppose that the system requires to read eight items, the first four alphabetic, the next three floating point, and the last an integer. The FORMAT might be
(A2,A4,1X,A2,A4,2X,3F10.5,I5)
The data to be supplied would be described as follows:
Cols Specified punching or function of the field 1-5 GRUMP note that the identification is read as two items. This is necessary to meet the restrictions of computers which now handle only four characters per word. 6 BLANK 8-13 COMPOUND IDENTIFICATION CODE 16-25 FIRST VARIABLE 26-35 SECOND VARIABLE 36-45 THIRD VARIABLE 46-50 INTEGER VARIABLE
and might be punched as follows (the first two rows, reading downwards, indicate the column numbering):
000000000111111111122222222223333333333444444444455555555556 etc 123456789012345678901234567890123456789012345678901234567890 GRUMP NACL 3.2 7.9 0.2 24
Notice that columns which must be blank are specified as such, whereas those which are not read are not mentioned.
Although the above is a bare bones introduction to formatting, it is hopefully all that is needed for the crystallographer to prepare his data fcr use with the system.
The system treats the individual crystallographer's data for a given crystal in an exceedingly stylized manner. It is essential, therefore, that he has in his mind a clear picture of the structure and method by which his data are being stored. This will enable him to take full advantage of the facilities provided both within the system and by his computer configuration.
In the first instance, all of the data concerning a given crystal will probably be entered into the system from cards. In order to minimise the number of input cards for each run, the system provides the ability to accumulate all pertinent data for a crystal structure within a binary data file. This file may be on any convenient mass storage device available on his computer whether it be drum, tape, disc, bulk core, or data cell, depending upon local custom, availability, and ease of access. One might picture the binary data file as being an orderly collection of microfile copies of the cards which have been input up to that point in the structure determination, arranged so as to be easily retrievable by any of the programs of the system.
In addition to describing which data cards are required, each program description in section 2A indicates which data files are utilized. In general, two files are required. One, symbolically referenced as =NFILEA=, is treated as the input file and serves as a source of all the data not otherwise provided. Most of the system programs rely on the. binary data file for information which has been supplied at a previous stage. Normally, as a system program proceeds, updated file information will be written onto an output binary data file, referred to (not surprisingly) as =NFILEB=.
Once a calculation has been completed and before reading a new program calling card, the system interchanges its own concept of =NFILEA= and =NFILEB=. The output file of any one program thus becomes the input file to the succeeding one, and vice versa. Furthermore, each time the file is updated, the name of the updating program is automatically added into the history record within the file.
On every computer, each mass storage device, irrespective of its physical type, must be referenced in some way by the user. In FORTRAN programs it has become traditional to make these references by a logical unit number, i.e. an integer which points to a given physical device. The actual assignment of numbers to devices is very much dependent upon local machine room custom and one can never be sure which (illogical) logical number designates which physical device. The card reader (which the programs refer to as =NTIN=) and the line printer (=NTOUT=) are also identified by the use of logical numbers.
The history of these logical numbers traces back to the IBM 704 on which there were 10 tape units which were referred to as 1 to 10 respectively.(an ingenious arrangement). When the 709 was introduced, it had channels, that is, two or more separate devices, each of which controlled up to 10 units. These became physical units A0 to A9, B0 to B9, and so on for as many as 8 channels. By this time it had become traditional to use unit number 5 as the input tape unit on the 704 and unit number 6 as the standard print tape unit in many laboratories. Thus on the 709, A2 became logical unit 5 and A3 logical unit 6, with the introduction of IBSYSS on the 7094, logical unit 6 became physical unit B1 at many places. It is now frequently found that the card reader images are still read from unit 5 and printer images sent to unit 6, even though they are intermediately stored on a disc or drum.
For mass storage devices, it is now common practice for the user to assign a logical number to a physical magnetic tape or to a symbolically named disc or drum area by means of the job control language. The operating system usually allocates whichever physical device is appropriate at the time of running the job.
Two distinct ways are provided by the X-RAY system for setting the correspondence between the logical numbers (identifying the device) and the symbolic names such as =NTOUT= or =NFILEA=. One method is within the nucleus programs and, when the system is compiled, the values of =NTIN= etc. should be set to the appropriate standard usage of the local machine. The second and more important way from the standpoint of the system user is by means of the =FILES= card. This is one of the operation cards which are described in section 2.GENERL. With a =FILES= card one is able to re-assign the logical unit number of any of the X-RAY system files. These files, named =NTIN=, =NTOUT=, =NFILEA=, =NFILEB=, =NFILEC=, ..., =NFILEJ=, have the following standard usage:
X-RAY File Purpose NTIN Card input data NTOUT Line printer output NFILEA Crystallographic input binary data file NFILEB Updated crystallographic output binary data file NFILEC Punched card output NFILED Special output for printing NFILEE Scratch unit for various intermediate jobs NFILEG Scratch unit for various intermediate jobs NFILEG Scratch unit for various intermediate jobs NFILEH Scratch unit for various intermediate jobs NFILEI Scratch unit for various intermediate jobs NFILEJ Scratch unit fqr various intermediate jobs
Note that every program of the system:
If several system programs are to be used in sequence, the user may need to insert =FILES= cards in the data deck. Remember that =NFILEA= and =NFILEB= are interchanged automatically after each program has been completed. Thus these two files may require setting only occasionally. One must visualize, before the run, how the required files will be used. Let us examine, for example. the =FILES= card usage in the following run. After loading atomic parameters into the binary data file, we intend to do a cycle of least squares refinement, followed by a Fourier, and to finish with a bond lengths and angles determination. For simplicity. we will only consider the usage of =NFILEA= and =NFILEB=, which we will initialize with a =FILES= card to be logical units 8 and 9.
Title Illustration of =FILES= Card Handling FILES 8 9 LOADAT . . . . . . END . . . CRYLSQ . . . . . . END . . . FOURR . . . . . . END . . . FILES 8 BONDLA . . . . . . END
Of course, no details of the other cards are shown. The initial =FILES= card sets up the required starting values, so that =LOADAT= will read unit 8 and write 9. Because of the interchange of the values of =NFILEA= and =NFILEB= subsequent to the completion of =LOADAT=, =CRYLSQ= will read 9 and write 8. similarly, =FOURR= will read am input file on unit 8, but, as shown in part 2, it does not write an =NFILEB= and hence the interchanging of 8 and 9 before entering =BONDLA= would normally cause 9 to be read within =BONDLA= This however, does not contain the results of the =CRYLSQ= run and so a =FILES= card is inserted before the =BONDLA= calling card to force the value of =NFILEA= to be 8 at that time. More involved examples are given in Appendix 2 and they should be studied for their use of the =FILES= cards.
By saving and keeping track of the binary data file, one may greatly reduce the number of cards necessary to carry out the calculations. The form given below is recommended to your attention as a model for a personal record to keep as computing runs are made during the solution of a crystal structure.
RUN RECORD INITIAL______________ SERIAL NO.___________ COMPOUND ID_____________________________ RUN SEQ NO.__________________________ DATE____________________________________ EXECUTION TIME_______________________ CHARGE NO _____________________________ TYPE OF JOB__________________________ FILE ASSIGNMENTS (WITH LAB REGISTRATION NUMBERS) ____________________________________________________________________________ | | | | | | | | | | | LINK | NTIN | NTOUT | NFILEA | NFILEB | NFILEC | | | | | | | | | | | | | | ____________________________________________________________________________ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ____________________________________________________________________________ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ____________________________________________________________________________ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ____________________________________________________________________________ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ____________________________________________________________________________ A PRIORI REMARKS B POSERIORI REMARKS
The course of the crystallographic calculations, which may involve any number of programs in the system, is controlled by the ordering of cards in the input data. The sequence of events as the calculation proceeds is as follows:
Upon initial entry into the system, or upon meeting a =RESTART= card, all file assignments will be set to their standard values, the page number for the printed output will be set to zero, and the title array which is printed at the top of each output page is set to blanks. A =TITLE= card should always be included at this point even if only to explain the reason for the run. A =FILES= card may be necessary as well if the standard assignments are not appropriate for the requirements of this run. After this comes the calling card for the first crystallographic program needed for the problem at hand. =REMARK= cards, if one wishes, may be inserted next, and finally the data cards demanded by the program being called. If the binary data file is being used as the source of data, an =END= card is often the only data card required. Otherwise, once the required data is assembled in order, an =END= card is always placed before any other calling or operation card. Often one will place a =REMARK= card before each successive call for another crystallographic computation. Each program reads and processes data cards until the =END= card is reached, whereupon it completes the calculation, writes summary data, and finishes updating the binary data file (if any). Control then passes back to the nucleus which interchanges =NFILEA= and =NFILEB= (logically) and then seeks another data card. Here one may insert some operation cards, if needed, and then comes another calling card for a new calculation with the same or any other system program the crystallographer may require.
If, for any reason, there is a failure because of the progress of the calculation (e.g. a singular matrix), every program tries to salvage the output binary data file (if any) and give a diagnostic of the cause of failure. When it is signaled that a serious calculation error has been detected, all of the subsequent data, and calling cards are skipped until either a =RESTART= or a =FINISH= card is encountered. Since very often the failure of one calculation precludes the need for a subsequent one, it is best to use =RESTART= cards discreetly, obviously there is no point in carrying out an FO Fourier if the preceding structure factor calculation fails.
In summary, because of this procedure, the calculations which run independently should be headed by a =RESTART= card but a dependent sequence of calculations should not be separated by such a card.
The end of all calculations is indicated by a =FINISH= card.
Since the initial implementation of the X-RAY system, a certain vocabulary has been developed within the program descriptions, card format definitions, and program output. The following glossary attempts to provide clarification of the terminology used and indicates some of the general principles used within the system.
At =DATRDN= time, certain atom types are introduced into the binary data file by including scattering factor tables for the various atomic species present in the structure under study. Each atom type may be up to 4 characters in length but may not end with a digit, e.g., NA, OX, CU2+, H are acceptable but CU+2 is not acceptable.
The atom number serves to identify one particular atom amongst the several there may be of a given atom type.
A complete atom identification then consists of the two parts: atom type followed by atom number for that type, and in total it must not exceed 6 characters. Thus NA1, OX35, CU2 + 1, H41, are all acceptable atom identifications. Whatever numbers follow after the last alphabetic character are used as the atom number. Since the field is read under A4,A2 format, the identification and elimination of numbers in the A4 field permits the determination of scattering factor type (see program NUSS (NUC003) for details). The final A2 field may be any legal symbols. Thus, for scattering factor H:
H12345, H123C1, H123CC
are all right, but H123C45. etc. is not allowed, as with the compound identification code, the atom identification for a particular atom must always be punched consistently.
The ability to generate form factors by the expansion formula of Cromer and Mann (see 1.DATRDN) is included through the use of =FORMGN= cards. The coefficients for C, N, Q, P, S and CL are stored in a subroutine. For H, the form factors of Stewart et al are similarly available.
Atomic parameters can only be loaded (i.e. inserted) into the binary data file by the use of the =LOADAT= program.
During the structure factor programs, atoms may be selected from the binary data file in two ways. Firstly. by use of an =ATOM= card containing only the atom type within the appropriate field. One can select all atoms of that type from the file. Alternatively, by specifying the complete atom identification, a particular atom will be selected.
The user must assign the compound under consideration a six character name comprising any legal card punching, including blanks. This serves two functions. Firstly it ensures that the input binary data file is in fact the correct one. Secondly, it permits the ready identification of card data decks.
Once a, compound identification code has been assigned, it is extremely important to punch it consistently thereafter, especially with respect to embedded blanks. Choose carefully. and remember your choice.
The electron density scale Factor is used in the Fourier program to place the number in the output map within a convenient range. =FOURR= calculates actual electrons/cubic angstrom (or appropriately for Pattersons and E maps) which have a considerable range of magnitude depending upon the atomic species present. The printing of the map is done in either I4 or I2 format, and in order to constrain the numbers to be in the selected range. this scale factor may be useful. for further details see 1.FOURR.
EPSILON, a small, symmetry related integer described in Vol. II of the International Tables pp, 355-6 and called alpha there by Luzzati is required for the calculation of E values (quasi-normalized structure factors). The calculation of these factors is also described in Crystallographic Computing (1969) p. 19 by I. Karle. In data reduction this factor is calculated for each reflection and stored in the binary data file for use by other programs in the system. The value of EPSILON is calculated by a simple enumeration procedure. It is the count of the number of times a reflection identically is generated under the symmetry operations of the space group under consideration, that is to say, for H(NEW) = HR(J) where H is the vector (H,K,L) and R(J) is the Jth rotation matrix supplied to data reduction.
All structure factor information obtained by experimental observation is entered into the binary data file through =DATRDN=. This may be in terms of intensities, as measured from films or diffractometer, or alternatively as values of F squared or F obtained by some other previous data treatment. These data must consist of a unique asymmetric set of reflections as described in Treatment of Symmetry (see below).
If the quantities supplied to =DATRDN= are indicated to be intensities, the various systematic corrections are applied and the square root of the value obtained is defined to be F RELATIVE.
When F squared is supplied, its square root is defined to be F RELATIVE.
F OBSERVED is always the product of F RELATIVE and its corresponding scale factor (see Scale Factors). Certain programs produce listings involving values of both F OBSERVED and intensities. The latter will only be meaningful if intensities were supplied to =DATRDN=.
F values which are determined by the programs from atomic coordinates are referred to as H calculated and will agree with those obtained from formulae given in international tables, vol. I.
Grid is used to define the number of subdivisions along a given axial direction. The required values may be supplied by the use of a =GRID= card, but in the absence of a user specified grid, values are calculated by =DATRDN= which will produce one inch per angstrom Fourier sections, spaced 0.3 angstroms between each section.
This was originally a variable name defined in 1960 (by one D. HIGH) to be used to designate the kind of reflection being processed. It is still used in that way but has crept into our vocabulary of jargon as synonymous with reflection type.
JCODE Reflection Type 1 Observed 2 LESS-THAN 3 To be calculated and displayed but not used. Historically, one suffering from primary or secondary extinction. 4 Condemned by the user as invalid, never to be used or displayed. 5 Systematically absent.
This term is introduced to designate reflections of very low intensity. That is, those reflections which are also referred to in crystallographic literature as being unobserved or zero. Note that in none of these instances is the term applied to space group dependent systematic absences.
As the name LESS-THAN implies, it is used specifically to set a threshold of observability which is defined differently for film data and for diffractometer data.
In the case of film data, there will he found a scaled, averaged intensity for some reflection which represents the lowest observed intensity value. All reflections with intensity below this value will be unobservable. However, their actual value must surely be less than the lowest observable value, and, by assigning them the lowest intensity together with a LESS-THAN identification (JCODE=2), they may be utilized in refinement procedures.
For diffractometer data, the threshold of observability can be established on the basis of the counting statistics for each measurement of intensity. When the estimated standard deviation of the intensity is such that it is of the same order of magnitude as the intensity itself, a reflection may be considered to be a LESS-THAN. Provision is made in the appropriate programs for supplying the definition of the number of standard deviations of intensity which define the threshold of observability, i.e. one can specify the threshold to be at zero sigma, one sigma, two sigma, etc.
In practice, the use of zero sigma data appears to be best in situations where E values (quasi-normalized structure factors) are being calculated. Such as in =NORMSF= and =DATFIX=. On the other hand, three sigma data appears to be more appropriate for least squares refinement based on F or F squared. The latter programs (e.g. =CRYLSQ=) therefore, permit, under user control, this reclassification of LESS-THANs by specification of the value of sigma required.
An objective of a structure refinement will be that every calculated structure factor will agree with the observed value and that every LESS-THAN will calculate below the specified threshold.
The true valued of the magnitude of maximum Miller indices H, K, and L are very important within the X-RAY system and should be supplied at =DATRDN= time. They are used to determine table sizes in most of the large scale calculations and therefore if supplied as large values will cause large core requirements. =DATRDN= can estimate their values from the maximum value of THETA but this often gives an undesirable result, especially with high symmetry space groups. Reflections outside the =MAXHKL= limits will be rejected at =DATRDN= time.
New =MAXHKL= values can be supplied at other times to =LOADAT=. These values will be inserted into the binary data file (although no reflections will be removed from the file) and will therefore restrict all subsequent calculations. =MAXHKL= limits supplied to any other program will not be written in the file and therefore only have a local effect. SIN(THETA)/LAMBDA limits may also he included in the =MAXHKL= card and the more stringent limits will apply.
The term multiplicity refers to two distinct quantities, although both have to do with points which are equivalent by symmetry.
The first usage, reflection multiplicity, is a ratio expressing the number of general reflections equivalent to a given reflection. Consider the reflection with Miller indices 1, 2, 3 in the space group P2/M. This has a multiplicity of 2 because it is symmetrically equivalent to the 1, -2, 3 reflection. (note that any centering is treated specially, so that the presence of the -1, -2, -3 and -1, 2, -3 are otherwise automatically implied, see Treatment of Symmetry.) On the other hand, the 2, 0, 0 has a multiplicity of only 1 because 2, 0, 0 and 2, -0, 0 are identical. These reflection multiplicities are used for correct weighting of reflections within =FOURR= which only treats one hemisphere of information.
The term is also used in atom multiplicity which is effectively a weight to be applied to points in direct space. It is derived in =LOADAT= by generation of all the symmetrically equivalent atoms from a given atom of the asymmetric set. When an atom is so treated, some (or all) of the generated atoms may coincide with the original position. If this occurs that atom is said to be in a special position having a multiplicity equal to the reciprocal of the total number of equivalent atoms. Using the P2/M example above, an atom at 0.5, 0, 0.5 will have another symmetrically related atom at -0.5, 0, -0.5. These are identical points in the unit cell and so the atom multiplicity is 1/2.
Additional information is derived within =LOADAT= giving the restrictions placed upon the atomic parameters by the nature of the special position. This is useful in subsequent refinement procedures.
The limit to the number of unique atoms which may be used for calculation depends upon the temperature factor mode and core size of the machine used. However, this limitation can at readily overcome by the use of the partial contribution technique provided in the structure factor programs of the system (e.p. =FC=, =CRYLSQ=). For each reflection in the binary data file, space is reserved for the values A and B (i.e. the real and imaginary parts of the structure factor), and PARTA and PARTB (i.e. partial contributions to A and B).
Data reduction initializes all four to zero and any structure factor calculation on a set of atoms will cause entries to be made in its output binary data file for A and B. If this file is subsequently used as the input file fur another structure factor calculation, these values of A and B may be established and applied as partial contributions to the calculation and they will be used instead of zeros to start the structure factor summations. Moreover, they will be entered as values for PARTA and PARTB in the new output file. A and B will, of course, be updated as the result of the most recent calculation, but will now contain both the effect of the partial atoms from the first run and of the additional atoms entered during the second calculation.
Two options art available when subsequent structure factor programs use this new file as input. One can again establish and apply the A and B as being partial contributions and so cumulate the effect of more and more groups of atoms into the structure. Alternatively one may simply apply the existing partial contributions to perhaps a modified set of additional atoms.
It is thus possible to carry out large block refinements of various parts of a molecule to achieve overall refinement of the complete structure.
Population parameter is a term used to express fractional occupancy of an atom site. It is treated independently of atom multiplicity (see above) in =CRYLSQ=.
These quantitits are used throughout the system to place the values of F RELATIVE on the same scale as F CALCULATED, as defined in International Tables, Vol. I. that is, the scale factor is used to convert the value of F RELATIVE into F OBSERVED.
Scale factors are initially determined by the use of =NORMSF= which uses the scattering factor and cell content information to statistically establish reasonable values. In practice, these values have proved to be within 10 percent of the final scale factors for diffractometer data. In the case of film data, there may be a number of scale factors for a given compound corresponding to different groups of data such as, in the Weissemberg case, the various levels collected.
These scale factors (whether a single one for all the data or several for various groups of data) will probably eventually be refined by the least squares programs. During the process of refinement, the quantity used in the calculations is the reciprocal of the F RELATIVE scale factor although all input and internal storage is in terms of the actual F RELATIVE scale factor.
In addition to the changes in value calculated for the scale factors by the least squared programs (which are output on the binary data file as scale factors), certain other programs (e.g. =FC=, =RLIST=) calculate the quantity .
Which provides an indication of a =RESCALE= factor. In practice, this rescale factor rarely needs to be used if the initial estimate of the scale factor is reasonable.
Normally, scale-factors will be taken from the values stored in the binary data file. However, these values may be superseded by values input on =SCALE= cards. All programs except =FC= which both calculate (or refine) scale factors and write an output binary file will update the output binary data file with the new values.
The practice of adjusting scale factors during the course of refinement at a stage when not all of the atoms of an asymmetric set are yet included can lead to certain problems. For example, a difference map made to locate hydrogens but using the best least squares scale factors obtained for non-hydrogen atoms will not show the hydrogen peaks at their true magnitude (in fact they will be artificially lowered.
The scale factors which are input at =DATRDN= time are treated in a special way. They are used to scale the input quantity, intensity, F squared, or F RELATIVE, for various groups of data before those entries are made in the output binary data file. All scale factors in the output file are set to 1.0 at =DATRDN= time.
There are two other types of scale factor which are not entirely independent of the scale factor as defined above. One type is used in the initial stages of producing a set of merged, scaled, and averaged data from a diffractometer or from a series of film packs. This is the scale factor used in data correlation programs. The other type is the electron density scale factor (see above) referred to in =FOURR=.
There are two terms which must be clearly distinguished in speaking of structure invariants. These terms are applied to:
The first group are called structure seminvariant phases and the second are called structure invariant phase relationships. Very often the first will be called simply structure seminvariants and the second, structure invariants. This distinction has been a source of some confusion when one is applying direct methods.
The structure seminvariant phases arise from the fact that certain reflection vectors (HN,KN,LN) within a given space group are invariant with respect to any defined origin for the unit cell. The phase, PHI, of a given reflection derives from a dot product:
___ | x | PHI(HN,KN,LN) = 2*PI*(HN,KN,LN) | Y | | Z | ___
where the vector XYZ is some point in the unit cell referring to an arbitrary origin.
FC = SUMMATION (J=1 TO N) EXP(2*PI*I(H*XJ)) SUMMATION (J=1 TO N) EXP(2*PI*I(H*(XJ+X0))) SUMMATION (J=1 TO NS) OF THE SUMMATION (J=1 TO NA) EXP2*PI*I*H*RJJ*(XJ + X0) EXP(I*PI*I*H*RJJ*XJ) EXP(I*PI*I*H*RJJ*X0) SUMMATION (J=1 TO NS) FXP(2*PI*I(H*RJJ*X0))SUMMATION(J=1 TO NA)EXP(2*PI*I(H*RJJ*XJ))
In special cases of high probability (all high E values).
There is the possibility that phases of certain reflections combine in such a way that an invariant quantity results. there is the trivial example in which:
H1 = 0 K1 = 0 L1 = 0
i.e., the null vector F(0,0,0>, which is dependent exclusively on the structure (content) of the unit cell.
Also we have the case when:
H1 + H2 = 0 K1 + K2 = 0 L1 + L2 = 0
which is Friedel's law. This states that PHI(H1,K1,L1) = -PHI(H2,K2,L2) which is also independent of the cell specifications. This relationship is used throughout the phase determining process.
The next possible structure invariant phase relationship is that for which:
H1 + H2 + H3 = 0 K1 + K2 + K3 = 0 L1 + L2 + L3 = 0
which is the basis of the SIGMA-TWO relationship. Vectors which meet this criterion give rise to structure invariants of the form:
COS(PHI(H1,K1,L1) + PHI(H2,K2,L2) + PHI(H3,K3,L3)) = G
This particular structure invariant has proven most effective in solving structures. the value of the average, G, may be obtained in two ways. One way is to assume that it is +1.0 which holds for PHI values of reflections (HN,KN,LN) where E(N) is large. The other way is to actually calculate an estimate of each G based on averages over all vectors (HN,KN,LN) for the E(N).
In a similar way, the fourth order relationship:
H1 + H2 + H3 + H4 = 0 K1 + K2 + K3 + K4 = 0 L1 + L2 + L3 + L4 = 0
may be used.
At the beginning of the process of generating phases for an unknown crystal, all reflections above a certain threshold of E (the normalized structure factor) are serially assigned a symbolic phase. These symbolic phases are denoted by a symbol number in decreasing order of E value. That is, the maximum value of F is given the symbol 1, the next largest 2, and so on. In this way, the symbol number not only serves to identify the given reflection, but also to stand for the value of the unknown phase. Any other symbolic designation (for example letters) could have been chosen but the advantage of using sequential integers is that each may serve as a subscript to point to a given symbolic phase and, in order to save storage and computing time, the symbol number becomes, in use, the symbolic phase.
Consequently, in the course of the determination of a set of phases each symbolic phase will at the end of the process fall into one of the following categories:
The crystallographic programs of the X-RAY system are designed to operate for any space group in any setting. The design of the programs is such that the data reduction program reads the symmetry specified by the crystallographer and recasts it into suitable forms for use by the various programs of the system. Several arbitrary rules must be observed in order to produce computationally correct results with respect to symmetry.
Take as an example, C 2/C, which has the full set of equivalent positions
X, Y, Z X + 1/2, Y + 1/2, Z X, -Y, Z + 1/2 X + 1/2, -Y + 1/2, Z + 1/2 -X, Y, -Z + 1/2 -X + 1/2,Y + 1/2, -Z + 1/2 -X, -Y, -Z -X + 1/2, -Y + 1/2, -Z
In the X-RAY system this example must be encoded by the following input.
LATICE C C SYMTRY X, Y, Z SYMTRY X, -Y, Z + 1/2
Note that the second =SYMTRY= card could just as well have been -X, Y, -Z + 1/2 (because is is implied by the center). The identity (X, Y, Z) is always expected and must be given. In the system, the symmetry data supplied is transformed into two forms. One is a set of rotation matrices and translation vectors used by all programs which must generate equivalent positions in direct space or equivalent reflections in reciprocal space. The other is a set of integer directors associated with each reflection in the binary data file. These integers make possible the generation of all the equivalent reciprocal space points and structure factors (phases included). Thus one may say that all the various programs are coded as if the structures were triclinic and the symmetry is imposed by machine directing codes established by the data reduction program. This, then, is the raison d'etre for the existence of the binary data file as formed by data reduction. The crystallographer works only with an asymmetric set of atoms and reflections.
Where appropriate, every program is designed to permit the use of overall isotropic, individual isotropic, individual anisotropic, or a mixture of all three types of temperature factor. If necessary, the program will perform the appropriate interconversion (except, currently, =FC=).
A number of different conventions have been followed in the crystallographic literature for the definition of temperature factors. Within the X-RAY system, use is made of the Debye-Waller B factor for the isotropic mode, as used in the expression
EXP -(B*S**2) where S= SIN(THETA)/LAMBDA
The corresponding anisotropic expression is
EXP -(H**2*BETA(1,1)+...+2*H*K*BETA(1,2)+...)
However, with the aim of eventual consistency, it is proposed that the system will for all output adopt the Cruickshank U notation. having the relationships
B = 8*(PI**2)*U BETA(I,J) = 2*(PI**2)*U(I,J)*(ASTAR(I)*ASTAR(J)) B(I,J) = 8*(PI**2)*U(I,J)
(where ASTAR is a reciprocal axis length). This choice is made as a result of the article by D.W.J. Cruickshank in Acta Cryst., 1956, 9, p.747.
Currently, at =LOADAT= time (which is the only place where temperature factors are entered into the system) the values are output in all three conventions together with the U values of the ellipsoid and the angles made by the axes with the cell edges.
When inputting temperature factor information, any of =B=, =BETA=, =BIJ=, =U=, or =UIJ= are acceptable. The only commonly used form which is not allowed is that in which the factor 2 in the cross terms has been absorbed into. those terms in the temperature factor.
The process of refinement of a crystal structure utilizing a nonlinear least squares procedure requires some attention to be given to the weight assigned to each experimental observation. In the system, the quantity stored in the binary data file is the square root of the reflection weight. (This convention has arisen because it saves many thousands of multiplication operations during the building of the matrix and vector of the normal equations.) The practice follows that established in =ORXLS= and is common to many crystallographic least squares programs.
The derivation of the values of the weights is a matter of considerable controversy in the crystallographic literature. For this reason, a number of methods of dealing with the problem of establishing values suitable to the given problem ake provided. =DATRDN= allows the binary data file value, or its reciprocal, to be input directly on =HKL= cards. Alternatively, one may specify coefficients for the calculation of this value using an equation described in 1.DATRDN. Finally, =WTANAL= and =WTLSSQ= may be used to derive a suitable set of weights.
This program is a modification of a four-circle diffractometer code written by P. Coppens of SUNY Buffalo. The absorption routines were obtained from R. F. Stewart, Carnegie-Mellon University, who had incorporated them into a data reduction package. H.L. Ammon modified the program for the X-RAY system including a complete rewrite of the input sections for crystal orientation and crystal face specification. The fourth diffractometer angle (OMEGA = THETA) is not allowed to vary independently in this version (i.e., OMEGA is assumed to be FQUAL to 0.5*TWO-THETA).
Evaluation of the absorption integral =A= is done by numerical summation over a three-dimensional grid of points within the crystal volume. The Gaussian quadrature method is used which assigns to each point a weight proportional to the crystal volume element represented by the point.
( 1 ) INTEGRAL ( ) A = ----------------- * OVER (EXP**(-MU*T) DELTA V ) (CRYSTAL VOLUME) CRYSTAL VOLUME ( )
The absorption correction term is output as =A*= where
A* = 1/A I (CORRECTED) = (A*) * I (MEASURED)
Additional information on the method of calculation, examples of its accuracy, etc. may be found in Coppens.
The diffractometer geometry specified in the program is used on the picker FACS-I. Many other systems have identical or equivalent geometries. The General-Electric XRU-6, for example, is just the FACS-I turned upside-down. With all diffractometer angles set to 0.0, a set of diffractometer axes is defined such that +X points toward the X-Ray source (-X into the detector), Y is both in the horizontal diffractometer plane and the plane of the CHI circle, Z is normal to X and Y to yield a right-handed system. The + direction of Y is defined such that when a reflection is being measured at some + TWO-THETA, the incident beam occupies the +X,+Y quadrant, the diffracted vector moves through the -X,+Y quadrant and the reciprocal lattice vector is coincident with +Y. The +Y axis forms the reference point for PHI = 0 degrees and the + direction of rotation is assumed to go from +Y to -X. At CHI = 90 degrees, the goniometer head to crystal vector parallels +Y and at CHI = 0 degrees it parallels -Z.
******* *GUNIO* CHI = 90 DEGREES *HEAD * TWO-THETA = CA, 45 DEGREES ******* | | | | (+X)-------------------* *** *--------------------(-X) * *** * * | * * | * * | * * | * * | * * | * * | * X-RAY (+Y) DETECTOR SOURCE
Primary and secondary orienting reflections (right-handed system assumed) are used to specify the crystal orientation (Busing) on the =ORREF= card. Crystal face data may be specified in two ways:
(1) =FACEPT= Cards:
Each face is defined by the coordinates of 3 points on the face in an arbitrary Cartesian system (it must he right-handed, orthogonal and normalized). The unit length in this system can be either 1.0 cm or (1/S) cm where S is a scale factor punched in cols. 62-71 of the =ABSORB= card). If this option is used, the faces indicated on the first and second =FACEPT= cards MUST correspond to the primary and secondary reflection H,K,L's on the =ORREF= card. These first two faces need not be real crystal faces, but may be fake faces used only for crystal orientation purposes (see cols. 7-8 of =FACEPT= card).
(2) =FACE= cards
Each crystal face is specified by the CHI and PHI angles required to place it in the diffracting position, plus the distance from the crystal face to an arbitrary origin inside the specimen. This kind of measurement can be readily done on the FACS-I because the viewing telescope is mounted in the X,Z plane. The faces need have no relationship to the two orienting reflections on the =ORREF= card.
=FACE= and =FACEPT= cards cannot be used together.
In the present version. reflection input can be achieved only using =HKL= cards or a file containing card images. The format of the output =HKL= card is exactly the same as that input except for the value of =A*= in cols 63-69. Card image file input is achieved by the use of a =FILES= card after the last =FACE= or =FACEPT= card. The =FILES= card must have the card image file logical unit number in cols. 8-9 (usually contains NTIN).
The last record on the card image output file says =FILES= with the usual value of NTIN replaced in cols. 8-9.
*SORRY*, but the program will not accept an existing X-RAY system binary data file as input. This feature will be added at some later time.
The manner in which this program interfaces with =DATCO5= and =DATRDN= is illustrated below:
(A) DATCO5 - process diffractometer intensity data.
Write =HKL= card images on file X.
(B) ABSORB - absorption correction.
Read =HKL= card images from file X (a =FILES= card must be used
to temporarily designate file X as the input card
stream, i.e. NTIN = FILE X).
Write =HKL= card images containing =A*= on file Y.
(C) DATRDN - reduce data.
Read =HKL= card images from file Y (a =FILES= card must be used
to temporarily designate file Y as the input card
stream, i.e. NTIN = FILE Y).
Write new binary data file.
This link in the X-RAY system was coded by S. Hall, G. Kruger, and J. Stewart. Its purpose is to carry out the first expansion of phases from the origin and enantiomorph phases which have been chosen as described in 1.TANGEN and 1.SINGEN. In addition this program will carry out estimation of cosines of structure invariants by means of the method proposed by Hauptman.
It cannot be overemphasized that this is purely an experimental link currently under investigation. It sometimes gets the answer directly from the O.D.R.. and E.O.R. by forwarding a correct inner set of phases to =TANGEN= but also at this writing (Oct. 1971) it may forward to =TANGEN= an obfuscating inner set. It depends upon how =EASY= the solution is. The best plan seems to be to take the origin and enantiomorph phases chosen as described in 1.TANGEN and run =TANGEN= first. If that attempt fails then make a preliminary run with =APHASE= to see if there are any numeric values of phases which may be obtained by means of fourth order relationships. If there are , use the O.D.R., E.D.R. and only this additional phase directly into =TANGEN=. If that fails consider the ambiguities determined by =APHASE= and pursue the multiple solutions which they imply. If there are many implied branches reconsider the choice of O.D.R. anu E.D.R. reflections.
The =APHASE= link proceeds in a number of steps.
1. Sorting of the output of the =SINGEN= relationships in decreasing order of A (probability- a useful list for hand operations)
2. Optionally calculating the estimated value of the cosine for each of the relationships selected.
3. Merging of the sorted relationships into third order and fourth order types in decreasing A. The fourth order relationships are found by the elimination of a common PHI between two third order relationships.
4. Simplification of the unknown PHI values in terms of known phases or higher E valued unknown PHI values.
5. Transfer of all known PHI values to an output binary data file for use by =TANGEN=
***CAVEAT APHASOR***
Steps 1, 3, and 5 are self explanatory.
Step 2
Step 4 is a method for establishing the fewest possible unknown phases within a given subset of the highest E value reflections. the output of the =SINGEN= link and the sort-merge process in =APHASE= is a series of equations of the type PHI(I) +OR- PHI(J) +OR- PHI(K) +OR- PHI(L) +OR- PHI(SHIFT)=PSI where I, J, K, and L, refer to phase mumbers and the + or - signs and shift refer to symmetry considerations as given in 1.SINGEN. During this process the value of PSI is assumed to be zero since only the highest A value relationships are utilized. If the averaging process was carried out any relationships with a calculated PSI much different from zero are eliminated. The sort merge process has left the relationships sorted so that the most probable one comes first, then the next and so on.
Initially, a matrix large enough to accommodate the highest phase number to be sought is set up. Then the values of any known or defined phases are placed in this matrix. Each relationship is read in turn and any known phases already posted in the matrix are substituted into the relationship. This process eliminates the already known PHI values from the relationship and reduces it to be in terms of the smallest phase numbers possible. Once the relationship is simplified it in turn is posted to the matrix such that the highest remaining unknown phase is simplified and can then be used to simplify others.
Because of the nature of this process a number of results may arise as each relationship is being processed
1. The relationship reduces to N=N where N is some numeric phase value. In this case the relationship is redundant and reconfirms previous substitutions and simplifications.
2. The relationship reduces to N=M where N and M are significantly different phase values from one another. This implies that there is a discrepancy between the current relationship being treated and some previous substitutions and simplifications.
3. The relationship caused the reduction to PHI(L)=FUN( PHI(I1), PHI(I2),... PHI(IN)) that is to say PHI(L) is expressed in terms of other PHI values. Phase numbers I2 to IN are all less than 1.
4. The relationship causes the reduction to PHI(L)= N/Q where N is a phase angle and Q is an integer, both the angle and the integer being the result of all previous substitutions and simplifications. This may also be expressed as M*(PHI(UNKNOWN)) = PHI(KNOWN) +PHI(KNOWN2). That is to say N is the result of adding with the correct sign various values of known PHI and PHI(SHIFT) and Q is an integer which arises due to the possible recombination of a given PHI with itself. There is an ambiguity when the value of Q is different than 1. This is because of the fact that PSI is considered to be zero but could just as well be 360, 720, etc. So that division by 1 is no problem but division by 2 implies 0 or 180, by 3 0, 120, or 240 and so on.
Thus under this condition the result is an ambiguity and the solution process is halted. Then the first encountered value is placed in list of known PHI values and the solution process is restarted. It is important to recognize that there is no assurance that one of the other possible values is not the true value.
5. The relationship causes a phase to be reduced to PHI(L)= N/L which is accepted as the solved value for PHI(L). This new PHI(L) may then be used to simplify all PHI values which are at that point known to be dependent on PHI(L).
6. When all relationships have been treated a summary is printed showing all the phases sought in terms of the lowest unknowns or as determined during the simplification procedure.
This program was written by G.J. Kruger and J.M. Stewart. It is designed to provide a means to generate the coordinates of some atoms from others. For example given the coordinates of two atoms, it will generate a third atom between the two given atoms and 1.02 angstroms from the second given atom. As presently set up, it provides for the possibility of eight different common configurations. Let P1, P2, P3 be used to designate input atomic parameters and P4, P5, P6, P7 for the output parameters. The program, given a specific distance D, and in case 8 the angles ALPHA(1) and ALPHA(2), then generates as follows:
Code Name | Case | Given Input Parameters | Output Parameters Produced |
---|---|---|---|
LINEAR | (1) LINEAR | P1, P2 | P4 at distance D from P2 toward P1 |
TRIGON | (2) TRIGONAL | Connected P1-P2-P3 with angle of about 120 degrees | P4 at distance D from P2 with angles P1-P2-P4 and P4-P2-P3 at about 120 degrees |
TETCHN | (3) TETRAHEDRAL CHAIN | Connected P1-P2-P3 with angle of about 109 degrees | P4 and P5 at distance D from P2 with angles P4-P2-P5, P1-P2-P4,P1-P2-P5, P3-P2-P4, and P3-P2-P5 all near 109 degrees |
TETERM | (4) TETRAHEDRAL TERMINAL | Connected P1-P2-P3 with angle of about 109 degrees | P6 connected to P3 at distance D in the same sense as vector P1-P2. P4 and P5 are generated by treating P2-P3-P6 as input to tetrahedral chain case. |
SQRPLN | (5) SQUARE PLANAR | Connected P1-P2-P3 with angle near 90 degrees | P4 and P5 at distance D from P2 with angles P1-P2-P4, P4-P2-P5, and P3-P2-P5 near 90 degrees |
OCTHED | (6) OCTAHEDRAL | Connected P1-P2-P3 with angle near 90 degrees | P4 and P5 as in square planar case, P6 and P7 at distance D above and below P2 perpendicular to the plane of P1-P2-P3 |
HEXGNL | (7) HEXAGONAL | Connected P1-P2-P3 with angle near 120 degrees | P4-P5-P6 with angle near 120 degrees and lying in plane of P1-P2-P3 with P1-P6 and P3-P4 at distance D from one another. The points P1, P2, P3, P4, P5, P6 form a planar six membered ring with internal angles of about 120 degrees |
GENRAL | (8) GENERAL | Connected with angle P1-P2-P3 not near 0 or 180 degrees | P4 with angle ALPHA(1) in the plane of P1-P2-P3 and ALPHA(2) above that plane. ALPHA(1) is the projected angle P4-P2-P3. ALPHA(2) is the elevation angle of the P2-P4 vector above the P1-P2-P3 plane (both must be less than 180 degrees) |
Each input point is designated in a =CALCAT= card by an atom name either from =ATOM= cards or from the binary data file. The name of each output point must be supplied in the =CALCAT= card. Once each =CALCAT= card is used, the name of the generated atom is stored in the atom array. Moreover, the array is searched and any atoms already present are regenerated.
The =BONDLA= program of the X-RAY system is a rewritten version of the =BONDLA= of X-RAY 63. It has been written by F.A. Kundell in collaboration with J.M. Stewart and R.V. Chastain. Modifications to accommodate =ATRAD= cards have been made by P.G. Lenhert.
The objectives of the code are to produce two categories of distances and one of angles, to find all distances including those of atoms related by symmetry, and to estimate the errors in the calculated quantities based upon the diagonal elements from the least squares refinement.
Two kinds of distances are defined: bond distances and contact distances in terms of three lengths. These three lengths are minimum distance to define a bond, maximum distance to define a bond (which is the minimum distance to define a contact), and maximum distance to define a contact, taking each atom of the asymmetric set in turn, all of the interior angles of the bonded atoms of the asymmetric set are calculated. The asymmetric set is that set of atoms which define the structure and are required by the structure factor programs (e.g. =FC=, =ORFLS=).
The program is restrictive with respect to the maximum distances which may be calculated. If no specification is supplied, the three values will be set to 0.03, 1.80, and 2.50 angstroms respectively. In no case should the difference in maximum and minimum bond distance be set too large since this will result in a high number of possible bond angles being produced. By setting the minimum equal to a number greater than zero assures the proper detection of atoms in special positions. All of these restrictions may be overridden by the user as he sees fit.
In addition, through the use of =ATRAD= cards, one may specify radii for the various atomic species in each of the 3 categories described above. Thus, if one has copper and hydrogen in the same compound only the significant contact and bond lengths will he listed.
The calculation proceeds by a series of symmetry operations on the asymmetric set of atoms. All contact distance calculations are from atoms of the asymmetric set to symmetrically related sets (including the identity). During the course of this calculation any generated atom which has a bond distance to a member of the asymmetric set is saved (excluding those generated by the identity). Distances are printed out symmetry operation by symmetry operation. Each atom of the asymmetric unit is acted upon for each of the following operations in turn.
Thus for a space group such as C 2/C, 1000 generations will be carried out. The print out, however, will only be for those operations for which contact distances are actually found. For speed, an asymmetric unit centroid is estimated and used to eliminate those symmetry operations which have no chance of producing contact distances to the asymmetric unit supplied. It is important to note that if the asymmetric set of atoms supplied is not near the origin (i.e. mostly in the modulo one unit cell), the best results may not be obtained. There is a warning message.
Whenever a bond distant is determined to exist, the coordinates of the generated atom are saved and an index of the symmetry operation which produced it is appended to the asymmetric unit atom name. (This is printed as zero for atoms of the asymmetric unit itself.)
Finally. an atom by atom print out is generated giving all of the bond distances and included angles to the other atoms in the structure to which they are bonded.
The coordinates and the standard deviation of the coordinates of the extended bonded set may be output on punched cards if required.
In addition to the automatic features of the program, one may use cards to request the distance between any two named atoms of the asymmetric set. The angle between any three, or the angle between the two lines formed by any four atoms, which, in pairs, define the lines.
The basic orientation of the program is to finding nearest neighbors. However, by judicious use of the maximum and minimum bond distance specifications, one may investigate any region of next or next to next nearest neighbors.
The program will run from the binary data file or from the card input stream as desired.
=CRYLSQ= was written by Frederick A. Kundell at Aarhus University, Aarhus, Denmark. The work was supported by the Danish IBM Forsknings Fond. Debugging was accomplished at the Abteilung Fur Rontgenstrukturforshung Am, Max-Planck-Institut Fur Eiweiss Und Lederforschung, Munich, Germany and at the University of Maryland, College Park, Maryland.
The suggestions, material, and programs supplied by D. W. J. Cruickshank, W.R. Busing. Walter Hamilton, Allen and Rita Hazel, Johann Gassmann, Allen Larson, Stuart Pawley, S. E. Rasmussen, and James M. Stewart were greatly appreciated.
Assuming the validity of the nonlinear least squares procedure, crystallographic refinement cam be obtained by minimizing the sum of the weighted squares of the residual, R, where the residual is a function of the observed and calculated intensities. Generally this refinement is based on F, F**2, or I.
R(F) = SUM(W(/FO/-/FC/)**2 (1) R(F**2) = SUM(W(/FO/**2-/FC/**2)**2 (2) R(I) = SUM(W(/IO/-/IC/)**2 (3)
Since crystallographic refinement is most commonly based on F, equation (1) will be used for the derivation of the normal equations. The derivations based on equations (2) and (3) are analogous.
Let FC(P1,P2,..,PN)) represent the model to which we are going to compare our experimental observations, in this case /FO/. The PI are the parameters whose values are to be determined. For R(F) to be a minimum, we must have
(DR(F))/DP(J)) = 2*SUMJ(W(/FO/-/FC/)*((D/FC/)/(DP(J))) = 0 (4)
However, since /FC/ is not a linear function, the linear least squares procedure is not applicable. This difficulty can be partially alleviated by expanding (/FO/-FC/) as a function of its parameters via a Taylor Series expansion. Letting DEL(I) = (D/FC(P(I)))/(DP(I)), we have
(/FO/-/FC/) = (/FO/-/FC(P)/) + SUMI((Q(I)-P(I))*DEL(I)) + H (5)
where Q(I) is the true value of P(I) according to the least squares norm, P(I) is the initial approximation of the parameter, and H represents the higher terms of the expansion. If all the higher terms were used in the evaluation of (Q(I)-P(I)), a true value of the parameters, according to the least squares norm, equation (4), could be obtained.
Q(I) = (Q(I)-P(I)) + P(I) (6)
However, this is not generally feasible. In the nonlinear least squares procedure, the higher order terms are set equal to zero. Consequently, the parameter shifts (Q(I)-p(I)) will not he the true shifts, according to the least squares norm. However, if P(I) is close to Q(I), the higher terms will be small in comparison with the summation in equation (5)
LIM h = 0 AS P(I) approaches Q(I) (7)
and the shifts, let us call them E(I), will be approximately correct. Then
(/FO/-/FC/) = (/FO/-/FC(P)/) - SUMI(E(I)*DEL(I)) (8)
The normal equations are obtained by substituting equation (8) into (4)
SUMHKL((/FO/-/FC(P)/) - SUMI(E(I)*DEL(I))*DEL(J) = 0 (9)
thus
SUMI(SUMHKL(W*DEL(I)*DEL(J))*E(I) = SUMHKL(W*((/FO/-/FC(P)/)*DEL(J) (10)
There are N of these equations for J=1,2,...,N for the determination of N unknowns. If we let
A(I,J) = SUMHKL(W*DEL(I)*DEL(J) (11)
and
B(J) = SUMHKL(W*(/FO/-/FC(P)/)*DEL(J) (12)
then
SUMI(A(I,J)*E(I) = B(J) (13)
or, in tensor notation,
AE = B (14)
The shifts, i.e. the vector E(I), can be calculated by inverting A(I,J) and multiplying the inverted A(i,j) matrix by the vector B(J).
E = (1/A)B (15)
It was stated above that the shifts E(I) are approximately equal to the true least squares shift if the P(I) are sufficiently close to the Q(I) for the higher order terms to be small in comparison to the summation in equation (5).
LIM E(I) = (Q(I)-P(I)) = 0 as P(I) approaches Q(I) (16)
However, in the initial phase of the least squares refinement, P(I) is not equal to Q(I) and the calculated shifts are not those required to satisfy the least squares norm. Nevertheless, if the P(I) are sufficiently close to the Q(I), the shift can be used to correct the initial approximations.
P(I) NEW = E(I) + P(I) OLD (17)
The new set of parameters can now be used to calculate another set which is even closer to the Q(S). This process can be continued until the E(I) are sufficiently small to be neglected.
Step | Operation |
---|---|
1 | Read the initial parameters and other necessary information |
2 | Read a reflection and calculate FC and its derivatives |
3 | Contribute the derivatives and (/FO/-/FC/) to the matrix and vector |
4 | If all reflections have not been read go to step 2, otherwise go to step 5 |
5 | Invert the matrix |
6 | Calculate the shifts by multiplying the inverted matrix by the vector |
7 | Add the shifts to the parameters |
8 | If more cycles awe desired, go to step 2 after positioning to the beginning of the reflection file, otherwise terminate the job |
Busing and Levy's =ORFLS= is probably the best known and most widely used crystallographic least squares program in existence at this time. It is fairly straightforward Fortran coding of the previous algorithm, its acceptance is due both to the simplicity of the code and the patch routine which allows the user to alter the refinement in accordance with his particular problem. However, the usefulness of =ORFLS= is somewhat impaired when it is incorporated into a crystallographic system of programs. The main difficulty is that the user can no longer conveniently alter the code in accordance with his particular problem, it is no longer a matter of changing a few cards or subroutines. The user must also reproduce the entire system. This inconvenience is an annoyance to users of crystallographic systems like the X-RAY system.
Another drawback to =ORFLS= is the inefficient allocation of storage. Every array is assigned a specific section of core of predetermined size, while this greatly simplifies the Fortran code, it is not generally the most efficient method of storage allocation. As long as the number of variables is small, no problems are encountered. However, this is not true when large numbers of variables are refined. The pre-assignment of storage also precludes (or at least complicates) the use of the same storage arrays for several different quantities which are used at different times. Furthermore, if a special type of refinement is to be included, such as group refinement, arrays must be shortened to allow for new code and arrays. Thus a program which has been enlarged to include group refinement can not refine as many variables as one which has not, even if group refinement is not desired in the particular problem. Since group refinement, extinction, and dispersion refinement are desired in a general crystallographic least squares program, fixed array sizes are a severe limitation.
The increasing use of crystallographic systems and the greater complexity of the model to be fitted have led to the development of =CRYLSQ=.
To obtain the maximum use of available storage, all arrays which may have variable length, along with all scratch arrays, are combined into a single Fortran array. This array is given the name A and is equivalenced to the integer variable IA. This array will be subsequently referred to as the A-IA array. Information is packed into this array and retrieved from it by the use of pointers and stepping constants. The logical sets of information, which we can refer to as sub-arrays, are packed in such a way as to maximize the use of core.
The A-IA array is divided into two sections. The first section is referred to as the permanent section and contains information which is needed throughout the refinement (e.g. atom parameter information, refinement flags). The second section is referred to as the temporary section. This section is divided into sub-arrays by the mark pointers (MARK1, MARK2, etc.). In links 2, 3, and 4, they are set according to the conditions of the refinement. Allocation of the second section of the A-IA array is as follows:
Function | Data Input | Preliminary Calculation |
---|---|---|
Mark 1 | Atom names from ATOM select cards | Special position multiplying factors |
Mark 1 | Constraints | Scratch for the calculation of storage |
Mark 1 | Releases | Nontrivial constraints |
Mark 1 | Group and IDMOL information |
Function | Matrix Building | Inversion | Shift addition |
---|---|---|---|
Mark 5 | Derivative of B | Shifts and Errors | |
Mark 4 | Derivative of A | Same | |
Mark 3 | Derivative of F | Scratch for matrix inversion | Old parameter values |
Mark 2 | Matrix | Matrix | matrix |
Mark 1 | Vector | Vector | vector |
In =ORFLS= all derivatives were calculated and then transferred to the derivative array in accordance with the refinement flags (the KI array). If the refinement flag for a particular parameter was one, the parameter was varied. If it was zero, the parameter was held invariant. This procedure is relatively time consuming and requires a significant amount of core storage.
In =CRYLSQ=, the refinement flags have been replaced by a set of integers which are called the key. This key not only determines which derivatives are to be calculated and used, but also controls the entire refinement process. The value of a key integer directs the operation to be performed.
1. Get the next atom 2. Get the next atom and block 3. Subtract one from variable counter 4. Get the next multiplication factor 5. Calculate the derivative wrt X 6. Calculate the derivative wrt Y 7. Calculate the derivative wrt Z 8. Calculate the derivative wrt population parameter 9. Calculate the derivative wrt scattering factor 10. Calculate the derivative wrt real dispersion factor 11. Calculate the derivative wrt imaginary dispersion factor 12. Calculate the derivative wrt U 13. Calculate the derivative wrt U11 14. Calculate the derivative wrt U22 15. Calculate the derivative wrt U33 16. Calculate the derivative wrt U12 17. Calculate the derivative wrt U13 18. Calculate the derivative wrt U23 19. Start identical molecule 20. Beginning of a group 21. End of key.
This procedure saves storage in that only the desired derivatives are calculated and also there is no need for the intermediate derivative array. However, its main power lies in the fact that the special position derivatives, group derivatives, and identical molecule derivatives can be conveniently constructed.
A constraint is a restriction on refinement introduced by a =REF=, =NOREF=, =CONSTR= or =SPECIAL= card. There are two types of constraints. A trivial constraint is one which can be incorporated into the key, whereas a nontrivial constraint cannot.
Constraints, either from the binary data file or from card input, are initially stored in the MARK2 sub-array. They are in the form:
Word Information 1 First part of subject atom name 2 Second part of subject atom name 3 Type of constraint (an integer) 4 First part of reference atom name 5 Second part of reference atom name 6 Parameter number of subject atom (P1) 7 Factor by which the reference parameter must be. multiplied (F) 8 Parameter number of reference atom (P2) 9 Factor to which P2 * F is to be added (S) 10 Multiplicity.
Subject atom refers to the atom which is to be constrained and reference atom refers to the atom from which the constraint is being derived, the nontrivial constraint is applied as:
P1 = F * P2 + S (18)
A =RELEAS= card is also available. The =RELEAS= card releases all constraints of the subject atom which were read from the binary data file.
During the key building operation, the constraints are checked and all trivial constraints are incorporated in the key. The nontrivial constraints are then transferred to the MARK3 sub-array in the form:
Word Information 1 Address of subject parameter 2 Multiplication factor (F) 3 Constant (S) 4 and 5 Name of reference atom 6 Parameter number of reference parameter
The constraint is then transferred to the permanent section of the A-IA array in the form:
Word Information 1 Address of subject parameter 2 Multiplication factor (F) 3 Constant (S) 4 Address of reference parameter
The nontrivial constraint is applied in link 4 after the shifts have been applied.
An atom in a special position adds several complications to the least squares refinement. The constraints imposed on an atom in a special position fall into three categories:
1. Do not refine a certain parameter 2. Constrain parameter A to be a function of parameter B 3. A special positional derivative is to be considered.
Condition 1 falls into the category of a trivial constraint and is incorporated into the key. Condition 2 requires a nontrivial constraint and is treated as such. However, Condition 3 presents a new situation.
Consider the special position (X,X,2X). In this case the derivative which is needed for the refinement is:
DF DF DF DF -- = -- + -- + 2 -- DX DX DY DZ
where D is the sign for the partial derivative.
This condition is incorporated into the key. The key segment which would calculate this derivative would be:
1, 5, 3, 4, 6, 3, 4, 7
where the factors 1.0 and 2.0 would be stored in the factor sub-array.
The refined variable would be considered to be X when the shifts are added, and the Y and Z parameters would be constrained to have a value of X and 2X respectively.
A =BLOCK= card causes the (new atom) key to be changed from A '1' to A '2' for the designated atom. This in turn causes a blocked matrix to be constructed. The major change occurs during inversion. The matrix inverter requires N + 1 scratch locations before the first matrix element where N is the number of variables being treated in the block being inverted. This is the MARK3 sub-array when a full matrix refinement is being made. However, in a blocked refinement, the first matrix must be shifted to allow for the N + 1 scratch locations required in the inversion process. These are placed ahead of the second matrix, et seq. Consequently, when a blocked set of matrices is being inverted, the first is inverted in the normal way. It is then shifted M spaces up into the MARK3 sub-array, where M is one larger than the number of variables in the largest matrix being inverted. The N + 1 spaces preceding the second matrix are zeroed and the second matrix inverted. The second matrix is then shifted up M locations, and so on, until all the matrices have been inverted and shifted. At that time, all the matrices are shifted M locations down to their original position.
In The equations of structure refinement, D.W.J. Cruickshank points out that by definition, F(000) is equal to the number of electrons in the unit cell. Consequently, it is more natural to adjust the F RELATIVE scale factor, which will force F(000) to its defined value than to scale the calculated structure factors. However, during a cycle of least squares refinement, no adjustment to the F RELATIVE scale factor is allowed. For this reason, the appropriate inverse scale factor must be determined for /FC/. After the least square cycle has been completed, the calculated structure factors may be freed from the calculated scalar factor and the F RELATIVE values put on the desired scale.
When more than one scale factor is being considered, =CRYSQL= allows for two modes of scale refinement. In the first, each scale factor is refined separately in accordance with the least squares norm. The second mode of refinement treats all scale factors as a single variable. The resultant correction is then applied to all.
During a blocked refinement, the overall temperature factor is refined in the same block as the scale factors.
The extinction coefficient used in the X-RAY system is an isotropic correction that follows the method of A.C. Larson. The symbol G is used to represent this quantity. It may be established by use of the link =CRYLSQ= and refined as a least-squares parameter. Its value is established by use of the equations and quantities described below. Some of these quantities are calculated at DATRUN time and stored in the binary data file. The use of this correction should be limited to the final stages of refinement. It will tend to be ill behaved if there is high random error in the data. It is highly correlated to the temperature factor and especially to the scale factor.
Let FCE be FC corrected for extinction, K be the FC scale factor, G be the extinction coefficient, and DELT be a quantity that depends upon the physical constants of the crystal and geometry of the reflecting condition. Then:
FCE = K*(ABS(FC))*((1.0 + 2.0*D*G*DELT*(FC**2))**(-1/4))
DELT is obtained from a knowledge of physical and diffraction parameters.
DELT = ((RD**2)*(AMBDA**3)*(L*P2*TBAR)/((V**2)*PI*SIN(TWO-THETA)) PN = 1 + (COS(TWO-THETA))**(N)
RD is the classical radius of an electron, V is the volume of the unit cell, TWO-THETA. is just that, and TBAR is the average path length through the crystal.
TBAR is set to be 0.03 cm if the linear absorption coefficient is not supplied in the =CONDIT= card. When however the value of UMU (MU is the linear absorption coefficient in CM -1) is given in the =CONDIT= card and the reflection value of the absorption coefficient is given in each =HKL= card, then:
TBAR = (ALOG(ABSORP))/UMU) + 0.00001
ABSORP is the reciprocal of the transmission coefficient for the given reflection. ALOG is the Fortran natural log function.
The classical radius oh an electron (E**2)/(M*(C**2)) is 2.81751*10exp-13 cm. This value squared is 7.9384*10exp-26 cm, squared. When the factor of two is incorporated from the equation shown above, a constant 158.768*10exp-27 cm. squared is obtained. The value that converts (AMBDA**3)/(V**2) from reciprocal angstroms cubed to reciprocal cm. cubed is 10exp+24. This gives a constant of 158.768*10exp-3. In =DATRDN= the factor of 10exp-3 is left out thus scaling all G values by a factor of ten to the third. The other possible arbitrary factor is the value of TBAR. It is set to 0.030 cm when no other information is supplied. The values of G shown on the CRYLSQ output are multiplied by 10**3. In addition, if no absorption correction information is supplied, the crystal is assumed to have an average transmission path length (TBAR) of 0.03 cm. This gives rise to an arbitrary scaling of G. For crystals with high extinction, corrected for absorption, the value of G will be in the range of 10**-2 to 10**-4. This means that CRYLSQ will show numbers around 1.0 for EXT (G). In cases of large extinction problems, it will be larger.
During the initial stages of refinement, it is not always necessary to use all reflections. For this reason there are several procedures available for limiting the number of reflections considered in the least squares refinement.
The weight to be applied during refinement may be specified in four different ways as a user option. The quantity which is called the weight and is stored in the reflection record is defined in DATRDN and described in some detail in WTLSSQ. The four quantities which may be used at =CRYLSQ= time for the square root of the weight may be described as follows:
Option 0. All weights used as 1.0 (unit weights)
Option 1. Weights are accepted as supplied in the binary data file and are used as F-relative weights.
Option 2. Weights are accepted as supplied in the binary data file and used as H-observed weights.
Option 3. Weights are set equal to the reciprocal of sigma I observed and used as I-observed weights.
Depending upon the method the user has employed to establish his weights he must select the appropriate option.
Prior to inversion, the matrix is examined for singularity and degeneracy. The criteria invoked are:
When singularity or degeneracy is found, the offending variables are set invariant. Under the second criterion, the first of the involved variables is set invariant. Invariance is obtained by setting the offending diagonal element to unity and the related off-diagonal elements to zero.
Refinement is enhanced and controlled in the block-diagonal mode by the use of a partial shift factor. In the block-diagonal mode of refinement a partial shift factor of 0.8 is automatically applied. This factor can be superseded by including a partial shift factor on the =CRYLSQ= card. In all other cases, the partial shift factor is set to unity. It may be desirable to use a shift factor somewhat less than unity when a blocked refinement is being made. The size of this factor is dependent on the amount of correlation lost. If there is strong correlation between atoms in different blocks, a partial shift factor of approximately 0.9 may be of benefit. If the correlation is minimal, the paptial shift factor can be left at unity.
In =CRYLSQ=, anomalous dispersion terms are included in all structure factor and derivative calculations. The dispersion factors are assumed to be zero unless otherwise specified (on a =DISPER= card). If dispersion factors are not specified, the resultant structure factors and derivatives are exactly those calculated without dispersion. Since only the most tightly bound electrons, thc ones closest to the nucleus, have resonance frequencies of approximately the same magnitude as the oscillation imposed on an electron by normal X-ray bombardment, the dispersion factors may be considered independent of the scattering angle (1). Consequently, Templeton type dispersion factors are used. The user is also given the ability to refine the dispersion factors. This must be stipulated by special signals placed in a =REF= card.
The structure factor equation, including dispersion can be written as
FC = (A-D) + I*(B+C) (20) A = G*P*M*T*SF*COS2P (21) B = G*P*M*T*SF*SIN2P (22) C = G*P*M*T*FI*COS2P (23) D = G*P*M*T*FI*SIN2P (24) and includes contribution from all atoms in the unit cell. G = Overall Scale Factor (25) P = Population of Site-occupancy Factor (26) M = Atom multiplicity (27) T = Temperature factor (28) SF = The sum of the scattering and real dispersion factor (29) FI = The imaginary part of the dispersion factor (30) COS2P = COS(2*PI*(H*X + K*Y + L*Z)) (31) SIN2P = SIN(2*PI*(H*X + K*Y + L*Z)) (32) In the overall or isotropic mode, the temperature factor is of the form T = EXP(-2*(PI**2)*U*(2*SIN(THETA)/(LAMBDA)**2) (33) whereas in the anisotropic mode, the temperature factor is of the form T = EXP(-2*(PI**2)*U11*(H*ASTAR)**2+...)) (34)
The partial derivatives are as follows.
(i) Atom Parameters
1. POSITIONAL PARAMETERS DA/DX = -2*PI*H*B (35) DB/DX = 2*PI*H*A (36) DC/DX = -2*PI*H*D (37) DD/DX = 2*PI*H*c (38) 2. ISOTROPIC TEMPERATURE FACTOR DA/DU = -2*(PI**2)*(2*SIN(THETA)/LAMBDA)**2)*A (39) DB/DU = -2*(PI**2)*(2*SIN(THETA)/LAMBDA)**2)*B (40) DC/DU = -2*(PI**2)*(2*SIN(THETA)/LAMBDA)**2)*C (41) DD/DU = -2*(PI**2)*(2*SIN(THETA)/LAMBDA)**2)*D (42) 3. ANISOTROPIC TEMPERATURE FACTOR DA/DU12 = -2*(PI**2)*H*K*ASTAR*BSTAR*A (43) DB/DU12 = -2*(PI**2)*H*K*ASTAR*BSTAR*B (44) DC/DU12 = -2*(PI**2)*H*K*ASTAR*BSTAR*C (45) DD/DU12 = -2*(PI**2)*H*K*ASTAR*BSTAR*D (46) 4. POPULATION PARAMETER DA/DP = A/P (47) DB/DP = B/P (48) DC/DP = C/P (49) DD/DP = D/P (50)
(ii) Atom Type Parameters
1. REAL DISPERSION OF NEUTRON SCATTERING FACTOR DA/D(SF) = A/SF (51) DB/D(SF) = B/SF (52) DC/D(SF) = DD/D(SF) = 0 (53) 2. IMAGINARY DISPERSION FACTOR DA/D(FI) = DB/D(FI) = 0 (54) DC/D(FI) = C/FI (55) DD/D(FI) = D/FI (56)
(iii) Overall Parameters
1. OVERALL TEMPERATURE FACTOR D(/F/)/DU = (-2*(PI**2)*(2*SIN(THETA)/LAMBDA)**2)*/FC/ (57) 2. OVERALL SCALE FACTOR D(/F/)/DG = (/FC/)/G (58)
(iv) Relating the Partials of A, B, C, and D to the Partials of F, F**2, and I let
Q = A - U (59) S = B + C (60) If W is a parameter, then DQ/DW = DA/DW - DU/DW (61) DS/DW = DB/DW + DC/DW (62) It follows that F**2 = Q**2 + S**2 (63) and D(F**2)/DW = 2*Q*(DQ/DW)+2*S*(DS/DW) (64) When the refinement is based on I, the derivative of F squared must be multiplied by the LP factor. When the refinemnt is based on F, /F/ = SQRT(Q**2 + S**2) (65) D(/F/)/DW = (Q*(DQ/DW)+S*(DS/DW))/SQRT(Q**2+S**2) (66)
=CRYLSQ= can be run in the overall, isotropic, anisotropic, or mixed temperature factor mode. Temperature factor parameters which are not in the mode designated on the =CRYLSQ= card will be converted by the program. In the mixed temperature factor mode, the type of refinement will be set, atom by atom, in accordance with the binary data file specification. NOTE: only those atoms which are specified as being in the overall temperature factor mode, will contribute to the overall temperature factor.
The type of temperature factor refinement for a particular atom can be altered via a =RTF= card while in the mixed temperature factor mode, to convert the temperature factor type from isotropic to overall for a particular atom, one would use a =REF= card for that particular atom which includes =UOV= in one of the parameter fields. NOTE only those parameters which are specifically mentioned will be refined. Thus if one is converting to an anisotropic refinement for a particular atom and all six anisotropic temperature factor parameters are to be refined, all six must appear on the =REF= card.
=CRYLSQ= allows the user to type the reflections as observed or LESS-THANs. during refinement. The user must stipulate the threshold value on the =CRYLSQ= card. The LESS-THANs which contribute to the refinement are given a value equal to the LESS-THAN threshold value. The user may choose whether or not to include this reflection classification in the new binary data file. However, the stored value of F RELATIVE will not be affected.
This program is designed to treat the output of certain specific single crystal diffractometers. The design is such that the specific operations are placed in one subroutine for each different diffractometer. The main subroutines are all independent of the machine specific routines and carry out the bulk of the calculations required to produce a scaled, sorted, merged, unique asymmetric set of reflection data ready for =DATRDN=. =DATCO5=. It was written by H.L,Ammon, J.M.Stewart and Linda A. Plastas.
The overall steps carried out may be outlined as follows:
(1) The input data is screened by the machine specific subroutine to give H, K, L, the integrated intensity, the background, the sigma of I, flags FOP standards, reflection sequence number, TWO-THETA, OMEGA, CHI, and PHI.
(2) During this screening, statistics on standards are collected.
(3) At the end of the first pass over the raw data, the statistics collected on the standard reflections are treated to give intensity scale factors to be used to correct for drift in intensity of standards as a function of data gathering. The standard reflections are expected to come in groups at intervals, e.g. 3 every 100 data measurements. The scale factors are derived from the sum of the integrated intensities from all of the members of each group. Any incomplete group is rejected from the formation of scale factors. Graphs are printed of the raw data for each standard reflection and the table of scale factors is output. In this treatment the values of the scale factors for each group of standard reflections are adjusted to set the first two groups to exactly 1.0 and all other groups to relative values. The table thus formed may be superseded in any way the user wishes. The reason for setting the first two scales is that some data may have been gathered before measurement of the first standard group.
(4) A second pass is then made over all the observations. The scale intensity of all observations is derived by interpolation from the scale factor table. SIGMA I and the background are also scaled. This includes all of the measurements of standards. Data for printing the graphs of the modified standards is kept.
(5) For each reflection the values of H, K, and L are treated to transform them into a consistent asymmetric set depending upon the =SYMTRY= operation cards supplied. The transformed coordinates are permuted and combined to give a simple number which will serve to expedite the sort-merge step.
(6) During the second pass, every scaled intensity can be optionally printed. Several general tests are applied to each intensity and flags are used to signal whether the intensity has unequal backgrounds (UNBG), negative intensity (-INT), could be considered to be a LESS-THAN (L-T), is systematically absent for the given space group (SYAB), or is a standard (STD).
The intensity SIGMA's are computed as follows (X and N are found in COLS 21-25 and 25-30 of the =DATCO5= card):
T = SCAN COUNT + BACKGROUND1 + BACKGROUND2 SIGMA(I) = SQRT(DIFFRACTOMETER FUNCTION(I) + (X*T)**N
If X = -1.0, -2.0 or -3.0 the standard reflection data are used to determine an experimental instability factor. that is:
FOR X = -1.0: SIGMA(I) = SQRT(DIFF FUNC(I) + R*T**2). R DETERMINED FROM A LEAST SQUARES FIT OF A Y = M*X LINE (THROUGH THE ORIGIN). FOR X = -2.0: SIGMA(I) = SQRT(DIFF FUNC(I) + K + R*T**2). K AND R DETERMINED FROM A LEAST SQUARES FIT TO Y = B + M*X TYPE LINE. FOR X = -3.0: SAME AS X = -2.0, EXCEPT SET K TO 0.0
If only 1 standard reflection HKL is used, the -1.0 option is calculated. Whether you agree with it or not, the present code determines the instability factors using the unscaled standard intensity data. Therefore if your standards vary a lot we recommend that you forget about using this instability information. The R's will turn out to be quite large and a lot of your reflections will be coded as UNOBSERVED.
Calculation of the reflection intensity (I) and the above mentioned DIFFRACTOMETER FUNCTION for the picker diffractometer is:
Let I = corrected intensity, S = scan count, ST = scan time, BT = time for one background measurement, B1 =BKGD1 count, B2 = BKGD2 = count, A = attenuator factor. then: K = 0.5*(ST/BT) I = A*(S - K*(B1 + B2)) DIFF FUNC = (A**2)*(S + (K**2)*(B1 + B2))
(7)The output file of the second pass is used to sort the reflections as a function of the sort number developed during that pass. The sort number of all equivalent reflections is identical. Therefore in a pass down the file all sort numbers that can be kept in immediate access store are loaded and sorted together. The process is repeated until all data has been sorted. The table of statistics which was developed during the second pass makes the process fairly efficient for large data sets. At the end of each loading pass, the averaging, printing, and output of =HKL= card images is carried out for that sorted portion. (Approximately 4000 reflections per pass are treated, depending upon machine size.)
(8) The equivalent reflections are treated differently depending upon the number of observations. If there is only one, it is accepted. If there are two, they are averaged unless one is more than SN2*(SIGMA I) less than the other. SN2 is a factor supplied by the user. When one is very small relative to the other, the higher observation is accepted as true and the lower one is rejected. When there are three or more equivalent reflections, an average and standard deviation is calculated for them. If any members of the set differ by more than SN3 (also supplied by the user) standard deviations from the mean, they are rejected. If any are rejected, a new average and standard deviation are calculated. These refined average values are used for the intensity and SIGMA 1.
(9) The results of the averaging process form a file on =NFILEI= which is the image of a single =HKL= card for every unique asymmetric reflection. This file is ended with a =FILES= card which gives for =NTIN= (the normal card input file) the value for the usual card input stream. This means that in place of the =HKL= card deck in a data reduction (=DATRDN=) run one may use a =FILES= card. For example, let =NFILEI= be 10 and =NTIN= be 5, then the data reduction deck could be as follows:
DATRDN . . . LABEL . . . CELL . . . . . . . . . . . . . . . . . . CONDIT . . . SCALE . . . FILES 10 END FINISH
The function of the =FILES 5= card at the end of the intensity data file from =DATCO5= is to return control to the usual card deck input stream.
The initial coding for the data reduction program was written by James M. Stewart duking 1958-60 for the IBM 704 at the Ohio State Univ. Mrs. Mary Ann Jarski and James M. Stewart converted the IBM 704 program to the IBM 709, and further expanded the coding. The bond absorption correction was programmed and checked-out by Bruno Morosim. The new X-RAY system version was done hy J.M. Stewart and R.C. Chastain. The programming of the 1/LP corrections was done by A. Mighell, A. Aantoro, and M. Zocchi. The use of =FORMGN= cards was introduced by G.J. Kruger.
This program is designed to organize the raw data needed in the determination of a crystal structure into a coherent collection stored in a binary data file so that the structure factor and refinement programs will calculate automatically. The Fortran statements of the program are made using abbreviations for two symbols used by Buerger and Lipson and Cochran. The calculations performed are listed here with no other explanation. Reference to the International Tables as well as the paper on the Lorentz and polarization factor for the precession method by Waser may be found helpful.
The program requires the following data:
The cell dimensions are read and checked for reasonableness - no zero or negative axial lengths. Either direct cell or reciprocal cell lengths may be given. Angles either as all cosines or all degrees may be supplied. The reciprocal cell constants, the metric tensor, and inverse metric tensor are calculated (Buerger, page 360).
The scattering factor information is read in and stored in tables. The values for X-ray scattering factors are read in for a number of values of SIN(THETA)/LAMBDA and a table is stored in memory for each atom-type to be used. There is a maximum of 16 atom types allowed. The X-ray scattering factors, like the neutron scattering factors, are given a designation at this time consisting of one to four characters (e.g.- N for nitrogen, CU2+ for copper(II), etc.). The designation is stored in a dictionary on the binary file for use of the following programs. X-ray scattering factors may be used directly from literature. There are stringent requirements upon the order and range of the entries, but non-equal intervals are permissible. The actual values of the scattering factors at each value of SIN(THETA)/LAMBDA for a given reflection are determined by a four-point interpolation utilizing Aitken's method. The conditions which must be met are - SIN(THETA)/LAMBDA must increase monotonically, F(J) should decrease monotonically (however, a 5-percent increase in any interval is permitted to allow for occasional inflection found for some electron configurations). There must be at least ten entries and less than 40 entries. In order to interpolate at the high values of SIN(THETA)/LAMBDA there must be at least 3 table entries with a value of SIN(THETA)/LAMBDA greater than the highest value that is anticipated in the reflection data. The program checks for these conditions and returns error remarks explaining any non-agreement with the programmed conditions. The coherent scattering factor for neutrons is supplied as a single value for each atom type.
X-ray scattering factors can also be generated from numerical Hartree-Fock wave functions by supplying the coefficients given for the analytical function as given by Cromer and Mann on =FORMGN= cards. Forty entries with a maximum SIN(THETA)/LAMBDA value of 1.56 (AXX-1) will be calculated. Certain scattering factors may be invoked automatically C, N, O, P, S, CL by the expansion formula and H from Stewart et. al. (5AA). That is to say, A =FORMGN= which is blank save for one of the above atom types will produce the required scattering factors.
The next step is the building of the symmetry operations of the space group into matrices and vectors which may be used to generate all the atoms in the cell from one asymmetric set. The structure factor and Fourier programs operate om the basis of PI or PI-BAR. These operators are read in the form given in the first part of volume I of the International Tables. The program checks the cards for possible errors in punching and stores them in tables in the binary data file. For further details about the treatment of symmetry, see the statement in GENERL.
One must supply a separate card indicating whether the cell is centric or acentric and giving the lattice type symbol:
P, I, R, F, A, B, or C
NOTE =P= is used for rhombohedral space groups indexed as rhombohedral and =R= is used for rhombohedral space groups indexed as hexagonal. In the centric case with the origin at the center of symmetry, only those operations not involving the center should be supplied. After the symmetry operations have been stored in a form suitable for the structure factor program, they are operated upon by a generation checking subroutine which sorts and examines the operations to check for crystallographic validity.
One may supply dispersion correction cards using data from either Templeton or Roof. These cards are optional, as is the application of the dispersion corrections at =FC= time.
The conditions of observation are supplied next. This card provides space for wavelength, the maximum SIN(THETA)/LAMBDA expected, the minimum observed intensity, neutron- or X-radiation, the camera type (e.g. powder, spectrometer, Weissenberg, precession, etc.), whether or not one wishes to apply 1/LP, or to take the square root of the data being reduced. This card is never optional in any data reduction run.
Axial designations must be made for those methods which require the axis of rotation and/or the axis parallel to the beam. for the precession method. The angle between the axis most nearly horizontal and the horizontal on the film is necessary. The calculation of 1/LP for X-ray and 1/L for neutrons is carried out for each reflection so that no tables are required.
If spectrometer data are being processed, then filter factor cards giving the absorbency of the filters and an index code are required. Filter =0= has a factor of 1.0 automatically so that for a reflection marked NO FILTER, the correct filter factor is applied. If a monochromator is being used, its working angle must be supplied.
=SCALE= cards serve the primary purpose of adjusting the scale of the relative intensities of groups of reflections. In addition they permit tagging groups of reflections as all having the same scale factor (maximum number of groups = 64). The minimum observed intensity for the group, and provision for weighting, are supplied on this card. If no =SCALE= card is supplied the program assigns =1= as the reflection group index and uses 1.0 as the scale-factor and no least squares weighting factors are calculated. However, the value of F minimum is stored in the file. These weights can then be calculated at some future time by the program =WTLSSQ=. The least squares programs allow the use of unit weights as an alternate to those in the binary data file. See CRYLSQ, WTLSSQ for details of application of weights.
There is a least squares weighting scheme provided in =DATRDN= which is patterned after the method suggested by Hughes. It is called by a =2= in the =SCALE= card. The Fortran coding for this (Univ. of Washington) scheme is:
WEIGHT = Q1/AMAX1(SIGMA,Q2*FREL+Q3,Q4*FRELM+Q5)
where
WEIGHT = square root of WEIGHT to be used in least squares Q1 = constant punched in Cols 33-37 of =SCALE= card (SET = 1.0 if not specified) SIGMA = standard deviation of measurement, and is punched in a reflection card Q2 = fractional error in F RELATIVE: pinched in cols 38-42 of =SCALE= card, and initalized to zero Q3 = additive constant which may be applied at users discretion: punched in cols 43-17 of =SCALE= card, and initialized to 0.0 Q4 = fraction of F minimum which is to be considered minimum standard deviation: punched in cols 48-52 of =SCALE= card and initialized to zero Q5 = additive constant which may be applied at user's discretion: punched in cols 53-62 of =SCALE= card, and initializer to 0.0 Q6 = factor used to multiply E.S.D in intensity to establish a threshold value of F for determining FRELM in above equation for diffractometer data.
The scheme applies weighting function: WEIGHT=Q1/(J) in which (J) is the maximum of these three functions - (1) SIGMA, (2) (Q2+FREL+Q3), or (3) (Q4*FRELM+Q5). To obtain weights like those specified by Hughes:
WEIGHT = 1.0 for F REL less than K = K/F REL for F REL greater than or equal K then set Q1 = Q5 = K Q2 = 1.0 Q3 = Q4 = ZERO
NPTE - Q1 is initialized to 1.0. All the rest to zero.
=ABSBON= cards supply information specific to the type of absorption correction being applied. The information on spheres and cylinders of Bond is given in volume II of the International Tables. The data is read into tht core from cards and interpolated from the value of SIN(THETA)/LAMBDA by Aitken's method. Different absorption corrections are required for each level. Though the angular dependence is calculated.
For each unique reflection of the space group under consideration H, K, L, and either F, F**2, or I relative must be provided.
A unique set of reflections, not including those systematically absent, must be included. If a sharpened origin-removed Patterson is desired the systematically absent reflections should also be included. It is most desirable, but not mandatory, that the reflections be sorted in the order that will permit fastest Fourier summations and that the systematically absent reflections be placed after the observed reflections. The Fourier runs fastest if the reflections with the same absolute values of H, K, and L are grouped together. =FC= runs fastest if the reflections are sorted so that the jndex with the smallest range varies slowest etc. (In the triclinic case, where it is impossible to satisfy both criteria, the former should be given precedence.) NOTE that for maximum efficiency, the negative values should be assigned to indices along shorter reciprocal axes.
For the LESS-THAN reflections (i.e. those reflections whose intensities are too weak to he measured) a value of zero, or a value just below the lowest observed intensity, is punched in the intensity card. The LESS-THANs serve a useful purpose in the calculations of structures and provide additional, if somewhat inaccurate, data upon which to base a structure under study. It is not mandatory that they be included. For purists the value of intensity exactly as derived from the counter data may be used, positive or negative. For negative values FREL will be set to zero. =CRYLSQ= will permit defining on the observed I values.
On the output binary data file, a code (JCODE) of =1= is used for observed reflections, =2= for LESS-THANs, =3= for reflections to be calculated and displayed but not used in least squares (these are not usually marked at data reduction time, but may be identified later at =FC= time). =4= for a reflection to be ignored in all respects, and =5= for a systematically absent reflection ignored in all respects except a sharpened origin removed Patterson.
The value of SIN(THETA)/LAMBDA is compared with the maximum anticipated value punched in the =CONDIT= card to check that the point in reciprocal space will pass into that portion of the sphere of reflection that can be recorded by the data gathering method used.
The values of the various scattering factors are obtained by interpolation of the stored literature values. A complete listing of these data from the literature may be found in the International Tables. There are a few additional data, most of which appeared in the literature subsequent to the publication of the International Tables. A number of the older literature references are also listed, mainly as a source for the earlier structure determinations.
EPSILON, a small, symmetry related integer described in Vol. II of the International Tables pp. 355-6 and called ALPHA there by Luzzati is required for the calculation of E values (quasi-normalized structure factors). The calculation of these factors is also described in Crystallographic Computing (1969), p 19 by I. Karle. In data reduction this factor is calculated for each reflection and stored in the binary data file for use by other programs in the system. The value of EPSILON is calculated by a simple enumeration procedure. It is the count of the number of times a reflection identically is generated under the symmetry operations of the space group under consideration. That is to say, for H(NEW) = HR(J) where H is the vector (H,K,L) and R(J) is the Jth rotation matrix supplied to data reduction.
Through the use of =FORMAT= and =REFIN= cards it is possible to read reflection data in many different forms. A =FORMAT= card may be supplied which contains a valid Fortran input format statement beginning with =(= and ending with =) =. A =REFIN= card must then be used to specify the details of the source of the data as well as its order. It is mandatory that the reflection cards themselves follow immediately behind the =REFIN= card and that the exact number supplied or the last index in the stack be given in the =REFIN= card.
The extinction coefficient used in the X-RAY system is an isotropic correction that follows the method of A.C.Larson. The symbol G is used to represent this quantity. It may be established by use of the link =CRYLSQ= and refined as a least-squares parameter. Its value is established by use of the equations and quantities described below. Some of these quantities are calculated at DATRDN time and stored in the binary data file.
TBAR = (ALOG(ABSORP))/(MU) + 0.00001
ABSORP is the reciprocal of the transmission coefficient for the given reflection.
The classical radius of an electron (E**2)/M*(C**2)) is 2.81751*10exp-13 cm. This value squared is 7.9384*10exp-26 cm, squared.
When the factor of two is incorporated from the equation shown above, a constant 158.768*10exp-27 cm. squared is obtained. The value that converts (AMBA**3)/(V**2) from reciprocal angstroms cubed to reciprocal cm. cubed is 10exp+24. This gives a constant of 158.768*10exp-3. In =DATRDN= the factor of 10exp-3 is left out thus scaling all G values by a factor of ten to the third. The other possible arbitrary factor is the value of TBAR. It is set to 0.030 cm when no other information is supplied. The values of G shown on the CRYLSQ output are multiplied by 10**3. In addition, if no absorption correction information is supplied, the crystal is assumed to have an average transmission path length (TBAR) of 0.03 cm. This gives rise to an arbitrary scaling of G, for crystals with high extinction, corrected for absorption, the value of G will be in the range of 10**-2 to 10**-4. This means that CRYLSQ will show numbers around 1.0 for EXT (G). In cases of large extinction problems, it will be larger.
Refer to Larson, Coppins and Hamilton, Zachariasen and Larson.
If necessary, the chosen J/L or 1/LP value is computed and applied. If an absorption correction is to be made, it is done.
The binary data file contains the information which constitutes the data which are known about a crystal under study. The data reduction program places in the file only those quantities which are known before a structure determination is started, but it leaves space for parameters which are determined as the solution progresses. The format of the binary file is therefore fixed by the most general calculation or combination of calculations programmed for the solution of structures. In addition to producing a binary file, data reduction prints a summary of the data processed. This list represents the results of the calculations performed by the program. It should be carefully scanned for each compound that is treated in order to make sure that the basis for further calculations is sound.
(NOTE - for description of the X-RAY system binary data file see Appendix 6)
The program mat be used to re-reduce data if necessary. There are, however, certain restrictions wen this process is carried out. First of all, the only data retrieved from the reflection record (logical 15) of the binary data file are the H, K, L, I, SIGMA I, I MINIMUM, the number of times for operation, statistical phase, E, EPSILON, and the absorption correction factor. This means in effect that the data of the original HKL cards are resupplied from the HDF, but all other quantities such as SIN(THETA)/LAMBDA, 1/LP, interpolated scattering factors, etc. are recalculated from the input information. These other data are either retrieved from the BDF or from cards in the input stream of the current job. One restriction must be observed first and most importantly, a =CONDIT= card must be supplied and the conditions given on it must apply to the data as originally placed in the file. For any kind of cards supplied with the exception of =HKL= cards, if one is supplied, all of that kind must be supplied and all that are supplied must follow the usual order given in DATRDN.
This program was written by J.M. Stewart. Its purpose is to allow the output of =DIFSET= to be sorted into efficient order for driving a card controlled diffractometer. The sections PARAM, DIFSET, and especially DACT03 should be read.
=DIFPCH= reads the output of =DIFSET= and sorts the reflections in shells of TWO-THETA. Within each shell it sorts on PHI and CHI such that PHI always advances and CHI goes back and forth. It also inserts given standards at regular intervals and resets PHI in each instance so that it will always drive forward. It then punches XRD-6 settings cards for use in the machine. These may be punched as (fixed crystal fixed counter) peak heights, (TWO-THETA-OMEGA) scans or peak height-scan pairs. The last case may be used for gathering information for peak height scan conversion but =DATCO5= offers a better method for obtaining these setting cards.
=DIFSET= was originally coded by Steven T. Freer and Joseph Kraut. It was modified and adapted to the system by Herman L. Ammon, and the subroutine for determining systematic absences was added by Roger V. Chastain. The FORTAN IV version, which includes provisions for making a control tape or card deck for an automatic diffractometer, was prepared by Floyd A. Mauer.
The program will generate Miller indices and compute settings for a diffractometer equipped with an Eulerian Cradle. (Goniostat). For each HKL, settings for CHI, PHI, START TWO-THETA, PEAK TWO-THETA, and STOP TWO-THETA, as well as the scanning time, are computed. The program is general for all space groups.
Necessary input udata consist of cell parameters and the orientation of two reciprocal axes with respect to the PHI axis and the PHI=0 plane. Cell constants may he supplied on a =CELL= card, or they may be left in memory by a =PARAM= run that precedes the =DIFSET= run. In the latter case, a =PARAMC= card replaces the =CELL= card to indicate that the cell constants came from a previous least squares refinement.
Some care must be exercised in specifying the orientation of the reciprocal lattice on the goniostat. Two reciprocal lattice vectors do not uniquely fix the position of a three dimensional lattice and it is necessary to follow the convention that a right handed system or axes is being used. When specifying a reciprocal lattice vector lying on the PHI axis, a vector must be chosen which is coincident with the positive direction of the PHI axis (i.e. a vector coming out of the goniostat, not going into it).
The subroutine to give reflections in an order suitable for automatic operation works best if one of the reciprocal axes is parallel to the PHI axis of the diffractometer. Scanning is up and down rows parallel to PHI. The PHI setting does not change within a row, and can be made to progress always in one direction to minimize the effect of backlash. VHI and TWO-THETA change for each reflection but data are taken up one row and down the next so that no time is lost in resetting either axis at the end of a row. Settings may be generated automatically for as much as a hemisphere or as little as an octant of reciprocal space.
The TWO-THETA scan range may be calculated in three ways. Two of the methods involve subtracting a quantity from the TWO-THETA for the ALPHA(1) wavelength to obtain START TWO-THETA and adding this quantity to the TWO-THETA for the ALPHA(2) wavelength to obtain STOP TWO-THETA. The presence of a =BAKSET= card signals that this quantity will be constant (the value contained on the card) and not a function of TWO-THETA.
For copper radiation, this quantity may be obtained from an internally stored table (determined empirically by the J. Kraut Group) and is a function of TWO-THETA. The table values are automatically applied if neither of the other two options is called (as determined by the absence of =BAKSET= and =EQNCON= cards). The table values are:
TWO-THETA Range (degrees) TWO-THETA Increment Applied (degrees) 0 - 10 0.75 10 - 20 0.75 20 - 30 0.75 30 - 40 0.75 40 - 50 0.80 50 - 60 0.80 60 - 70 0.80 70 - 80 0.85 80 - 90 0.85 90 - 100 0.85 100 - 110 0.85 110 - 120 0.85 120 - 130 0.95 130 - 140 0.95 140 - 150 1.05 150 - 160 1.20 160 - 170 1.20The third option is signaled by the presence of an =EQNCON= card containing the constants A and B. These quantities are used in the following equation:
TWO-THETA SCAN RANGE = A + B*TAN(THETA)
Factors (e.g., crystal size. crystal mosaicity, and source size) influencing the scan range but which are constant for a given crystal may be lumped into A while spectral dispersion, a function of THETA, may be expressed by the second term. The average of the TWO-THETA's for the ALPHA(1) and ALPHA(2) wavelengths is determined and half of the above range used to calculate START and STOP. Values recommended by Alexander and Smith (1) for A and B are 1.80 and 0.86 for copper radiation, and 1.80 and 1.00 for molybdenum. (These are typical values for a diffractometer of the radius of the G.E. XRD-6.)
Output from the program may be in several forms. Printed output is always furnished. Setting cards containing the same information are optional. If they are made, punching of cards for reflections that are systematically absent is optional. A control tape or card deck for an automatic diffractometer is generated if an =XRDC= card and an =XRDFMT= card are supplied. (at NBS a =TTYFMT= card is also required.)
Data on the =XRDC= card determines whether:
will be made, the tape for punching may be obtained with ten character command words only, as require by DATEX paper-tape input diffractometers, or with teletype control characters between the command words.
The characters that occur on the magnetic tape will be the integers 0-9 and any others that may he written in the 5A1 fields of the =XRDFMT= card. The records will contain a variable number of characters that are to be punched and are filled with blanks to make 120 characters in each record. These blanks must not be punched. If the =TTYFMT= card is used (NBS only) the four characters (B, A, C, +) occur and are to be translated to the ASCII (American Standard Code for Information Interchange) code for carriage return, line feed, space, and asterisk, respectively. Different characters may be selected for these purposes by changing the data statement:
DATA ICR,LF,ISPACE,ISTAR/1H$,1H',1H=,1H* /
in subroutine XRY276. The character BLANK (IBLNK in subroutine XRY276) and any characters that will occur as begin word codes or in compound identification codes must be avoided.
The code that is to be punched in the paper tape may differ for individual diffractometers. Any distinctive character may be used for any BEGIN word code if it is translated appropriately before punching. For example, the characters that are used for the GE-DATEX card input diffractometer are suitable for the paper-tape input machine if the following conversion table is used.
TYPE OF BEGIN WORD TAPE CODE WORD CODE 87654.321 HKL W 01000.110 CHI Y 01001.000 PHI / 01000.001 TWO-THETA S 01000.010 OMEGA O 01000.100 (DIGITS) 0-9 R-4-2-1 BCD
If the tape is to be punched in ASCII code, two sets of letters give the required bit configurations in channels l-4 and 7, which are the only ones the equipment reads. The digits 0-9 also conform with respect to these channels.
TYPE OF BEGIN WORD TAPE CODE BEGIN WORD TAPE CODE WORD CODE 87654.321 CODE 87654.321 HKL F 11000.110 V 01010.110 CHI H 01001.000 X 11011.000 PHI A 01000.001 Q 11010.001 TWO-THETA B 01000.010 R 11010.010 OMEGA O 01000.100 T 11010.100
(At NBS, X, Q, R and T are used for axis position commands and F is used for HKL identification data transfer.)
Considerable flexibility in generating the diffractometer tape or cards is provided. The program is designed around a ten-character command word such as is used by the GE-DATEX diffractometer, but other formats can be obtained. As many as twelve command words can be specified for measurements on each data reflection and (independently) on up to nine standard reflections. If fewer than twelve commands are used for a reflection, the unused ones are ignored. The same is true if fewer than nine standard reflections are specified.
The current data reflection, which changes each time a new HKL is generated, and the nine standards are numbered sequentially from 1 to 10 for identification. The data reflection is always number 1. These numbers appear on the =STDREF=, =XRDFMT=, and =TTYFMT= cards to indicate which reflection they apply to. All the cards for a given standard must be together, followed by the =HKL= or setting card that determines which reflection is to be measured. All standard reflections must be ordered according to identification number. Parameters on the =STDREF= card determine how many data reflections are to be done before that standard is inserted. All reflections within the index and angle limits (including systematically absent reflections, but not standard reflections) are counted. During each output cycle commands for one data reflection, and any standard reflections whose turn has come up are put on the diffractometer control tape or in the card deck.
Either an =HKL= card or a setting card may be used to provide the setting angle data for a standard reflection. An =HKL= card causes settings to be computed. The index and angle limits are checked, and the PHI angle correction, if any, is applied. Setting cards (generated hy this program in a previous run, or punched in the same format) may be used to provide up to five angle settings. The indices and the angles in the CHI, PHI, START TWO-THETA, PEAK TWO-THETA, and STOP TWO-THETA fields are used as specified on the =XRDFMT= card. There are no checks made, and fictitious indices and angles may be used for special purposes such as checking arc alignment, TWO-THETA drift, and crystal deterioration. It is possible to use two standard reflections together to manipulate as many as ten angle settings with as many as 24 commands.
Only the first =HKL= or setting card after a =STDREF= card is treated as a standard reflection. Any others are treated as data reflections. Thus it is possible to use =HKL= and setting cards as input to this program in order to prepare a control tape or card deck in a special order or for a few scattered reflections.
It is wise to check out the processing of output data before running a large job.
=DUMCOP= was written by J.M. Stewart.
This link is designed to aid in checking out new programs. It will dump the contents of the binary data file, physical record by physical record. The alphanumeric material in the file will not be printed correctly but all integers and floating point quantities will be printed properly.
This link may also be used to simply copy the binary data file. This function may be found useful when one wishes to transfer a file from one mass storage device to another (e.g. drum or disc, to tape).
The basic programming of the structure factor program was done by James M. Stewart at the Ohio State University during 1958-1960 for the IBM 704. This program was written for the IBM 709 by James M. Stewart and Darrell High at the University of Washington during 1960-1962. The current Fortran version was prepared in 1965 by Robert Braun and J. M. Stewart. The latest version (1970) was written by F.A. Kundell.
The structure factor calculation is accomplished in two steps - the first reads the atom parameters from the binary data file and generates the full cell of atomic coordinates, and the second calculates the structure factors.
This method of calculating structure factors is useful in that it is a faster method for structure factor summation because of the simpler summation algorithm. In addition to this feature the program is faster than a least squares program because no derivatives are calculated. It thus serves as the best link to use when fixed atom structure factors are prepared or when one wishes to calculate structure factors to give phases, for example, for a Fourier or Difference Fourier calculation.
Since the program generates all the atoms in the unit cell, the restrictions on numbers of atoms is dependent on the number of symmetry operations supplied at data reduction time. For a triclinic cell, PI or PI BAR, the program will handle thousands of atoms in the asymmetric unit cell, the limit depending upon specific machine storage availability.
Each of the atom type scattering factors may have the Templeton dispersion correction (2,3) applied as desired if these correction data had been stored in the binary file during data reduction.
(1) F(J) = F(J) + F'(J) + F''(J) where F(J) is the scattering factor from the tables supplied at data reduction, F'(J) is the Templeton correction to the real part of the scattering factor, F''(J) the imaginary part of the dispersion correction.
In addition to the calculation of the structure factor for each reflection in the binary data file, the program will apply the extinction correction, see =DATRDN= for a complete description of this factor.
The program operates in four temperature factor modes:
Provision has been made to list the structure factors, displayed in this listing are - H, K, L, SIN(THETA)/LAMBDA, SCALE GROUP, F OBSERVED, F CALCULATED, A, B, DELTA F, WEIGHTED DELTA F, the PHASE of the reflection from the values of A and B and the phase angle from direct methods (if it has been placed in the binary data file for a given reflection). There is a control over whether the dispersion calculation is to be carried out or not. There is also an option to cause statistics to be printed out which show how the reflection data is sorted on the binary data file. This feature is useful as a check before =LISTFC= is to be used. It permits one to know that the data are sorted in an appropriate manner for final listing. The ability to carry out =PARTIAL= contributions calculations is a feature of this program which allows the calculation to be carried out for very large structures. See GENERL System Terminology, partial contribution for a detailed description of this option. Both X-ray and neutron data may be treated.
Certain other functions are calculated as a logical adjunct to the structure factor calculation. These are 1) the number of atoms being treated, 2) the number of reflections being treated, 3) the number of observed reflections (JCODE=1), 4) the number of unobserved reflections (JCODE=2), 5) the number of reflections ignored (JCODE=3,4,5), 6) the number of reflections where the the ratio of FO/FC lies outside the range 0.1 to 10., i.e. the number of reflections in very serious disagreement, 7) the overall linear scaling ratio, i.e. the sum over all the reflections of abs(F CALCULATED) divided by the sum of abs(f OBSERVED), 8) the slope of ln(FO/FC) vs (SIN(THETA)/LAMBDA)**2, i.e. an indicator of the goodness of the temperature factor(s) applied, 9) the F RELATIVE scale factor, i.e. the sum of abs(F CALCULATED) divided by the sum of abs(F RELATIVE), and finally (10) the conventional R value, i.e. the sum of abs(DELTA F) divided by the sum of abs(F OBSERVED).
The initial plan for programming the Fourier synthesis program was worked out by Lyle H Jensen and Darrell F. High. The initial programming was dome by Darrell F. High and brought to its present form by James R. Holden, James M. Stewrat, and Hiroshi Takeda.
The refinement of crystal structures is facilitated by use of Fourier transforms. Cochran and Lipson, Buerger, and many others supply information on the use of this valuable technique. This Fourier program was designed to have a number of features:
A paper by Jurg Waser and a monograph by Lipson and Taylor serve to point the way in which condition (A) may be met. A symmetry relationship in real space causes an equivalent symmetry relationship in reciprocal space. The transposed rotation matrix being applied to the indices H, K, and L, and the translation modification of the phase of the symmetrically related reflection. The actual Fourier summation is accomplished by summing all space groups as if they were triclinic, using the method of factoring shown in Jensen and Stout, X-ray Structure Determination, section 9.2, p, 246 et, seq.
The binary data file, however, contains only a unique set of reflections plus the necessary indicators to make possible the automatic generation of symmetry related reflections. The data reduction program analyzes the space group symmetry operations for a set of rotation matrices (R) and translation vectors (T) which are stored in the binary data file. These generations are applied to each unique reflection and a set of codes are formed which define for each unique reflection the operations necessary to generate the symmetrically related reflections. The operations may include sign changes and permutations of H, K, and L, and phase rotations of A and B. The Fourier program uses these codes to deliver the correct generated set (properly combined A(H,K,L),A(-H,K,L), A(H,-K,L), A(H,K,-L) and similar B terms for the summation.
The calculations are done by factoring the three-dimensional summation into three one-dimensional summations, after the manner of Beevers and Lipson. Summation is carried out over one hemisphere of reciprocal space, symmetry related reflections being generated from a unique set of observations.
The symmetry operations of the space-groups may be written in terms of rotation matrices (R) and translation vectors (T) (see equation 1). Wastes result, in matrix notation, is given in equation (2).
The table gives all allowed values for phase changes in the crystalographic space groups. Also tabulated are the effects of the real and imaginary parts of F(H). In addition to the phase change, the problem of the generation of the symmetrically related indices (R-PRIME H) must be handled.
For non-diagonal rotation, the magnitude of H, K, L as well as the signs will be altered.
In the following discussion, the concept of scanning or summation order will be used - thus, H(1) is the index summed over first and X(1) the corresponding coordinate will be generated. It varies from page-to-page (section-to-section) in the output. Similarly, H(2) is summed second and X(2) varies vertically (line-to-line) down the page, while H(3) is summed third - and X(3) varies horizontally (point-to-point) along the line. On the other hand, the notation X, Y, Z, and H, K, L represents the coordinates and indices referred to their conventional axes. Program input is always in terms of the conventional directions, the scanning order being specified on the =LAYOUT= card or chosen automatically if the =LAYOUT= card is omitted. It is sometimes necessary, however, to consider the scanning order, especially with regard to program limitations which are described below.
In order to simplify the use of the Fourier program and make interpretation easier it is possible to leave out the =LAYOUT= card and let thf program establish grid divisions based on a consideration of resolution desired and character positions of the lineprinter. An article in Science, vol 143 No. 3611, 1:62_1163 (1964) gives a method suggested by J. D. H. Donnay and H. Taceda. The program uses an improvement of this approach. A Fourier laid out in the following manner results in developing the electron or Patterson or difference Fourier at the appropriate point, in the authors terminology the machine grid point. In order to print out undeformed sections true to a specified scale (in angstroms/inch) the following values may be supplied in the =LAYOUT= card or if the =LAYOUT= card is omitted they will be supplied automatically :
The following coefficients are presently coded into the Fourier program.
Note that there are two scale factors of importance in the final values printed for the Fourier summation. The first is the scale of F RELATIVE which applies only to the calculation types which use F RELATIVE. In general the F RELATIVE scale factors are used to put the F RELATIVES on, the scale of absolute F CALCULATED. Once this is done, the other scale factor becomes important. This is called the electron density scale factor and is supplied in the =FOURR= card. As a rough guide when using the program in the 4 columns/grid point mode the following rules may be applied for organic compounds with atoms lighter than bromine:
COEFFICIENT TYPE ELECTRON DENSITY SCALE UPPER LIMIT LOWER LIMIT F**2 .1 10 -999 F 10. 10 -99 DELTA F 100. 9 -9 E**2 1000. 10 -999 E 1000. 10 -99
Once the calculation switches are set the program reads, reflection hy reflection, the unique set supplied on the binary data file. It will reject any reflection having a SIN(THETA)/LAMBDA or H or K or L greater than specified on the =MAXHKL= card or the value stored in the binary data file at data reduction time if no =MAXHKL= card used. On the first pass through the binary data file FC's may be printed if the user so desires. All the reflections in the file are listed, and those reflections rejected are marked with =P=. The correct coefficients are formed for the current reflection and contributed to the first summations. (No sorting is required except to gain maximum computing speed.) Once all reflections in the binary data file have been treated, the second and third sums are calculated for all the first sum coefficients stored.
The Fourier calculation subroutine which does the actual Fourier summation contains a provision for breaking the summation up into an optimum number of passes. This is done when the whole calculation cannot be accomplished in a single pass through the binary data file. For example the following limitations may apply (depending upon 32000 words of core available for program and storage, e.g. 65K 1108).
1. The product of the (maximum values + 1 ) of the second and third summation indices may not exceed 5000 (e.g.- H(2)MAX equals 99 and H(3) MAX equals 49. or H(2)MAX equals 77 and H(3)MAX equals 63, etc.).
2. The product of the (third summation index + 1) and the number of points along the second sum direction may not exceed 2000 (note that the number of points does not necessarily or usually equal the second sum grid specification) (e.g.- an H(3)MAX equal to 49 limits points such that X(2) could he (0 - 1/4) in 159ths, (0 - 1/2) in 79ths. etc.).
3. The finest grid which may be calculated in the first sum direction is l/2627, in the second sum 1/400, and 1/200 in the third sum direction.
4. The above restrictions may be rescinded only by reassignment of storage and recompilation, see program statements and comments for details.
Because of the particular method of summation a very large number of reflections can be accommodated.
No intermediate files are written. the main part of the memory holds second sum coefficients for as many levels as possible - if all levels cannot be processed in one pass the calculation is divided into two equal passes and so on. During the second sum, only the third sum coefficients for one layer are stored at any given time and only one line of electron densities is carried in storage. As soon as the lines are formed they are output to the line printer. It is possible to suppress printing values between selected maximum and minimum cut-off points by the use of a =MAP= card. This greatly facilitates interpretation of the printed maps.
The =LISTFC= program was written by J. M. Stewart and R. L. Braun based on a program of D. High.
=LISTFC= is designed to give lists of FC and FO with their corresponding H, K, and L, and for acentric space groups, the phase angle alpha. These lists are designed to be as succinct as possible and if printed on white paper with a new ribbon will be suitable for photography. The formats of the output are designed to meet the requirements for Journal referees and/or thesis committees.
The program prints its listing jn terms of a =LISTFC= page, the size of which is at the user's discretion and is independent of the size of the printer paper. + Signs are printed as fiduciaries for alignment for photo-reproduction. This =LISTFC= page will be divided into an integral number of =LISTFC= columns, depending upon the total number of print positions required for the various data chosen on the =LISTFC= card.
In order to list with this program the reflections must be sorted in exactly the way the lists are to be made. If this was not done before =DATRDN= it will be necessary to take appropriate steps to place the reflections in order. Many options are given, and reference to the card formats in section LISTFC should make this clear. The program will either list from a system binary data file or from cards containing H, K, L, FO, etc, which may be punched using this program.
All reflections with JCODE greater than 5 are ignored.
The usual control card structure for a thesis page would be as follows:
Centric Structure 00000000001111111111222222222233333333334444444444555555555566666666667777777777 12345678901234567890123456789012345678901234567890123456789012345678901234567890 LISTFC COMPID123 50 3 8 3 6 6 1 1 1 5 Acentric structure 00000000001111111111222222222233333333334444444444555555555566666666667777777777 12345678901234567890123456789012345678901234567890123456789012345678901234567890 LISTFC COMPID123 5U 3 4 3 6 6 1 1 5
The usual control card structure for a journal page would be as follows:
Centric Structure 00000000001111111111222222222233333333334444444444555555555566666666667777777777 12345678901234567890123456789012345678901234567890123456789012345678901234567890 LISTFC COMPID123 152 13 2 3 5 6 0 1 1 5 Acentric structure 00000000001111111111222222222233333333334444444444555555555566666666667777777777 12345678901234567890123456789012345678901234567890123456789012345678901234567890 LISTFC COMPID123 152 11 2 3 5 5 4 1 5
Programming for this link was first written by J. M. Stewart and Linda Plastas. The current program was written by F.A. Kundell. The new program is completely new and includes the ability to establish the constraints on atoms in special positions.
The function of this link of the X-RAY system is to serve to place the atomic parameters in the proper arrays in the binary data file. This means that this program must always he used at least once before any program which calculates structure factors (e.g., =FC= , =CRYLSQ=, etc.) may be used. This program permits either an a priori loading of atomic coordinates or the editing of parameters all ready stored in the data file.
The overall plan is such that at an a priori start all atomic quantities will he taken from cards and be placed in the binary data file. At an update, quantities from cards will take precedence, but no information from the file will be lost. The possibility for insertion, deletion, and replacement all exist. Considerations concerning atom identification is described in GENERL.
Note that this program serves all the structure factor calculating programs which themselves cannot load atomic coordinates. They can, however, select particular atoms or atom types from the binary data file prepared by =LOADAT=.
Data must bt presented to =LOADAT= in four distinct groups. That is to say, input card order is important in the logic of the program. The first group of cards consists of those which deal with general parameters of a structure under study. These are =SCALE=, =GRID=, =MAXHKL=, =LABEL=, =EXTINC=, =DISPER=, =CELCON=, =UATOMS=, and =U= overall or =B= overall. The second group is that which deals with the parameters of atoms in the structure. These are =ATOM=, =ATOMG=, =U=, =B=, =UIJ=, =DIJ=, =BETA=, and =ATOMD=. The third group is that which deals with special constraints one wishes to impose in the course of refinement of the structure, and these are =BLOCK=, =REF=, =NOREF=, =CONSTR=, =GROUP=, and =IDMOL=. The fourth group is that which deals with the modification of reflection information stored in the binary data file. These are =DELHKL= and =EDIT=. The order of these groups is dictated by the order of storage of data on the binary data file (see Appendix 6).
The first group contains data which is simply copied to the output binary data file superceding the corresponding quantities on the input file. In general, fields left blank or with physically unreasonable quantities are ignored.
The second group. however. is treated in much greater detail and is the burden of the calculation carried out by =LOADAT=. All the parameters of known atoms of the asymmetric set (see GENERL) name, scattering factor type. X, Y, Z, population parameter, temperature factors, and estimated standard deviations are loaded. Once stored, they are checked for physical reasonableness.
For each atom the symmetrically equivalent atoms to it are generated under the given symmetry operations. From this list, the atom in special positions may be detected by their coincidence with respect to X, Y, Z. The number of times any given atom falls upon itself then gives the site multiplicity (as given in Int. Tab. Vol. I). When an atom is found to be in a special position an analysis is carried out by a method of equating coefficients. That is to say, when the symmetry operations which give rise to an atom landing on itself have been identified, the symbols for the parameters of the atom may be operated upon and give rise to equations which express the restraining conditions of the particular site. For example, P4 with symmetry operations:
-- -- -- -- -- -- -- -- | 1 0 0 | |-1 0 0 | | 0 1 0 | | 0 -1 0 | | 0 1 0 | | 0 -1 0 | |-1 0 0 | | 1 0 0 | | 0 0 1 | | 0 0 1 | | 0 0 1 | | 0 0 1 | -- -- -- -- -- -- -- --
and an atom read in at 1/2, 1/2, Z. All four generations give rise to exactly the same coordinates (modulo 1). The symmetry operations require that X = -X = Y = -Y and that Z is independent. The only numerical values modulo 1 that have this property are 0 and 1/2. Since 1/2 is supplied, it is accepted and the parameter coded invariant.
In full generality including space groups with translational symmetry, the equations may he no more complex than Y = AX + B.
For the anisotropic temperature factors, a similar treatment is used. since the atoms generated are in fact all one atom in the above. All four generated temperature factors must be identical. In other words EXP(H*BETA*H(TRANSPOSE)) must give the same numerical value. This means that H*R*BETA*(H+R)(TRANSPOSE) will give rise to four matrices of elements U11, ..., U23 which may me equated and the constraints on the temperature factors reduced. Returning to the example of P4 the four matrices generated are as follows:
-- -- -- -- | U11 U12 -U13 | |-1 0 0 | | U12 U22 -U23 | BY | 0 -1 0 | |-U13 -U23 U33 | | 0 0 1 | -- -- -- -- -- -- -- -- | U11 U12 U13 | | 1 0 0 | | U12 U22 U23 | BY | 0 1 0 | |-U13 U23 U33 | | 0 0 1 | -- -- -- -- -- -- -- -- | U22 -U12 U23 | | 0 1 0 | |-U12 U11 -U13 | BY |-1 0 0 | | U23 -U13 U33 | | 0 0 1 | -- -- -- -- -- -- -- -- | U22 -U12 U23 | | 0 -1 0 | |-U12 U11 -U13 | BY | 1 0 0 | |-U23 -U13 U33 | | 0 0 1 | -- -- -- --
These results imply that for an atom in this special position in this setting of the space group P4 that:
U11 = U11 = U22 = U22 U12 = U12 = -U12 = -U12 U13 = -U13 = U23 = U23 U22 = U22 = U11 = U11 U23 = -U23 = -U13 = -U13 U33 = U33 = U33 = U33
A moment's reflection will show that a requirement of U12 = -U12 implies that U12 is zero. This method works in general and requires no consideration of translations symmetry.
It should be noted that if two atoms are included which are really the same atom, =LOADAT= does not check among the atoms except for name. (see GENERL for naming rules). This kind of checking is carried out by =BONDLA=.
The program calculates all the space group special constraints except that of fixing the appropriate parameter(s) for one atom of the asymetric set of atoms in a polar space group. For example, in P4 cited above the Z parameter of one atom must be specified as fixed. The usual practice is to choose the atom of highest atomic number.
The third group of input cards serves to store information concerning the special relationships desired for the structure under study. They may also be supplied under the =CRLSQ= link.
The fourth group is for the purpose of deleting reflections and hence shortening the reflection output record and for editing chosen reflections on the data file. The only quantities which mav be edited are JCODE, LEVEL INDICATOR, F RELATIVE, LEAST SQUARES WEIGHT. Any complicated editing should be done through =DATRDN=, =MODIFY= or =WTLSSQ=.
The program runs in either the a priori or update mode. In the former case all atomic parameters are purged and those supplied are accepted, checked and loaded. In the latter case, any atom name not in the file is added, any present replaced, and =ATOMD= may be used to remove previously named atoms.
The least squares plane and line program, =LSQPL=, is a program to calculate 3-dimensional planes or lines without regard to the figure's distance from the origin. This program was written by Roger V. Chastain, and modified by Wilson H. de Camp.
The method of calculation is that of Schomaker, et a|, with the exception of the method for obtaining the roots of the cubic equations in Lagrangian multipliers. Schomaker, et al, used an iterative technique; whereas this program solves for the roots directly by the general solution equations.
The operation of the program can be described as follows - first the necessary data are read from cards and/or the binary file, then the equation of the line or plane is calculated. It is possible to calculate the equation of a plane or line with a center of symmetry at the origin or any other point permitted by space group symmetry by supplying the atoms in one asymmetric unit only and coding the program to generate equivalent atoms before pursuing the calculation (this code is in the calling card).
The calculation of the least squares plane or line is over the (N1) atoms (specified in the calling card) on the first (N1) =ATOM= cards in the data plus the generated centrosymmetric atoms if so coded. If more than (N1) =ATOM= cards are supplied, the excess will he ignored in the calculation of the equation, but will be considered in the calculations of the distances of atoms from the line or plane. When working from a binary data file, it is necessary only to supply the atom identifications of the atoms defining the line or plane. Distances from the line or plane will be calculated for all other atoms in the file.
Frequently one is interested in angles between planes and lines. =LSQPL= can be coded so that, if a series of =LSQPL= calculations are submitted one right after another, the angles between all pairs of lines and planes will be calculated for those lines and planes coded non-zero in the calling sequence. The order of =LSQPL= calculations is not important as long as no other system program is called between successive plane calculations.
This program was written by J.M. Stewart. The purpose of this link of the X-RAY system is to provide a mechanism for making insertions and replacements of quantities in the binary data file. A quantity might be the phase of selected reflections, new values of the standard deviation of unit cell parameters or any other quantities stored in the data file. The input deck permits replacement or addition by three methods. One through the use of =MODFIL= cards, one by means of =MODREF= cards, and one which produces F RELATIVES of controlled error. (This is done by replacing every relative structure factor with the current value of calculated structure factor multiplied by an arbitrary scale and modified to have a stipulated amount of random error.)
The =MODFIL= card gives the user the direct ability to specify and replace any word of any physical record of any logical record in his binary data file.
The =MODREF= card permits the user to replace any specified quantity for any specified reflection in the binary data file. One may not remove (except by coding as ignored, i.e. JCODE=4) nor insert reflections within the file.
The replacement of F RELATIVE is carried out when it is signaled in the =MODIFY= card. This function is provided for experimental and test calculations to provide controlled data of known random error (phony data).
The main restrictions in the use of this program are:
Each card for modification provides for the input of two quantities, one fixed point, the other floating point. If the fixed point quantity is zero, the floating point quantity is stored. If both are zero, zero is stored, in neither case is the mode changed. It is essential that one take care in using this link since no restriction is placed on the quantities which may be replaced and this could lead to very strange errors in subsequent runs from the modified data file.
One way in which this program could be used is to place phases in the data file for reflections determined by the symbolic addition procedure of Karle and Karle. In this case a =MODIFY= card with the compound identity is prepared, then a bundle of =MODREF= cards each with H, K, L, the word catalogue number (20) and a phase angle in cycles punched in them. These must be sorted in exactly the same order as the original data reduction reflections - only those reflections to be modified need be present. The catalog number indicates the relative position in each reflection record where the estimated phase belongs. In the floating point field of each card one places a zero for phases of zero, a 0.5 for phases of PI radians. Thus the phase angle ALPHA is inserted in units of cycles between -0.9999 and +0.9999. Finally the deck is concluded with an =END= card.
If one wishes to replace more than one quantity for the same record or reflection, appropriate =MODFIL= and =MODREF= cards are placed right next to one another with the various word designations set properly. It should be noted that =HKL= cards of data reduction also allow for the storing of phase information.
It should be obvious that this program is intended only for limited and special modification of the binary data file. when extensive changes need to be made =DATRDN=, =LOADAT=, etc. are designed for these purposes.
=NORMSF= is a program to calculate quasi-normalized structure factors and in the process, to estimate temperature and scale parameters. In addition to this, statistical information needed in the direct phasing methods is obtained. The program was written by Syd Hall based on earlier work done by himself and Ted Maslen. It has been adapted to the X-RAY system by Michael Schneider.
In the application of statistical phase determination methods to crystal structure analysis, a necessary first step is the treatment of the unscaled F RELATIVE values. This is done by applying scale and thermal corrections and calculating the quasi-normalized structure factors (E's). E's have properties which are theoretically independent of molecular structure although their distribution depends upon the centric or acentric character of the lattice.
E's are calculated in =NORMSF= from the following relationship:
/F(H,K,L)/ /E(H,K,L)/ = --------------------------- - DK SQRT(EPS*SUMMATION(F(J)**2))
where /F(H,K,L)/ is the structure factor on an absolute scale (and is further described below)
A formal discussion is presented in reference 1 and the literature cited therein.
In the course of the calculations, the following two quantities are required:
F(000) = SIGI SIGI E(000) = -------- SQRT(SIG2)
where SIGI = SUMMATION(Z**I) and Z is the atomic number of each atom in the unit cell.
Four methods are used in =NORMSF= for correcting F RELATIVE (FREL(H,K,L)) for scale and thermal factors, of which.the first two are isotropic. The other two are anisotropic fits and are based on the method of Maslen.
1. E(1) is calculated using /F(H,K,L)/ derived from:
/F(H,K,L)/ = /FREL(H,K,L)/ *K*EXP(M) where M = B*S**2 and S = SIN(THETA)/LAMBDA
The values of the F RELATIVE scale factor,k, and the overall isotropic temperature factor, B, are estimated by a least squares fit to the Wilson plot of:
SUMMATION(MULT*EPS*SIG2(S)) LN( ---------------------------------- ) SUMMATION(MULT*/FREL(H,K,L)/**2) against the average value of S**2
Where MULT is the reflection multiplicity in 19 overlapped ranges, each occupying an equal volume in reciprocal space (i.e. equal increments of S**3).
2. E(2) is derived using:
/F(H,K,L)/ = /FREL(H,K,L)/*K(S)
The J(S) curve is taken as the 19 averages interpolated into 0.01 increments of S**2. This procedure provides a non-linear approximation and it may be found necessary to request more than the default number of correction cycles in order to obtain satisfactory values.
3. E(3) is derived using:
/F(H,K,L)/ = /FREL/*K*EXP(M + DM1) where DM1 = DB(11)*H**2 + DB(22)*K**2 + DB(33)*L**2 + DB(12)*H*K + DB(13)*H*L +DB(23)*K*L with DM1 referring to DELTA M PRIME DB referring to DELTA BETA
The values of DB(IJ) are obtained by a least squares fit to the plot of:
SUMMATION(MULT*EPS*SIG2(S)) LN( -------------------------------------------------- ) SUMMATION(MULT*(/FREL(H,K,L)/**2)*K**2*EXP92*M)) versus AVERAGE VALUE OF H**2 FOR DB(11) AVERAGE VALUE OF H**2 FOR DB(22) AVERAGE VALUE OF H**2 FOR DB(33) AVERAGE VALUE OF H**2 FOR DB(12) AVERAGE VALUE OF H**2 FOR DB(13) AVERAGE VALUE OF H**2 FOR DB(23)
4. E(4) is derived using:
/F(H,K,L)/ = /FREL/*K(S)*EXP(DM2) where DM2 = DB1(11)*H**2 + DB1(22)*K**2 + DB1(23)*K*L with UM2 referring to DELTA M DOUBLE PRIME UB1 referring to DELTA BETA PRIME
The values for DB1(IJ) are obtained by a similarmethodin the calculation of DB(IJ), with the average values of:
H**2, K**2,...K*L plotted against: SUMMATION(MULT*EPS*SIG2(S)) LN( ----------------------------------- ) SUMMATION(/FREL/*MULT*K(S)**2)
As with the isotropic non-linear corrections, it is necessary to iterate these values a number of times to obtain reliable estimates, a damping factor may he applied, if necessary, to assist with convergence.
The anisotropic corrections, DB(IJ) and DB1(IJ), are also adjusted for correlation effects. DELTA B and DELTA B PRIME, with the isotropic temperature factor before being used to calculate the normalized structure factors E(3) and E(4).
The calling card and data cards are read in and checked. If there are too many reflections than can be handled in core (ca, 5000), they are placed on a scratch file, =NFILEE=, B and K for E(1) and E(2) are calculated. at the end of this, as for all calculations, plots are printed for relevant information on a graph. The DM(IJ) corrections are then made for E(3) and DB(IJ) and for E(4), and plotting is again carried out. Finally, a new binary data file is written with all four normalized structure factors stored therein.
The program for the least squares refinement of lattice parameters was written by Richard A. Alden. It was adapted to the system and slightly modified by Herman L. Ammon and F. Mauer.
The refinement is accomplished by minimization of the quantity R:
D = ARCSIN(((SIN THETA CALC)**2)**0.5) - THETA DBS R = SUM OVER J OBSERVATIONS OF (D(J)/SIGMA(2 THETA))**2
Necessary data for the refinement consists of the radiation wavelength used, lattice type, crude lattice parameters, TWO-THETA values for several reflections (at least ten should be used) and their standard deviations. It is recommended that axial reflections be avoided. The standard deviations are used only to weight the several TWO-THETAs. =PARAM= will set all unspecified standard deviations to 0.01, a case in which all TWO-THETAs have equal weight. If SIN(THETA) is greater than 1.0 for any reflection, it will be omitted from the refinement.
TWO-THETA measurements utilizing different wave lengths can be mixed together in the same =PARAM= run.
The refinement will stop when any one of the following three conditions is met:
Output for each cycle consists of old and new parameters, parameter changes, estimated parameter standard deviations, the error of fit and correlation coefficients. Following the last cycle, a summary of input TWO-THETA's calculated from the new lattice parameters and the difference between these two values is given. A rapid scan of the difference column will serve to spot any unusually bad observed TWO-THETAs and is well worth the minute required to do so.
Equations for the important quantities calculated are:
Error of fit = E = (N-K)**-0.5 SUM D(K)/SIGMA(2 THETA) Estimated standard deviation = S - (M**-1)E N = number of observations K = number of parameters M = matrix of normal equations adjusted Correlation coefficient = C(N,M) = M(N,M)**-1/((M(N)**-1(M(M)**-1))**0.5
The programs =PARAM=, =DIFSET=, =DIFPCH= and =DATCO5= form a logically connected set for using the XRD-6 at Maryland. A discussion is given here as an example of data gathering and preliminary data treatment. This aspect of computing techniques applied to crystallography is as diverse as the number of different laboratories.
=PARAM= accepts TWO-THETA data for a number of carefully measured reflections and produces precise cell parameters. It is necessary, because of the limitation on minus TWO-THETA and on the XRD-6, to:
1. Pick medium strong reflections
2. Measure plus and minus TWO-THETA by averaging half height values of OMEGA in order to obtain the average value of TWO-THETA. Choose a set of reflections with TWO-THETA values between 2.7 and 20.0 degrees. The reflections must be of visible size on the 1000 scale of the recorder (2000 DCTS / 10 sec). The CHI values range from a minimum of 16 degrees for a TWO-THETA of 4 degrees to a minimum CHI of 90 degrees for a TWO-THETA of 26 degrees. These requirements for CHI are due to the mechanical problems encountered as one goes to negative TWO-THETA values on the XRD-6. Choose appropriate reflections from looking at the survey films and the preliminary =DIFSET= as calculated from film cell dimensions. The CHI, PHI, and TWO-THETA are used to position the crystal for a given reflection. Then using the manually operated OMEGA, the reflection is half-heighted first on the low side of the peak and then on the high side. The values of OMEGA for the given CHI and PHI are recorded for PLUS TWO-THETA. (Now go to MINUS TWO-THETA and repeat the half-heighting.) The average OMEGA for the MINUS TWO-THETA peak is subtracted from the average value of the PLUS TWO-THETA peak and this is the correction to be applied to the given TWO-THETA.
TWO-THETA(true) = TWO-THETA (apparent) - (average OMEGA(PLUS) - average OMEGA(MINUS) )
Always take symmetrically equivalent reflections where possible. This gives another independent measurement of the TWO-THETA(true) at a different PHI and/or CHI. The average TWO-THETA(true) for equivalent reflections is then taken to be the most accurate value for the given TWO-THETA.
Remember to always advance OMEGA and TWO-THETA through the peak from low to high side to avoid backlash in the gears.
((OMEGA(PLUS-LOW) + OMEGA(PLUS-HIGH) / 2) - (OMEGA(PLUS-LOW) + OMEGA(MINUS-HIGH)/2) = TWO-THETA CORRECTION = (AVERAGE OMEGA(PLUS) - AVERAGE OMEGA(MINUS))
therefore
TWO-THETA(TRUE) = TWO-THETA(APPARENT) - (AVERAGE OMEGA(PLUS) - AVERAGE OMEGA(MINUS))
3. Unrelated reflections with the same magnitude HKL indices should be used where possible to help in refining the cross terms in cases such as monoclinic or triclinic. (e.g. H,K,L and H,K,-L for monoclinic, B unique)
4. The minimum number of independent reflections should be three times the number of cell parameters to be determined, (e.g. greater than 12 for monoclinic and greater than 18 for trilinic) but in practice an over-determination of four or five is safest especially when peak data is to be gathered.
5. Average over any equivalent reflections that may be available (e.g. -H,K,-L and H,K,L in a B mounted monoclinic).
6. Be sure to measure as many different orders as possible.
=DIFSET= generates the actual values of CHI, PHI, START TWO-THETA,STOP TWO-THETA, or TWO-THETA PEAK needed for the measurement of data. It is linked to =PARAM= and may be run right after it utilizing the latest refined cell parameters. It will simply list these values for further exploration of a given crystal - gathering more TWO-THETA data, for example. It will also prepare punched cards or else write the information on =NFILEH= for use by =DIFPCH=.
=DIFPCH= reads the. output of =DIFSET= and sorts the reflections in shells of TWO-THETA. Within each shell it sorts on PHI and CHI such that PHI always advances and CHI goes back and forth. It also inserts given standards at regular intervals and resets PHI in each instance so that it will always drive forward. It then punches XRD-6 settings cards for use in the machine. These may be punched as (fixed crystal, fixed counter) peak heights, (TWO-THETA-OMEGA) scans or peak height-scan pairs. The last case may be used for gathering information for peak height scan conversion but =DATCO5= described next, offers a better method for obtaining these settings cards.
=DATCO5= - processes the output of the XRD-6. It treats peak height data and will, if given a table of conversion factors, convert it to scan basis as a function of TWO-THETA (by four point interpolation from the table). It will treat TWO-THETA-OMEGA scan data to aid in developing the conversion as a function of TWO-THETA. When processing the peak height data, it can re coded to produce scan cards for all reflections above a given number of deca-counts intensity or, to issue pairs of scan-peak height cards for a limited number of peaks in each region of TWO-THETA for developing the conversion information. This requires a table of scan range as a function of TWO-THETA to be supplied. Finally, after all preliminary work is done and the conversion factors are known, the program will produce a sorted, averaged, unique asymmetric set of reflections on =NFILEI= ready to be processed by =DATRDN=. In the case where only one measurement exists, it is accepted, where two exist, they are averaged unless one is a given number of counting statistic standard deviations lower in which case it is rejected and the higher accepted. Where three or more exist, they are all averaged and any which are a given number of standard deviations from the mean are rejected. All rejection criteria are user controlled. The estimated standard deviations are properly adjusted during the averaging process. Any systematic change in intensity may be compensated for by =SCALES= cards.
The objective of this set of programs is to provide a means of exploring reciprocal space as quickly as possible using 10-20-10 second peak height measurements. Then to go back and develop a table of peak height to scan conversion factors as a function of TWO-THETA and then to gather a 20 sec scan -20 sec scan data on all the larger reflections and finally to sort and merge the whole collection into as precise and wide an intensity range as the XRD-6 will encompass. By using the peak height measurement on the low intensities it is hoped to pick up values that would be LESS-THANs based on a scan. By scanning all the large reflections it is hoped to keep the total scanning time down. By doing all important reflections twice we hope to mitigate accidental instrument failures. Since the average scan time is one minute forty seconds plus setting time and the peak time is just forty seconds plus setting time the time factor is reduced. The sorting done by =DIFPCH= helps keep the setting time to a minimum.
=PEKPIK= was written by Margaret 0. Dayhoff and James M. Stewart. It examines a Fourier or Patterson map and returns the coordinates and density of the maxima. Three additive one-dimensional parabolic interpolations are made to find the coordinates and the density of the true peak. The maximum deviation of this approximation to a one-dimensional Gaussian curve is .003 grid units and .02 percent density from the true value.
The Fourier or Patterson map which was prepared as a binary file (on =NFILEE= by the =FOURR= program is read into core, one layer at a time, including as many aa 20,000 points per layer. The layer is scanned for grid peaks. Near each of these, the true peak location and density is determined and the values stored. Maxima within one-half grid unit of the boundary surface of the map are accepted as being in the surface. As successive layers are read in, records are kept of the location, density, and layer numbers of each peak in the last two layers in which it has been found. As soon as the density of a peak decreases, the interpolation between three successive layer peaks is made and coordinates and density are printed out. If three peaks are available, a parabolic fit is made. If only two have been found, the larger is assumed to be the exact position. Identical peaks from each layer must be matched. A resolution of two grid units is used. 100 peaks appearing in one layer can be stored. Any excess is lost. This may happen if the cutoff of density is set too low or if too many peaks are searched for in one pass. Peaks are eliminated from the lists when they are no longer detectable in the latest layer. Grid points below a specified level are skipped over. If any grid points (holes) are below a specified level, a signal is set. If the number of peaks read out becomes too great, peak-picking is terminated.
As many as 500 three-dimensional peaks are stored. Symmetrically related peaks are eliminated as each new peak is found. The equivalent peak with highest density is retained. A resolution of .75 angstroms is used to distinguish different peaks. If special resolution is desired, it may be set during the search.
After all the layers have been searched, a specified number of peaks of highest density are retained, listed, and can be output on cards.
If desired, holes may he sought.
As a practical application, this program can prove very helpful in searching E maps (e.g. Fourier with Karle-Hauptman E values as coefficients and phases obtained by ihe symbolic addition procedure). For heavy atom structures it will be found useful to search first the sharpened Patterson with origin removed for precise heavy atom coordinates and then subsequently the FO-FC difference map for the light atom positions. This latter map has proved more powerful because of the mitigation of the series termination errors and the added clarity of the light atom positions.
=PHASE= was written by R.V. Chastain, E.G. Boonstra. and J.M. Stewart. This program is designed to obtain a set of phases for the solution of centrosymmetric structures. It uses an approach which treats the output cf the SIGMA-TWO search by a direct solution of product equations using a multi-symbolic approach technique. After the solution is carried out, there is a review of the results to aid in establishing if the solution is correct or if there are alternative possible solutions.
There are two distinct ways in which the program may be used. The choice is dependent upon presence or absence of translational symmetry (exclusive of Bravais lattice translations). When there is a great deal of translational symmetry such as in P2 or PBCA, the program is most powerful because symmetrically equivalent reflections have the possibility of producing phase reversals (ses- also GENERL - Treatment of Symmetry) which are a good way of checking the results. When there is little or no translational symmetry, such as in P1BAR or PMMM, there is always the danger of producing the ALL PLUS catastrophe. This catastrophe is always possible because of the lack of the checks which arise from translational symmetry.
The output of the =SINGEN= program consists of the relationships which are shown in SINGEN.
Through the use of standard trigonometric identities the equation
PHI(H1) + PHI(H2) + PHI(H3) + PHI(SHIFT) = PSI
may be shown to result in a simple product relationship in the centrosymmetric case. Firstly, all values of PSI may be set to zero (which is a basic assumption in setting out to apply the symbolic addition procedure of Karle and Kahle). Secondly, since all the values of PHI are 0 or PI, their cosines are simply + or -1.0. Thus the product relationship becomes:
SE(H1)*SE(H2)*SE(H3) = SD(DELTA)
where SE and SD are more carefully defined at the end of this section. At this point let it be said that SE(H1) means the sign of the E of a given reflection, H1, and that SD of DELTA is the sign that results from any phase change necessary so that H1, H2, H3 are kept in the asymmetric set of reflections supplied at =DATRDN= time (see SINGEN).
Each reflection (H) is supplied a symbolic phase at =SINGEN= time which is simply an integer equal to its rank according to decreasing value of E magnitude. Thus, the highest E value reflection has symbolic phase 1 and so on down. The output of =SINGEN= can thus be used to produce a large number of product equations in terms of these symbols. The next step is to decide which of the symbols should be solved for directly. A rough rule is to try initially to solve directly for a number of symbols equal to three times the number of atoms (exclusive of hydrogen) in the asymmetric part of the unit cell. Whatever number is decided upon, this subset of reflection phases are called generators, since, once they are known, many more phases may be generated from them with very little trouble. In straightforward cases with high translational symmetry, a large number of generators will usually give a solution on the first attempt. When the translational symmetry is low or the data is not of the best quality, it is best to keep the number of generators lower. In this way the symbols which are hard to find will be left unsolved and may be forced one way or another systematically, thus uncovering the physically correct solution. The classic ALL PLUS catastrophe arises in P1BAR where, if the number of generators is set too high, this trivial solution of the product equations will be found. The method here is to set the number, such that, say two symbols over and above the origin defining symbols are left unsolved and then to consider them +-, -+, or -- in turn. E maps may be calculated in each case and searched for the answer. In very bad cases in P1BAR, as many as five additional symbols may be required. Much above this level suggests that other strategies are in order (see =TANGEN=).
Consider a structure in which 30 generators are to be sought directly. There will not in general (if ever) be 30 SIGMA-TWO product equations which relate these 30 symbolic phases. It is therefore necessary to define two kinds of product equations - those of the first kind which come directly from the SIGMA-TWO process
(e.g., 1*7*22 = +)
and those of the second kind which are produced by elimination a single non-generator between two different SIGMA-TWO relationships.
(e.g., 2*9*35 = - AND 7*12*35 = + hence 2*9*7*12 = -)
These relationships of the second kind practically always make it possible to produce a sufficient number of product equations to reduce all generators to be expressed in terms of the lowest symbols suitable to define the origin. The program is set to carry out this operation if the unknown number of symbols and their parity groups satisfy the conditions for origin definition (see SIGMA). Details of the actual procedure are given in Crystallographic Computing..
The overall processes that are programmed are as follows:
From this process, a table of discrepancy differences may be developed which shows the difference in the number of times each of the relationships used in the solution appear wrong minus the number of times they appear to agree. When these differences are minus, the relationships are accepted. If the difference is plus, the condemned relationship is arbitrarily changed in sign and the appropriate signs changed. In effect, this is an attempt to find any relationship which violates the assumption that the PSI given in the equation above is truly zero. It seldom happens that this occurs, but when it does this strategy is very powerful. It is not useful for space groups with no translational symmetry (where no discrepancies can arise).
The following description of the method describes more rigorously the actual solution process and the formation of the relationships and pedigree.
All SIGMA-TWO relationships of the E's above an arbitrary value {usually E greater than or equal to 1.5 depending on computer speed and time) are generated by =SIGMA=. =SIGMA= writes all possible relationships onto an intermediate scratch file. =PHASE= can then select from this file an arbitrary subset of the whole set of SIGMA-TWO relationships. For purposes of this description! the original SIGMA-TWO relationships are dealt with in two distinct ways. The first subset is taken directly from the output of =SIGMA2=. These are referred to as SIGMA-TWO relationships of the first kind and are expressed as:
SE(H)SE(K)SE(L) = PI(J), P(J) (FIRST KIND)
where J is the relationship catalog number, H, K, L are catalog numbers of the E's SE(H) is the sign of E(H), PI is the symmetry sign (e.g. for. P ONE BAR all PI(J) are ( + )), and P(J) is probability that the J-th relationship is valid.
SIGMA-TWO relationships of the second are next formed as products between relationships of the first kind. which have a common sign factor (symbolic phase) for the third member. We express these as:
SE(H)SE(K)SE(L)SE(H')SE(K')SE(L') = PI(I)PI(K), P(I), or P(K) whichever is smaller
which reduces.to
SE(H)SE(K)SE(H')SE(K') = PI(J), P(J) (second kind)
In order to maintain a high confidence level with the relationships of the second kind, E(L) in the above expression, it is necessary to have a value equal to or greater than some arbitrary level (Note 1). The combined set of relationships of the first and second kind is referred to as the extended set of relationships among the symbolic phases.
E(1) to E(M), in decreasing value of E, are defined as generators, that is, their phases will be solved directly. It is on the basis of M, the number of generators sought, that the selection of relationships of the second kind is based. For relationships of the first kind E(H), E(K), and E(L) are all greater than or equal to E(M). In relationships of the second kind, a common E(L) (=E(L')) less than E(M) is eliminated to form the relationship from a pair cf parent SIGMA-TWO relationships. E(M+1) to E(N) are referred to as generated because their phases will be generated in terms of the phases of the generators. The extended set of relationships is now limited to those relationships involving only the generators and having P(J) greater than some arbitrary value. For optimization, the limited subset of relationships is sorted in the order of decreasing P(J).
The limited subset of relationships is now solved by assuming that every relationship in the limited subset is correct (note 2).
Every sign of the generators which is determined is expressed as
SE(H) = O(H) H = 1,2....., M where
The function O(H) is a product of PI's from the equations used in the inversion, and the arbitrary phases permitted by the space group. This set of signs for the generators may be a good first approximation to the correct set of phases (note 3).
Not only does the product of PI's in O(H)) serve to define the sign of E(H), it also shows each PI upon which the sign of E(H) is dependent. For this reason O(H) is referred to as the pedigree of SE(H). Through the set of the M O's it is possible. to find all SE's which are affected by a change in any given PI.
The inversion process required only M relationships of the complete limited subset of relationships of the first and second kind. The remainder of the relationships can he used to check the reasonableness or the approximate solution. Some number of the relationships may be found discrepant. That is subset of relationships of the first and second kind. The remainder of the relationships can be used to check the reasonableness of the approximate solution. Some number of the relationships may be found discrepant, that is
SE(H)SE(K)SE(L) NOT EQUAL TO P1(J) OR SE(H)SE(K)SE(H')SE(K') NOT EQUAL TO PI(J)
while the other relationships will be found accordant. That is
SE(H)SE(K)SE(L) = P1(J) OR SE(H)SE(K)SE(H')SE(K') = PI(J)
The program is designed to modify the approximate solution to reduce the total number of discrepant relationships. To accomplish this, a second kind of pedigree is introduced - the pedigree of a relationship. The elements of this pedigree are found as the resultant factors given by the products of the symmetry sign and the pedigree of the SE's involved in the relationships. That is:
O(H)O(K)O(L)PI(J) or O(H)O(K)O(H')O(K')PI(J)
The pedigree of the relationship shows each PI which will influence whether this relationship is accordant or discrepant.
The algorithm used for modifying the approximate solution employs two counts for each of the PI's involved in the inversion process. One count, D(J), is the number of times PI(J)) appears in pedigrees or discrepant relationships. The other. count, A(J), is the number of times PI(J) appears in the pedigrees of accordant relationships. When the counting is completed for the limited subset of SIGMA-TWO relationships, the discrepancy differences, DELTA(J), are formed.
DELTA(J) = D(J) - A(J)
The list of DELTA's is scanned for the largest positive DELTA(J), and the PI(J) associated with it is established as the villain (note 4). Such an equation is termed a condemned equation.
At this point, each SE which contains the villain PI(J) in its pedigree is changed to produce a new approximation to the phases that will yield fewer discrepancies. The process can be carried out repeatedly by substituting the new approximation of the phases into the limited set of SIGMA-TWO relationships until no more positive DELTAs remain. The set of phases which gives no positive DELTAs is accepted as a solution for a set of generator phases.
It is important to realize that the sign of the condemned equation has been inverted and the equation not removed from the relationships used in the solution. One may wish through the use of =BADEQN= or =BADSIG= cards to remove such relationships from use in subsequent runs.
To determine the values of the generated phases, the SIGMA-TWO relationships are limited to the SIGMA-TWO relationships of the first kind which contain two generator and one generated phase. If SE(L) is the phase to be generated, and SE(H) and SE(K) are known generator phases, then the rearranged relationship:
SE(L) = PI(J)SE(H)SE(K)
serves to define tht phases SE(L). Since any particular SE(L) may be determined many times, sometimes resulting in conflicting phase values, the current code simply uses the phase value given most frequently. Subject to a control parameter, it leaves as undetermined those phases for which equal numbers of opposite values occur.
This program was written by G. J. Kruger and is designed to compare the accuracy of the direct phasing methods with the final phases calculated from the refined structure. When using this program, the binary data file should contain the results of the programs =FC=, =SINGEN=, and possibly =TANGEN= and =APHASE=.
If the phases estimated by =TANGEN= are available, their values are compared with those from a structure factor calculation and the differences displayed in a table and a graph.
The statistical structure invariant relationships set up by =SINGEN= is in the form:
PHI(H1,K1,L1) + PHI(H2,K2,L2) + PHI(H3,K3,L3) + PHI(SHIFT) = PSI
By substituting the phase angles (PHI values) calculated by =FC = into the relationship the actual value of PSI can be calculated. Furthermore, hy using the averaging process in =APHASE= an averaged value of PSI can be established. If the PHI values estimated by =TANGEN= are available, an estimated value of PSI can also be calculated.
The structure invariant relationships can be used in two different ways. Either the SIGMA-TWO assumption is followed where PSI is assured to be zero, or, the PSI value derived by the averaging process can be used directly. The effectiveness of the direct phasing methods is examined by comparing the actual PSI values with the SIGMA-TWO assumption value (zero), the averaged value, and the =TANGEN= estimated value.
The comparison is done in two steps. First, the PSI values for triplets involving E's with a value greater than or equal to a minimum value set by the user, is calculated. The distribution of the deviations of PSI from zero and the dependence of the magnitude of the deviations on A is then displayed. The distribution of the COSINE(PHI) values for relationships with A greater than or equal to a minimum value, set by the user, is then displayed in a table and graph. Up to nine different values of A can be used, resulting in up to nine graphs for different values of A.
Secondly, a value of PSI may be derived by the averaging process in =APHASE=. When these values are used the treatment is similar to that used in treating the =SINGEN= triplets. The deviations from the calculated PSI are displayed for the ZERO-PSI-ASSUMPTION, the AVERAGED-PSI, and the TANGENT-REFINEMENT-ESTIMATED PSI.
=RLIST= was written by William Keefe in collaboration with J.M. Stewart.
This program is designed to explore on several bases the agreement between calculated and observed structure factors. It is designed to separate the reflection data into a number of groupings - some as standard features of the program, the rest as specified by the user. The standard classifications are - all reflections H00, 0K0, 00L,HK0,H0L,0KL, HKL (all indices non-zero), the level scale groups, by equal 0.1 increments of SIN(THETA)/LAMBDA, and by geometric increments of the magnitude of F OBSERVED, 0-1, 1-2, 2-4, 4-8, etc. Beyond these one may choose, through the use of =CATEGO= cards, many other possible categories. These categories may specify classes of reflections, ranges of SIN(THETA)/LAMBDA, F OBSERVED, intensity, CHI, or PHI. The output is then in the form of counts of the various types of reflection in each category, and a number of R values. These R values take the following form:
One may select up to 500 categories (depending on machine size) per run by means of =CATEGO= cards. These cards allow for a 12 character name for the category which is to be supplied by the user for the output listing. A match test for H, K, and/or L is established if any or all of these fields is left blank then all reflections are tested further. If however a number is punched then only reflections with the value(s) punched will be included in the category. For example, if one punches 1 in the H field, then the category applies only to 1KL reflections. Next, one may specify that the category is to be based on an additive combination of the Miller indices having a specified value. For example, one punches a 4 to indicate the category is based on H+K and a 2 to indicate that H+K must be even. The final alternatives for categories are based on ranges of values for five possible crystallographic quantities - SIN(THETA)/LAMBDA, intensity, F OBSERVED, CHI, or PHI.
These possibilities should permit the evaluation of structures with very special categories of reflections.
The output for all the categories consists of the various R values and the summations which are used in their calculation. Nothing is printed for categories which have no reflections in them. This is to keep the output as short as possible.
A parameter may be set which causes individual reflections with a R value (DELTA F/FOBS) greater than the value of the parameter to be listed. This parameter applies only to observed reflections.
Caution should be exercised in the use of the option which automatically prints the R values for all classes of indices taken one at a time. That is to say all reflections for H=0, then 1, then 2, through K=0, then 1, then L=1, etc. For an orthorhombic case with maximum H, K, and L of 90, this gives 1000 categories of 5000 lines which is about 100 pages of output. This output is usually large and unselective. The =CATEGO= card may better be used to tailor the output to the compound at hand.
In order to calculate the R values as a function of CHI and PHI, it is necessary to supply the transformation matrix used by =DIFSET= .
Within tht X-RAY system, there have been three previous SIGMA-TWO programs. The first by H. Ammon was rewritten by J. Stewart, R. Chastain, and E. C. Boonstra and used as =SIGMA2= and aimed particularly at the centrosymmetric case. At the same time, another program, =SIGMA=, was developed by Syd Hall, aimed particularly at the acentric case and using a significantly different algorithm from =SIGMA2=. Both programs gained their speed through different techniques which have proven to be compatible. Thus, this program is a result of combining these techniques into a new generalized program for the generation of SIGMA-TWO relationships.
This program is designed to find the reflections which have indices satisfying the condition:
H1 + H2 + H3 = 0 K1 + K2 + K3 = 0 L1 + L2 + L3 = 0
where (HN, KN, LN) is the vector for the nth reflection. The values of (HN, KN, LN) must encompass all possible reflections in the limiting sphere. In order to relate the asymmetric set of reflections supplied to the reflections which satisfy the above condition, it may be necessary to apply a symmetry transformation (see GENERL).
These combinations of reflections give rise to the statistical structure invariant relationship:
PHI(H1, K1, L1) + PHI(H2, K2, L2) + PHI(H3, K3, L3) + PHI(SHIFT) = PSI
The value of the residual variable, PSI, is obtained in two distinct ways. When the product of the three E(HN, KN, LN) values is large, PSI is approximately zero. Moreover, even when the E product is small, the average value of PSI over many relationships tends to be zero. The other way is to estimate PSI by means of a more complicated averaging process.
These relationships may be treated in a number of different ways to determine a set of phases for a given structure.
1. In the event that numeric phases are to be used directly in determining further values, it is first required to specify the cell origin and enantiomorph (where necessary). Information for the cell specification is produced by the =SINGEN= program. When the specifications are followed, one may then use the relationships to manually generate other phases.
Manual generation of phases using the symbolic addition procedure is also possible though this may not be necessary if some of the methods described below are employed.
2. In the centrosymmetric case, the relationships from =SINGEN= may be used directly to form a set of equations. The solution of these equations is described in PHASE. This method obviates the need to make an a priori definition of the origin.
3. The program =TANGEN= may be used to generate a set of phases starting with a small number of numeric values (often just those specifying the unit cell).
=SINGEN= carries out the following sequence of operations:
1. The symmetry information is placed in store in the form of rotation matrices (translation vectors are not used). The whole set of rotation matrices is developed by taking Friedel's law into account.
2. If the space group under study has a centered lattice, the rotation matrices are transformed to the equivalent primitive lattice.
3. The characteristic matrix is calculated by subtracting the identity matrix from each rotation matrix in turn. The results of these subtractions are then searched column by column for the seminvariant vectors and moduli.
4. A summary is printed giving the following information:
A. Primitive transformation matrix B. Structure seminvariant vectors and moduli C. Origin definition determinant D. Enantiomorph definition.
5. The A-value and the probability relationship for the centrosymmetric case are given as:
A = 2.0*SIG3*SIG2**(-1.5)*/E1*E2*E3/ PROB = 0.5 + 0.5(0.5*A)TANH
The A-values are also summed to provide a sensitive measure of the importance of a given reflection in the interaction process. The value of A may be used in place of the actual probabilities in subsequent calculations because they are a faster varying quantity proportional to the probability.
6. The (H,K,L) sort order for the SIGMA-TWO search is established from the maximum values of H, K, and L as supplied at =DATRDN= time. This sort order is such that storage will be in as many small groups as possible. Thus, if H maximum is large, K medium, and L small there will be set up a large number of groups of constant H and changing K and L. Thus, H is the primary, K the secondary, and L the tertiary sort index. In addition, each group of H is broken down by parity of H, K, and L.
7. All reflections above a specified E value are loaded. During this loading procedure, the deflection symmetry operation codes (SYMOPS) are extracted from each reflection record. These SYMOPS are used to generate the asymmetric reflection and its symmetrically related equivalent reflections. If the magnitude of H, K, L is changed by the symmetry transformation, the resulting reflection is stored separately. All reflections of the same magnitude of H, K, L are stored together with pointers to the first and last HKL-SIGNS and phase shifts (relative to that asymmetric reflection) which have been stored in a non-redundant SYMOP table. These directors are stored in a packed word (see GENERL).
8. Certain reflections may have restrictions on their phase values. This is due to the symmetry of the space group (e.g. in centrosymmetric cases, all phases are 0 or PI). This information is stored with each reflection.
9. The maximum values of the secondary and tertiary indices are determined for each value of the primary sort index plus their parity group. This is to define the limits of the search for (H3,K3,L3).
10. All E values are assigned a symbol number in decreasing order of E. A table is then printed showing all the asymmetric reflections and their symmetrically related equivalent reflections. In this table is displayed the phase shift information, PHI (SHIFT), which arises from the space group symmetry.
11. A pointer table is developed which serves to point to the core region in which the information about any (H3,K3,L3) reflection may be found. This pointer table gives rise to a major source of efficiency in this SIGMA-TWO algorithm.
12. The search for the SIGMA-TWO related reflection involves five basic steps.
13. When a SIGMA-TWO relationship is found, the following information is generated:
PHI(SN1) +/- PHI(SN2) +/- PHI(SN3) +/- PHI(SHIFT)SNN refers to the symbol number of the Nth asymmetric reflection.
14. statistics concerning the number of non-redundant interactions for each asymmetric reflection are kept. This information is printed at the end of the run.
For every asymmetric reflection, its order of symbol number (that is, decreasing E magnitude) is (H,K,L), /E/, parity group, number of triplets involving this reflection, the sum of the A's, the phase restriction, the primitive cell indices. the vectors (U,V,W) as defined in the cell specification information, and whether or not this reflection is a structure seminvariant are all printed.
In the course of the determination of a crystal structure by statistical methods, the phases which are determined will ultimately depend upon the position of the atoms in the unit cell expressed relative to a given point in the crystal lattice called the origin. The space group choice for a given crystal describes the symmetry operations for that group in terms of a set of equipoints. These are discussed in the symmetry section of GENERL and displayed in the International Tables, Vol. 1.
There exist points other than (0,0,0) in a unit cell which are identically equivalent with respect to the symmetry elements (rotation matrices) of the space group. These points are equivalent origins to (0.0,0) and are characterized by translations which give rise to no change in the magnitude of F, but may change its phase. Thus, a translation in direct space gives rise to a phase change in reciprocal space (see Lipson and Taylor, Fourier Transforms).
For example, in the space group P1BAR, there are eight equivalent origins corresponding to (0,0,0), (1/2,0,0), (0,1/2,0), (0,0,l/2), (1/2,1/2,0), (1/2,0,1/2), (0,1/2,1/2), (1/2,1/2,1/2). Other examples are shown in table 1 of Hauptman and Karle.
In order to fix an origin, the phases of certain reflections must be established subject to the constraints discussed below. There exist two subsets of reflections which must be considered and identified. The first is that subset which does not change phase when the origin choice changes. These reflections are said to have seminvariant phases. The determination of this subset assumes a fixed functional form for the space group. The other subset of reflections has phases which are dependent on the choice of origin. The reflections which are used to specify origin must be chosen from this second subset.
The reflections that have a seminvariant phase may be defined explicitly in terms of the seminvariant vectors and moduli. These values are given in the paper by J. Karle in Crystallographic Computing.
These sets are displayed by =SINGEN= according to the symmetry supplied at =DATRDN= time.
Let the matrix of the J seminvariant vectors be SV(J), then the product of this matrix with the primitive vector (H,K,L) = H of a given reflection gives a vector which taken to the base modulo OMEGA, W(J), give a vector (U,V,W). If all UVW are zero, the reflection H has a seminvariant phase and cannot be used in origin specification. If the space group is centered, then the primitive vector H must be obtained by transformation of the reflection indices.
Consider the example of the space group P4BAR. P4BAR has the seminvariant vector: (H+K,L)
-- -- | 1 1 0 | SV = | 0 0 1 | | 0 0 0 | -- -- and the moduli: (2,2) -- -- | 2 | | 2 | | 0 | -- --
consider the two reflections (1,1,1) and (1,1,4)
(A) Reflection (1,1,1) -- -- -- -- -- -- | 1 1 0 | | 1 | | 2 | | 0 0 1 | * | 1 | = | 1 | | 0 0 0 | | 1 | | 0 | -- -- -- -- -- -- -- -- -- -- -- -- -- -- | 2 | | 2 | | 0 | | U | | 1 | MOD | 2 | = | 1 | = | V | | 0 | | 0 | | 0 | | W | -- -- -- -- -- -- -- --
which is a non structure seminvariant since U, V and W are not all zero.
(b) Reflection (1,1,4) -- -- -- -- -- -- | 1 1 0 | | 1 | | 2 | | 0 0 1 | * | 1 | = | 4 | | 0 0 0 | | 4 | | 0 | -- -- -- -- -- -- -- -- -- -- -- -- -- -- | 2 | | 2 | | 0 | | U | | 4 | MOD | 2 | = | 0 | = | V | | 0 | | 0 | | 0 | | W | -- -- -- -- -- -- -- --
which is a structure seminvariant.
It is necessary to fix J linearly independent non-structure invariant phases in order to define the origin, where J is the number of seminvariant vectors (used in SV).
In practice, the values of (U,V,W) which are under consideration. are entered into a J by J determinant whose value must be +1 or -1. This is the test of linear independence.
Many reflections will meet the criteria given above. However, there may be added restrictions on the values of phases due to the symmetry of the given space group. Care must be taken in these instances so that the values of the restricted phases are not violated. e.g., in acentric space groups with centric projections, the projection reflections will have restricted phases.
If general phases are to be used as origin definers, great care must be taken so that the choice wi!l not violate the restricted phases. As a practical matter it is best to choose restricted phases whenever permissible.
In non-centrosymmetric space groups, the chirality (i.e. left or right handedness) of the structure is unknown in the absence of anomalous dispersion. The phases of the reflections of a given structure (L) are the inverse of the phases for the enantiomorphic structure (D). That is, every
PHI(L) = -PHI(D)
Since the structure factor magnitude does not distinguish between the enantiomorphs, it is necessary to define explicitly which phase set, PHI(L) or PHI(D) is to be used. This is done by establishing the sense of at least one phase which is known to be significantly different from zero or 180 degrees. In certain cases when origin defining phases are non-zero or non-PI, the above requirement does not hold. This is discussed below. In any cast, all reflections not used to define the origin are eligible for use to fix the enantiomorph and it remains only to find which are capable. In the case where the origin defining reflections all have unrestricted phase values one of them may be set to 45 degrees rather than zero. This may be a less productive procedure if the origin defining reflections do not interact in a substantially productive way.
In practice, the method used to define the enantiomorph is imposed by the space group symmetry. If the space group has many clashes of restricted phases, it may be possible to use one of these reflections to define the enantiomorph. In this case it is essential that the parity group containing this restricted reflection conform to the following condition. A phase associated with each parity group can be generated directly from the linearly dependent parity groups of the origin defining reflections. Generated phases which are contradictory to the restricted phase values of that parity group specify thc possible enantiomorph defining reflections. e.g., if the origin definers in the space group P2:2121 were taken from (U,U,0) (U,0,G), and (U,0,U) they may be assigned the restricted phases 90, 0, 90 degrees respectively. The remaining parity groups of restricted reflections may be obtained by combinations of those three reflections. The table shows predicted phases for all parity groups other than those defined by the origin. (Note that this is a specific example and not a general table - other origin choices give rise to other phase configurations.) When the predicted phase and the restricted phases are different, the reflections in this group are eligible for use in defining the enantiomorph. This table is found below.
Group | Parity Group of Restricted Phases |
Restriction in Degrees |
Derived from Combination |
Predicted Phase |
Possible Definer |
---|---|---|---|---|---|
1 | U U 0 | 90(O.D.) | |||
2 | U 0 U | 90(O.D.) | |||
3 | 0 U U | 90/270 | 1,2 | 0/180 | YES |
4 | G U 0 | 0/180 | 1,2,2,7 | 90/270 | YES |
5 | U G 0 | 90/270 | 1,1,2,2,7 | 0/180 | YES |
6 | G 0 U | 90/270 | 2,7 | 90/270 | NO |
7 | U 0 G | 0(O.D.) | |||
8 | 0 G U | 0/180 | 1,1,2,7 | 90/270 | YES |
9 | 0 U G | 90/270 | 1,7 | 90/270 | NO |
10 | G G 0 | 0/180 | 1,1 | 0/180 | NO |
11 | G 0 G | 0/180 | 7,7 | 0/180 | NO |
12 | 0 G G | 0/180 | 1,1,7,7 | 0/180 | NO |
Thus, for this type of space group with many restricted phases, one defines the origin phases then produces a possibility table similar to the one shown in order to identify reflections suitable for defining the enantiomorph.
In space groups where the use of a procedure like the one above is not possible, a genera| phase must be used to define the enantiomorph. The crux of the problem is to find a general reflection with a phase magnitude which differs significantly from 0 or 180 degrees. Once such a reflection is obtained, the enantiomorph is defined by assigning a sign to the magnitude.
One method of obtaining a suitable reflection is from interaction of the origin defining reflections. When phase estimates of a general reflection are both 0 and 180 degrees, this implies that the true phase is between these two values. This reflection is then a candidate for use as an enantiomorph defining reflection at the initial value of 90 or 270 degrees. The magnitude may not be exactly correct, but generally is a sufficiently good approximation to permit further generation of phases.
These phases will be consistent with the one enantiomorphic structure. As the generation expands, the value of the enantiomorph defining phase may be refined to its more correct value.
This program was written by Syd Hall to take the output of =SINGEN= and, from a small set of starting phases, often only the origin and enantiomorph defining reflections, produce a sufficient number of phases to permit structure solution.
The program is designed to calculate the following relationship:
SUMMATION/W*E(H2)*E(H3)*SIN(PHI(H2)+PHI(H3))/ TAN(PHI(-H1)) = --------------------------------------------------- SUMMATION/W*E(H2)*E(H3)*COS(PHI(H2)+PHI(H3))/
where PHI(-H1) is the phase associated with the normalized structure factor, e, of reflection (-H1) and where W is a weight normally taken as one. If a weighted tangent formula is specified then:
W = 0.5 + 0.5TANH(0.5*EC(H1)*EC(H2)*EC(H3)*SIG3/SIG2**1.5)
where EC is the average R.M.S. value of the numerator and denominator in the tangent formula. (-H1) is a vector in reciprocal space ( -H1 , -K1 , -L1 ). Application of the formula to structure solution requires that numerical values of the phases (PHI) of several (or many) high E value reflections with vectors (H2) and (H3) be estimated or established beforehand. The formula then becomes useful when there are a sufficient number of known phases for reflections which interact to produce new estimates of the values of PHI(-H1) or where I1 can be used to refine a known value of PHI(-H1) in terms of other known phases. From. the foregoing, one may see that it is necessary to begin the use of =TANGEN= with an inner set of phases which interact to produce an expanded set. This may in turn be used to expand and refine the number of known phases. The initial inner set of phases must be derived from some consideration other than =TANGEN= itself. One way is simply by use of a set of carefully selected origin defining reflections (see SINGEN). This, however, is sometimes not sufficient to produce further known phases by such an expansion. Another method involves using phases from a partial structure calculated by =FC= which =TANGEN= accepts from the binary data file. Other statistical methods are discussed under SINGEN and PHASE. The symbolic addition procedure carried out using the output lists of =SINGEN= may be fruitful in producing further phase estimates in order to proceed with the =TANGEN= process.
Once a useful inner set of phases is established, the program is applied in a cyclic fashion based upon certain restrictive criteria under the control of the user. Depending upon how the criteria are set up, the attempt to expand the inner set of phases may he unproductive. If the criteria are too restrictive and stringent no new PHI(-H1) will be generated. On the other hand, too permissive criteria may produce many erroneous phases and in turn these will be used to produce even more which will result in an uninterpretable E map. When the limits are set carefully, there will be a steadily increasing number of accepted new phases in each cycle and convergent refinement of all previously estimated phases. It may be seen from the tangent formula that the values of phases may be refined in terms of the rest, since the range of the summations will be increased as the number or the phases included is increased. This process must be restricted if the true solution is to be achieved because when the inner set grows very large and the E values are allowed to get small, the formula begins to give erroneous results. Success with the method thus requires an appropriate reasonable inner set of phases and depends on carefully defined restrictions being applied during expansion and refinement of the phases.
It is preferable that the inner set be a limited number of well established numeric phases (say 4-10) rather than a large number. A large number of starting phases, whether they are poor or good estimates, may not lead to convergence due to the larger number of low probability interactions they are involved in.
At times one may see that the inner set expands in a very promising way in the first one or two cycles. But, in succeeding cycles shows signs of divergence (values of ((EO - EC)/EO) increase). One may by use of the =BDFPHI= card control the course of events and possibly prevent the divergence. To do this, =TANGEN= is run only through the promising cycles and then rerun using its own output through control of a =BDFPHI= card where it may be specified that the inner set be held fixed for additional cycles.
The program operates in two distinct modes. Firstly, a cycle for which one defines the lowest magnitude of E is to be utilized in the second mode. Secondly, an iteration, for which one defines all new phases which can be generated from known phases for E magnitudes above the current cycle threshold. During. an iteration all values (-H1) which may be discovered from (H2) and (H3) are added to the list of known phases. then all are used to refine the values of all those currently in the list.
Any given cycle will be terminated when a specified number of iterations (max. of 50) has been completed or that successive phase estimates have converged, or oscillate, between specified limits of the ratio: (AV. E(OBS.)/AV. E(CALC)).
A new phase is accepted as useful and valid, if, during the iteration process:
If a reflection violates one of these criteria, it is not used in the succeeding iteration, although its value will be reassessed. In this way, a suspect phase estimate is temporarily suppressed and prevented from contributing to the phasing process.
A new cycle may be initiated at the end of a series of iterations. The new cycle will include reflections with lower E magnitudes. Since no reflection of E value lower than the current cycle limit is included in any iteration, it is important to note that the inner set of starting phases may not appear in the first cycles unless the minimum E magnitude is set properly.
The phases uf reflections used to initiate the phasing process (i.e. starting phases) may be entered separately on cards or from a binary data file output from an =FC= or previous =TANGEN= calculation or from =APHASE=. In the first case, starting phases are extracted only when the associated F CALC value exceeds the product (P*K*F(rREL), where P is the fraction of the complete structure known, and K is the overall scale factor specified at input time (or extracted from record 7 of the BDF).
Starting phases which define the position of the origin in the unit cell should be fixed throughout the phasing process. Similarly, the phase intended to define the enantiomorph of the structure (necessary only in acentric cases) should also be fixed in the early cycles, even if its value is not known accurately.
There is also the provision to suppress particular reflections in the E list so that their phase is estimated but not used in phasing process. This may be necessary if certain reflections are expected or have proven to be unsuitable for phase extension purposes in the early stages. This is often the case with axial reflections.
Once the iterations of the requested cycles have been carried out, the final accepted refined phases are written in the output binary data file. This file may then be used in conjunction with =FOURR= to calculate an E map or an FO PHASES FROM STATISTICS map to be searched for the structure.
The formal rules for selecting the reflections whose phases must be fixed in order to specify the cell origin and enantiomorph, haye been discussed earlier in =SINGEN=. However, there is usually a large number of reflections, and combinations of reflections, in the E-LIST that can be used for this purpose. If the SIGMA-TWO structure invariant relationships were exact it would not matter which set were used, as all must ultimately lead to a correct expanded phase set. This is not the case. the relationships are statistical and usually considerable care must be taken to select the starting set with the highest probability of success. The success or failure to extend the inner set of phases correctly is often determined in the very earliest interactions. Unless there is sufficient redundancy at this stage a single bad estimate in the first one or two iterations can permeate the entire phasing process. It is of first importance therefore to select the set of cell defining reflections, and other reflections used to initialize =TANGEN=, so as to facilitate both the highest probability of early single SIGMA-TWO relationships, and the rapid interaction of these phases for early redundancy.
There are a number or procedures for choosing the best starting set (see Hall, 1970). A relatively simple method which has met with considerable success when used in conjunction with =TANGEN= will be described briefly here.
The basic steps are as follows:
The initialization of the tangent iteration process with a limited number of correct numerical phases does not guarantee that the expanded set of phases will be correct. This may be due to a number of the factors which have been discussed earlier. It is intended here to outline how one can tell if the tangent calculation has succeeded, and that the output phases are correct, before the E-map has been calculated. The ability to distinguish a correctly refined phase set from an incorrect one is particularly important when the =TANGEN= calculation is repeated with a number of alternative starting sets. Successive =TANGEN= runs are necessary when one or more of the starting phases is unknown and must be permuted through a number of numerical values.
The =TANGEN= output contains at least four parameters that may be used to approximately gauge convergence to a correct phase set. Nevertheless, it should he stressed that these parameters are statistical and cannot be taken as precise indications of the correctness of a phase set. In order of sensitivity, these are
There are a number of other less consistent indications of a successful =TANGEN= calculation. Here are several:
A) The starting phases should rapidly expand to phase all other phases in the first or second cycles (E-thresholds).
B) All OPHI values decrease towards zero ( 0-5 degrees) after two or three cycles.
C) Multiple estimates of a phase should not be contradictory so that there are few very low EC values (marked T) or restricted phase conflicts (marked R).
D) There should be an absence of individual phase oscillations (marked 0) and of overall oscillations from iteration to iteration (detected sy the (av.(EO)/av.(EC)) ratios) in the final cycles.
The =WRITEU= program is designed to prepare printed copies of the write-up of the system from punched cards. Each program calling card mnemonic is used to give a character page code. Three kinds of pages are expected l.XXXXXX-NNN, 2.XXXXXX-ANN, and 2.XXXXXX-BNN. The X's are the characters, the N's are sequence numbers. The 1 section of the manual is general description, the 2-A the card order and file requirements, and the 2-B the card format section. Each section is then defined as an element.
The body of the write-up must leave column one for carriage control. Blank means single space, 0 (zero) double space. and 1 means start a new page.
The general description of each program, in part 1, has the following format. (Note the format of the card immediately following the =ELEMENT= card.)
Columns- 0000000001111111111222222222233333333334444444444555555555566666666667777777777 1234567890123456789012345678901234567890123456789012345678901234567890123456789 ELEMENT 1 1.EXAMPL- 1 0 0 0 =EXAMPL= - AN EXAMPLE PROGRAM WRITE-UP ------------------------------------- 0 THIS PROGRAM IS NON EXISTENT IN THE X-RAY SYSTEM. BUT ITS WRITE-UP NEVERTHELESS SERVES TO AID AS AN EXAMPLE FOR THE USER WISHING TO DESCRIBE THE FUNCTIONS AND LIMITATIONS OF HIS PROGRAM. EQUATIONS OF SIGNIFICANCE USED WITHIN THE CALCULATION SHOULD BE GIVEN WHERE POSSIBLE. 0 NOTE THAT ESOTERIC CHARACTERS WHICH ARE AVAILABLE ON SOME PRINTERS ARE NOT UNIVERSAL AND ONE SHOULD RESTRICT ONESELF TO USE OF 0-9 A-Z / * + - ( ) ' , . ENDELT
The card order and file requirements (2-A) and the card have the following format.
Columns- 0000000001111111111222222222233333333334444444444555555555566666666667777777777 1234567890123456789012345678901234567890123456789012345678901234567890123456789 ELEMENT 1 2.EXAMPL-A 1 0 0 0A. CARD ORDER SUMMARY FOR EXAMPLE PROGRAM -------------------------------------- 0 0 0 EXAMPLE PROGRAM CALLING CARD 0 END END CARD 0 0*****POSSIBLY READS =NFILEA= ***** C***** NEVER WRITES =NFILEB= ***** 1 0 0 0B. CARD FORMATS FOR =EXAMPL= PROGRAM --------------------------------- 0 0 0OPERATION CARDS ARE DESCRIBED IN SECTION 2.GENERL-A, AND THEIR FORMATS ARE GIVEN IN SECTION 2.GENERL-B. THE POSITIONING OF THESE CARDS IS DICTATED BY THEIR FUNCTION. 0EXAMPL _ PROGRAM CALLING CARD. FORMAT (A2,A4,1X,A2,A4)) 0 COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 EXAMPL 8-15 COMPOUND IDENTIFICATION CODE 0END - END CARD, FORMAT (A2,A4) 0 COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 BLANK (NOTE THAT COLUMNS WHICH MUST BE BLANK ARE SO DESCRIBED - IGNORED COLUMNS ARE NOT REFERENCED)
=WTANAL= was originally written by Peter Woodward and adapted to system format by John Baldwin.
The purpose of this program is to examine SUM(W*DELTA SQUARED) and SUM(DELTA SQUARED) as a function of the parameters FOBS, SIN THETA, or LAYER INDEX. Further, it allows a separate analysis of reflections for which FOBS is less than a specified threshold value (as a function of FOBS), and also of LESS-THANs (as a function of SIN THETA). In each of these two cases, reflections are sub-divided as to whether F OBSERVED is greater or less than F CALCULATED.
The input data specifies the wavelength of the radiation used. By choosing a LAMBDA value of 1.0 the SINF THETA analysis will be in. terms of SIN THETA over LAMBDA. Up to 20 intervals are allowed for each analysis excepting that for LAYER INDEX. In this case, a maximum of 41 layers (e.g. any one of H, K, L from -2N through +2N) is permitted and the user must specify the largest occurring negative index.
During the scan through the binary file. the following are summed - F OBS, F CALC, DELTA, DELTA SQUARED, W*DELTA SQUARED and number of reflections - for parameter intervals defined by the user. Note that LESS-THANs are only included in one type of analysis.
The method of defining the parameter intervals means that the final output for that interval is an analysis of reflections for which the actual parameter value is less than the chosen interval value. Thus, with F OBS interval values of 10.0, 20.0, 50.0. Reflections with F OBSs less than 10.0 will be listed against 10.0. Those in the range 10.0 to 20.0 against 20.0 and so on. Thus, if the first interval value for F OBS is made to be the same as the threshold value, all reflections with F OBS less than this value will be generally analysed in the F OBS analysis and in more detail- in the small F OBS analysis. Furthermore, the maximum specified interval value for any parameter should be chosen to be greater than the largest value. (If it is not, the highest interval value will also include the reflections above the top of its range.) If the series of the interval values is chosen such that it is not monotonic increasing, then at least one interval value will not contain any reflections. The program makes no check for these conditions.
Extinct reflections are not analyzed.
=WTLSSW= was originally written by Ann Kerr and adapted to system format by John Baldwin. Michael Schneider extended the program's usefulness by including additional weighting schemes.
This program is designed to copy a binary data file changing only the weight assigned to each reflection. It utilises W, the weight currently in the binary data file and therefore care should be taken that the original value of W is not overwritten until a satisfactory new weighting scheme is obtained.
In the early stages of refinement, artificial weights may be employed in order to accelerate refinement. For example, down-weighting high order reflections to those with small F CALCULATED.
During the latter stages of refinement, weights should be related to the accuracy of the structure factors. This may be done in one of two ways. First, the weights.could reflect the precision of the data, e.g.. SIGMA(F), or SIGMA(I) for data collected on a diffractometer. The second method is to use a scheme with a very small number of parameters in relation to the data and adjusted so that the average W*DELTA**2 is about the same for similar sized groups analyzed in a systematic way, e.g., by ranges of F OBSERVED, or SIN(THETA). In this way, the weights will allow for systematic experimental errors not paralleled in the calculated model and defects in the model not paralleled in the data.
The X-RAY system allows the user to choose any of the following schemes by defining the various coefficients - A, B, C, etc.
Scheme 1. W = 1.0/(A + B*SIGMA(FOBS)**2 + C/(OLD WEIGHT) +D*FOBS + E*FOBS**2 + G*FOBS**H + J*SIN(THETA))
This allows the user to develop a power series type scheme. Reduced forms are available in schemes 2 and 7.
Scheme 2. W = 1.0/(A + B*FOBS + C*FOBS**2/(OLD WEIGHT) +D*FOBS**6 + E*SIN(THETA) )
The E*SIN(THETA) term will be useful in the early stages of refinement when the phases of the high order reflections are uncertain. (see scheme. 7).
Scheme 3. This scheme. gives unit weights to most reflections but down-weights those with large F(OBS) and/or small SIN(THETA) values. Reflections with a serious uncertainty of phase (e.g., if ABS(FCALC)) is less than 0.33*FOBS) can be removed from the refinement. This scheme is often useful with data obtained from a linear diffractometer.
W = X*Y - if A*FOBS is greater than /FCALC/ then weight is 0.000000001. B = SIN(THETA) limit - if SIN(THETA) is greater than B, X = 1, else X = SIN(THETA)/B. C= FOBS limit - if C is greater than FOBS, then Y = 1, else Y = C/F(OBS)
*Note - B should not he zero.
Scheme 4. If FOBS is less than or equal to A, W= (FOBS/A) **2, else W = (A/FOBS)**2
Reflections with FOBS = A are given maximum weight.
Scheme 5. If FOBS is less than or equal to A, W = 1, else W= (A.FOBS)**2
Small reflections are given constant weight. In Hughes' original treatment, A=4*F(MIN).
Scheme 6. W = 1.0/(1 + ((FOBS - B)/A)**2)
Reflections with FOBS = B are given maximum weight, but if A is very large, the weights are constant.
Scheme 7. W ='1.0/(A + FOBS + B*FOBS**2 + C*FOBS**3)
Cruickshank. suggests that A = 2*F(MIN), B = 2/F(MAX)), and C = 0 are useful.
A large value of C, say C = 5/F(MAX)**2, may help down-weight large FOBS subject to extinction. These values may prove useful in schemes 1 and 2.
Scheme 8. W = A/AMAX1 (SIGMA(F), (B*FOBS + C), (D*G + E)) where G is FRELM. For a complete description of this (Univ. of Washington) scheme, see DATRDN.
Scheme 9. W = 1.0/SIGMA(FREL)**2
Scheme 10. W = l.0/SIGMA(I)**2
*Note - Schemes 9 and 10 require the SIGMA values to have been included at =DATRDN= time.
Scheme 11. W = A i.e., produces constant weights.
It is possible to supply a maxima allowable weight for any reflection, thus preventing errors in subsequent least squares refinements.
In addition to assigning new values to the weight of each reflection, it is possible to modify the LESS-THAN status of a reflection by defining a new threshold value (see LESS-THANs , GENERL).
A suggested use of this program is to make a preliminary run with the appropriate weighting scheme using default ranges of FOBS and SIN(THETA) and writing on to a scratch file for =NFILEB=. Repeated use of the program (possibly in conjunction with =WTANAL=) will then allow more satisfactory ranges to he chosen until the desired series of weights is obtained. Only at this stage should the output binary data file be saved. A good rule of thumb is that when the maximum average W*DELTA**2 is equal to, or less than, twice the minimum value, a reasonable set of weights has been obtained.
The program produces a monovariable analysis of the proposed weighting scheme as a function of FOBS and of SIN(THETA) at specified intervals, and then uses these same intervals to produce a bivariate analysis. For this reason the interval chosen will usually be larger and fewer than those used in =WTANAL=. LESS-THANs are not included in these analyses, but it is possible to weight the LESS-THANs with a constant weight, or by the equation chosen, or to give them negligible weight if FOBS .GT. FCALC, and by the equation if FCALC .GT. FOBSs. The program prints out minimum weight, maximum weight, and average W*DELTASQ for both the observed reflections and the LESS-THANs.
For each card type that defines a program to be called, the following sections appear:
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 ENDFIL
FORMAT (A2,A4,12I3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 FILES 6 BLANK FILE Usual Purpose ---- ------------ 7-9 NTIN Card input (from card reader) 10-12 NTOUT Printed output (to line printer) 13-15 NFILEA Input binary X-RAY data file 16-18 NFILEB Output binary X-RAY data file 19-21 NFILEC Punch card output (to card punch) 22-24 NFILED Spare off line print output file 25-27 NFILEE Scratch file for various links 25-27 NFILEF Scratch file for various links 25-27 NFILEG Scratch file for various links 25-27 NFILEH Scratch file for various links 25-27 NFILEI Scratch file for various links 25-27 NFILEJ Scratch file for various links
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 FINISH
FORMAT (A2,19A4,A2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 REMARK 7-80 Alphanumeric information for remark
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-7 RESTART
FORMAT (A2,A4,12I3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 SAVE 5-6 BLANK 7-9 Numbers of logical files to be removed. first 10-12 blank field terminates scan of card. etc
FORMAT (A2,18A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 TITLE 6 BLANK 7-74 Alphanumeric information for page title
FORMAT (A2,A4,2X,I1)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 VERIFY 9 BLANK/1 for (DO/DO NOT) list input data cards
ABSORB Program calling card CELL Unit ctll parameters ORREF Crystal orientation definition *FACE Crystal description in terms of PHI, CHI and distance *FACEPT Crystal description using 3 points per face *HKL Standard system reflection card END
FORMAT (A2,A4,1X,A2,A4,F7.4,3I5,5X,F10.5,F6.2,F9.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 ABSORB 8-13 Compound identification code 14-20 Linear absorption coefficient in CM**-l 21-25 Number of grid points to be calculated along X (N1) 26-30 Number of grid points to be calculated along Y (N2) 31-35 Number of grid points to be calculated along Z (N3) (N1*N2*N3 must not exceed 406) 41-45 0/1/2 for reflection output on NFILEG/NFILEC (cards) /nothing 46-55 Radiation wavelength (angstroms) 56-61 PHI value (degrees) of reflections measured at CHI = 90.0 degs 62-70 Multiplier to convert input crystal dimensions to cm (0 or BLANK = 1.0)
FORMAT (A2,A4,7X,3F8.3,3F9.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 CELL 14-21 A (ANGS) 22-29 B (ANGS) 30-37 C (ANGS) 38-46 ALPHA(DEGS) 47-55 BETA(DEGS) 56-64 GAMMA(DEGS)
FORMAT (A2,A4,4X,2(3F3.0,1X,2F10.5))
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 ORREF 11-13 H of primary orienting reflection 14-16 K 17-19 L 21-30 CHI(DEGS) 31-40 PHI(DEGS) 41-43 H of secondary orienting reflection 44-46 K 47-49 L 51-60 CHI(DEGS) 61-70 PHI(DEGS)
FORMAT (A2,A4,4X,3F10.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 FACE 11-20 CHI (DEGS) required to place crystal face in diffracting position 21-30 PHI (DEGS) required to place crystal face in diffracting position 31-40 Distance from face to some point inside the crystal in cms
FORMAT (A2,A2,I2,9F8.4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 FACEPT 7-8 -1/0 for fake face to be used only for crystal orientation/ normal or orientation face 9-16 X1 17-24 Y1 Coordinates (cm) for point 1 in an arbitrary. 25-32 Z1 right-handed coordinate system 33-40 X2 41-48 Y2 Coordinates (cm) for point 2 49-56 Z2 57-64 X3 65-72 Y3 Coordinates (cm) for point 3 73-80 Z3
FORMAT (3A4,A1,3I3,3(2A4,A1),A4,A1,2A4,7X,2A4,A3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 HKL 7-13 Anything 14-16 H 17-19 K 20-22 L 23-62 Anything 70-80 Anything
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END
APHASE Program calling card *PHI Definition of starting reflections *IGNORE Deletion of a relationship *HOLD Witholding a reflection from the simplification process END End card
FORMAT (A2,A4,1X,A2,A4,I2,6I5,3F5.2,2I5,1X,4I1,F5.0)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 APHASE 8-13 Compound identification code 15 (Blank)/(1) to enter binary data and =SINGEN= files from (=NFILEA= and =NFILEE=)/(=NFILEA= only) in both cases =NFILEA= must contain E-values produced by =NORMSF= 16-20 Maximum phase no. to be considered as a possible =GENERATOR= (blank=0) 21-25 Minimum number of =GENERATOR= required for this calculation (blank=0) 26-30 Minimum number of struct. inv. relationships a phase must appear in to form a =GENERATOR= (blank = 5) 31-35 Maximum phase no. (N3) considered jn the formatiom of struct. inv, relationships of the type - (PH1+PHI2+PHI3+PHI4) (blank=9999) 40 (blank>/(1) enter from =NFILE= or =NFILEA= triplets with (both restricted and unrestricted phases )/( restricted phases only) 45 (blank)/(1)/(2) calculate (S.I. averages to estimate PSI and solve for PHI) /(S.I. averages for PSI only) /(solve for PHI assuming PSI is zero) 46-50 Minimum A-value of triplet used in calculation (blank = 0.5) 51-55 A-threshold of TYPE2 triplets to count towards defining =GENERATOR=S (blank = MIN, A = value) 56-60 E-threshold of the D and S averages (blank = 1.3) 61-65 Number of triplets per group of constant A to estimate scales M and K in the N(D-KS) formula (blank = 50) 66-70 Maximum deviation of a PSI value (if restricted) before it is marked unreliable for the =SOLVE= process (blank = 60 degrees) 72 (Blank)/(1) (Do not)/(Do) print summary of =GENERATOR= 73 (Blank)/(1) (Do not)/(Do) print triplets sorted according to A-value 74 (Blank)/(1) (Do not)/(Do) print PSI values and averages 75 (Blank)/(1) (Do not)/(Do) print solve pedigree tables 76-80 The value to be used to test discrepancies. That is the number of degrees by which a generated phase can differ during the solution and still be considered non-conflicting. Blank is set to 15 degrees.
FORMAT (A2,A4,1X,I3,5X,3I5,F5.0,I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 PHI 4-6 Blank 7-10 R-list serial no. of reflection 11-20 H index 21-25 K index 26-30 L index 30-40 Phase in degrees 41-45 (N) to fix phase for N cycles when using the phases determined by =APHASE= as the starting reflections in =TANGEN=
FORMAT (A2,A4,3X,14I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 IGNORE 11-15 Catalog or serial number of relationship to be ignored. The program must have been run once in order to display these numbers. 16-20 All used in the same manner. The first blank field terminates the scan 21-25 .... 76-80
FORMAT (A2,A4,4X,14I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 HOLD 11-15 Symbolic phase of reflection to be =HELD= 16-20 All used in the same manner. The first blank field terminates the scan 21-25 .... 76-80
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
BONDAT Program calling card *CELL Cell parameters if no binary data file, not allowed with BDF *ATOM Atomic parameters not required with binary data file - will supercede or add to list if used with BDF. CALCAT Calculate atoms from given atoms in specified configuration - these cards are repeated for each of the generated atoms required. END End card
FORMAT (A1,A4,1X,A4,A2,1X,I1,2(1X,I1)))
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 BONDAT 8-13 Compound identification code 15 (Blank)/(1) (expect binary data file and NFILEA)/(cards only) 17 (Blank)/(1) (Do not)/(do) punch atom cards for generated atoms 19 (blank)/(1) (Do not)/(do) write updated binary data file (col. 15 must be blank if col. 19 is 1)
FORMAT (A2,A4,1X,A4,A2,3F8.3,3F9.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 CELL 8-13 Compound identification code 14-21 A cell dimension 22-29 B cell dimension 30-37 C cell dimension 38-46 COS ALPHA 47-55 COS BETA 56-64 COS GAMMA
FORMAT (A2,A4,1X,A4,A2,3F8.4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 ATOM 8-13 Atom identification code (see 1.GENERL) 14-21 X Parameter in fraction of a cell edge 22-29 Y Parameter in fraction of a cell edge 30-37 ZParameter in fraction of a cell edge
FORMAT (A2,A4,1X,A4,A2,F7.3,7(1X,A4,A2),2F5.0)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 CALCAT 8-13 Calculation type may be specified either as right justified 1,2,3,4,5, 6,7, or 8 or as codes LINEAR, TRIGON, TETCHN, TETERM, SQRPLN, OCTHED, HEXGNL, or GENRAL as described in 1.BONDAT. 14-20 Distance of attachment of generated atoms Calculation type 1 2 3 4 5 6 7 8 22-27 Name of P1 R R R R R R R R 29-34 Name of P2 R R R R R R R R 36-41 Name of P3 R R R R R R R 43-48 Name for P4 R R R R R R R R 50-55 Name for P5 R R R R R 57-62 Name for P6 R R R 64-69 Name for P7 R 70-74 ALPHA(1) in plane angle 75-79 ALPHA(2) angle of elevation
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
BONDLA Program calling card *CELL Cell dimensions *CELLSD Standard deviations of cell parameters *LATICE Lattice type *SYMTRY Symmetry operation *ATRAD Set atomic radii *ATOM Atom parameters *GRID Grid information - required only if =ATOMS= cards are used *ATOMG Supply atom grid parameters - requires presence of a =GRID= card *BOND Produce a specific bond distance *ANGLE Produce a specific bond angle END End card
Note: the absence of a =CELL= card immediately following the =BONDLA= card will cause =NFILEA= to be read. The presence of a =CELL= card in that position will imply no input binary data file.
FORMAT (A2,A4,1X,A2,A4,I2,3F10.3,I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 BONDLA 8-13 Compound identification code 14-15 (blank)/(1) for (print)/(suppress) angle information 16-25 Maximum contact distance (blank = 2.50) 26-35 Maximum bond distance (blank = 1.80) 36-45 Minimum bond distance (blank = 0.03) 46-50 (blank)/(1) for (do not)/(do) punch =ATOM= cards on =NFILEC= for all bonded atoms. This allows for the production of a connected set of atoms.
FORMAT (A2,A4,1X,A2,A4,3F8.3,3F9.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 CELL 5-6 Blank 8-13 Compound identification code 14-21 A cell dimension or A* reciprocal cell dimension 22-29 B cell dimension or B* reciprocal cell dimension 30-37 C cell dimension or C* reciprocal cell dimension 38-46 COS ALPHA or ALPHA in degrees or COS ALPHA* or ALPHA* in degrees 47-55 COS BETA or BETA in degrees or COS BETA* or BETA* in degrees 56-64 COS GAMMA or GAMMA in degrees or COS GAMMA* or GAMMA* in degrees
FORMAT (A2,A4,1X,A2,A4,3F8.3,3F9.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 CELLSD 8-13 Compound identification code 14-21 Standard deviation in A cell dimension (angstroms) 22-29 Standard deviation in B cell dimension (angstroms) 30-37 Standard deviation in C cell dimension (angstroms) 38-46 Standard deviation in COS ALPHA cell dimension 47-55 Standard deviation in COS BETA cell dimension 56-64 Standard deviation in COS GAMMA cell dimension
FORMAT (A2,A4,2X,A1,2X,A1)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 LATICE 9 C = centric cell, A = acentric cell 12 Designation' of lattice type P, I, R, F, A, B, C - - one of the foregoing must be punched
FORMAT (A2,A4,66A1)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 SYMTRY 7-72 General equivalent position. The symmetry of the space group is indicated by supplying the set of general equivalent positions. Each equivalent position is specified on a separate =SYMTRY= card. a simple rule is that any general equivalent position in the international tables may be written verbatim with the following conventions! (1) minus signs precede the negative quantity e.g. -X for X-BAR (2) fractions are written with the slash, e.g. 1/2 for one-half (3) blanks are ignored. Note: 1/2-X or -X+l/2 are both acceptable formats. Note: do not punch any operations through the center if space group is coded centric on =LATICE= card. (see statement on symmetry in 1.GENERL)
FORMAT (A2,A4,1X,A4,4X,3F10.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 ATRAD 6 Blank 8-11 Atom type (see 1.GENERL) 16-25 Contact radius in angstrom units 26-35 Bond radius in angstrom units 36-45 Minimum bond radius in angstrom units N.B. these are radii - the quantities in the =BONDLA= card are diameters
FORMAT (A2,A4,1X,A4,A23F8.4,11X,3F8.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 ATOM or ATOMG 6 Blank 8-13 Atom identification (see 1.GENERL) 14-21 X parameter in fractions of a cell edge 22-29 Y parameter in fractions of a cell edge 30-37 Z parameter in fractions of a cell edge 49-56 Standard deviation in X 57-64 Standard deviation in Y 65-75 Standard deviation in Z
FORMAT (A2,A4,7X,3I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 GRID 5-6 Blank 14-17 Number of grid points along A axis 18-21 Number of grid points along B axis 22-25 Number of grid points along C axis
FORMAT (A2,A4,2(1X,A4,A2))
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 BOND 5-6 Blank 8-13 Atom identification of first atom 15-20 Atom identification of bonded atom
FORMAT (A2,A4,4(1X,A4,A2))
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 ANGLE 6 Blank 8-13 Atom identification of first bonded atom 15-20 Atom identification of second bonded atom 22-27 Atom identification of third bonded atom 29-34 Atom identification of fourth bonded atom
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
CRYLSQ Program calling card *SCALE Scale card for F RELATIVE data *GROUP Group refinement *IDMOL Identical molecule refinement *EXTINC Isotropic extinction correction *MAXHKL Puts limits on H, K, L, or SIN THETA for this run only *ATOM Atom selection card *BLOCK Matrix blocking card *REF Turn on refinement of specified parameters *NOREF Shut off refinement of specified parameters *CONSTR Constrains one parameter to be a function of another *SPECIA Special position card *DISPER Dispersion factor card *RELEAS Release all constraints RFAD from the binary data file for a specific atom END End card
Note 1: If no atom cards are present, all the atoms in the binary file are used, if any atoms are specified by cards only those specified on the cards are selected from the binary file. If there are too many atoms in the file for the storage capacity, cards will be expected.
Note 2: If all refinement restriction cards are left out, refinement will be on all positional, scale, and thermal parameters. However, no scattering factors, or population parameters will be set to refine.
Note 3: Cards are read in two different blocks:
FORMAT (A2,A4,1X,A2,A4,19(1X,I1),9X,4F5.0)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 CRYLSQ 8-13 Compound identification code 15 Number of cycles (blank = 1) 17 (0)/(1)/(2) = refinement based on (F)/(F**"2)/(I) Note: in the following fields, the mnemonics in the final parentheses are used to identify the input specifications on the output listing 19 (0)/(1)/(2)/(3) = (Overall)/(Isotropic)/Anisotropic)/(Mixed) temperature factors = (OVRL)(ISO)(ANSO)(MIXD) Note: the program converts as required in the mixed mode 21 (0)/(1) = (Refine the scale factor separately)/(Refine them together) = (SEPR)/(UNIT) 23 (0)/(1)/(2)/(3) = (Use unit weights)/(Take weights from the binary data file) = (Unit)/(File)/(Calculated)/(1/SIGMAI) 25 0)/(1) = (Fullmatrix or as specified by =BLOCK= cards)/(Block-diagonal refinement = (FREE)/(BLCK) 27 (0)/(1) = (X-RAY)/(NEUTRON) Data = (XRAY)/(NEUT) 29 (0)/(1) = (Do not)/(Do) consider isotropic extinction = (NONE/ISO) 31 (0)/(1)/(2) = (Do not list)/(list the reflections for which weighted DELTA-F is greater than the rejection parameter)/(List rejected reflections) = (NONE)/(GRTR)/(RJCT) 33 (0)/(1)/(2)(3) = (List the correlation matrix on the last cycle)/ (Every cycle)/(Not at all)/(Dump the direct and inverted matrices and the vector for each cycle) = (LAST)/(ALL)/(N)/(DUMP) 35 (0)/(1) = (Terminate when convergence i.e. a decrease in R or less than 0.01 per cent is achieved or else when divergence of R of greater than 0.2 occurs)/(Do not) = (YES)/(NO) 37 (0)/(1)/(2) = (Reset temperature factors that go non positive definite)/(Terminate when a temperature factor goes non positivr definite)/(Write message and continue) = (RESET)/(STOP)/(GO) 39 (0)/(1)/(2) = (List reflections on the last cycle)/(Every cycle)/(Do not list) = (LAST)/(ALL)/(NO) 41 (0)/(1)/(2) = (Do not puncj new parameter cards)/(Only on the last cycle) /(On every cycle) = (NO/(LAST)/(YES)) 43 (0)/(1)/(2) = (No partial contribution)/Apply the partial contribution)/(Establish and apply) = (NO)/(APLY)/(E+A) 45 (0)/(1) = (Do not save the correlation matrix on =NFILEE=/(Do) = (NO)/(YES) 47 Reflection skip factor N, Consider only one in each N reflections. N can have a value in the range 0 through 9 (0 or 1 means consider every reflectiom) 49 0)/(1) = (Contribute only those LESS-THAN reflections which calculate reflections) = (GRTR)/(NO) 51 (0)/(1)/(2)/(3)/(4) = (Do not type reflections as observed or LESS-THANS)/(Type, based on SIGMA F, but do not alter the binary data file)/ (Like 1 hut based on SIGMA I)/(Like 2 but based on SIGMAI) =(NO)/(YES-SIGMA F)/(SAVE-SIGMA F)/(YES-SIGMA I)/(SAVE-SIGMA I) Note: done in conjunction with cutoff parameter in columns 76-80 of this card 61-65 Damping or enhancing factor for parameter shifts(blank or 0.0 = 1.0) 66-70 Do not contribute a reflection to the matrix if its weighted DELTA-F is larger than this quantity (blank = 10**8) 71-75 Rejection parameter (see columns 30-31) (blank = 2.0) 76-80 Cutoff parameter (minimum number of SIGMAs required for classifying a reflection as observed) (see columns 50-51)
FORMAT (A2,A4,F10.4,I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 SCALE 6 Blank 7-16 Scale factor to apply to F RELATIVE 17-20 Group identification (1-64)
FORMAT (A2,A4,1X,A4,A2,2X,3I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 GROUP 8-13 Atom identification of leading atom 16-20 Temperature factor type (0/1) for (OVRL/ISOTROPIC) 21-25 Number of atoms in the group 26-30 (0/1/N) = (GROUP/ First IDMOL/N-th IDMOL)
FORMAT (A2,A4,1X,A4,A2,2X,3I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 IDMOL 8-13 Atom identification of leading atom 16-20 Temperature factor type (0/1) for (OVRL/ISOTROPIC) 21-25 Number of atoms in the group 26-30 (0/1/N) = (GROUP/ First IDMOL/N-th IDMOL)
FORMAT (A2,A4,E10.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 EXTINC 7-16 As X.XXXXE-NN where X.XXXX is the mantissa, E and - are required and NN is the power of 10 to characterize the number. see Larson, Crystallographic Computing, a starting value of 0.0 is usually acceptable,
FORMAT (A2,A4,7X,3I4,2F8.4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 MAXHKL 14-17 Maximum H to be used 18-21 Maximum K to be used 22-25 Maximum L to be used 26-33 Maximum SIN(THETA)/LAMBDA (Blank = 0.7) 34-41 Minimum SIN(THETA)/LAMBDA (Blank = 0.0)
FORMAT (A2,A4,1X,A4,A2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 ATOM 5-6 Blank 8-13 Atom identification (See 1.GENERL)
FORMAT (A2,A4,1X,A4,A2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 BLOCK 6 Blank 8-13 Atom identification (See 1.GENERL)
FORMAT (A2,A4,1X,A4,A2,13A3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 REF or NOREF 6 Blank 8-13 Atom identification (See 1.GENERL). If blank, the card applies to all atoms. If only atom type is given, the card applies to all atoms of this given type. 14-16 Each field may contain blanks or one of the following left justified symbols * SCL Scale factor * UOV Overall temperature factor * E Extinction parameter X Y Z PP Population parameter SCT Neutron scattering factor DFI Imaginary dispersion parameter U Isotropic temperature factor U11 U22 U33 U12 U13 U23 *These cards must have =GNRL- in columns 8-11 (except the UOV when used in the mixed temperature factor mode to correct a particular atom to the overall mode.) 17-19 20-22 Symbol from above list .... 50-52
FORMAT (A2,A4,1XA4,A2,1X,A4,A2,2A3,4X,2F10.2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 CONSTR 8-13 Atom identification (see 1.GENERL) of subject atom 15-20 Atom identification (see 1.GENERL) of reference atom 21-23 Parameter of subject atom (see =REF=/=NOREF=) 24-26 Parameter of reference atom (see =REF=/=NOREF=) 31-40 F for constraining equation 41-50 S for constraining equation
FORMAT (A2,A4,1X,A4,A2,2X,9(F4.0,A1),F5.0)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 SPECIA 8-13 Atom identification (see 1.GENERL) 14-15 Blank 16-20 X section (see Note 1 below) 21-25 Y section (see Note 1 below) 26-30 Z section (see Note 1 below) 31-35 U11 section (see Note 1 below) 36-40 U22 section (see Note 1 below) 41-45 U33 section (see Note 1 below) 46-50 U12 section (see Note 1 below) 51-55 U13 section (see Note 1 below) 55-60 U23 section (see Note 1 below) 61-65 The position multiplicity
COLUMN 111122222222223 678901234567890 X 2X Iwhere I is used to stipulate that the specified parameter is to be held invariant. If a parameter is to be zero and also held invariant, a zero is placed in the second field. Note: at least one special position parameter must be prefixed by a one or a blank.
COLUMN 333333333444444444455555555556 123456789012345678901234567890 A A 0 B B
FORMAT (A2,A4,1X,A4,2X,2F8.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 DISPER 8-11 Atom type (see 1.GENERL) 14-21 DELTA FJ PRIME 22-29 DELTA FJ DOUBLE PRIME
FORMAT (A2,A4,1X,A4,A2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 RELEAS 8-13 Atom identification (see 1.GENERL)
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
DATCO5 Program calling card SYMTRY General equivalent positions for Laue group. One card per operation expressed in terms of X, Y, Z must be supplied. Include -X, -Y, -Z operations if Friedel's law pairs are to be averaged. *SYSABS Indicate systematic absences *ATTENU Set values for automatic attenuators (not optional when attenuators are used) PROCES Indicates diffractometer type and number of reflections to process END End card
FORMAT (A2,A4,1X,A2,A4,I2,4F5.2,1X,A1,I2,3I1,3X,I2,3F4.1,I1,F6.0,F4.0,I2,F3.1,I2,2I1)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 DATCO5 8-13 Compound identification code 14-15 (0)/(1)/(2) for (no special reflection output)/ (punch =HKL= cards on =NFILEC)/ (write =HKL = card images on =NFILEI=) 16-20 Number of standard deviations above background to define clearly observed reflections (blank = 3.0) 21-25 X control parameters for calculation of SIGMA(I). See 1.DATCO5 26-30 N for definitions 31-35 Number of standard deviations between the values of the first and second background which should be flagged on the output listing (blank = 10.0) 37 Character to delimit counting statistics on graphs of standards 41 (1)/(2)/(3) for H index varies (MOST)/(NEXTMOST)/(LEAST) rapidly 42 Sorting frequency for K index 43 Sorting frequency for L index 46-47 Laue group indicator 1 1 BAR (Alternate 1) HKL-- H.GE.0, 0KL --K.GE. 0, 00L -- L.GE.0 2 1 BAR (Alternate 2) HKL-- K.GE.0, H0L --L.GE. 0, H00 -- H.GE.0 3 1 BAR (Alternate 3) HKL-- L.GE.0, HK0 --H.GE. 0, 0K0 -- K.GE.0 4 2/M (Alternate 1) HKL-- K.GE.0, AND L.GE. 0, HK0 -- H.GE.0 5 2/M (Alternate 2) HKL-- H.GE.0, AND K.GE. 0, 0KL -- L.GE.0 6 MMM HKL-- H.GE.0, OKL, K.GE. 0, AND L.GE.0 7 4/M HKL-- H.GE.0, L.GE. 0 with K.GE.0 if H.GE.0 or K.GE. 1 IF H.GE.0 8 4/MMM HKL-- H.GE.0, K.GE. 0, L.GE.0 with H.GE.K 9 3 BAR HKL-- H.GE.0, L.GE. 0 with K.GE.0 if H.GE.0 or K.GE.1 if H.GE.0, HK0 -- K.GT.H 10 3 BAR M HKL-- H.GE.0, L.GE. 0 with H.GE.-K if K.LE.0 or H.GE.2K if K.GE.0, HK0 -- K.GE.0 11 6/M HKL-- H.GE.0, L.GE. 0 and K.GE.0 with K.EQ.0 if H.EQ.0 or H.GE.K if H.GT.0 12 6/MMM HKL-- H.GE.0, K.GE. 0 and L.GE.0 with H.GE.2K 13 M3 H.GE.0, K.GE. 0 and L.GE.0 with L.GE.H and with K.GE.H if L.EQ.H, or K.GT.H if L.GT.H 14 M3M HKL-- H.GE.0, K.GE. 0 and L.GE.0 with K.GE.L and L.GE.H 48-51 Number of ten thousands of decacounts which should cause a reflection to be flagged as out of bounds (i.e. beyond reasonable known maximum intensity) (blank =10.0) 52-55 Number of counting statistic standard deviations between a pair of measurements of a single reflection that should cause acceptance of the higher value instead of acceptance of the average value of the two (blank = 5.0) 56-59 Number of calculated standard deviations from the mean to cause rejection of some of a group of 3 or more measured intensities of the same reflection (blank =3.0) 78 (0)/(1)/(2) for (list all reflection information) / ( list only sorted averaged reflections) / (list no reflections) 79 (0)/(1) for (automatic)/(non-automatic) adjustment required for drift in standard reflections
FORMAT (12(A2,A4))
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 SYMTRY 7-72 General equivalent position. The symmetry of the space group is indicated by supplying the set of general equivalent positions. Each equivalent position is specified on a separate SYMTRY card. A simple rule is that any general equivalent position in the international tables may me written verbatim with the following conventions. (1) minus signs precede the negative quantity. e.g. -X for X-BAR (2) fractions are written with the slash, e.g. 1/2 for one-half (3) blanks are ignored. Note: 1/2-X or -X+1/2 are both acceptable formats.
FORMAT (A2,A4,1X,A2,A4,7X,23I1)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 SYSABS 8-13 Compound identificatiom code 21-43 Value of X for application of systematic absences test. Only those columns corresponding to tests to be applied should be non-zero. 21 HKL absent if H+K=XN+1 22 HKL absent if H+L=XN+1 23 HKL absent if K+L=XN+1 24 HKL absent if all H+K, H+L, K+L=XN+1 25 HKL absent if H+K+L=XM+1 26 HKL absent if -H+K+L=XM+1 27 HHL absent if H=XN+1 28 HHL absent if L=XN+1 29 HHL absent if H+L=XN+1 30 HHL absent if 2H+L=XN+1 31 0KL absent if K=XN+1 32 0KL absent if L=XN+1 33 0KL absent if K+L=XN+1 34 H0L absent if H=XN+1 35 H0L absent if L=XN+1 36 H0L absent if H+L=XN+1 37 HK0 absent if H=XN+1 38 HK0 absent if K=XN+1 39 HK0 absent if H+K=XN+1 40 HH0 absent if H=XN+1 41 H00 absent if H=XN+1 42 0K0 absent if K=XN+1 43 00L absent if L=XN+1
FORMAT (A2,A4,4X,9F7.4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 ATTENU 11-17 Attenuator factor 1 (Attenuator factor zero implies no attenuator) (i.e. 1.0) 18-24 Attenuator factor 2 25-31 Attenuator factor 3 Note: the first attenuator does not 32-38 Attenuator factor 4 refer to the open slot and thus it must 39-45 Attenuator factor 5 not be 1.0 46-52 Attenuator factor 6 53-59 Attenuator factor 7 60-66 Attenuator factor 8 67-73 Attenuator factor 9
FORMAT (A2,A4,3X,I1,I5,4X,I1,5X,F5.0,3I5,F10.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 PROCES 10 (1)/(2)/(3) for (picker with G. Lenhert magnetic tape format)/ (picker with old magnetic tape format)/ (Siemens magnetic tape) 11-15 External refection sequence number to indicate number of reflections to process (blank indicates whole file) 20 (blank)/(1) for (no print)/(print) input images 26-30 Time seconds for background (time of one background) 31-35 External reflection number to begin deletion of reflections 36-40 External reflection number to end deletion of reflections 41-45 Number of input data files (blank = 1, usual value) 46.55 Minimum reflection scam time in seconds (if the recorded reflection scan time is less than this quantity, the reflection will be rejected)
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
DATRDN Program calling card *LABEL File identification information CELL Unit cell Parameter *CELLSD Standard deviation of unit cell parameters *MAXHKL Establishes limits on H, K, L, or SIN THETA FORMFX Atomic scattering factors for X-rays. Grouped by atom type by increasing SIN(THETA)/LAMBDA (at least 10 and no more than 40 entries per atom type). or FORMEN Atomic scattering factors for neutrons or FORMON Generation of atomic scattering factors for X-rays LATICE Specifies centrosymmetry and latice type SYMTRY Symmetry operations for the space group. Up to 48 allowed. Must have at least one =SYMTRY= card (i.e. X, Y, Z) *DISPERTempleton dispersion correction (one per atom type) *GRID One may specify a desired grid interval to be used later by the Fourier program. If it is left out the data reduction program calculates a set of intervals based upon the cell dimensions CONDIT Condition card to key calculations From this point onward, the card order is determined by the data under consideration (i.e. dealer's choice) and cards with the following designations are permitted *ABSBON Bond absorption corrections (must be grouped for each different crystal or level by placing immediately prior to reflection of that level) *SCALE Supplies error, weighting, and scaling data *CONDIT Sets up codes based on camera type calculations to be performed *FORMAT Actual format for unusual reflection input *REFIN Instruction card for unusual reflection input *ENDOBS Signals that reflections which follow are systematically absent. Only required when a sharpened ORIGIN-REMOVED Patterson (vector map) is to be calculated If reflections after =ENDOBS card are in a different format from the ones preceding, then =CONDIT= and/or =FORMAT= cards will be necessary. *REFIN Use the =REFIN= card with care. The special reflection deck specified must follow next after the =REFIN= card or control will be lost *HKL Reflection cards END End card
The fact that the various cards can be optionally used at any time permits changes in scale, absorption corrections, or even conditions (e.g. Weissenberg, precession, etc.) during the course of the processing of reflection cards
FORMAT (A2,A4,1X,A2,A4,5I2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 DATRDN 8-13 Six columns of Hollerith punching or blanks to identify compound - this identification is checked by various programs for consistency, so choose carefully and remember your choice. Take great care to locate blanks in the same way every succeeding time the compound .I.D. is punched. 14-15 (Blank)/(1) (NO)/(YES) an old data file on =NFILEA= 16-17 (Blank)/(1) (Do)/(Do not) list reflection information 18-19 (Blank)/(1) (Do not)/(Do) expect to edit reflections (forces the need for previous data file on =NFILEA = ) 20-21 Maximum number of scalar groups if more than 1 (up to 64 allowed) This number specifies the total number to be supplied. Each scale card must have a unique number in col. 20 less than or equal to this number. Usually used for layered film data where cross scaling is not known. 22-23 Not yet used
FORMAT (A2,A4,16A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 LABEL 5 Blank 7-70 Alphanumeric information to be used as file label
FORMAT (A2,A4,1X,A2,A4,3F*.3,3F9.5,F7.0)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 CELL 5-6 Blank 8-13 Compound identification code 14-21 A cell dimension or A* reciprocal cell dimension 22-29 B cell dimension or B* reciprocal cell dimension 30-37 C cell dimension or C* reciprocal cell dimension 38-46 COS ALPHA or ALPHA in degrees or COS ALPHA* or ALPHA* in degrees 47-55 COS BETA or BetA in degrees or COS BETA* or BETA* in degrees 56-64 COS GAMMA or GAMMA in degrees or COS GAMMA* or GAMMA* in degrees 65-71 F(0,0,0)
FORMAT (A2,A4,1X,A2,A4,3F8.3,3F9.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 CELLSD 8-13 Compound identification code 14-21 Standard deviation in A cell dimension (angstroms) 22-29 Standard deviation in B cell dimension (angstroms) 30-37 Standard deviation in C cell dimension (angstroms) 38-46 Standard deviation in COS ALPHA cell dimension 47-55 Standard deviation in COS BETA cell dimension 56-64 Standard deviation in COS GAMMA cell dimension
FORMAT (A2,A4,7X,3I4,2F8.4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 MAXHKL 14-17 Maximum H to he used 18-21 Maximum K to he used 22-25 Maximum K to he used 26-33 Maximum SIN(THETA)/LAMBDA (Blank = 0.7) 34-41 Minimum SIN(THETA)/LAMBDA (Blank = 0.0)
FORMAT (A2,A4,1X,A4,2X,F7.5,F8.3,10A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 FORMFX 8-11 One to four characters to identify the atom type. to avoid errors left justification is recommenued (see 1.GENERL) 14-20 SIN(THETA)/LAMBDA 21-28 Atomic scattering factor 29-68 Source reference continued from card to card
FORMAT (A2,A4,1X,A4,2X,F7.5,F8.3,10A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 FORMFN 8-11 One to four characters to identify the atom type, to avoid errors left justification is recommended (see 1.GENERL> 21-28 Coherent atomic scattering factor 29-68 Source reference
FORMAT (A2,A4,1X,A4,2X,9F7.4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 FORMGN 8-11 One to four characters to identify the atom type (see 1.GENERL) 14-20 Coefficient A(1) 21-27 Coefficient B(1) 28-34 Coefficient A(2) 35-41 Coefficient B(2) 42-48 Coefficient A(3) 49-55 Coefficient B(3) 56-62 Coefficient A(4) 63-69 Coefficient B(4) 70-76 Coefficient C The coefficients needed in columns 14-62 are those supplied by Cromer and Mann. For elements C, N, O, P, S, CL, the coefficients are stored by the program and columns 14-62 can be left blank if the atom type is specified as one of the above left justified symbols. H of Stewart et. al. is also stored (Not generated).
FORMAT (A2,A4,2X,A1,2X,A1)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 LATICE 9 C = centric cell, A = acentric cell 12 Designation of lattice type P, I, R, F, A, B, C one of the foregoing must be punched
FORMAT (A2,A4,66A1)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 SYMTRY 7-72 General equivalent position. The symmetry of the space group is indicated by supplying the set of general equivalent positions. Each equivalent position is specified on a separate SYMTRY card. A simple rule is that any general equivalent position in the international tables may me written verbatim with the following conventions. (1) minus signs precede the negative quantity. e.g. -X for X-BAR (2) fractions are written with the slash, e.g. 1/2 for one-half (3) blanks are ignored. Note: 1/2-X or -X+1/2 are both acceptable formats. Note: do not punch any operations through the center if space group is coded centric on =LATICE= card. (see statement on symmetry in 1.GENERL)
FORMAT (A2,A4,1X,A4,2X,2F8.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 DISPER 8-11 Atom type (see 1.GENERL) 14-21 DELTA FJ PRIME 22-29 DELTA FJ DOUBLE PRIME
FORMAT (A2,A4,7X,3I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 GRID 5-6 Blank 14-17 Number of grid points along X axial direction 18-21 Number of grid points along Y axial direction 22-25 Number of grid points along Z axial direction
FORMAT (A2,A4,7X,2f*.5,8X,9I3,F8.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 CONDIT 14-21 Wavelength in angstrom units 22-29 Maximum value of SIN THETA for the conditions of observation. This is the accurate value of SIN MU for the precession method. Be precise - use the true experimental maximum, not simply 1.0 38-40 (1)/(2) (X-ray)/(Neutron) diffractometer data 41-43 1/LP switch - 1 - Powder spectrometer 2 - Spectrometer with Eulerian cradle geometry and TWO-THETA SCAN 3 - Equi-inclination Weissenberg 4 - Precession 5 - Normal beam 6 - Flat cone 7 - Equal cone 8 - Oscillation 9 - Do not apply 1/LP correction 44-46 (1)/(2) for (Do)/(Do not) take square root of intensity 47-49 Miller indices of the plane normal to the beam axis at zero degrees MU. For the precession method, four above. for 50-52 3,5,6,7 or 8 above these must be the general rotation axis defined the rotation axis. For example, correction for Weissenberg data from 53-55 a crystal mounted to rotate about the B cell axis use 010. For example in the precession method for a monoclinic crystal ** ** * -- 010 PLANE ** * * * --------) -------*-- * BEAM 'B' * ** AXIS * ** ** (e.g. if beam is coming along 'B' axis, then this plane is the 010 plane) 56-58 Miller indices of the plane normal to the 59-61 spindle axis-. (not needed for Weissenberg method) 62-64 For example in the Precession method: C* / I / A* I / I / *****.*.*** / * * * * * -(-*---100 reflection --()---------------* . . * * ) . * * / * * / * */********* / / / / BEAM / 'B' AXIS (Parentheses mean rotation) Pick one of the H0L reciprocal lattice points on the most nearly horizontal axis passing through the center of the film (in this case the 100 reflection on the A* axis) the Miller indices of the plane normal to A* are 100 - the indices of that point. Note: the following field has different functions depending upon the method of data collection 65-72 A) for precession or equal-cone methods SIGMA, the angle between the most nearly horizontal axis ,(A*), and the horizontal of the film, measured in a right handed system looking along the X-ray beam (from source to crystal, clockwise is positive; 65-72 B) for spectrometer-monochromator angle (if it is zero, say so) 73-80 Linear absorption coefficient in CV**-l (UXU) if this value is not supplied, the value of TBAR (average pathlength through the crystal) is set equal to 0.03 cm. or taken from the HKL card if supplied there. If UMU is supplied here and no value of TBAR is supplied on the HKL card, TBAR is calculated as: (ALOG(ABSORP)/UPU) + 0.001
FORMAT (A2,A4,7X,2F8.5,8X,9I3,F8.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 CONDIT 14-72 Punch only those columns for which there is a change of data. Leave all other columns blank unless camera type changes in which case, punch in full
FORMAT (A2,A4,1X,I2,4X,F4.0,2X,F10.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 ABSORB 8-9 Absorption type. (l)/(2) for (no correction) / (sphere or cylinder) (1) is used to cancel previous type if no corrections are desired for the following set of data. 14-17 TYRTA, THETA, or UPSILON/2 (Buergers notation). See W.L.Bond in International Tables, Vol 2, pp 291-306. use table 5.3.5B for cylinder (p 295-298) and table 5.3.68 for sphere (p 302-305). 20-29 Absorption correction as listed in table
FORMAT (A2,A4,F10.4,I4,F10.4,I2,6F5.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 SCALE 6 Blank 7-16 Scale factor to apply to input intensity FREL, or FREL**2 17-20 Group identification i.e. number in range 01 to 60 21-72 May be blank or as follows 21-30 Minimum observed intensity (for film data) 31-32 Weight routine switch (0 or 1 ) / ( 2) / ( 3 ) /(4) (all weights 1.0)/(apply U. of W. weighting scheme )/ (use- cols 50-54. of =HKL= card as weight)/ (set weight to reciprocal of cols. 50-54 of =HKL= card) U. of W. scheme is (weight = Q1/AMAX1 (SIGMA ,Q2*FREL+Q3*Q4*FRELM+Q5 ) (refer to section l.DATRDN for detailed explanation of next six fields) 33-37 Q1 38-42 Q2 43-47 Q3 48-52 Q4 53-57 Q5 58-82 Q6
FORMAT (A2,18A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 FORMAT 7-72 The format of the reflection data, as in a standard Fortran format, e.g. FORMAT(A2,A4,1X,A4,A2,I2,3I4,F10.2,F10.4) which is supplied to accommodate X-RAY 63 reflection data format if no =FORMAT= card is read.
FORMAT (A2,A4,I3,2I6,3I3,14(1X,A2))
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 REFIN 6 Blank 8-9 (0)/(1) for (reflections on cards) / (reflections om =NFILEI=). Note, if reflections are read from =NFILEI=, they must appear as card images. The reading from =NFILEI= must be terminated by a maximum number of reflections on a final H, K and L 10-15 Number of reflections to skip before processing first reflection record 16-21 Maximum number of reflections to process using information following this =REFIN= card 22-24 value of H for last reflection 25-27 value of K for last reflection 28-30 value of L for last reflection Note: there are two ways to terminate input of information under =REFIN= Control the number of reflections or the values of H, K, L for the last reflection. Either may be used or both. If both are specified the first to be satisfied will terminate treatment of that reflection group. Remember that the normal process of control by the punching of cols. 1-6 (except in the case of =HKL= cards) is lost during =REFIN= control. 31-72 Fourteen fields for specification's of reflection data This serves to specify the order and mode (whether fixed or floating) of the items to be read as reflection data. It also indicates which items of a record are to be ignored. Treat each field as representing from 1 to 9 items in a reflection record. If an item or group of items is to be skipped, punch =XB= where X is an integer from 1 to 9 depending on how many consecutive items are to be skipped. If x is blank, one item will be skipped. In fields corresponding to useful information punch - FH or IH for floating or fixed H FK or IK for floating or fixed K FL or IL for floating or fixed L FR or IR for floating or fixed function of intensity FW or IW for floating or fixed weight or standard deviation of the intensity FD or ID for floating or fixed 'JCODE' indicator FI or II for floating or fixed level indicator These fields must be punched in the same order as they appear in your reflection data records. A blank in any of these fields causes immediate termination of reading this card
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 ENDOBS
FORMAT (A2,A4,1X,A2,A4,6I3,2F9.0,F5.0,F4.4,F4.3,F7.4,I3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 HKL 4-6 Blank 8-13 Compound identification code 14-16 H 17-19 K 20-22 L 23-25 Function of card signal (0 or Blank)/(1)/(2)/(3)/(4) for (causes the =HKL= card to be a reflection input card. Also used for an a priori start when no binary file exists.) / (signals that the binary data file is to be processed down to the reflection specified in the =HKL= card and then all values on the card are to replace the values on the file) / (process down to specified HKL in data file and delete the reflection from the binary file) / (copy the binary data file down to and including the designated H, K, and L. This is a positioning function ) / ( skip through the specified HKL eliminating reflections from the file). 26-28 Reflection type JCODE (1)/(2)/(3)/(4)/(5) for (OBSERVED)/(LESS-THAN)/(EXTINCTION)/ (TO BE IGNORED)/(SYSTEMATICALLY EXTINCT) 29-31 Data group for scaling purposes 32-40 Reflection intensity 41-49 Average pathlength (TBAR) in CM. 50-54 Standard deviation in intensity 55-58 Phase (in cycles) if known 59-62 Normalized structure factor 63-69 Absorption correction 70-72 Number of times intensity was independently observed Note: in every case once an =HKL= card function is fulfilled. control returns to the card input stream. An =END= card causes the input binary data file to be drained of reflection data whenever any editing is being done. If, at any time during editing, the binary file is exhausted, a fault is signalled and the whole run aborted at that point. The order of H, K, and L on the input editing cards must be exactly the same as those in the binary data file. If they art not in the same order, a fault will occur.
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
DIFPCH Program calling card *STAND Description of reflection to be used as a standard (maximum 10) *TWOTHE Swatch of TWO-THETA desired (should be enough that the groups of TWO-THETA will be less than three or four thousand reflections) END End card
FORMAT (A2,A4,1X,A2,A4,1X,I1,3F10.4,I10,9X,F1.0,F10.4,I1)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 DIFPCH 15 (l)/(2)/(3) for punch (peak)/(scan)/(peak-scan pairs) 16-25 Lower limit of TWO-THETAs to be punched. Less than 2.5 is set = 2.5 26-35 Upper limit of TWO-THETAs to be punched. More than 145.0 is set = 65.0 36-45 Number of degrees to drive PHI back before setting to next reflection (assure no backlash) Blank = 10.0 degrees 46-55 Frequency of inserting standards. Blank = every 250 65 Scan rate for XRD-6 code. Blank = 4 (i.e. 4 degrees/minute) 66-75 PHI correction - if PHI values from DIFSET are incorrect this value will he added to all PHIs from =NFILEH= - (but not to standards supplied below). 76 (Blank)/(1) punch cards in (GE DATEX)/(PICKER) card automated format Note: the =DIFPCH= card is used to call the program and pull out the first shell of TWO-THETAs. Subsequent swatches in the same job are initiated by use of =TWOTHE= cards
FORMAT (A2,A4,3I4,5F9.2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 STAND 6 Blank 7-10 H 11-14 K 15-18 L 19-27 CHI of the reflection 28-36 PHI of the reflection 37-45 Start TWO-THETA of the reflection 46-54 Peak TWO-THETA of the reflection 55-63 Stop TWO-THETA of the reflection TWOTHE: Format exactly as the =DIFPCH= card
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
DIFSET Program calling card CELL or PARAMC Furnishes cell constants ORIENT Orientation ANGMX Limits of PHI, CHI and TWO-THETA ranges INDEX Limits of H, K, and L indices BAKSET or EQNCON Method of computing scan range *SYSABS Systematic absences PREP Causes program to check input, print specifications, and prepare IO compute settings * (OPTIONAL AUTOMATIC DIFFRACTOMETER CONTROL DECK - SEE BELOW) *HKL Indices of reflection to be added to output *--- (Setting card - compound identification in cols 1 - 6) Settings of reflection to be added to output GENHKL Causes generation of Miller indices END End card
Insert as indicated above if control tape or card deck is required
XROC Type of diffractometer. Output required, scanning speed, number of characters per output record XRDFMT Format of diffractometer command words for data *STDREF Designates the reflection on the next HKL or 'setting card' as a standard reflection, gives its identification number, and specifies how often it is to be inserted in output *XRDFMT Format for diffractometer command words for standard reflection *TTYFMT Format for teletype output for standard reflection (NBS only) *HKL or Defines the standard reflection 'Setting Card'
The cards marked * are optional as a group within the optional control deck. The whole group is repeated for each standard reflection. Standard reflections must be numbered sequentially 2 - 10. The cards =STDREF=, =XRDFMT=, and =TTYFMT= must bear the sequence number for the standard defined. by the =HKL= or 'setting card' for each standard reflection.
Note: =NFILEH= Setting Information
=NFILEH= contains a series of packed records with the following information. These are read and sorted by =DIFPCH= link, which see. the quantities stored are H index, K index, L index, CHI setting, PHI setting, TWO-THETA setting for background (low), TWO-THETA setting for peak, TWO-THETA setting for background (high), and time (seconds) for TWO-THETA SCAN.
FORMAT (A2,A4,1X,A2,A4,7X,3F10.6,2I10)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 DIFSET 8-13 Compound identification code 21-30 Wavelength for ALPHA(1). 1.54051 angstroms used if blank 31-40 Wavelength for ALPHA(2). 1.54033 angstroms used if blank Note: if ALPHA(l) is supplied but ALPHA(2) is blank, the ALPHA(1) wavelength given will also be used for ALPHA(2) 41-50 TWO-THETA scan rate in degrees per minute 51-60 (Blank)/(1) for (do)/(do not) punch setting cards on =NFILEH= 61-70 (Blank)/(1) for (do)/(do not) punch setting cards for those reflections which are systematically absent. This field has no effect unless columns 51-60 are blank. (will also suppress punching of diffractometer control cards for absent reflections.)
FORMAT (A2,A4,1X,A2,A4,3F8.3,3F9.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 CELL 5-6 Blank 8-13 Compound identification code 14-21 A cell dimension 22-29 B cell dimension 30-37 C cell dimension 38-46 COS ALPHA or ALPHA 47-55 COS BETA or BETA 56-64 COS GAMMA or GAMMA
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 PARAMC
FORMAT (A2,A4,1X,A2,A4,2X,7F8.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 ORIENT 8-13 Compound identification code 16-23 H index (may be fractional) of the reciprocal lattice vector lying along the positive direction of the PHI axis 24-31 K index as above 32-39 L index as above 40-47 H index (may be fractional) of a reciprocal lattice vector lying in the PHI=0 degrees plane (this plane contains the PHI axis) 48-55 K index as above 56-63 L index as above 64-71 Correction to be applied to all calculated PHI's to obtain true PHI's. This correction is the angle (of + or - PHI) between the plane specified above and the PHI = 0 plane
FORMAT (A2,A4,4X,6F10.6)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 ANGMX 6 Blank 11-20 Lower limit for PHI 21-30 Upper limit for PHI 31-40 Lower limit for CHI (in range -10 to +100) 41-50 Upper limit for CHI (in range -10 to +100) 51-60 Lower limit for TWO-THETA 61-70 Upper limit for TWO-THETA
FORMAT (A2,A4,4X.6(1X,I4))
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 INDEX 6 Blank 12-15 Lower limit for H index 17-20 Upper limit for H index 22-25 Lower limit for K index 27-30 Upper limit for K index 32-35 Lower limit for L index 37-40 Upper limit for L index
FORMAT (A2,A4,9X,F5.2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 BAKSET 16-20 Increment in degrees
FORMAT (A2,A4,4X,2F10.4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 EQNCON 11-20 A in degrees 21-30 B in degrees Suggested values are A=1.80 and B=0.86, for copper radiation or A=1.80 and B=1.00 for molybdenum
FORMAT (A2,A4,1X,A2,A4,7X,23I1)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 SYSABS 8-13 Compound identification code 21-43 Value of X for application of systematic absences test. Only those columns corresponding to tests to be applied should be non-zero. 21 HKL absent if H+K = XN+1 22 HKL absent if H+L = XN+1 23 HKL absent if K+L = XN+1 24 HKL absent if all H+K, H+L, K+L = XN+1 25 HKL absent if H+K+L = XN+1 26 HKL absent if -H+K+L = XN+1 27 HHL absent if H= XN+1 28 HHL absent if L= XN+1 29 HHL absent if H+L= XN+1 30 HHL absent if 2H+L= XN+1 31 0KL absent if K= XN+1 32 0KL absent if L= XN+1 33 0KL absent if K+L= XN+1 34 H0L absent if H= XN+1 35 H0L absent if L= XN+1 36 H0L absent if H+L= XN+1 37 HK0 absent if K= XN+1 38 HK0 absent if H= XN+1 39 HK0 absent if H+K= XN+1 40 HH0 absent if H= XN+1 41 H00 absent if K= XN+1 42 0K0 absent if K= XN+1 43 00L absent if L= XN+1
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 PREP 5-6 Blank
FORMAT (A2,A4,7X,3I3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 HKL 4-6 Blank 14-16 H index 17-19 K index 20-22 L index 'Setting cards'. Miller indices and setting angles for a reflection that is to be inserted in the output. No check is made on the indices and angles. These cards may be generated by this program for sorting, and then read by it to create a control tape or card deck. FORMAT(A2,A4,3I4,6F9.2,A2,A4) COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 (compound identification code). must agree with =DIFSET= card cols 8-13. 7-10 H index 11-14 K index 15-18 L index 19-27 CHI setting 28-36 PHI setting 37-45 Start TWO-THETA setting 46-54 Peak TWO-THETA setting 55-63 Stop TWO-THETA setting 64-72 Scanning time 73-78 Blank or 'ABSENT'
FORMAT (A2,A4,I4,10X,3I1,12X,2I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 GENHKL 7-10 (2 or blank)/(l )/(0) for (to use subroutine XRY271)/(to use subroutine XRY272)/( attempts to use XRY270 which is currently inactive) 21 1/2/3 for H/K/L index incremented most frequently 22 1/2/3 for H/K/L index incremented next 23 1/2/3 for H/K/L index incremented last 36-40 +1/-1 for the increment to be applied to the index specified in col. 22 when the index specified in col 23 is positive or zero. This determines the direction in which PHI settings will progress. 41-45 =1 if all positive values of the index specified in col. 23 are to be scanned, followed by all negative values. PHI will progress in one direction, then jump back when this index is incremented. =0 if for each value, N, of the index specified in col. 23 layers for both +N and -N are scanned before the index is incremented. In this case, PHI setting progress around the circle and start over again when the index is incremented.
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
FORMAT (A2,A4,1X,4I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 XRDC 5-6 Blank 8-12 Type of diffractometer, 1 for DATEX 13-17 Type of input required by diffractometer 1 for paper tape (DATEX), output on =NFILEI= 2 for paper tape (NHS), output on =NFILEI= 3 for cards, output on =NFILEC= 18-22 Scanning speeed code 1/2/3/4/5/6 for .25/.50/1.0/2.0/4.0/slew speed in deg/min. This is used to compute scan time only. It is independent of actual scan speed selected, which is controlled hy =XRDFMT= card. If blank, scan time will be computed for a speed of 1 deg/min. This overrides scan rate on =DIFSET= card. 23-27 MAXOUT. This is the number of characters that must be accumulated in the output buffer before output of a diffractometer control card or a block of magnetic tape will occur. If necessary, cards will be filled with blanks to make 80 columns and magnetic tape records will be filled with blanks to make a block of 120 characters. Blanks are skipped in punching paper tape from the magnetic tape. MAXOUT must not exceed 80 for cards, 120 fot DATEX tape, or about 90 for NBS diffractometer tape. If col 23-27 are. blank MAXOUT=80.
FORMAT (A2,A4,I2,12(5A1),I1)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 XRDFMT 7-8 Sequence number =1 for data reflection, =2 for first standard reflection ... =10 for ninth standard reflection. This number must agree with the sequence number on the corresponding =STDRFF= and =TTYFMT= cards, if any. 9 BEGIN-WORD code for word 1, which must be an HKL word. 15 Word 2 - BEGIN-WORD code for axis command 16 Word 2 - MODE code 17 Word 2 - STEP code 18 Word 2 - FILTER code 19 Word 2 - SPEED code 20 Word 2 - digit to designate the angle to be inserted as character 6-10 of the command word. The options are: 1 CHI setting 2 PHI setting 3 START TWO-THETA setting 4 PEAK TWO-THETA setting 5 STOP TWO-THETA setting 6 Zero degrees 7 Five blanks (card output only) 8 (Close up angle field) 6,7,8 are not ordinarily used 21-26 Word 3 - same format as Word 2 27-32 Word 4 - same format as Word 2 33-38 Word 5 - same format as Word 2 39-44 Word 6 - same format as Word 2 45-50 Word 7 - same format as Word 2 51-56 Word 8 - same format as Word 2 57-62 Word 9 - same format as Word 2 63-68 Word 10 - same format as Word 2 69-74 Word 11 - same format as Word 2 75-80 Word 12 - same format as Word 2
FORMAT (A2,A4,I2,2X,I2,1X,I1,11(5X,I1))
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 TTYFMT 7-8 Sequence number - copy from corresponding =XRDFMT= card 11-12 N, the number of spaces or asterisks at beginning of each line of output after the first for each reflection. This permits indenting, and marking standard reflections. This number should not exceed eleven. 14 Word 1 prefix - 0/1/2/3 designates the teletype control characters to be inserted before the corresponding command word. Allow for a diffractometer output word whenever the mode code calls for one. 0 - SPACE 1 - SPACE, CARRIAGE RETURN, LINE FEED 2 - SPACE, CARRIAGE RETURN, LINE FEED, N SPACES 3 - SPACE, CARRIAGE RETURN, LINE FEED, N ASTERISKS 20 Word 2 Prefix (see Word 1) 26 Word 3 Prefix (see Word 1) 32 Word 4 Prefix (see Word 1) 38 Word 5 Prefix (see Word 1) 44 Word 6 Prefix (see Word 1) 50 Word 7 Prefix (see Word 1) 56 Word 8 Prefix (see Word 1) 62 Word 9 Prefix (see Word 1) 68 Word 10 Prefix (see Word 1) 74 Word 11 Prefix (see Word 1) 80 Word 12 Prefix (see Word 1)
FORMAT (A2,A4,I2,2X,3I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 STDREF 7-8 Sequence number, 2/3/4.../10 for first/second/third/.../ninth standard reflection. This number must agree with that on corresponding =XRDFMT= and =TTYFMT= cards. 11-15 Minimum number of reflections between measurements on this standard. All data reflections printed (even those that are systematically absent) are counted. Standard reflections are not. After minimum count is exceeded, standard is inserted after most frequently incremented index reaches zero 16-20 Maximum number of reflections between measurements on this standard 21-25 Initial count of reflection. If this is the same as the maximum, the standard will be inserted after the first data reflection.
DUMCOP Program calling card END End card
FORMAT (A2,A4,1X,A2,A4,1X,I1,2(4X,I1),I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 DUMCOP 8-13 Compound identification code 15 (0)/(1) (Do not)/(Do) copy the binary tape 20 (0)/(1) (Do not)/(Do) print a dump of the binary file 25 (0)/(1) (Do not)/(Do) punch a deck of cards with the information of the binary file (used for program check-out) 26-30 The maximum number of physical records of any given logical record to be printed. (blank or zero = 5 - this is to protect against huge printed output) usually 5 physical records of any one logical record suffice to discover errors.
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
FC Program calling card *SCALE Scale card for F RELATIVE data *ATOM Atom card for selecting atoms from file *MAXHKL Puts limits on H, K, L, or SIN THETA forthis run only END End card
Note 1: if no =ATOM= cards have been read when the =END= card is encountered, structure factors will be calculated from parameters stored in the binary data file. If =ATOM= cards are included, then only parameters for named atoms will me taken from the file.
FORMAT (A2,A4,1X,A2,A4,7(1X,I1))
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-2 FC 3-6 Blank 8-13 Compound identification code 15 (0)/(1)/(2)/(3) for (overall temperature factor)/(individual isotropic)/(individual anisotropic)/(individual mixed) 17 (0)/(1) for (do not list the reflections)/(do) 19 (0)/(1) for (do not consider dispersion correction)/(do) 21 (0)/(1) for (do not)/(do) make a survey of reflection sorting statistics 23 (0)/(1)/(2) for (no partial contribution)/(apply partial contribution)/ (establish and apply previous FC as partial contribution). 25 (0)/(1) for (X-ray)/(Neutron) diffraction 27 (0)/(1) for (do not)/(do) update the scale factors. Note: updating scale factors requires an additional copying of the binary data file. If this option is used, =NFILEF= must be assigned.
FORMAT (A2,A4.F10.4,I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 SCALE 6 Blank 7-16 Scale factor to apply to F RELATIVE 17-20 Group identification (1-64)
FORMAT (A2,A4,1X,A4,A2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 ATOM 5-6 Blank 8-13 Atom identification (see 1.GENERL) If atom number is omitted, this card applies to all atoms of the stated type
FORMAT (A2,A4,7X,3I4,2F8.4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 MAXHKL 14-17 Maximum H to be used 18-21 Maximum K to be used 22-25 Maximum L to be used 26-33 Maximum SIN(THETA)/LAMBDA (blank=0.7) 34-41 Minimum SIN(THETA)/LAMBDA (blank=0.0)
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
FOURR Program calling card *SCALE Scale card for F RELATIVE data *FZERO Use different value of F(0,0,0) from that supplied to =DATRDN= *MAXHKL Limits for Fourier summation *MAP Print control card *GRID Fourier grid card (optional if a =GRID= card has been used at any previous time when a binary data file was written) *LAYOUT Description of Fourier map END End card
FORMAT (A2,A4,1X,A2,A4,3X,F3.2,F9.0,8F4.1,A2,I1,A1,I1)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 FOURR 6 Blank 8-13 Compound identification code 17-19 (Blank)/(1) for (do not)/(do) write a copy of Fourier map on =NFILEE= for =PEKPIK= 20-22 (Blank)/(1) for (No)/(Yes) list reflections 23-25 Calculation type - refer to Section 1.FOURR for details 1 Unused 2 Patterson (A=FO**2) 3 vector map (sharpened,origin removed Patterson) (results of =NORMSF= must be on binary data file) 4 FO Fourier by rejection TES.. When (FO*RR-FC) is negative, the reflection is included in the summation. for LESS-THANs. The value of FO used is (FO*MLT) (see 26-28 below). FC is used for extinct reflections 5 unused 6 FO Fourier, phase angles determined from quasi-normalized structure factors 7 FC fourier, uses all reflections 8 DELTA-F, by rejection test (FO*RR-FC) for observed, (FO-FC) for LESS-THANs 9 DELTA-F, with least squares weight applied to DELTA-F W*(FO-FC) test LESS-THANs by (FMIN-FC) 10 unused 11 DELTA-F, observed deflections only 12 DELTA-F, variable weighing W=(FC/FO) or 1.0 whichever is less and reject LESS-THANs calculating LESS-THAN 13 E map, phases from statistics 14 E map, phases from calculated FC's 26-28 Multiplier (MLT) for FO of LESS-THANs under FO Fourier option (4) usual value of 0.5. 0.0 rejects all LESS-THANs 29-37 Election density scale factor - blanks gives output as 10*(2/V)*SUMMATION(F) factor punched replaces 10 38-41 Rejection ratio used by criteria tests of (4) and (8). If left blank RR set equal to zero to include all reflections. The following quantities are used if and only if the =LAYOUT= card is left out (see Note below) 42-45 Scale of the Fourier in inches/angstrom (blank=1.0> 46-49 Lower limit of X in fractions of a cell (blank=0) 50-53 Lower limit of Y in fractions of a cell (blank=0) 54-57 Lower limit of Z in fractions of a cell (blank=0) 58-61 Upper limit of X in fractions of a cell (blank=1.0) 62-65 Upper limit of Y in fractions of a cell (blank=1.0) 66-69 Upper limit of Z in fractions of a cell (blank=1.0) 70-71 Page to page axis as $A, $B, or $C, or projections (regardless of data) as PA, PB, or PC ($ implies a blank) 72 Number of printer character positions per Fourier grid column - only 2 or 4 allowed (blank = 4) 73 Carriage control character which will prevent automatic overflow of pages on line printer (if in doubt leave blank) 74 (Blank)/(1) (do)/(do not) automatically correct for interaxial angle within layers
FORMAT (A2,A4,F10.4,I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 SCALE 6 Blank 7-16 Scale factor to apply to F-RELATIVE (also in CRYLSQ, FC, LISTFC, LOADAT, ORFLS, RLIST) 17-20 Group identification (1-64)
FORMAT (A2,A4,7X,F9.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 FZERO 6 Blank 14-22 Value of F(000) desired
FORMAT (A2,A4,7X,3I4,2F8.4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 MAXHKL 14-17 Maximum H to be used 18-21 Maximum K to be used 22-25 Maximum L to be used 26-33 Maximum SIN(THETA)/LAMBDA) (blank means no limit) 34-41 Minimum SIN(THETA)/LAMBDA) (blank means no limit)
FORMAT (A2,A4,7X,3I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 MAP 4-6 Blank 14-17 Blank ignore the field Non-zero integer force the first printed point to have this value and scale the remaining points accordingly (generally only useful for Pattersons starting at the origin) 18-21 Upper limit to establish print suppression 22-25 Lower limit with sign to establish print suppression (blanks will be 'printed' at all points where the Fourier values fall between these values)
FORMAT (A2,A4,7X,3I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 GRID 5-6 Blank 14-17 Number of grid intervals along the X axial direction 18-21 Number of grid intervals along the Y axial direction 22-25 Number of grid intervals along the Z axial direction
FORMAT (A2,A4,7X,9I4,1X,3I1,I4,2I2,F7.5,A1)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 LAYOUT 14-17 Number of points calculated in X direction 18-21 Origin value of X (in grid coordinates) 22-25 Increment along X (in grid coordinates) 26-29 Number of points calculated in Y direction 30-33 Origin value of Y (in grid coordinates) 34-37 Increment along Y (in grid coordinates) 38-41 Number of points calculated in Z direction 42-45 Origin value of Z (in grid coordinates) 46-49 Increment along Z (in grid coordinates) 51 Scanning index for X direction 52 Scanning index for Y direction 53 Scanning index for Z direction 54-57 Line width
58-59 Space control index This may be 1, 2, 3, 4 (for single, double, triple or quadrupole spacing respectively (blank = 2) 60-61 Number of columns per Fourier grid column (blank = 4), 2 or 4 only possible. 62-68 Cosine of inter axial angle in the Fourier page (between the axis of the second and third sum directions) 69 Carriage control character which will prevent automatic page overflow on line printer (if in doubt leave blank)
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
LISTFC Program calling card *SCALE Scale card for F RELATIVE data *FCARD Cards to input reflection data END End card
FORMAT (A2,A4,1X,A2,A4,3I1,I4,A1,I3,5(1X,I1),3(1X,A1),9(1X,I1),2X,2(1X,I1))
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 LISTFC 8-13 Compound identification code 14 (1)/(2)/(3) for H index varies (most)/(next most)/(least) rapidly (code to tell how input data are sorted) 15 Sorting frequency for K index 16 Sorting frequency for L index (Note that sum and product of numbers in columns 14, 15, and 16 must equal 6) 17-20 Number of lines per =LISTFC= page 21 (Blank/(A) for (do)/(absolutely do not) internally change the value of the number of lines in order to make the bottom of the last page as even as possible 22-24 Number of list columns per =LISTFC= page Note the product of the number of lines and the number of columns per =LISTFC= page cannot evceed 3000. That is, no more than 3000 for the total of reflections and headings (with their spaces), per page. Zero (or blank) in any of the five following fields means just that 26 Number of blank print columns before the LISTFC column 28 Number of print columns for most rapidly changing index 30 Number of print columns for FO times 10 32 Number of print columns for FC times 10 34 Number of print columns for phase expressed in millicycles 36 Special flag for LESS-THANs*(Blank=*)*(JCODE =2) 38 Special flag for EXTINCT*(Blank = E)*(JCODE = 3) 40 Special flag for Special reflection (JCODE = 4) The next nine fields are (Blank/(1) for (Do not)/(Do) 42 Print symbol for less than or extinct reflections (This symbol switch adds one more print column) 44 Print phase on FC in centric case 46 Double space the lines 48 Restore each =LISTFC= page to be the top of a printer page 50 Print current =TITLE= at top of each printer page 52 Punch a set of =FCARD= cards (has H, K, L, FO, FC, A, B, JCODE, and level indicators) 54 Read =FCARD= cards as input in place of =NFILEA= 56 Print minus sign on the FO of the reflections which are LESS-THANs 58 Write a separate copy of the FC list on =NFILED= 62 Number of times to try to get headings at the top of all columns 64 (1)/(2)/(3) for headings separated by (no blank lines)/(1 blank line above)/ (1 above and 1 below) (Blank = 3)
FORMAT (A2,A4,F10.4,I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 SCALE 7-16 Scale factor to apply to F RELATIVE 17-20 Group identification
FORMAT (A2,A4,7X,3I4,4F10.3,2I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 FCARD 14-17 H index 18-21 K index 22-25 L index 26-35 FO 36-45 FC 46-55 A is real part of FC 56-65 B is imaginary part of FC 66-69 JCODE to tell if (1)/(2)/(3)/(4)/(5) reflection is (OBSERVED)/ (LESS-THAN)/ (EXTINCT)/(IGNORED)/(SYSTEMATICALLY ABSENT) 70-73 Level indicator (to tell which scale factor applies)
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
LOADAT Program calling card *SCALE Update F RELATIVE scaling factors *GRID Alter grid parameters. Required only if =ATOMG= cards are used. This card need be used only once for any given grid specification. It is then stored in the binary file until changed by a subsequent =GRID= card. *MAXHKL Establishes limits on H, K, L, or SIN THETA *LABEL Update file label *EXTINC Extinction factor card *DISPER Dispersion factor card *CELCON Unit cell contents (one per atom type) *DATOMS Move all atoms in the asymmetric unit by a specified amount *U Overall *U Isotropic temperature factor (see Note 2) *B Isotropic temperature factor (see Note 2) *ATOM Supply atom fractional population, positional and isotropic temperature parameters. *ATOMG Supply atom grid positional, population, and isotropic temperature parameters. This card requires a =GRID= card *U Isotropic temperature factor (see Note 2) *B Isotropic temperature factor (see Note 2) *UIJ Anisotropic temperature factor (card (RMS amplitude of vibration in Cruickshank notation) *BIJ Anisotropic temperature factor (same scale as B) *BETA Anisotropic temperature factors in the expression - EXP BASE E H**2 BETA(1,1) + ... + 2*H8K BETA(1,2)+ ... *ATOMD Delete atoms from the binary file *BLOCK Matrix blocking card *REF Establish signals in the file with respect to which parameters are to be refined *NOREF Establish signals in the file with respect to which parameters are to be refined *CONSTR Constrains one parameter to be a function of another *DELHKL Delete classes of reflections *EDIT Edit card for modifying reflections (maximum of 14) END End card
Note 1: all =LSBEL=, =SCALE=, =GRID=, and =MAXHKL= cards must come first. then all =B=, =ATOM=, =ATOMD=, =ATOMG=, =BETA=,=BIJ=, and =UIJ= must come next in the order atom, T.F., atom. T.F., etc. If more than one card is given the same atom identity, the last supercedes all others. =EDIT= must come just before the =END= card.
Note 2: for overall temperature factor, a single =B= or =U= card must be the first parameter card. If in the individual temperature factor mode, each =ATOM= or =ATOMG= card must be followed by a temp. factor card (except that isotropic =B= could be punched in =ATOM= or =ATOMG= cards). Be sure that the atom identity code in cols. 8-13 of =ATOM= or =ATOMG= card is identically the same as the identity code on the following temperature factor card. Note that the program recognizes =U=, =B=, =BIJ=, and =BETA= cards and converts them internally so that these cards may be different for each atom.
FORMAT (A2,A4,1X,A2,A4,4(4X,I1))
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 LOADAT 8-13 Compound identification code 20 (Blank)/(1) for (a priori run)/(update) 25 (Blank)/(1) for (initialize the constraint record)/(do not) 30 (0)/(1)/(2)/(3 or blank) for (overall temperature factor)/(individual isotropic)/(individual anisotropic)/(individual mixed) 35 (Blank)/(1) for (do not)/(do) load the positional standard deviations from the ATOM cards 40 (0)/(1) for (no)/(yes) long list of atomic parameters
FORMAT (A2,A4,F10.4,I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 SCALE 6 Blank 7-16 Scale factor to apply to F RELATIVE 17-20 Group identification (1-64)
FORMAT (A2,A4,7X,3I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 GRID 5-6 Blank 14-17 Number of grid intervals along the X axial direction 18-21 Number of grid intervals along the Y axial direction 22-25 Number of grid intervals along the Z axial direction
FORMAT (A2,A4,7X,3I4,2F8.4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 MAXHKL 14-17 Maximum H to be used 18-21 Maximum K to be used 22-25 Maximum L to be used 26-33 Maximum SIN(THETA)/LAMBDA (Blank means no limit) 34-41 Minimum SIN(THETA)/LAMBDA (Blank means no limit)
FORMAT (A2,A4,16A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 LABEL 6 Blank 7-70 Label information for data file
FORMAT (A2,A4,E10.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 EXTINC 7-16 Isotropic extinction factor (G*1000) (See 1.DATRDN)
FORMAT (A2,A4,1X,A4,2X,2F8.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 DISPER 8-11 Atom type (see 1.GENERL) 14-21 DELTA FJ PRIME 22-29 DELTA FJ DOUBLE PRIME
FORMAT (A2,A4,1X,A4,2X,F4.0,F7.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 CELCON 8-11 Atom type (see 1.GENERL) 14-17 Number of atoms of specified type in whole unit cell 18-24 Atomic weight of the species
FORMAT (A2,A4,7X,3F8.4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 DATOMS 14-21 Factor to be added to all X parameters supplied (cards or file) 22-29 Y parameter shift 30-37 Z parameter shift
FORMAT (A2,A4,1X,A4,A2,3F8.4,F6.4,F5.2,3F8.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 ATOM or ATOMG 6 Blank 8-13 Atome identification (see 1.GENERL) 14-21 X parameter in fractions of a cell edge 22-29 Y parameter in fractions of a cell edge 30-37 Z parameter in fractions of a cell edge 38-43 Isotropic temperature factor if supplied in this card - treated as B above 0.3 and as U below 0.3. B = 78.96*U. 44-48 Population parameter of this species at this point (blank implies 1.0) 49-56 Standard deviation in X 57-64 Standard deviation in Y 65-72 Standard deviation in Z
FORMAT (A2,A4,1X,A4,A2,6F8.4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 Appropriate label B, BIJ, UIJ, or BETA 5-6 Blank 8-13 Atom identification (see 1.GENERL) (or Compound identity if this is an overall factor) 14-21 B or U or U11 nor BETA11 22-29 B22 or equivalent 30-37 B33 or equivalent 38-45 B12 or equivalent 46-53 B13 or equivalent 54-61 B23 or equivalent
FORMAT (A2,A4,1X,A4,A2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 ATOMD 6 Blank 8-13 Atom identification (see 1.GENERL) (if atom number is omitted, this card applies to all atoms of the stated type)
FORMAT (A2,A4,1X,A4,A2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 BLOCK 6 Blank 8-13 Atom identification (see 1.GENERL)
FORMAT (A2,A4,1X,A4,A2,13A3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 REF or NOREF 6 Blank 8-13 Atom identification (see l.GENERL). If blank, the card applies to all atoms. If only atom type is given, the card applies to all atoms of the given type. 14-16 Each field may contain blanks or one of the following left justified symbols. X, Y, Z, B, B11, B22, B33, B12, B13, B23, M, S, D (M is the population parameter, S the neutron scattering factor and D the dispersion correction). If all fields are left blank all quantities are acted upon. If any field is punched only the parameters named are acted upon. 17-19 20-22 23-25 26-28 29-31 Symbol from above list 32-34 35-37 38-40 41-43 44-46 47-49 50-52
FORMAT (A2,A4,1X,A4,A2,1X,A4,A2,2A3,4X,2F10.2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 CONSTR 8-13 Atom identification (see 1.GENERL) of subject atom 15-20 Atom identification (see 1.GENERL) of reference atom 21-23 Parameter of subject atom (see =REF=/=NOREF=) 24-26 Parameter of reference atom (see =REF=/=NOREF=) 31-40 F for constraining equation 41-50 S for constraining equation
FORMAT (A2,A4,3X,I1,2X,6I3,7F5.0,I10)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 DELHKL 10 (Do not)/(do) list reflections 13-15 Minimum value of H to be retained in file 16-18 Minimum value of K to be retained in file 19-21 Minimum value of L to be retained in file 22-24 Maximum value of H to be retained in file 25-27 Maximum value of K to be retained in file 28-30 Maximum value of L to be retained in file 31-35 Minimum value of SIN(THETA)/LAMBDA to be retained in file 36-40 Maximum value of SIN(THETA)/LAMBDA to be retained in file 41-45 Minimum value of FREL to be retained in file 46-50 Maximum value of FREL to be retained in file 51-55 Minimum value of E to be retained in file 56-60 Maximum value of E to be retained in file 61-65 Number of standard deviations of SIGMA F RELATIVE which when checked against F RELATIVE will cause reflection to be rejected. 66-75 Maximum number of reflections to be copied to output file (Blank =10**6)
FORMAT (A2,A4,1X,5I5,2F10.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 EDIT 5-6 Blank 8-12 H of reflection needing change 13-17 K of reflection needing change 18-22 L of reflection needing change (Note: leaving any one of the fields in cols 23-52 blank will cause =LOADAT= to use old values 23-27 New JCODE Status ((10/(2)/(3)/(4)/(5) for (OBSERVED)/ (UNOBSERVED)/ (EXTINCT)/(IGNORED)/(SYSTEMATICALLY EXTINCT) Note: a zero punched in column 27 will cause the reflection to be deleted 28-32 New level indicator (1 to 64 allowed) 33-42 New F RELATIVE 43-52 New least squares weight
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
LSQPL Program calling card *CELL Unit cell parameters (see Note 1) *CELLSD Standard deviations in unit cell parameters (see Note 1) ATOM Atomic parameters (see Notes 2 and 3) *PLANE Just like =LSQPL- card but precedes groups of other =PLANE= cards for gettlng angles between planes END End card
Note 1: the =CELL= card has a very important function other than providing cell parameters. If the =CELL= card is omitted, the program will automatically expect an X-RAY system binary data file on =NFILEA= from which cell data will be obtained. If a =CELL= card is given, no file will be used as input. The quantities must be the direct cell constants. The =CELLSD= card is used to supply the standard deviations in each of the unit cell parameters if these are not available from the binary data file, or to override the values found in the file. Unlike the =CELL= card, a =CELLSD= card does not influence the action of the program in deciding where to look for the atomic parameters. It is also important to note that, when atomic parameters are being input from cards, it is not necessary to repeat the =CELL= card after each =PLANE= card. If, however, a different compound ID is encountered on a =PLANE= card, a =CELL= card for the new compound is then required
Note 2: if a =CELL= card is provided, atom parameters must be supplied on =ATOM= cards. If no =CELL= card is provided, the minimal function of =ATOM= cards is to give atom identification for atoms involved in the calculation. If an =ATOM= card is otherwise blank (except for atom identification. e.g. C 3). the atomic parameters will be picked up from the binary data file. If the parameters for an atom are given in the =ATOM= card, they will take precedence over file parameters. If an X coordinate is given on the =ATOM= card, then the Y and Z coordinates must also be given on the =ATOM= card. If an atom identification on an =ATOM= card cannot be matched with an atom identification in the binary data file, the program will use the identification and the atomic parameters on the =ATOM= card (used, for example, with atoms not in the asymmetric unit).
Note 3: there must be at least (N1) =ATOM= cards supplied, where (N1) is the number of atoms defining the plane or line (as specified in cols 16-19 of the =LSQPL= card). if more than (N1) =ATOM= cards are provided, the first (N1) will be used in the least squares line or plane calculation and for the remaining atoms their distance from the line or plane will be calculated. The program limits calculations to a maximum of 200 atoms defining the line or plane, and to a maximum of 200 =ATOM= cards supplied after the first (N1) =ATOM= cards.
Note 4: the sequence =LSQPL=, =CELL=, =ATOM=, =PLANE=, =ATOM=, =PLANE=, etc., ...=END= is used to calculate many planes and the angles between them.
FORMAT (A2,A4,1X,A2,A4,1X,I1,1X,I3,2I2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 LSQPL 6 Blank 8-13 Compound identification code 15 (1)/(2) for L.S. (line)/(plane) 17-19 Number of atom cards of atoms to define (or make up) the L.S. line or plane 20-21 (0)/(1) for (ignored) / (causes calculation of angles between this line or plane and any preceding lines and/or planes coded non-zero) 22-23 (0)/(1) for (ignored) / (causes calculation of L.S. line or plane with atoms provided as input plus the atoms related to the given atoms but generated through the origin as a center of symmetry)
FORMAT (A2,A4,1X,A2,A4,3F8.3,3F9.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 CELL 5-6 Blank 8-13 Compound identification code 14-21 A cell dimension 22-29 B cell dimension 30-37 C cell dimension 38-46 COS ALPHA 47-55 COS BETA 56-64 COS GAMMA
FORMAT (A2,A4,1X,A4,A2,3F8.3,3F9.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 CELLSD 8-13 Compound identification code 14-21 Standard deviation in A cell dimension (angstroms) 22-29 Standard deviation in B cell dimension (angstroms) 30-37 Standard deviation in C cell dimension (angstroms) 38-46 Standard deviation in COS ALPHA cell dimension 47-55 Standard deviation in COS BETA cell dimension 56-64 Standard deviation in COS GAMMA cell dimension
FORMAT (A2,A4,1X,A4,A2,3F8.5,11X,3F8.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 ATOM 5-6 Blank 8-13 Atomic identification (see 1.GENERL) 14-21 X fractional coordinate 22-29 Y fractional coordinate 30-37 Z fractional coordinate 49-56 Standard deviation in X (Blank = 0.01 angstrom) 57-64 Standard deviation in Y (Blank = 0.01 angstrom) 65-72 Standard deviation in Z (Blank = 0.01 angstrom)
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
MODIFY Program calling card *MODFIL *MODREF END End card
FORMAT (A2,A4,1X,A2,A4,I2,I5,3F10.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 MODIFY 8-13 Compound identification code 14-15 (Blank)/(1)/(2)/(3) (Do not replace F RELATIVE with a value derived from FC)/ (Do replace F RELATIVE with a value derived from FC)/ (implies that in addition to replacing F RELATIVE the phase of FC is to be stored in the calculate phase word) / (implies that, in addition, =HKL= reflection cards be punched for other uses) 16-20 (Blank)/(N) (Do not) (Do) list words modified, N is the max number of lines to list to obviate massive output 21-30 Percentage random error to be placed in generated F RELATIVEs 31-40 Threshold intensity (i.e. generated I's smaller than this value will be coded as LESS-THANs. Note that the old binary data file must contain 1/LP) 41-50 Scale to be applied to F RELATIVE to change it from scale of FC (for generation of a phony set of data)
FORMAT (A2,A4,11X,I2,I4,4X,I4,I9,F10.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 MODFIL 18-19 Number of logical record to be altered 20-23 Number of physical record to be altered (Note: this is the value of the record sequence number as kept in word 2 of the record, i.e. 0 for a logical record which only contains 1 phy, otherwise, the sequence number of the record - see Appendix-6) 28-31 Number of word to be replaced in the specified record 32-40 Fixed point quantity (The choice is made on the basis of non-zero - if both 41-50 Floating point quantity are non-zero, fixed point is stored)
FORMAT (A2,A4,9X,4I4,I9,F10.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 MODREF 16-19 H index of reflection to be modified 20-23 K index of reflection to be modified 24-27 L index of reflection to be modified 28-31 Number of relative word in reflection record to be replaced. See Appendix 6 for format of binary data file. 32-40 Fixed point quantity (The choice is made on the basis of non-zero - if both 41-50 Floating point quantity are non-zero, fixed point is stored)
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
NORMSF Program calling card *EPSILON Zone weighting factors *CELCON Unit cell contents (one per atom) END End card
FORMAT (A2,A4,1X,A2,A4,I2,2I5,5X,4F10.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 NORMSF 8-13 Compound identification code 15 Number of isotropic connection cycles (Blank =1) 20 Number of anisotropic connection cycles (Blank =5) 25 (Blank/(1)/(2) List (E values .GT. 1.0)/(NO E values)/(All E values) 31-40 SIN(THETA)/LAMBDA maximum for data (must be supplied - can be used to limit sphere of data entered into the calculation) 41-50 FRFL scale applied to LESS THANs (blank assumes that LESS-THANs entered at UNOBS. Threshold and scale will be taken as 0.707) 51-60 Minimum FREL to be entered into calculation (Blank = 0.0) 61-70 Damping factor for ISO- and ANISOTROPIC corrections (blank=.75)
FORMAT (A2,A4,4X,14F5.0)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-7 EPSILON 11-15 Epsilon for H00 ) 16-20 Epsilon for 0K0 ) 21-25 Epsilon for 00L ) Any entry which is blank or 0 26-30 Epsilon for HK0 ) will be treated as 1.0 otherwise 31-35 Epsilon for H0L ) an entry should be positive 36-40 Epsilon for 0KL ) 41-45 Epsilon for HKL ) 46-50 Epsilon for HH0 ) 51-55 Epsilon for H0H ) If these entries (col 46-80) are 56-60 Epsilon for 0KK ) left blank REFLNS. Will be considered 61-65 Epsilon for HHL ) only in the classes above. If 66-70 Epsilon for HKH ) any entry is non-zero the remaining 71-75 Epsilon for HHH ) blanks and 0s will be treated as 1.0 76-80 Epsilon for HKK )
FORMAT (A2,A4,1X,A4,2X,F4.0,F7.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 CELCON 8-11 Atom type (see 1.GENERL) 14-17 Number of atoms of specified type in whole unit cell 18-24 Atomic weight of the species
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
PARAM Program calling card CELL Cell constant card THETA TWO-THETA data card END End card
FORMAT (A2,A4,1X,A2,A4,2X,2F10.7,A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 PARAM 6 Blank 8-13 Compound identification code 16-25 Wavelength of radiation used 26-35 Correction to be applied to the TWO-THETA values contained on the =THETA= cards for conversion to true TWO-THETAs 36-41 Lattice type identification code according to the following: TRICLI - triclinic MONOCL - monoclinic ORTHOR - orthorhombic TETRAG - tetragonal CUBIC - cubic TRIGRN - trigonal (rhombohedral indexing) HEXAGO - hexagonal TRIGHX - trigonal (hexagonalindexing) If the lattice type provided is blank or illegal, a triclinic lattice will be assumed
FORMAT (A2,A4,1X,A2,A4,3F8.3,3F9.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 CELL 5-6 Blank 8-13 Compound identification code 14-21 A cell dimension 22-29 B cell dimension 30-37 C cell dimension 38-46 ALPHA or COSINE ALPHA 47-55 BETA or COSINE BETA (if a monoclinic lattice with BETA unique, do not set BETA equal to 90.0 degrees (or a cosine of 0.0) because BETA is tested to determine if it or GAMMA is to be refined. 56-64 GAMMA or COSINE GAMMA
FORMAT (A2,A4,9X,3I4,3F10.6)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 THETA 6 Blank 16-19 H index 20-23 K index 24-27 L index 28-37 TWO-THETA 38-47 Standard deviation of TWO-THETA - if zero or blank, 0.01 is supplied 48-57 Wavelength if different from value on PARAM card
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
PEKPIK Program calling card END Signals to program to begin calculation
FORMAT (13X,2F10.5,4I5,F10.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 PEKPIK 8-13 Compound identification code 14-23 Upper ) limits between which search is to be suppressed 24-33 Lower ) (to avoid ripples) - this is the same function as the =MAP= card of =FOURR= so that if these fields are left blank values from the =MAP= card will be used (from =NFILE=) 34-38 Number of unique peaks expected (Blank or 0 = 25 peaks) 39-43 Maximum number of peaks to be sought (Blank or 0 = 100) 44-48 (Blank)/(1) (Do not)/(Do) punch =ATOM= cards for peaks located during search 49-53 (Blank)/(1) (Do not)/(Do) search for holes as well as peaks 54-63 Desired resolution between peaks - never use a value less than the resolution of the Fourier map being searched (Blank or zero = 0.75 angstrom units)
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
PHASE Program calling card *DEFINE Defines the phase of a specified reflection *IGNORE Causes a specified reflection to be ignored in solution process *BADEQN Removes a specified equation derived from two SIGMA-TWO relationships from the set used in solution process *BADSIG removes a specified SIGMA-TWO relationship *HKL Permits loading of E values from cards *EQN Permits loading of SIGMA-TWO derived equations from cards END End card
Note: SIGMA-TWO relationships must be supplied if =HKL= cards are supplied.
FORMAT (A2,A4,1X,A2,A4,4I4,2F6.4,3I4,F6.4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 PHASE 6 Blank 8-13 Compound identification code 14-17 (Blank)/(1)/(2) (No punched phases)/(punch =HKL= cards)/ (punch =MODREF= cards for subsequent use with =MODIFY=) 18-21 (0)/(1) (Do not)/(Do) write new binary data file with determined phases included 22-25 (Blank)/(N) (Do not)/(Do) ignore up to N undefined generators and proceed with limited solution 26-29 Number of largest E value reflections to be 'Generators' 30-35 Minimum probability to accept a relationship from =SIGMA2= 36-41 Minimum E value for which a phase is to be determined 42-45 The number of highest F's to be allowed in the solution for the generators (Blank = 9999) must be greater than cols 26-29 above 46-49 Maximum number of cycles of refinement to attempt to produce a solution - 10 maximum (i.e. fewer discrepant than accordant) 50-53 (0)/(1) (Do)/(Do not) sort SIGMA-TWO relationships before attempting solution (sorting will require =NFILEH=) 54-59 Fraction of phase determinations which must agree to indicate acceptance of a 'generated' phase (0 or blank = 0.59 i.e. 3 out of 5 must agree)
FORMAT (A2,A4,9X,4I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 DEFINE 16-19 H index 20-23 K index 24-27 L index 28-31 + or - 1 to indicate cosine of defined phase
FORMAT (A2,A4,9X,3I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 IGNORE 16-19 H index 20-23 K index 24-27 L index
FORMAT (A2,A4,9X,5I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 BADEQN 16-19 First symbolic phase number 20-23 Second symbolic phase number 24-27 Third symbolic phase number 28-31 Fourth symbolic phase number 32-35 Sign of relationship
FORMAT (A2,A4,9X,4I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 BADSIG 16-19 First symbolic phase number 20-23 Second symbolic phase number 24-27 Third symbolic phase number 28-31 Sign of relationship
FORMAT (A2,A4,1X,A2,A4,3I3,36X,F4.3,10X,I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 HKL 4-6 Blank 8-13 Compound identification code 14-16 H 17-19 K 20-22 L 59-62 Normalized structure factor 73-76 Assigned symbolic phase as an integer
FORMAT (A2,A4,9X,4I4,F7.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 EQN 4-6 Blank 16-19 Symbolic phase one 20-23 Symbolic phase two 24-27 Symbolic phase three 28-31 + or - 1 for sign of relationship 32-38 Probability of the relationship being true
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
REVIEW Program calling card END End card
FORMAT (A2,A4,1X,A2,A4,2I1,F5.2,9I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 REVIEW 8-13 Compound identification code 14 (Blank)/(1) (Do not)/(Do) substitute into all triplets formed by =SINGEN= 15 (Blank)/(1)/(2) printed output control (list only triplets with COSINES .LT. 0)/ (list only the triplets written by =APHASE=)/ (list all triplets substituted into) 16-20 Minimum E-value to be considered 21-25 First A minimum ) For cosine distributions must be in decreasing order. 26-30 Second A minimum ) ... ) First zero or blank field regarded as the last 61-65 Ninth A minimum )
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
RLIST Program calling card *SCALE Scale card for F RELATIVE data *SETMAT Eularian cradle setting matrix (only required if a following =CATEGO card calls for regions of PHI or CHI *CATEGO To obtain H values for certain specified categories END End card
FORMAT (A2,A4,1X,A2,A4,7X,A1,F9.5,F10.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 RLIST 6 Blank 8-13 Compound identification code 21 (Blank)/(1) for (Do not)/(Do) list R by all values of H, K, and L Note: in order to obtain this listing, the binary data file must be searched repeatedly and copious output will result. Use this feature with care 22-30 'threshold' DF/FC value above which the reflection should be printed (blank = 2.0) 31-40 Number of standard deviations in intensity above background to establish LESS-THANs. Blank means accept setting from binary data file
FORMAT (A2,A4,F10.4,I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 SCALE 6 Blank 7-16 Scale factor to apply to F RELATIVE 17-20 Group identification (1-64)
FORMAT (A2,A4,1X,9F8.6)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 SETMAT 8-15 Element (1,1) 16-23 Element (1,2) 24-31 Element (1,3) 32-39 Element (2,1) 40-47 Element (2,2) 48-55 Element (2,3) 56-63 Element (3,1) 64-71 Element (3,2) 72-78 Element (3,3)
FORMAT (A2,A4,2X,3A4,6(1X,I4),2F10.5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 CATEGO 7-8 Blank (or RT) 9-20 User's name for category selected -------Categories by index value (may be used singly or in combination of pairs) 22-25 R values desired for a specific H, blank implies no search for a specific H value 27-30 R values desired for a specific K, blank implies no search for a specific K value 32-35 R values desired for a specific L, blank implies no search for a specific L value -------Categories by index combinations 37-40 Category of index calculations (Blank)/(1)/(2)/(3)/(4)/(5)/(6)/(7) for (Ignore test)/(H)/(K)/(L)/ (H+K)/(H+L)/(K+L)/(H+K+L) 42-45 Value of above indices to be included in R values (1)/(2)/(3)/(4)/(5)/(6)/(etc) for (odd only)/(even only)/(multiples of 3 only)/ (multiples of 4 only)/(multiples of 5 only)/(multiples of 6 only)/ (any reasonable number may be supplied) --------Categories by magnitude of other quantities 47-50 Select category for range of (1)/(2)/(3)/(4)/(5) for (SIN(THETA)/LAMBDA)/(intensity)/(FO)/(CH)/(PHI) CHI and PHI ranges require a =SETMAT= card 51-60 Lower limit of quantity requested in cols 47-50 61-70 Upper limit of quantity requested in cols 47-50
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
SINGEN Program calling card END End card
FORMAT (A2,A4,1X,A2,A4,I2,I5,F10.3,2I10)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 SINGEN 7 Blank 8-13 Compound identification code 15 (Blank)/(1) for write (=SINGEN= files on =NFILEE= and do not copy the binary data file on =NFILEB=)/(Binary data and =SINGEN= files on =NFILEB=) 20 (1)/(2)/(3)/(4) enter E-values from =NFILEA= calculated as (E1)/ (E2)/(E3)/(E4) in =NORMSF= (Blank = 1) 21-30 Minimum E value to be used in structure invariant search (blank=1.4) 31-40 Maximum phase number for which triplets are printed 41-50 Maximum phase number for which triplets are printed redundantly
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
STEPRF Program calling card *SCALE Scale card for F RELATIVE data *ATOM Atom selection card *NOREF Shut off refinement of specific parameters *CONSTR Constrains one parameter to be a function of another *RELEAS Release all constraints read from the binary data file for a specification END End card
Note: if no atom cards are present, all the atoms in the binary file are used. If any atoms are specified by cards, only those specified on the cards are selected from the binary file. If there are too many atoms in the file for the storage capacity cards, will be expected.
FORMAT (A2,A4,1X,A2,A4,4I2,6F4.3,6I3,I7,2F5.0)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 STEPRF 8-13 Compound identification code 14-15 Number of cycles (Blank = 1) 16-17 (Blank)/(1) for refinement based on (F)/(F**2) 18-19 (Blank)/(1) for (do not)/(do) punch the new atom coordinates 20-21 (Blank)/(1) for (do not)/(do) list the reflections 22-25 Stepping distance in the X direction 26-29 Stepping distance in the Y direction 30-33 Stepping distance in the Z direction 34-37 Stepping increment for U Note: if columns 22 through 37 are blank, X, Y, and Z will be stepped by 0.1 angstrom and U will be stepped by 0.00633 38-41 Minimum SIN(THETA)/LAMBDA to be considered 42-45 Maximum SIN(THETA)/LAMBDA to be considered 46-48 Minimum H to be considered 49-51 Minimum K to be considered 52-54 Minimum L to be considered 55-57 Maximum H to be considered 58-60 Maximum K to be considered 61-63 Maximum L to be considered Note: if columns 49 through 63 are blank, the limits will be -99 and +99 64-70 Maximum number of reflections 71-75 Minimum E to be considered 76-80 Maximum E to be considered
FORMAT (A2,A4,1X,A4,A2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 ATOM 5-6 Blank 8-13 Atom identification (see 1.GENERL)
FORMAT (A2,A4,1X,A4,A2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 NOREF 8-13 Atom identification (see l.GENERL). If blank, the card applies to all atoms. If only atom type is given, the card applies to all atoms of the given type. If =SCALE= is punched in cols. 8-12, the card applies to F RELATIVE scale factor refinement. Note: if cols 15-52 are blank in the case of the =NOREF= card, all parameters for the indicated atom or atoms will be held invariant 14-16 Each field may contain blanks or one of the folllowing left justified symbols: X Y Z PP population parameter SCT neutron scattering factor DFR real dispersion parameter DFI Imaginary dispersion factor U Isotropic temperature factor
FORMAT (A2,A4,1X,A4,A2,1X,A4,A2,2A3,4X,2F10.2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 CONSTR 8-13 Atom identification (see 1.GENERL) of subject atom 15-20 Atom identification (see 1.GENERL) of reference atom 21-23 Parameter of subject atom (see =REF=/=NOREF=) 24-26 Parameter of reference atom (see =REF=/=NOREF=) 31-40 F for constraining equation 41-50 S for constraining equation
FORMAT (A2,A4,1X,A4,A2)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 RELEAS 8-13 Atom identification (see 1.GENERL)
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
TANGEN Program calling card *CYCLE E thresholds (one per cycle) *LIMIT Phase acceptance test limits *PRINT Specifies print output *PHI Starting phases (one per reflection) *BDFPHI Specifies starting phases from =FC= or previous =TANGEN= END End card
Note: PHI and BDFPHI are optional but both may be entered. Starting phases defined by the last card (=PHI= or =BDFPHI=) take precedence over earlier definitions (including those from =APHASE= specified on the =TANGEN= card).
FORMAT (A2,A4,1X,A2,A4,I2,I5,F10.3,4I10)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 TANGEN 8-13 Compound identification code 15 (Blank)/(1) to enter binary data and =SINGEN= files from (=NFILEA= and =NFILEE=)/ (=NFILEA = only) in both cases =NFILEA= must contain E-values produced by =NORMSF= 20 (Blank)/(1) (Do not)/(Do) use the PHI and PSI values which have been estimated by =APHASE= and entered on the binary data file 21-30 Minimum E-value to be phased by tangent iteration process (blank causes minimum E of =SINGEN= to be used) 40 (Blank)/(1) (Do not)/(do> use weighted tangent formula 50 Number of scratch files (G,H,I,J) to be used during the presort of =SINGEN= triplets mandatory if the number of triplets exceeds the array limit MAXTRI If implemented triplets from the lowest cycle-threshold UP are sorted directly into these files (MAXTRI is set in XYTM, in general at least one should be set) 60 (Blank)/(1) (Do)/(Do not) write new binary data file (on =NFILEB=) 70 (Blank)/(1) (Do)/(Do not) exit any cycle if the /EC/-SCALE converges or oscillates to within 0.0001
FORMAT (A2,A4,I4,I5,F5.2,I10)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 CYCLE 6 Blank 9-10 Cycle number (maximum of 10) 11-15 Threshold on this cycle as maximum phase number 16-20 Threshold on this cycle as minimum E value (used if cols 11-15 blank) 21-30 Number of iterations for this cycle (maximum of 50) Blank=20
FORMAT (A2,A4,4X,2I5,F10.3,I10)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 LIMIT 6 Blank 11-15 Phase oscillation limit in degrees (Blank=100) 16-20 Restricted phase divergence limit in degrees (Blank=75) 21-30 Calculated E-value (/EC/) acceptance threshold (Blank 0.5 or if weighted tangent iteration is specified Blank=0.0) 31-40 Minimum number of triplets contributing to a phase estimate before it is accepted (Blank=1)
FORMAT (A2,A4,4X,12I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 PRINT 6 Blank 15 (Blank)/(1) (Do)/(Do not) print phases of last iteration of each cycle 20 (Blank)/(1) (Do)/(Do not) print phases as output on =NFILEB= The next 10 fields are punched as (Blank)/(N) (Do not)/(Do) print phases of every N-th iteration for: 21-25 Cycle 1 26-30 Cycle 2 31-35 Cycle 3 36-40 Cycle 4 41-45 Cycle 5 46-50 Cycle 6 51-55 Cycle 7 56-60 Cycle 8 61-65 Cycle 9 66-70 Cycle 10
FORMAT (A2,A4,I4,I10,2I5,I10,I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 PHI 4-6 Blank 7-10 E-list serial no. of reflection 11-20 H index 21-25 K index 26-30 L index 38-40 Phase in degrees (positive base modulo 360) 41-45 (+N)/(-N) to (fix phase)/(suppress reflection) for N cycles (N may be 0 to 10)
FORMAT (A2,A4,I4,I10,3F10.4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 BDFPHI 10 (Blank)/(1) extract phases from binary data file after (=FC=)/(prior =TANGEN=) calculation 11-20 Number of cycles the extracted phases are to be fixed 21-30 E-threshold limiting phases to be extracted (Blank=cycle)/(1= E-threshold) 31-40 Fraction (P) used in =FC= rejection test - see write up (Blank = 5) 41-50 FREL scale used in =FC= rejection test - see write up (Blank causes scale to be extracted from record 7 of BDF)
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
WRITEU Program calling card *ELEMENT Defines the beginning of an element of the write-up *ENDELT Defines the end of an element of the write-up *TEXT Defines data or other cards to be converted such that col. 1 becomes a blank and cols. 2-80 are like 1-79 of INOUT cards (to generate appendices) *ENDTEXT Stop preparing text END End card after all write-up material
FORMAT (A2,A4,I4,2X,A2,A4,A2,3X,I1,I4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 WRITEU 7-10 Maximum lines/page 13-20 Date of the printing as DD/MM/YY 24 (0)/(1) for (Do not)/(Do) write a duplicate file on =NFILED= as well as printing a copy 25-28 Integer of last previous page sequence number run - this is to facilitate running in parts - leave blank for ab-initio run. Use last sequence number output for subsequent runs
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-7 ELEMENT
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 ENDELT
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-4 TEXT
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-7 ENDTEXT
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
WTANAL Program calling card INTFO INTST *LAYER *SMALFO *LESSTH END End card
FORMAT (A2,A4,1X,A2,A4,F7.3,2X,F8.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 WTANAL 8-13 Compound identification code 14-20 LAMBDA - wavlength of X-radiation used - if analysis required for SIN(THETA)/LAMBDA this value should be 1.0 23-30 Threshold value for analysis of small FOBS values - may be blank if no =SMALFO= card supplied
FORMAT (A2,A4,14X,5F10.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 INTFO 6 Blank 21-30 ) 5 fields giving limits of the required 31-40 ) intervals. Any blank field 41-50 ) will be ignored. If non-blank 51-60 ) the internal values should increase 61-70 ) monotonically
FORMAT (A2,A4,14X,5F10.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 INTST 6 Blank 21-30 ) 5 fields giving limits of the required 31-40 ) intervals. Any blank field 41-50 ) will be ignored. If non-blank 51-60 ) the internal values should increase 61-70 ) monotonically
FORMAT (A2,A4,14X,5F10.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 SMALFO 21-30 ) 5 fields giving limits of the required 31-40 ) intervals. Any blank field 41-50 ) will be ignored. If non-blank 51-60 ) the internal values should increase 61-70 ) monotonically
FORMAT (A2,A4,8X,I1,I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 LAYER 6 Blank 15 (1)/(2)/(3) for analysis of (H)/(K)/(L) 16-20 Largest occurring negative index (without sign)
FORMAT (A2,A4,14X,5F10.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 LESSTH 21-30 ) 5 fields giving limits of the required 31-40 ) intervals. Any blank field 41-50 ) will be ignored. If non-blank 51-60 ) the internal values should increase 61-70 ) monotonically
FORMAT (A2,A4,14X,5F10.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 INTFO 6 Blank 21-30 ) 5 fields giving limits of the required 31-40 ) intervals. Any blank field 41-50 ) will be ignored. If non-blank 51-60 ) the internal values should increase 61-70 ) monotonically
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
WTLSSQ Program calling card COEFF Coefficients for chosen weighting scheme *INTFO Intervals for FOBS *INTST SIN THETA intervals *SCALWT Scale factors to be applied to weights to adjust average W*DELTASQ *THRESH Defines a new threshold for establishing LESS-THAN status END End card
FORMAT (A2,A4,1X,A2,A4,F7.3,I5,F5.3,F5.0,2I5)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 WTLSSQ 8-13 Compound identification code 14-20 LAMBDA - X-ray wavelength 21-25 Weighting scheme desired (see 1.WTLSSQ) 26-30 Weighting indicator for LESS-THANs -ve - neglible weight if FO is greater than FC 0 or blank - weight by equation +ve - constant used to weight LESS-THANs 31-35 Maximum allowable weight (Blank or 0 = 100.) 36-40 (Blank)/(1) for (Do)/(Do not) analyse in groups of F OBSERVED 41-45 (Blank)/(1) for (Do)/(Do not) analyse in SIN THETA groups
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 COEFF 6 Blank 11 Coefficient (i.e A,B,C,D,E,G,H,J or K 12-20 Value of coefficient 21-30 ) 31-40 ) 41-50 ) As cols 11-20 51-60 ) 61-70 ) 71-80 )
FORMAT (A2,A4,14X,5F10.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-5 INTST 6 Blank 21-30 ) 5 fields giving limits of the required 31-40 ) intervals. Any blank field 41-50 ) will be ignored. If non-blank 51-60 ) the internal values should increase 61-70 ) monotonically
FORMAT (A2,A4,13X,2F10.3)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 SCALWT 20-29 Scale factor for weights of observed reflections 30-39 Scale factor for weights of LESS-THANs
FORMAT (A2,A4,14X,2F10.0,2I10)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-6 THRESH 21-30 SIGMA threshold 31-40 FREL/I threshold (see cols 41-50) 41-50 (Blank)/(1) FOR based on (FOBS)/(I) 51-60 (Blank)/(1) FOR (Do not)/(Do) include the newly established =JCODE= in the output binary data file
FORMAT (A2,A4)
COLS SPECIFIED PUNCHING OR FUNCTION OF THE FIELD 1-3 END 4-6 Blank
In the original version of the manual, references appeared at the end of each section. There was a significant amount of duplication and incomplete references. The references have been gathered together as being more appropriate for a web-based version of the manual. Links to the references are provided at the appropriate places in the Manual.
(1) Crystallographic Computing, Proceedings of an International Summer School organized by The Commission on Crystallographic Computing of the International Union of Crystallography, Ottawa, August 1969. Edited by F R Ahmed, S R Hall and C P Huber. Published by Munksgaard, 1970. 383 pages.
(2) International Tables for X-ray Crystallography, International Union of Crystallography. Volume I, Symmetry Groups (1st Edition 1952), Volume II, Mathematical Tables (1st Edition 1959), Volume III, Physical and Chemical Tables (1st Edition 1962), Published by Kynoch Press, 1952-1974. Editors: Caroline H MacGillavry and Gerard D Rieck.
(3) USA Standard Fortran, (USAS X3.9-1966). USA Standards Institute, New York. 1966. (See also - Comm. Acm., 7, 10, Oct. 1964, pages 289-294.)
(4) Alexander, L E and Smith, G S, Single Crystal Diffractometry - The Improvement of Accuracy in Intensity Measurement, Acta Crystallographica, Vol 17, 1195-1201 (1964).
(5) Burke, P G, Editorial: Program Annotation, Computer Physics Communications, Vol 1, Issue 3, 141-150 (January 1970).
(6) Baur, W H, Preliminary Study of a High-temperature Phase in Cuprous Chloride, Acta Crystallographica, Vol 9, Issue 6, 538-539 (June 1956).
(7) Bewilogua, L, Uber die inkoharente Streuung der Rontgenstrahlen, Physikalische Zeitschrift, Vol 32, 740-744 (1931).
(8) Bond, W L, Equi-Inclination Weissenberg Intensity Correction Factors for Absorption in Spheres and Cylinders and for Monochromatized Radiation, Acta Crystallographica, Vol 12, Issue 5 375-381 (May 1959).
(9) Buerger, M J, X-ray Crystallography, John Wiley, New York, (1942).
(10) Busing, W R, and Levy, H A, Angle Calculations for 3- and 4-circle X-Ray and Neutron Diffractometers, Acta Crystallographica, Vol 22, 457-464 (1967) also ORNL-4054, Oak Ridge National Laboratory
(11) Bragg, W L and West J, A Technique for the X-ray Examination of Crystal Structures with Many Parameters, Zeitschrift fur Kristallographie, Vol 69, 118-148 (1928).
(12) Brill, R, The Covalent Bond in Diamond and the X-ray Scattering Factor of Covalent Bonded Carbon, Acta Crystallographica, Vol 3, Issue 5 333-337 (May 1950).
(13) Coppens, P, Absorption Correction: Integration, Reference (1), 255-270.
(14) Coppens P and Hamilton W C, Anisotropic Extinction Corrections in the Zachariasen Approximation, Acta Crystallographica, Vol A26, 71-83 (1970)
(15) Cromer D T, Mann J B, X-ray Scattering Factors Computed from Numerical Hartree-Fock Wave Functions, Acta Crystallographica, Vol A24, 321-324 (1968)
(16) Dawson, B, Comparison of Atomic Scattering Factors and Mean Radii for the Charge Distribution in Na+, Ne and F- obtained from Hartree-Fock and Poly-detor Calculations, Acta Crystallographica, Vol 14, Issue 11 1117-1120 (November, 1961)
(17) Dawson, B, Aspherical Atomic Scattering Factors for S, S- and Cl, Acta Crystallographica, Vol 14, Issue 12, 1271-1274 (December, 1961)
(18) Debye, P, X-ray Interference and Atomic Size, Physikalische Zeitschrift, Vol 31, 419-428 (1930)
(19) Eichhorn, E L, Refinements of Least-squares and Differential Synthesis Algorithms, Acta Crystallographica, Vol 15, Issue 12 1215-1219, (December 1962)
(20) Forsyth, J B and Wells, M, On an Analytic Approximation to the Atomic Scattering Factor, Acta Crystallographica, Vol 12, 412-415 (1959)
(21) Germain, G, Main, P, Woolfson, M M On the Application of Phase Relationships to Complex Structures. III.The Optimum Use of Phase Relationships, Acta Crystallographica, Vol A27, Issue 4 368-376 (April, 1971)
(22) Hauptman, H and Karle, O Structure Invariants and Seminvariants for Noncentrosymmetric Space Groups, Acta Crystallographica, Vol 9, Issue 1, 45-55 (January 1956)
(23) Hartree, D R, Title, Internationale Tabellen Zur Bestimmung Von Kristallstructuren, Vol 2 Borntraeger (1935), page 571
(24) Heaton, L R and Sidhu, S S, Thermal-Neutron Coherent Scattering Amplitudes of Thallium and Osmium, Physical Review, Vol 105, 216-218 (January 1957)
(25) Hughes, E W, The Crystal Structure of Melamine, Journal of the American Chemical Society, Vol 63, Issue 6. 1737-1752 (June 1941)
(26) Hurst, R P Three-Term Hylleraas-Function Atomic Scattering Factors for the Two-Electron Ions, Acta Crystallographica, Vol 13, Issue 8, 634-638 (August 1960)
(27) Ibers J A, The Relativistic X-ray Form Factor for Mercury, Acta Crystallographica, Vol 11, Issue 6 447 (June 1958)
(28) James, R W, Brindley, G W Title, Philosophical Magazine, Vol 12, Issue 75, 81-112 (1931)
(29) Karle, J and Karle, I L The Symbolic Addition Procedure for Phase Determination for Centrosymmetric and Non-centrosymmetric Crystals, Acta Crystallographica, Vol 21, 849-859 (1966)
(30) Klug H P and Alexander, L E, X-ray Diffraction Procedures, John Wiley and Sons (1954).
(31) Kundell, F A, Svirbely W J and Stewart, J M, Kinetics 68. Program for the Solution of Competitive-consecutive, Second-order Kinetics Reactions, Univ. of Maryland Computer Science Center Technical Report 68-69, (March 1968).
(32) Landon, H H and Sailor, V L, Slow Neutron Resonances in Cesium, Palladium, and Gold, Physical Review, Vol 93, Issue 5, 1030-1033 (March 1954)
(33) Larson, A C, Inclusion of Secondary Extinction in Least-squares Calculations, Acta Crystallographica, Vol 23, Issue 4, 664-665 (October 1967)
(34) Lipson, H and Cochran W, The Crystalline State, Volume 3, The Determination of Crystal Structures, Bell and Sons (1953)
(35) Maslen E N A Method for Allowing for Thermal Anisotropy in Evaluating Wilson Plots and Normalised Structure Factors, Acta Crystallographica, Vol 22, Issue 6, 945-946 (June 1967)
(36) Milne W E, Numerical Calculus, Princeton U. Press, (1949)
(37) Parry G S, A Study of the Atomic Scattering Factor for Aluminium , Acta Crystallographica, Vol 8, Issue 9, 593-594 (September 1955)
(38) Pauling, L and Sherman, J Screening Constants for Many-Electron Atoms - The Calculation and Interpretation of X-ray Term Values, and the Calculation of Atomic Scattering Factors, Zeitschrift fur Kristallographie, Vol 81, 1-29 (1932)
(39) Peterson S W, Anomalous X-Ray Scattering at Wave-lengths far from an Absorption Edge, Nature, Vol 176, Issue 4478, 395 (August 1955)
(40) Qurashi, M M, On the Completion and Extension of the Table of Atomic Scattering Factors Published by Viervoll and Ogrim, Acta Crystallographica, Vol 7, Issue 4, 310-312 (April 1954)
(41) Roof, R B, Experimental Atomic Scattering Factors and Anomalous Dispersion Corrections for Th, U and Pu, Acta Crystallographica, Vol 14, Issue 9, 934-940 (September 1961)
(42) Santoro, A and Zocchi, M, Multiple Diffraction in the Weissenberg Method, Acta Crystallographica, Vol 21, Issue 3 293-297 (September 1966)
(43) Schomaker V, Waser, J, Marsh, R E, Bergmann, G To Fit a Plane or a Line to a Set of Points by Least Squares, Acta Crystallographica, Vol 12, Issue 8, 600-604 (August 1959)
(44) Shull, C G, Wollan, E O, Coherent Scattering Amplitudes as Determined by Neutron Diffraction, Physical Review, Vol 81, 527-535 (February 1951)
(45) Sidhu, S S, Heaton, L, Zauberis, D D, and Campos, F P, Neutron Diffraction Study of Titanium-Zirconium System, Journal of Applied Physics, Vol 27, Issue 9, 1040-1042 (September 1956)
(46) Stewart R F, Davidson, B and Simpson, W T, Coherent X-ray Scattering for the Hydrogen Atom in the Hydrogen Molecule, Journal of Chemical Physics, Vol 42, 3175-3187 (May 1965)
(47) Suzuki, T, Atomic Scattering Factor for O2 , Acta Crystallographica, Vol 13, Issue 3, 279 (March 1960)
(48) Umeda, K and Tomishima, Y On the Influence of the Packing on the Atomic Scattering Factor Based on the Thomas-Fermi Theory Journal of the Physical Society of Japan, Vol 10, Issue 9, 753-758 (September 1955)
(49) van Niekerk, J N and Schoening, F R L An Experimentally Determined Atomic Scattering-factor Curve for Chromium, Acta Crystallographica, Vol 4, Issue 4, 382-383 (1951)
(50) Viervoll, H and Ogrim, O, An Extended Table of Atomic Scattering Factors, Acta Crystallographica, Vol 2, Issue 5, 277-279 (October 1949)
(51) Waser, J, The Lorentz Factor (and Polarization Correction) for the Buerger Precession Method, Review of Scientific Instruments, Vol 22, Issue 8, 563-569 (August 1951)
(52) Womack, C M, Silverman, J N and Matsen, F A Atomic Scattering Factors of Helium-like Systems from Analytic Hartree-Fock Wave Functions, Acta Crystallographica, Vol 14, Issue 7, 744-746 (July 1961)
(53) Wood, R E, Landon, H H and Sailor V L, Parameters for the Neutron Resonance in Gold, Physical Review, Vol 98,Issue 3, 639-645 (May 1955)
(54) Zachariasen, W H,, A General Theory of X-ray Diffraction in Crystals, Acta Crystallographica, Vol 23, Issue 4, 558-564 (October 1967)
(55) Lipson, H and Taylor, C A, Fourier Transforms and X-ray Diffraction, Bell and Sons, (1958)
The X-RAY system has been developed over a number of years with contributions from a large number of people. This effort has fallen into three main categories:
Obviously, some program authors have actively contributed in other respects and due acknowledgement of their authorship is given within the program descriptions in section 1 of this write-up.
The affiliation given for each contributor is that appropriate at the time the contribution was made and should not necessarily be considered as current.
Baldwin Dr J.C. Atlas Computer Laboratory Chastain Dr R.V. Univ of Washington, Seattle High Dr D.F. Univ of Washington, Seattle Kruger Dr G.J. CSIR, Pretoria, South Africa Kundell Dr F.A. Univ of Maryland Stewart Prof J.M. Univ of Maryland
Ammon Prof H. Univ of Washington, Seattle Alden Dr R.A. Univ of Washington, Seattle Boonstra Dr E.G. Univ of Orange Free State Brown Dr B.W. Portland State College Braun Dr R.L. Univ of Washington, Seattle Busing Dr.W.R. Oak Ridge National Laboratory De Camp Dr W.H. Univ of Maryland Dickinson Dr C.W. Naval Ordnance Laboratory Dayhoff Dr Margaret Natl. Biomedical Res. Foundation Inc. Freer Dr S.T. Univ of Washington, Seattle Hall Dr S. Mineral Sci. Div. E.M.R., Ottawa Holden Dr J.R. U. S. Naval Ordnance Lab Jarski Mrs Mary A. Univ of Washington, Seattle Kensen Prof L. Univ of Washington, Seattle Keefe Dr W. Medical College of Virginia Kerr Dr Ann Cambridge University, England Kraut Prof J. Univ. of California, La Jolla Lingafelter Prof E. Univ of Washington, Seattle Levy Dr H.A. Oak Ridge National Laboratory Mauer Mr F.A. National Bureau of Standards Mighell Dr A. National Bureau of Standards Martin Dr K.O. Oak Ridge National Laboratory Plastas Dr Linua Univ of Maryland Santoro Dr A. National Bureau of Standards Schneider Dr M.L. Univ of Maryland Takeda Dr H. Johns Hopkins Univ Zocchi Dr M. National Bureau of Standards
Appleman Dr D. U. S. Geological Survey IBM /360 Series Dickinson Dr Charles National Ordnance Lab CDC 6400 Kirchner Dr R. Univ of Washington, Seattle CDC 6600 Lenhert Prof P.G. Vanderbilt Univ XDS SIGMA 7 Machen Miss Pella Atlas Computer Laboratory ICL 1906A Morosin Dr B. Sandia Corporation CDC 6600 Protherough Mr M. I.C.L./Univ of Surrey ICL 1900 Series Snyder Dr R. M.I.T. IBM /360 Series Thomas Mrs Judith M. Atlas Computer Laboratory Atlas Watenpaugh Dr K. Univ of Washington, Seattle CDC 6600 Wolten Dr G. Aerospace Corp. CDC 6600
Valuable technical assistance has been given by Miss Jean Willis and Mrs Stefanie Vogel, both of the University of Maryland.
In the following example decks, comments concerning deck setuo are include on =REMARK= cards. These decks must be preceded by the job control cards prescribed by your installation.
RESTART REMARK REMARK ******************** REMARK * * REMARK * EXAMPLE DECK 1 * REMARK * * REMARK ******************** REMARK TITLE BODY CENTERED ACENTRIC CUBIC TEST CASE 1 OCT 1968 I 4BAR 3 D REMARK ASSIGN THE FILE UNITS. THE =RFSTART= CARD CAUSES ALL FILES TO REMARK REINITIALIZED TO THE STANDARD ASSIGNMENTS. THE =FILES= CARD IS REMARK ONLY NECESSARY IF ANOTHER ASSIGNMENT IS DESIRED. FILES 8 9 10 11 12 13 14 15 DATRDN I4B3D REMARK DATA REDUCTION WILL WRITE THE NEWLY CREATED BINARY DATA FILE ON REMARK =NFILEB= WHICH IS UNIT 9 (SEE =FILES= CARD ABOVE). CELL I4B3D 11.000 11.000 11.000 .0 .0 .0 1440. FORMGN S FORMGN O FORMGN C LATICE A I SYMTRY X,Y,Z SYMTRY Z,X,Y SYMTRY Y,Z,X SYMTRY 1/2+X,1/2-Y,-Z SYMTRY 1/2+Z,1/2-X,-Y SYMTRY 1/2+Y,1/2-Z,-X SYMTRY -X,1/2+Y,1/2-Z SYMTRY -Z,1/2+X,1/2-Y SYMTRY -Y,1/2+Z,1/2-X SYMTRY 1/2-X,-Y,1/2+Z SYMTRY 1/2-Z,-X,1/2+Y SYMTRY 1/2-Y,-Z,1/2+X SYMTRY 1/4+X,1/4+Z,1/4+Y SYMTRY 1/4+Y,1/4+X,1/4+Z SYMTRY 1/4+Z,1/4+Y,1/4+X SYMTRY 3/4+X,1/4-Z,3/4-Y SYMTRY 3/4+Y,1/4-X,3/4-Z SYMTRY 3/4+Z,1/4-Y,3/4-X SYMTRY 3/4-X,3/4+Z,1/4-Y SYMTRY 3/4-Y,3/4+X,1/4-Z SYMTRY 3/4-Z,3/4+Y,1/4-X SYMTRY 1/4-X,3/4-Z,3/4+Y SYMTRY 1/4-Y,3/4-X,3/4+Z SYMTRY 1/4-Z,3/4-Y,3/4+X CONDIT I4B3D 1.5418 1.0 0.0 1 9 2 HKL I4B3D 4 0 0 1 1 12.43 HKL I4B3D 8 0 0 1 1 54.42 HKL I4B3D 12 0 0 1 1 12.20 HKL I4B3D 3 1 0 1 1 23.91 HKL I4B3D 5 1 0 1 1 68.88 HKL I4B3D 7 1 0 1 1 71.27 HKL I4B3D 9 1 0 1 1 9.49 HKL I4B3D 11 1 0 1 1 43.52 HKL I4B3D 2 2 0 1 1 61.46 HKL I4B3D 4 2 0 1 1 17.72 HKL I4B3D 6 2 0 1 1 45.26 HKL I4B3D 8 2 0 1 1 14.90 HKL I4B3D 10 2 0 1 1 30.40 HKL I4B3D 2 1 1 1 1 132.01 HKL I4B3D 6 1 1 1 1 175.82 HKL I4B3D 10 1 1 1 1 40.88 HKL I4B3D 2 4 2 1 1 193.88 HKL I4B3D 6 4 2 1 1 67.02 HKL I4B3D 8 4 2 1 1 61.48 HKL I4B3D 3 2 1 1 1 132.40 HKL I4B3D 5 2 1 1 1 75.62 HKL I4B3D 7 2 1 1 1 29.70 HKL I4B3D 9 2 1 1 1 99.31 HKL I4B3D 3 4 1 1 1 73.35 HKL I4B3D 5 4 1 1 1 128.42 HKL I4B3D 7 4 1 1 1 47.24 HKL I4B3D 3 6 1 1 1 80.91 HKL I4B3D 1 6 1 1 1 170.20 HKL I4B3D 5 6 1 1 1 40.91 HKL I4B3D 3 8 1 1 1 89.68 HKL I4B3D 3 3 2 1 1 193.73 HKL I4B3D 5 5 2 1 1 81.95 HKL I4B3D 4 4 4 1 1 112.97 END REMARK AFTER EACH PROGRAM CALL, =NFILEA=, NO =NFILEB= ARE EXCHANGED, REMARK CONSEQUENTLY, IN ThE NEXT PROGRAM, WHICH HAPPENS TO BE =LOADAT=, REMARK =NFILEA= IS UNIT 9 AND =NFILEB= IS UNIT 8, NOTE, IF EVERY REMARK PROGRAM IN THE SEQUENCE UPDATES THE BINARY DATA FILE, AND USES REMARK MANIPULATION OF =NFILEA= AND =NFILEB= IS NECESSARY. LOADAT I4B3D 1 1 ATOM S .1210 .1690 .3010 2.1 .001 .001 .001 ATOM O 1 -.005 .000 .250 2.8 .002 ATOM O 2 .3750 .0000 .2500 2.8 ATOM C .258 .258 .258 3.0 .005 .005 .005 END REMARK =NFILEA= AND =NFILEB= ARE AGAIN EXCHANGED. CONSEQUENTLY, THE REMARK =FC= PROGRAM WILL USE UNIT 8 FOR =NFILEA= AND UNIT 9 FOR REMARK =NFILEB=. FC I4B3D 1 1 END REMARK =NFILEA= AND =NFILEB= ARE AGAIN EXCHANGED. FOURR I4B3D 4 100. GRID I4B3D 30 30 30 LAYOUT I4B3D 3 3 1 3 4 1 3 8 1 123 30 2 END REMARK A =FINISH= CARD IS ALWAYS THE LAST DATA CARD IN A DECK. IF REMARK ANOTHER JOB (NOT RELATED TO THIS JOB) IS TO BE RUN NOW THE REMARK =FINISH= CARD IS REPLACED BY A =RESTART= CARD. FINISH
RESTART REMARK REMARK ******************** REMARK * * REMARK * EXAMPLE DECK 2 * REMARK * * REMARK ******************** REMARK REMARK THIS SAMPLE DATA DECK WILL ILLUSTRATE A SIMOPLE PROGRAM SEQUENCE REMARK WHERE A =FILES= CARD IS NECESSARY. TITLE BODY CENTERED ACENTRIC CUBIC TEST CASE 1 OCT 1968 I 4BAR 3 D FILES 8 9 10 11 12 13 14 15 DATRDN I4B3D CELL I4B3D 11.000 11.000 11.000 .0 .0 .0 1440. FORMGN S FORMGN O FORMGN C LATICE A I SYMTRY X,Y,Z SYMTRY Z,X,Y SYMTRY Y,Z,X SYMTRY 1/2+X,1/2-Y,-Z SYMTRY 1/2+Z,1/2-X,-Y SYMTRY 1/2+Y,1/2-Z,-X SYMTRY -X,1/2+Y,1/2-Z SYMTRY -Z,1/2+X,1/2-Y SYMTRY -Y,1/2+Z,1/2-X SYMTRY 1/2-X,-Y,1/2+Z SYMTRY 1/2-Z,-X,1/2+Y SYMTRY 1/2-Y,-Z,1/2+X SYMTRY 1/4+X,1/4+Z,1/4+Y SYMTRY 1/4+Y,1/4+X,1/4+Z SYMTRY 1/4+Z,1/4+Y,1/4+X SYMTRY 3/4+X,1/4-Z,3/4-Y SYMTRY 3/4+Y,1/4-X,3/4-Z SYMTRY 3/4+Z,1/4-Y,3/4-X SYMTRY 3/4-X,3/4+Z,1/4-Y SYMTRY 3/4-Y,3/4+X,1/4-Z SYMTRY 3/4-Z,3/4+Y,1/4-X SYMTRY 1/4-X,3/4-Z,3/4+Y SYMTRY 1/4-Y,3/4-X,3/4+Z SYMTRY 1/4-Z,3/4-Y,3/4+X CONDIT I4B3D 1.5418 1.0 0.0 1 9 2 HKL I4B3D 4 0 0 1 1 12.43 *****INSERT THE REMAINING REFLECTIONS***** END LOADAT I4B3D 1 1 ATOM S .1210 .1690 .3010 2.1 .001 .001 .001 ATOM O 1 -.005 .000 .250 2.8 .002 ATOM O 2 .3750 .0000 .2500 2.8 ATOM C .258 .258 .258 3.0 .005 .005 .005 END CRYLSQ I4B3D 1 1 3 END FOURR I4B3D 4 100. GRID I4B3D 30 30 30 LAYOUT I4B3D 3 3 1 3 4 1 3 8 1 123 30 2 END REMARK THE FOURIER PROGRAM DOES NOT WRITE =NFILEB=, CONSEQUENTLY WE DO REMARK NOT WANT =NFILEA= AND =NFILEB= EXCHANGED. BUT WHICH UNIT DO WE REMARK WANT THE =BUNDLA= PROGRAM TO READ... =DATRDN= WROTE ON UNIT 9, REMARK ==LOADAT= WROTE ON UNIT 8, AND=CRYLSQ= WROTE ON UNIT 9, REMARK =BONDLA= TO TREAT THE =CRYLSQ= RESULTS, THUS WE WANT =NFILEA= REMARK TO BE UNIT 9. FILES 9 8 BONDLA I4B3D 4.5 2.5 END FINISH
RESTART REMARK REMARK ******************** REMARK * * REMARK * EXAMPLE DECK 3 * REMARK * * REMARK ******************** REMARK TITLE SUNDARALINGHAM AND JENSEN / SALICYCLIC ACID/ 1108 TEST OF PHASE REMARK THIS EXAMPLE DECK ILLUSTRATES FEATURES WHICH WERE NOT REMARK ILLUSTRATED IN THE ABOVE EXAMPLES. THE FEATURES ARE, REMARK (1) USE OF SCRATCH FILES. REMARK (2) REFLECTION INFORMATION IN NON-STANDARD FORMAT. REMARK (3) REFLECTION INPUT FROM TAPE. REMARK IN THE PREVIOUS EXAMPLES ONLY =NFILEA= AND =NFILEB= WERE USED. REMARK IN THIS EXAMPLE =PHASE= SCRATCHES ON =NFILEF= AND =NFILEG= REMARK IN ADDITION THE REFLECTIONS ARE TO BE READ ON =NFILEI=. REMARK TO CONSERVE THE NUMBER OF UNITS REQUIRED =NFILEH= AND =NFILEG= REMARK WILL BE ASSIGNED THE SAME VALUE. =NFILEI= WILL BE ASSIGNED TO REMARK THE NORMAL CARD INPUT UNIT WHICH WILL ENABLE THE READING OF REMARK CARDS WHICH DO NOT HAVE EITHER =HKL = OR = = IN THE REMARK FIRST SIX COLUMNS. IT SHOULD BE NOTED THAT ANY UNIT COULD BE REMARK USED FOR =NFILEI =, IF THE REFLECTIONS ARE ON TAPE AS CARD IMAGES REMARK AND IF THE TAPE IS MOUNTED ON =NFILEI=. DATRDN SALY LABEL SUNDARALINGHAM AND JENSEN / SALICYCLIC ACID DATA FOR TEST PURPOSES CELL SALY 11.52 11.21 4.92 0.0 -0.01454 0.0 288.0 CELLSQ SALY .012 .011 .005 0.0 .0005 0.0 FORMGN O FORMGN C FORMGN H LATICE C P SYMTRY X,Y,Z SYMTRY X+1/2,1/2-Y,Z CONDIT SALY 1.5418 1.0 0.0 1 9 2 0 0 1 FORMAT(3(I3,1X),F9.2) REFIN 1 -10 5 4 IH IK IL FR REMARK THE REFLECTION ARE ON =NFILEI= IN THE FOLLOWING FORMAT. REMARK COLUMNS 000000000111111111122222222223 REMARK 123456789012345678901234567890 REMARK REMARK 0, 2, 0, 18.70 REMARK 0, 4, 0, 25.00 REMARK 0, 6, 0, 13.30 REMARK ..................... REMARK -10, 2, 4, 6.90 REMARK -10, 5, 4, 4.90 REMARK END NORMSF SALY 0.65 CELCON O 12 15.999 CELCON C 28 12.01 CELCON H 24 1.008 END SINGEN SALY 1 1.3 TITLE SUNDARALINGHAM AND JENSEN / SALICYCLIC ACID N=80 ORIGIN DEFINED PHASE SALY 15 80 0.75 1.3 5 END FINISH
The X-RAY system is distributed on magnetic tape, and a user wishing to have a copy should write for details to:
Prof. J.M. Stewart, Computer Science Center, University of Maryland, College Park, Maryland, 20/42.
Because of the significant amount of machine time involved in preparing tapes in all the various formats to suit many different machines, the system will not be copied onto a user's own magnetic tape. Instead, a prospective user will be invited to purchase a new tape containing a copy of the system suitable for his own machine at a price which covers the cost of the tape, the computer time spent in its preparation, and the postal charges incurred.
The various formats available will probably change from time to time in the light of experience and in an attempt to keep pace with hardware available from the manufacturers.
Currently, however, the tapes distributed to users contain card images (possibly conveniently blocked together) of:
1. The Fortran statements comprising the system 2. The Write-up Material 3. Test Data Decks
The following list represents the computers on which the X-RAY system has been successfully implemented.
CDC 6600 6400 3600 1604 IBM 7094 360/195 360/75 360/65 360/50 360/40 UNIVAC 1108 Using EXEC 2 or EXEC * XDS SIGMA 7 ICL ATLAS
In order to produce programs which are to be implemented on a large number of computers, one must avoid machine language altogether and make use of a commonly available higher level programming language. Only two languages can currently be considered as such, and for historical reasons, Fortran was chosen for the X-RAY system rather than Algol.
Even though there is now a well defined standard USA FORTRAN IV, it can be very useful if scientists consider most carefully the way in which they write routines which are to be used many times. It would appear that the various computer manufacturers have taken somes pains to frustrate the interchangeability of programs and evade the the spirit of the agreed standards. In addition, as more esoteric Fortran statements are added to the compilers, the programmer has a real curiosity to apply these statements, regardless of their efficiency or generality.
In order to define Pidgin Fortran, a study was made of the various Fortran compilers and monitors (or executives or operating systems) available on the principal computers in the United States. Included were the Univac 1107 and 1108, CDC 1604. 3600, 6100, and 6600, XDS Sigma 5 and Sigma 7, Burroughs 5500. and IBM 7040, 7090, 7094, and the models 40, 50, 65, and 75 of the System /360. In every case, these computers had a Fortran capability. In no case were the Fortran compilers of different manufacturers identical in the statements they would accept, and sometimes even one manufacturer would provide incompatible compilers for his different machines. In audition to the problem of the consistency of the statements, the problem of the efficiency of the machine code generated by any given compiler was also considered.
From this study, we define a subset of Fortran statements as the vocabulary of Pidgin Fortran. This vocabulary is derived not only to be universally acceptable, but moreover to be transparent to the compiler. When programs are to be used for scientific calculations which have to be executed repeatedly, it is desirable to attempt to produce Fortran code which matches the efficiency of machine code. If one uses very general or elegant Fortran statements, the compiler writer is constrained to produce very general machine code. Therefore, Pidgin Fortran requires that the statements made be such that the code compiled will be similar to that which one would write in machine language. The gain in using Pidgin Fortran is then the shortened checkout time, the efficiency of coding, and the many compiler diagnostics and cross checks. The liability is the failure to take advantage of the full power of the Fortran language.
It must be recognized that there is a basic similarity in the command structures of all the machines available in the marketplace today. For example, most have single register indexing so that three dimensional arrays require that the compiler must develop a fairly complex set of commands for the retrieval and storage of triply subscripted variables. Therefore, in coding large well used arrays, it is best to use one dimensional arrays and calculate or set up the correct subscript by means of integer arithmetic statements. The Fortran statements required look much less compact and elegant than when triply dimensioned arrays are used, but three benefits are derived from the use of single subscripts.
Firstly, efficiency and speed are enhanced since only one index register is required and use can be made of pointer tables. Secondly, storage allocation is easily changed to allow for differences in the availability of high speed storage. Thirdly, data can be packed rather than scattered around the store.
The overheads associated with calling sequences are often considerable, especially for subprograms which are called frequently. For this reason the use of arguments is avoided wherever possible and COMMON storage is used for intercommunication.
In Pidgin Fortran, it seems best to observe the Fortran II convention with respect to I, J, K, L, M, and N being initial letters for integer or Hollerith variables. This may seem an anachronism, but the difficulty with the type statement is that the actual purpose of the variables becomes obscure. When a number of people are working to produce a system, it is a help to have a certain stylization in the choice of variable names. In addition, in Pidgin Fortran, one avoids the use of mixed expressions on the right hand side of an arithmetic assignment. That is to say
I=F and F=I are both permitted, but never I=F*J In this case, one would always write I=F*FLOAT(J)
The following definition of Pidgin Fortran is made by comparison with the USA Fortran IV standard. Sections of the standard which are observed are not mentioned unless of special significance, i.e. the following list contains the differences between Pidgin Fortran and the USA standard.
Section of USA Standard |
Pidgin Fortran |
---|---|
3.1 | Note the restricted character set. |
3.2 | Columns 73-80 are used for sequencing (and updating). |
4.2 | The types complex and logical are not used. Double precision is not normally used except as demanded by the machine or the calculation. |
5.1.3.3 | Note the restricted subscript expressions. |
6.2 | Relational expressions (e.g. .LT. .EQ.) are not used. |
6.3 | Logical expressions (.OR. .AND. .NOT.) are not used. |
7.1.1.2 | Logical assignment statements are not used. |
7.1.2.3 | Logical if statement is not used. |
7.1.2.4 | Where possible, arguments are passed to subroutines through COMMON storage. |
7.1.2.7.1 | STOP is used only once in the system. |
7.1.2.7.2 | PAUSE is not used. |
7.1.3 | The system use of READ and WRITE is described below. |
7.1.3.1.1 | An array name is not used to specify all of the elements of an array - implied DO is used instead. |
7.1.3.2 | For the auxiliary I/O statements REWIND, ENDFILE, and BACKSPACE, see below. |
7.1.3.3 | + is not used as carriage control. |
7.2.1.1 | Multiple subscripts are often avoided (see above). |
7.2.1.1.2 | Adjustable dimensions are not used. |
7.2.1.3 | Blank COMMON storage is not used. |
7.2.1.4 | Note that the system relies on a one-to-one correspondence between REAL and INTEGER arrays by use of equivalence. ***** Note this well for machines which use different numbers of words of storage for REAL and INTEGER variables. ****** |
7.2.1.5 | EXTERNAL statements are not used. |
7.2.1.6 | TYPE statements are not used. |
7.2.3.1 | The following are the only field descriptors used: F, E(output only), I, A, H(output only), and X. |
7.2.3.5 | SCALE factors are not used. |
7.2.3.10 | Format specifications in arrays are heavily used. |
8. | Note the absence of both multiple entry point subprograms and of internal subprograms. |
8.1 | Statement functions are not used. |
8.5 | Block data subprograms are not used. |
10.2.5 | Data initialization is not used for variables in COMMON storage. |
All Input/Output is handled through:
READ(UNIT,FMT) LIST and WRITE(UNIT,FMT) LIST
Within the body of the programs, only three different logical units are referenced. these correspond to:
All other input and output operations are placed in special subroutines as:
WRITE(N) READ(N) REWIND N ENDFILE N
BACKSPACE N is never used.
In addition to the Pidgin Fortran statements outlined above, there are three other special features that the system uses:
Depending upon the installation or the manufacturer, these requirements may be simple or complex to implement.
In the case of the re-reading feature, communication among the manufacturers seems non-existent. Univac, for example, features re-read through the:
READ(UNIT,FMT)LIST
command, in which the unit designated is simply a logical unit specifying the buffer of the most recently read card. CDC has a novel feature which is now becoming available from other manufacturers. It is the DECODE statement which implies bypassing the actual physical movement of the logical unit and processing immediately to the decimal to binary or decode operation. The DECODE command and the re-read as used in the Univac sense have a one to one correspondence. IBM for the 360 seems never to have heard of the READ(UNIT,FMT)LIST feature, even though it was implemented on the IBM 7090 computer. The re-read or decode feature is such a powerful command that it should be implemented on all machines. One very sad thing to note is that Univac has now implemented a decode command in their fFORTRAN V which is incompatible with the CDC version.
An alternative ploy can be used in the absence of the re-read facility. This involves writing the input card image onto a scratchpad area, e.g. a disc, immediately after reading. Subsequent re-read statements can then become genuine reads of that card image and must be followed always by a suitable call of the organizational routines in the nucleus to rewind the scratch unit. It should be realized that this is an inferior method due to the increased I/O activity invoked.)
To deal with codes of the magnitude of the X-RAY system, there must be available an overlay scheme - some method which makes it possible to segment programs appropriately. Since there are various ways in which this is achieved on various machines, a large scale calculation must have a very simplified overlay structure. It is clear that the condition of flow, in the IBM sense, must not be violated. or great difficulty will ensue. Therefore, all calls to subroutines which constitute a call for an overlay are made from the resident program (the nucleus). No calls are made between different segments. This means that if overlay is not available, as it is not on some of the CDC machines nor the IBM 7010, one can still use chain in the programming process. The best systems now available permit one to make an absolute load module of all of the overlays and this then gives one a working system that can be loaded and executed at any time.
In summary. an effort has been made to write stylized code that will compile, load, and go readily on all common computers. Certain restrictions of Fortran have bten observed but this is done to enhance execution performance and permit modification and expansion of programs within the system.
Although details of the system structure are of little importance once it is running on a given machine, the following notes should prove to be of assistance to those who undertake its initial implementation. Moreover, they should be considered as fundamental reading for anyone who wishes to add to or modify any of the programs.
The routines themselves are extensively commented and the comments should be read carefully, particularly the glossaries of symbols and the long descriptions given in the nucleus programs.
As mentioned in the preface, the system comprises two distinct groups of programs. notably the nucleus and the diffraction calculations.
The nucleus comprises a set of routines, most of which remain in core throughout the execution of a job (subject to the whims and fancies of the core scheduler of the operating system). These routines provide the means of recognizing operation and program calling cards, taking any necessary action upon them, and providing general file handling capabilities. Thus, all reading and writing and movement of files is done by the nucleus. Furthermore, an attempt has been made to concentrate all machine specificity within the nucleus, and in particular within one routine, NUSY.
The diffraction programs are organized as overlays and called into high speed core only as required. It is these routines which perform the crystallography calculations, leaving all the housekeeping functions to calls of nucleus routines. In point of fact, the diffraction programs could easily be replaced by any other group of programs performing calculations of a completely different nature. There actually exists another system, Kinetics 68 which uses the very same nucleus to organize a series of calculations used in reaction kinetics work.
The X-RAY system adopts a standard method of nomenclature for its routines. Each routine has an entry point, e.g. NUC006, and a corresponding name, i.e. NUSY. The entry points are all either NUCDDD or XRYDDD, where DDD represents three arbitrarily assigned digits. The prefix indicates whether or not they belong to the nucleus. The names used for nucleus programs are all NUMM, where MM is a suitable choice of alphabetic characters. Thus NUSY is the routine in which all system machine specific quantities are set. The principal subroutine of a diffraction program overlay is always named XYMM, e.g. XYBN, the main routine of =BONDLA=. Other subroutines of the overlay are correspondingly named MMNN, such as BNSY, the subroutine of =BONDLA= concerned with symmetry.
The following symbolic representation of the structure of the system should clarify the relationship between the nucleus and other programs. Remember that, each time a new overlay is brought into store, the core occupied by the previous overlay is re-used. (in order to be more easily readable, this diagram exaggerates the space occupied by the nucleus.)
I ALWAYS CORE RESIDENT I ONLY RESIDENT WHEN REQUIRED I / / / / / I / / / / / I.................. / / / / / /I.................. / NUCLEUS/ / I..STORAGE ARRAYS.. / AND / I.. FOR ..---------------------- / SYSTEM / I.. FIRST ..---------------------- / STORAGE / /I.. DIFFRACTION ..-- OVERLAY OF CODE -- ARRAYS / / I.. PROGRAM ..-- FOR DIFFRACTION -- / / / I..................-- PROGRAM 1 -- / / / / / I..................---------------------- / / / / / /I..................---------------------- / / / / / I / / / / / I************* ) Example of / / / / / I** STORAGE ** ) more than / / / / / /I** ARRAYS **............................) one overlay / / / / / I** FOR **........OVERLAY 1 ......... ) of code for / / / / / I*DIFFRACTION*........................... ) a single / / / / / I** PROGRAM **--------------- ) program link / / / / / /I** 2 **- OVERLAY 2 --- ) such as / / / / / I*************--------------- ) =DATRDN= / / / / / I
Each of the overlays (and there may be more than one for any given diffraction program) is called into high speed storage by the nucleus.
The whole point of using an overlay structure is because of the limit of the availability of high speed storage. Moreover, there is no need for say, the =BONDLA= routines to be in store during a Fourier run.
The following is a summary of the functions of the various routines comprising the nucleus.
**** NUCLEUS - a set of subroutines used throughout the X-RAY system
Entry Point | DECKNAME | Description |
---|---|---|
NUC000 | NUCO | Main and sign on routine. This is the main program of the X-RAY system. The system COMMON is initialized by a call to NUSY and then control is turned over to NUCA. Comments within this routine list all of the other subroutines of the system. |
NUC001 | NUCA | Program calling routine. This is tht principal subroutine of the system. It directs the loading of all the overlays and is their principal return. It permits the user to direct the sequence of his job by means of the data input stream. It is interesting to note that control is maintained as long as there are no invalid input card punchings. |
NUC002 | NUIF | Card reading and sifting routine, Itserves to screen all input data, operation. and program calling cards. It loads every card into a buffer and then checks to find the identification in cols 1-6. The routine carries out named operations such as printing remarks and establishing page titles, or else sets an indicator for the calling program to show which type of card was encountered. In the event of the card being unidentifiable, a standard message is printed which might aid the user. It also operates with the error message silenced to check for a match of information on a word by word basis. This subroutine must be used by every other subprogram which reads cards. *****Note well***** it depends absolutely on the availability of a re-read (buffer reading or decoding) facility. |
NUC003 | NUSS | Is used to separate the atom identification from the scattering factor type. |
NUC005 | NULI | Line count and pagination routine. Provides a means to all subprograms of the system to decrement the line count for neat pagination. It also serves to signal any program when a new page is written so that that program can write any necessary subheading. |
NUC006 | NUSY | System Initialization Routine. This routine is called from only two places - one in NUCO and one in NUCA (on encountering a =RESTART= card). It serves to establish correct values for the quantities stored in the named common area /SYS/ to which all the subroutines which read or write files refer. It is important to scan the definitions given and to realize that the quantities set by this routine are the ones which are machine and computer laboratory specific. In general, no execution of the system will be possible unless the quantities in the system common are set properly. |
NUC007 | NURE | File reposition and unload or interlock routine. It constitutes the file handling function rewind, endfile. and unload (interlock, unload). No subroutine of the system except this one may contain these instructions. ****Note well **** this is an absolute prohibition. |
NUC008 | NUTI | Interval time printing routine of the system - requires a machine specific time routine. |
NUC009 | NUON | File initialization routine: (reads and prints) or (reads, prints, and updates) the very first history record of the binary data file. It is utilized by every subprogram which manipulates the crystallographic binary data file. |
NUC010 | NUTC | File record copying routine |
NUC011 | NUTR | File reading routine |
NUC012 | NURF | File writing routine |
NUC013 | NUWU | File record unpacking routine |
The following NUCLEUS programs are actually overlays and not kept in immediate access storage at all times. | ||
NUC501 | NUWU | Write-uo generating routine |
NUC801 | NUTD | File dumping routine: a program to dump or copy the binary data file. |
NUC999 | NUCZ | General diagnostic record |
To be a subroutine of the nucleus programs, a Fortran program must meet the following specifications. The details of which are given in the designated programs.
The preceding synopsis of the organization of the X-RAY system is intended as an introduction to the extensive comments included in the Fortran coding itself.
In order to help users understand the limitations and applications of the X-RAY system, it may be of some use to list the objectives of the system's programmers.
It should be emphasized that these are objectives and that they are not fully realised in the present codes.
Each arbitrary class of crystallographic and accounting data has a place in the file. The assignment of this place is fixed and therefore it is important that the utmost caution be exercised in changing and updating it. One basic tenet, and the most important one, is that no program of the system which copies the file loses any information. It may add some or it may supersede some but it saves and copies all the rest.
In order to facilitate the maintenance of the data file, the system has five subroutines NUC009 to NUC013. NUC009 serves to sign on the reading and writing of a binary data file. NUC010 is to copy specified logical records of a file. NUC011 is to read a record of a file and NUC012 to write one. NUC0013 is for unbuffering packed logical records (e.g., atom parameters. reflections). All heading and writing is done from a labeled common array called IOBUF with label/IO/. This array is IOBMX words long and the first four words serve to characterize the record. Records in the file are always less than IOBMX words long because of the limitation on lIOBUF. Provision has been made, however, for any number of physical records to form a logical record. The main burden in any program is the reforming of long arrays from IOBUF into their proper place in storage. IOBUF (1) to (4> are equivalent to IOBUF1 to IOBUF4 for ease of programming of IO statements. These words are used for control and have the following significance.
READ(N) IOBUF1,(IOBUF(J),J=2,IOBUF1)while in NUC012 it says:
WRITE(N) (IOBUF(J),J=1,IOBUF1)
Logical Record Contents 1 History Record 2 Not defined 3 Cell constants 4 Symmetry information 5 Not defined 6 Scattering and dispersion factors, cell constants, and atomic density information 7 Scale factors and overall temperature factor 8 Absorption information, crystal size and orientation 9 Miscellaneous information for keying programs 10 Atomic parameters 11 Standard deviations of atomic parameters 12 Refinement constraints 13 Not defined 14 Not defined 15 Reflection information 16 Not defined 17 Fourier output 18 Not defined 19 Not defined 20 =SINGEN= miscellaneous information 21 Normalized structure factors and related information (to be phased) 22 Triple products 23 Starting phases for =TANGEN= written by =SOLVE= link of =APHASE= 24 Averages (=APHASE= scratch file) 25 End-of-file signal (MAXREC, set in NUSY)
Logical Record 1 History Words 5 to 6 Compound identification code (A5 A2,A4) 7 to 22 File label. This can be initialized or replaced by programs =DATRDN= and =LOADAT= 23 to end Names of all programs which have updated the binary data file. This history is updated by NUC009 Logical Record 2 Dummy Record Logical Record 3 Cell Constants Words 5 Metric tensor element 1,1 A**2 6 Metric tensor element 1,2 A*B*COS(GAMMA) 7 Metric tensor element 1,3 A*C*COS(BETA) 8 Metric tensor element 2,1 A*B*COS(GAMMA) 9 Metric tensor element 2,2 B**2 10 Metric tensor element 2,3 B*C*COS(ALPHA) 11 Metric tensor element 3,1 A*C*COS(BETA) 12 Metric tensor element 3,2 B*C*COS(ALPHA) 13 Metric tensor element 3,3 C**2 14-22 The reciprocal metric tensor 23 A 24 B 25 C 26 COS(ALPHA) 27 COS(BETA) 28 COS(GAMMA) 29 A* 30 B* 31 C* 32 COS(ALPHA*) 33 COS(BETA*) 34 COS(GAMMA*) 35-43 Transformation matrix from fractional coordinates to orthogonal angstrom coordinates 44-52 Transformation matrix from Miller indices to orthogonal pseudo-Miller indices 53 Not used 54 Cell volume 55 Reciprocal cell volume 56-61 Coefficients used in the calculation of the square of SIN(THETA)/LAMBDA from any H, K, L C1*H*H+C2*K*K+C3*L*L +C4*H*K=C5*H*L+C6*K*L 62 SIN(ALPHA) 63 SIN(BETA) 64 SIN(GAMMA) 65 SIN(ALPHA*) 66 SIN(BETA*) 67 SIN(GAMMA*) 68 ALPHA in degrees 69 BETA in degrees 70 GAMMA in degrees 71 ALPHA* in reciprocal degrees 72 BETA* in reciprocal degrees 73 GAMMA* in reciprocal degrees 74-76 Standard deviation in A, B, and C 77-79 Standard deviation in COS(ALPHA), COS(BETA) and COS(GAMMA) Logical Record 4 Symmetry Information Words Contents 5 Integer code to indicate lattice type Lattice type P I R F A B C Acentric 1 2 3 4 5 6 7 Centric 8 9 10 11 12 13 14 6 (0)/(1) for (Acentric)/(Centric) 7 Number of =SYMTRY= cards supplied at =DATRDN= time hence number of rotation matrices 8 Number of rotation matrices of identical pattern of zeros 9 Factor to multiply A and B to place FC on scale of Int. Tables Vol I. Accounts for multiplicity due to the lattice type given in Word 5 Relative Words IP+1-IP+32 Symmetry operations as rotation matrices and translation vectors in order R11,R12,R13,R21,R22,R23,R31,R32,R33, T1,T2,T3 There may be more than one physical record in this logical record. IP+1 is 10 for the first entry of the first physical record. IP+1 is 5 for first entries of subsequent physical records. Logical Record 5 Dummy record Logical Record 6 Scattering and Dispersion Factors, Cell Contents and Atom Identity Information Words Contents 5 F(000) 6 E(000) 7 The number of different atom types in this record Relative Scattering and Dispersion Factor Block Words (Variable Length, repeated for each Atom Type) IP+1 Atom type (A4) IP+2 Unused IP+3 Number entries in the scattering factor table for this atom type(N) IP+4 Number of atoms for given scattering curve IP+5 Atomic weight for given scattering curve IP+6 (0)/(1) Templeton dispersion information (not present)/(present) in file for this atom type IP+7 Real part of Templeton dispersion factor IP+8 Imaginary part of Templeton dispersion factor IP+9 -IP+8+N SIN(THETA)/LAMBDA entries IP+9+N-IP+8+2N Actual scattering factors at values of SIN(THETA)/LAMBDA given in N words preceding. There may be more than one physical record in this logical record. In the first physical record the initial value of IP+1 is 8 whereas in subsequent physical records the vale is 5. The structure of this record is an anachronism, but we don't hate it enough to make all the changes required to fix it. Logical Record 7 Scale Factor and Overall Temperature Factor Words Contents 5 Overall temperature factor 6 Number of scale factors (N) 7 to 6+N F RELATIVE scale factors Logical Record 8 Dummy Record Logical Record 9 Miscellaneous Information for Keying Programs Words Contents 5 Not used 6-8 Number of grid positions in the X, Y, and Z directions 9-11 Maximum magnitudes of H, K, and L 12 Not used 13-29 Calculation codes (eventually to be abandoned) 30 Number of Fourier points in the X direction 31 Fourier origin value in the X direction 32 Fourier increment along the X direction 33 Number of Fourier points in the Y direction 34 Fourier origin value in the Y direction 35 Fourier increment along the Y direction 36 Number of Fourier points in the Z direction 37 Fourier origin value in the X direction 38 Fourier increment along the Z direction 39-41 Fourier scan order indicators for X, Y, and Z (1=FIRST,2=Second, 3=Third) 42 Number of points per line of Fourier output 43 Fourier space control (used to override pagination) 44 Number of printer character positions per Fourier grid column, i.e. maximum number of digits for a density point 45 Fourier scale in inches per angstrom 46-47 Fourier mapping limits 48-50 H, K, L, sorting order: (1) Minor (2) Intermediate (3) Major 51 Minimum value of SIN(THETA)/LAMBDA 52 Maximum value of SIN(THETA)/LAMBDA 53 Isotropic extinction parameter 54-59 Reserved for anisotropic extinction parameters Logical Record 10 Blocked Atom Parameters Recor( Block size = 19 words) Words Contents IP+1-IP+2 Atom identification (A4+A2) IP+3 Fractional X parameter IP+4 Fractional Y parameter IP+5 Fractional Z parameter IP+6 Scattering factor type pointer {an integer giving the relative position of the scattering factor in a reflection record) IP+7 Temperature factor type (0 = overall, 1 = individual isotropic, 2 = individual anisotropic) IP+8 Isotropic temperature factor (stored as B) IP+9-IP+14 Anisotropic temperature factor (stored as BETAs). They are ordered as follows: 11, 22, 33, 12, 13, 23 IP+15 Population parameter (partial site occupancy) IP+16 Not used IP+17 Atom multiplicity (unity unless the atom is in a special position) IP+18 Not used IP+19 Not used Logical Record 11 Blocked Standard Deviation of Atom Parameters Record (block size = 19 words). The structure and contents are the same as in logical record 10 with the exception that the atom parameters are replaced by their standard deviations. Logical Record 12 Blocked Constraint Record The structure and contents are the same as in the IA array of =CRYLSQ= between MARK2 and ISTOP2, that is, the directors from the =NOREF= and =CONSTR= card as translated by L1RD or generated by PLCK. The blocks are 10 items long and consist of the following quantities: Words (l)+(2) NAME1 and NAME2 of subject atom (3) type of constraint (an integer) (4)+(5) NAME1 and NAME2 of reference atom (6) parameter number of subject atom (P1) (7) factor by which reference parameter must be multiplied(F) (8) parameter number of reference atom (P2) (9) factor to which (P2)*(F) is added (S) (10) multiplicity Constraint equation: (P1) = (F)*(P2) + S Logical Record 13 Dummy Record Logical Record 14 Dummy Record Logical Record 15 Blocked Reflection Information (the block size is dependent upon Relative the space group and the number of atom types) Words Contents IP+1-IP+3 Miller indices H, K, and L IP+4 Intensity (I) IP+5 Reserved for the serial number of the reflection IP+6 Scale factor group IP+7 The number of times the reflection was observed IP+8 Absorption correction (1/Transmission coefficient) IP+9 JCODE (Reflection classification code) 1 = Observed 2 = LESS-THAN 3 = Observed reflection which suffers from extinction 4 = Ignored reflection 5 = Space group extinction IP+10 SIN(THETA)/LAMBDA IP+11 1/LP IP+12 Magnitude of F RELATIVE IP+13 ESD of F IP+14 Weight for least squares IP+15 Magnitude of F CALCULATED IP+16 A IP+17 B IP+18 E (linear anisotropic normalized structure factor)/E(3)/ IP+19 EPSILON in floating point IP+20 Estimated PHASE (in cycles) IP+21 TBAR Average path length in XYTAL IP+22 DELTXT Larson DELTA CF. RDRR.627 IP+23 Not used IP+24 Partial contribution to A IP+25 Partial contribution to B IP+26 Not used IP+27 Not used IP+28 Standard deviation of the intensity IP+29 Not used IP+30 Multicode*134217728 +(EPSILON-1)*16777216 +/H/*131072 + /K/*1024 + /L/*8 Sign director code (see note) The Multiplicity codes are MULTICODE MULTIPLICITY 0 1 1 2 2 3 3 4 4 6 5 8 6 12 7 24 IP+31 Linear isotropic normalized structure factor /E(1)/ IP+32 Linear isotropic normalized structure factor /E(2)/ IP+33 Linear isotropic normalized structure factor /E(3)/ IP+34 Linear isotropic normalized structure factor /E(4)/ IP+35 Not used IP+36 Not used IP+37-IP+N+36 Interpolated scattering factor entries for each atom type, where N is the number of scattering factor types. They are stored in the same order as they appear in logical record 6. IP+N+37-END Symmetry directors (See Note) ***Note**** The format of the symmetry directors is as follows: The symmetry directors are grouped according to the absolute values of the Miller indices. In most cases, there is only one group. The first packed word in a group contains the magnitudes of the Miller indices along wjth the number of related symmetry operations (ICOUNT). In Fortran, packing is accompanied by: ICOUNT + 128*IH + 16384*IK + 2097152*IL Subsequent words of the group contain packed sign and translation directors. Four pairs of directors can be packed per word using powers of eight as the multiplication factors. SIGN DIRECTORS TRANSLATION DIRECTORS 0 +++ 0 0.00000000 1 -++ 1 0.16666667 2 +-+ 2 0.25000000 3 ++- 3 0.33333333 4 --- 4 0.50000000 5 +-- 5 0.66666667 6 -+- 6 0.75000000 7 --+ 7 0.83333333 The last symmetry director word is the reflection multiplicity which is the number of symmetrically equivalent uniquely observable reflections. The reflection multiplicity is negated so as to serve as an end flag. Logical Record 16 Dummy Record Logical Record 17 Dummy Record Logical Record 18 Dummy Record Logical Record 19 Dummy Record Logical Record 20 =SINGEN= Miscellaneous Information Words Contents 5 Minimum E value used in =SINGEN= 6 Number of scattering factors in BDF (NUMSF) 7 Normalized structure factors used in =SINGEN= 1 = Linear isotropic 2 = Non-linear isotropic 3 = Linear anisotropic 4 = Non-linear anisotropic 8 Lattice type (See record 4) 9 Acentric/Centric (see Record 4)(0,1) 10 Probability factor = (2*SIG3/SIG2**1.5) 11 Number of parent reflections used in =SINGEN= search 12 Total number of reflections used in =SINGEN= search 13-15 HKL to H1H2H3 encode 16-18 H1H2H3 to HKL decode 19-21 Max values of /H1/, /H2/, /H3/ 22-24 Structure invariant moduli OMEGA1, OMEGA2, OMEGA3 25-33 Structure invariant vectors V11, V12, V13, ... , V33 34-42 Primitive transformation matrix M11, M12, M13, M21,... M33 43-45 Spare Logical Record 21 Blocked Normalized Structure Factors in descending order of E and related information (Block size = two words) Words Contents IP+1 Packed word containing IABS(H)*10000000 + IABS(K)*100000 + IABS(L)*1000 + ISIGN*100 + PARITY*10 + PHASE RESTRICTION = ( XX XX XX X X X ) /H/ /K/ /L/ S P R IP+2 E-VALUE The E-VALUE is set negative if the reflection is not a parent reflection (i.e. not supplied by the user) The sign decoder, ISIGN, points to three arrays, which give the signs of H, K, and L ISIGN 1 2 3 4 5 6 7 8 JH +1 -1 +1 +1 -1 +1 -1 -1 JK +1 +1 -1 +1 -1 -1 +1 -1 JL +1 +1 +1 -1 -1 -1 -1 +1 So to extract K, the code would be: K=ISIGN(MOD(IOBUF(IP+1),10000000)/100000),JKSIGN)) The parity codes are: 1 2 3 4 5 6 7 8 GGG GGU GUG GUU UGG UGU UUG UUU The phase restiction codes are (in degrees): R-CODES PHASE RESTRICTION (DEGREES) 0 No restriction 1 0/180 2 30/210 3 45/225 4 60/240 5 90/270 6 120/300 7 135/315 8 150/330 Logical Record 22 Triple Products (Block size = 4 words) Words Contents IP+1 N1 * 100000 + (A*10.)* 100 + (PHASE SFIFT CODE)*10 + (PHI2 PHI3 SIGN CODE) = ( XXXX XXX X X ) N1 A PHASE PHI1PHI2 SHIFT SIGN CODE IP+2 N2 * 100000 + (HKL)2 SIGN CODE IN TRIPLET * 10000 + (HKL)2 TRANSFORM CODE * 1000 + PSI VALUE from =APHASE= in degrees = ( XXXX X X XXX ) N2 HKL2 HKL2 PSI SIGN TRANSF CODE CODE IP+3 N3 where Nl, N2, N3 = symbolic phase numbers in triplet. The phase shift code, PHI2PHI3 sign code, (HKL)2 sign code, and (HKL)2 transform code are described below. PHASE SHIFT CODE CODE PHASE SHIFT (DEGREES) 1 0 2 60 3 90 4 120 5 180 6 240 7 270 8 300 PHI2PHI3 SIGN CODE CODE 1 2 3 4 SIGN OF PHI2 + + - - SIGN OF PHI3 + - + - (HKL)2 SIGN CODE CODE 1 2 3 4 5 6 7 8 SIGN OF H + - + + - + - - SIGN OF K + + - + - - + - SIGN OF L + + + - - - - + and (HKL)2 TRANSFORM CODE T - CODE As defined by data reduction order of rotation matrices 0 PARENT REFLECTION 1 FIRST TRANSFORMATION 2 SECOND TRANSFORMATION . . . . 5 FIFTH TRANSFORMATION Logical Record 23 Starting Phases for =TANGEN= written by =SOLVE= link of =APHASE= Words Contents IP+1 Phase number N of reflection in E-List IP+2 PHI numeric phase in degrees (POS MODULO 360) IP+3 Code for fixing phase for O.D.R.'s) Logical Record 24 Averages (=APHASE= Scratch file) Words Contents IP+1-3 N1, N2, N3 IP+4-6 H1, K1, L1 IP+7-9 H2, K2, L2 IP+10-12 H3, K3, L3 IP+13-15 Phase restriction codes R1, R2, R3 IP+16-18 Packed words of asymmetric data (+ /H/ /K/ /L/ S P R) IP+19-21 Spare IP+22 PHI2PHI3 sign code IP+23 Total phase shift in degrees IP+24 Restricted phase code of the structure invariant IP+25 A = (PFAC*E1*E2*E3)*2 IP+26 Sequence numbers of next type 2 triplet with common H3K3L3 (None = 0, Type= -1) IP+27 Index of group in which averages were made * IP+28 Number of (E**2 - 1) values contributing to the average D * IP+29 Number of (E**2 - 1) values contributing to the average S * IP+30 Average D * IP+31 Average S * IP+32 COSINE PSI = M(D-KS) ** IP+33 Normalized PSI values in degrees (0 - 180) ** IP+34 PSI weight (takes into account A, R, and COS PHI) Negative if outside cutoff ** IP+35-40 Spare * Added during averaging (COPY 1) ** Added during normalization of PSI (COPY 2) Logical Record 25 Dummy Record which is used as an End-Of-File mark for the Binary Data File
REPORT OF SUSPECTED ERRORS -------------------------- DATE........................... Information Required Error Report Sheet for Program ................. From .................................... .................................... .................................... Please return to: J.M. Stewart Computer Science Center University of Maryland College Park MU 20742 USA Computer: ........................... Compiler: ........................... Operating System: ................... Version of X-RAY System: ............ Update of X-RAY System: ............. Subroutine in which Fault occurred if known.............. Decription of error.................. ................................................................. ................................................................. ................................................................. ................................................................. User's proposed correction, if thought through .................. ................................................................. ................................................................. ................................................................. If necessary to aid us, please attach............................ List or Deck of Input Cards List of Output Results Cell Data Page from DATRDN Symmetry Data Summary Page from DATRDN Atom Parameters if known