====================================================================== XX XX XXXXXXX XX XX XXXXXXX XXXXXXX XX XX XX XXX XX XX XX XX XX XX XX XX XX XXXX XX XX XXXX XX XX XX XX XX XX XX XX XX XX XX XX X XX XXXX XX XX XXXXXXX XXXX XX XX XXXX XX XXXX XX XX X XX XX XX XXXXXXXX XX XX XX XXX XX XX XX X X XX XX XX XX XX XX XX XX XX XX XXXXXXX XX XX XX XXXXXXX XX XX XX XX ====================================================================== PATTERN DECOMPOSITION PROGRAM VERSION 13 25 APRIL 1985 THE PROGRAM PEAK WAS DEVELOPED BY: E.J.SONNEVELD AND J.W.VISSER , TECHNISCH PHYSISCHE DIENST TNO-TH , P.O. BOX 155 , DELFT, THE NETHERLANDS. The program is described in a publication in the Journal of Applied Crystallography ( J.Appl.Cryst.(1975) 8 ,p. 1 - 7 ) This work was partly sponsored by the Joint Comittee on Powder Diffraction Standards , Swarthmore , Pennsylvania 19081 , USA. ====================================================================== This program has passed through several versions and has been operated succesfully on a large number of problems. It is possible, however, that under some circumstances with a particular set of data or when used with a particular computer system, erroneous results will be obtained. The authors, the Technisch Physische Dienst tno-th, and the Joint Committee on Powder Diffraction Standards therefore take no responsibilities whatsoever for the correctness of the program in all respects. It would be appreciated if any discrepancies in the program are brought to the attention of the authors for improvements in later versions. This program is not for sale, it may be obtained free from the authors. ---------------------------------------------------------------------- The purpose of the program PEAK is to determine Bragg angles and intensities of the diffraction lines in a powder pattern, as well as other data of interest (half width, background etc.) The program consists of two parts : - 1st part : determination of positions,intensities etc. of the diffraction lines. these data are not yet corrected for systematic errors. - 2nd part : correction of the positions of the lines for sample displacement,and/or film shrinkage etc. It is possible to compare several patterns. ( see comments in this 2nd part ). ---------------------------------------------------------------------- This is the first part of the program PEAK. ---------------------------------------------------------------------- If you are not really interested in the introduction to the program you can skip the rest until about line 480. However, it is much better to read the whole introduction at least once. Diffractometer data as well as Guinier film data are appropriate as input to the program. This program was originally developed for a Guinier pattern. Traces of this origin are still visible here and there. (A Guinier pattern starts with a bit of clear film, then you have the focal line, then another bit of clear film, then a black part, caused by inelastic scattering of the monochromator, and then the pattern starts.) The data on which this first part will work must be intensity data from a powder pattern, taken a constant distance apart. This step width should be abt. 0.005-0.05 degrees twotheta, depending on the *fwhm* (full width at half the maximum intensity) of the powder lines. If excessive line broadening is absent, a stepwidth of 0.01 degrees twotheta is appropriate. ----------------------------------------------------------------- - WARNING: the program cannot store more than 9000 data. - ----------------------------------------------------------------- The data are assumed to be on an intensity scale from 0. - 100. If your data vary within a different range, multiply them with the suitable factor , to get them in the range 0.- 100. A reference line - the focal line is very appropriate - is assumed to be in the first 150 data. In these 150 values the reference line should be outstanding in height and be easily recognizable. It is used to bring the data on an absolute twotheta scale. The exact twotheta value of the reference line should therefore be known. It is input as *reflin* ,the default is 0.00, the twotheta for a focal line. ====================================================================== REQUIREMENTS FOR THE DATA The organisation of the program necessitates the following arrangement of your data: 1. A block of data,terminated by datapoint iskip1, containing the reference line, but no other relevant information. 2. A block of data that will not be processed by the program. Begin and end of this part are given by iskip1 and iskip2. Iskip1 and iskip2 could be 101 and 102 resp. when you do not have any non-relevant data or 110 and 2348 resp. when you want to skip a large part of your data. 3. The intensity data, containing the relevant information. In order to meet these requirements, you should either start your scan by measurement of the primary beam (after suitable attenuation) or measure a reference line by measuring some intensity (preferably 100) at a known position, whose twotheta value can then be entered with the parameter reflin , (e.g. an internal standard line) or you simulate a reference line by adding it to the data when they are stored. This last operation could be carried out as follows: DIMENSION EXTRA(150),NREF(11) DATA NREF /2,3,4,6,10,15,28,50,80,100,111/ DO 10 I=1,150 10 EXTRA(I)=.0 DO 20 I=1,11 EXTRA(40+I)=FLOAT( NREF(I) ) 20 EXTRA(62-I)=FLOAT( NREF(I) ) If you add these data in front of your observed data, you will have a very good reference line at position 51, exactly 100 positions in front of your first observed data. If you now enter the exact twotheta value of your first observation minus 100* your stepwidth as *reflin* in the parameter list, you should be in good shape. In this case you could set iskip1 and iskip2 at 100 and 150 respectively. (Starting from version 11, the subroutine transd will take care of all this. See below). ====================================================================== If you have diffractometer data, you must normalise them in such a way, that they do not exceed 120 (normalise to 100 for strongest) furthermore, you must enter the parameter idiffr=1 you can drop the parameters gamma, fm, laag, ialfa2 . ====================================================================== The data are assumed to be stored in the following way : 1. In a separate program (either linked to the program peak or working in a separate software step) you must declare a real array obs of 9000 locations, and an array name of 80 locations. The array name can be filled with up to 80 symbols of your own choice. We number the blocks of 1000 locations in array obs in the following way : obs(1)........obs(1000) - block 1 obs(1001).....obs(2000) - block 2 ................................ obs(8001).....obs(9000) - block 9 The array obs has to be filled as follows: obs (2),obs (3),obs (4)......obs (i) - intensity data Let the total number of data be *max* and let the last data be in block n, now the following locations have to be filled also : obs(max+1),obs(max+2)........obs (n*1000-1) - .0 obs(1) and obs(n*1000) - the value of max, converted to real. Finally, fill up the rest of the array, up to 9000, with the value 0. 2. The arrays name and obs have to be written formatted on disk as follows : WRITE(M,1)NAME WRITE(M,2)OBS where m is representing the output device and 1 FORMAT(80A1) 2 FORMAT(13F6.1) The routine start will read again the stored data from disk as follows READ(INOUT,1) NAME READ(INOUT,2) FUNC1 Inout is the number of the device on which the data were stored. In the program inout is set at 4. ********************************************************************** * * * Included in the subroutines are transd and tstdat. * * The routine transd will transform your input data to meet all the * * requirements described before. * * The routine tstdat will transform the test data as provided, to * * meet all the requirements described before. * * * ********************************************************************** Both routines will store the transformed data (e.g. on disk) to be read again by the routine start. You can save a lot of memory usage (ca 18000 words) if you make 2 different steps of : - 1 - transformation of data by transd or tstdat and storage on file inout. - 2 - reduction of transformed data by peak. All operations on the data are applied on a relative position axis. The array index of the array func1 (initial storage of the observed intensity data) is used as a position axis. Finally, the routine *posabs* puts the positions of the diffraction lines on an absolute twotheta scale, using the step width and the twotheta value of the reference line. The final results - twotheta values,intensities and background values (at the positions of the diffraction lines ) -are printed out. They are also written on a data set with the reference number *npunch*. In the program, npunch is set at 3. These data can be the input of the second software deck, in order to obtain twotheta values corrected for film shrinkage and other systematic errors. ---------------------------------------------------------------------- Structure of the first part of the program PEAK ------- ---------- | | <=====> | timer | | | ---------- ---------- specially | | <===========================> | transd | diffractometer | | ---------- data. | | ---------- | | <=====> | start | | | ---------- | | | | ---------- | | ===> | calsv *| | | ---------- | ---------- | m | <=====> | smooth | <==| | | ---------- | ---------- ---------- | | ===> | error | <=====> | calsv *| | | ---------- ---------- | | | | ---------- ---------- | | <=====> | bckgr3 | <=====> | sample | | | ---------- ---------- | | | | | | ---------- | | <=====> | noise | | | ---------- | | | | | | ---------- | | <=====> | minbck | | a | ---------- | | | | | | ---------- | | <=====> | plotbg | | | ---------- | | | | | | ---------- ---------- | | <=====> | detpg | ====>| subgrp | | | ---------- | ---------- | i | | | | | ---------- ---------- | | ---------- ===> | knot | | minv | | | <=====> | pkdet | <==| ---------- ---------- | | ---------- | | | | | ---------- ---------- | | ===> | hwidth | <=====> | height | | | | ---------- ---------- | | | | | | | ---------- ---------- | | ===> | extrem | | array | | n | ---------- ---------- ---------- | | <=====> | bgnew | | | ---------- ---------- | | ===> | timer | | | | ---------- | | | | | ---------- | ---------- ---------- | | <=====> | peakft | <=====> | simplx | <=====> | cprofl | | | ---------- | ---------- ---------- | | | | | | ---------- | | ===> | postdt | | | | ---------- | | ===> | smalpg | | | | ---------- | | ===> | graph | | | | ---------- | | ===> | store | | | ---------- | | | | | | ---------- | | <=====> | posabs | ------- ---------- ---------------------------------------------------------------------- Description of the common blocks ******************************** cmmn1-max - number of stored data in func1 -l1,l2 - beginning and end of the black part in the intensity signal (which will be ignored). the array func1 is equivalenced with the arrays func 23 from 1 to 600 arcs ..... from 601 to 800 spy from 801 to 920 sumcs ..... from 921 to 960 func7 from 1001 to 2000 func12 .... from 2001 to 8000 detek from 8001 to 9000 calc ..... from 8001 to 8500 calc2 from 8501 to 9000 -func1 - array of measured intensity data -func23(1,n) - refined position of peak n of the pattern -func23(2,n) - refined intensity of peak n of the pattern -func23(3,n) - value of the background at the place of peak n of the pattern -arcs(n) - integrated intensity of peak n of the pattern (after refinement) -spy - profile parameters to be refined -sumcs(n) - integrated intensity of peak n of a peakgroup after refinement -func7(1,n) - beginning of peak group n -func7(2,n) - end of peakgroup n -func7(3,n) - area of peakgroup n -func7(4,n) - maximum value of peak group n -func7(5,n) - number of peaks in peak group n -func12(1,n,m) - estimated position of peak n of peak group m -func12(2,n,m) - estimated intensity of peak n of peak group m -detek - used for storage of the 2nd derivative of the signal (see routine pkdet) -calc - used for storage of the calculated intensity data (see routine peakft) -calc2 - ibid. cmmn2-max2 - number of stored data in func2 -m1,m2 - beginning and end of the black part in the smoothed signal. the array func2 is equivalenced with the array func6 -func2 - array of(smoothed)intensity data -func6 - array of the difference signal data cmmn3-nti - number of truncation intervals -ifunc3 - beginning and end of the truncation intervals -ned - number of error data -erdat - array containing corrected values for error data - detected by subroutine error -idat - positions of these data cmmn4-maxas - number of stored data in func4 -l1as,l2as - beginning and end of the black part in the background -func4 - array of background data cmmn5-nmint - the data are divided in a number (nmint) of blocks of about 500 data. -inter - contains the upper limits of these blocks -sigma - the standard deviations that are valid in these blocks. cmmn6-maxmb - number of stored data in func6 -l1mb,l2mb - beginning and end of the black part in the difference signal cmmn11-func11(1,n) - estimated position of peak n of the peak group -func11(2,n) - estimated intensity of peak n of the peak group -npk - number of peaks in the peak group cmparm-npunch - unit for output. set at 3. -inout - unit for input/output of data. now 4 . -inp - unit for input. now 5. -iout - unit for line printer. now 6. -nout - unit for test output. now 8. used. -name - array containing the name,number etc. of the pattern up to 80 symbols. -npg - number of peak groups, stored in func7 smplx -ncpr - number of parameters that is certainly present -npr - number of parameters -npk - number of peaks in the peak group -iref12 - boolean which indicates if the alfa1/alfa2 ratio will be refined (1-yes,0-no) -nblk - boolean which indicates if the half width is refined. -ipkst - beginning of a peak group -ipken - end of a peak group -ipg - number of considered peak group -cutoff - the points in the range where a signal is larger than cutoff,will not be considered for the refinement. -fr - intensity ratio alfa1/alfa2 -zr - (v2-1)/w**2 , where 2w is the half width. -xsecct - displacement of the back layer profile,with respect to the front layer profile in terms of istap. -alf2 - displacement of the alfa2 reflection with respect to the alfa1 reflection in terms of istap. -spx - array of estimates of the parameters to refine -lin - number of peaks of the pattern (after refinement) The remaining parameters of smplx are explained elsewhere. The main program essentially consists of a number of subroutine calls ---------------------------------------------------------------------- CALL INFORM * * * optional * * * This call will give you a description of the subroutine parameters, to help you initialize them in a proper way. CALL TSTDAT * * * optional * * * The subroutine TSTDAT can be used to transform the test data as provided, to meet the requirements of PEAK. The test data must be available on file inp. Transformed data are written on file inout. CALL TRANSD(FIRSTT,STEPW,ISKIP1,ISKIP2,REFLIN) * * * optional * * The routine TRANSD can be used to transform your data to meet the requirements described before. it converts the format, adds a reference line and normalizes the intensities (largest value=100.) CALL TIMER * * * optional * * * This call can be placed anywhere in the main program and gives you the cpu time used. CALL START(ISKIP1,ISKIP2,IBROAD,MAXPNT,SIGTR) Subroutine START reads the intensity data into the central memory. CALL SMOOTH By routine smooth the original signal is smoothed. CALL BCKGR3(NC1,NC2,CURV) Subroutine BCKGR3 determines the background. CALL NOISE(FACSTD,STDMIN) NOISE determines the standard deviation of the noise. CALL MINBCK(IPRNT1) Subroutine MINBCK subtracts the background from the smoothed signal --> difference signal. Iprint=1 gives you all the difference signal data. CALL PLOTBG(IFRSTX,ILSTX) * * * optional * * * PLOTBG gives a plot of the background together with the original signal , from ifrstx up to ilstx. this is an optional call. CALL DETPG(IBROAD,HWBST,HWMIN) Subroutine DETPG detects the peak groups in the difference signal CALL PKDET(LAAG,IBROAD,MAXPK) Subroutine PKDET detects the peaks in the peakgroups READ(4,10)NAME READ(4 20)FUNC2 The intensity data are read again from disc into the central memory CALL MINBCK(IPRNT1) or CALL BGNEW This time MINBCK subtracts the background from the original signal. We call the resulting signal also the difference signal. Iprint=1 gives you again all the data. If you want the most reliable integr. intensities a new background will be defined and subtracted by BGNEW. CALL PEAKFT(IPRNT2,LAAG,IALFA2,GAMMA,REFLIN,HWBST,STEPW,THMON, 2RADIUS,FM,DL0L,RATHWB,SKWPOS,DSTMIN,FRNL,IPGST,FACTPH,IASMRF,SKEW, 3ITERSG) PEAKFT does the refinement of the positions and the intensities of the diffraction lines. Iprint=0 or 1 ,iprint=1 gives graphics of the calculated signal together with the measured data (after subtraction of the background) * * * If you have no alfa-2 contribution in the peak * * * * * * profile,place c's in the 1st column of 9 cards * * * * * * of the routine simplx * * * CALL POSABS(REFLIN,STEPW) Routine POSABS subtracts the position of the reference line from all other positions. all positions are multiplied with the step width (in degrees twotheta) to put all positions on an absolute twotheta scale. Reflin is added to the twotheta values. ====================================================================== INPUT AND OUTPUT ====================================================================== name number use npunch 3 output of final results (twotheta,intensities and background) inout 4 observed data, as transformed by tstdat or transd inout 4 observed data of the pattern, input to program. inp 5 input of parameter list. input of your data-to be transformed by transd, or the testdata - to be transformed by tstdat. iout 6 line printer,also prints final results. nout 8 line printer, used for test output. if you do not need (want) this output, make it a dummy ---------------------------------------------------------------------- Preceding the subroutine calls, all input parameters are initialised. ---------------------------------------------------------------------- stepw - the value of the step width in degrees twotheta ibroad - if the powder pattern exhibits considerable line broadening, then give ibroad the value 2,3,4... (else ibroad=1) (we assume a halfwidt 2w of 8 - 10 steps - at 30 degree twotheta,ibroad is the multiplication factor) hwbst- - together with ibroad you must estimate hwbst which is half the fwhm (full width at half maximum intensity) in steps. with a step width of 0.01 degrees twotheta and no line broadening : hwbst=5.0 steps skew - the value of skew determines the skewness of the peak profile. it is the asymmetry parameter p in a=1 - s*p*(pos i - pos k )**2 / tan(theta k) (Rietveld,H.M. J.Appl.Cryst. 2 (1969) 65-71) maxpnt - all data beyond maxpnt will not be considered. ipgst - all peak groups before ipgst (number of group) are skipped in the refinement stage. hwmin - if the largest intensity value within a peak group < hwmin , the group will be skipped. reflin - the position of the 1st line-which is assumed to be the focal line or a reference line-in degrees twotheta skwpos - if the twotheta value of the line is less than skwpos (default 30.00 degrees twotheta), the profile is considered to be skew. skip part of the pattern ----------- iskip1,iskip2 - see routine start if iskip1=0, the beginning of the black part of the film (which will be skipped in the data reduction) is assumed to be at 50 data points from the reference line (focal line). if iskip2=0, the end of the black part of the film is assumed to be at 400 data points or more from the reference line . --amorphous hump ----------------------- nc1 -nc2- - defines the interval where a slight curvature of the background is present. Do not make it too large, the detection gives better results outside this interval. minimim value of nc1 = 1 minimum value of nc2 = 20 maximum value of nc2 = 9000 curv- - the value of curv depends on the extent of curvature. you can vary it between 0. and 5. --instrument parameters---------------- idiffr - =1, if you have diffractometer data. =0, if you have guinier data. ialfa2 - contribution of alfa-2 in the peak profile ialfa2 is 0 or 1 laag - this is the number of sensitive layers on the film. laag is 1 or 2 frnl - intensity alpha2 / intensity alpha1 (default .50) thmon - the theta value of the monochromator crystal which is used (degrees) radius - the radius of the guinier camera used (mm). fm - the distance monochromator - film in mm gamma - see routine peakft. * * * * if you have diffractometer data, then fm = 0. * * * * and gamma = 0. * * * * do not change the values of thmon and radius * * * * in that case. --wavelength dependent-------------------- dlol - the value of : delta lambda / lambda (lambda alpha2 - lambda alpha1)/ mean lambda --program parameters-------------------- rathwb - if the half width of a peak turns out to be more than rathwb times the expected value, the peak is split in two peaks. maxpk - maximum number of peaks in the peak group. if larger, peak group is divided. maximum value : 8, maxpk=6 is appropriate. dstmin - the difference between 2 peak positions must be larger than : dstmin * halfwidth *0.5 if not, 1 peak is assumed. factph - multiplication factor for peak heights. (to be used in the simplex refinement ) iasmrf - if iasmrf=0 ,skew will not be refined, if iasmrf=1, skew will be refined (usually not to be done !!!) facstd - multiplication factor for calculated standard deviation. stdmin - the value of the standard deviation of the noise - as determined by the routine noise - should not be less than stdmin. itersg - number of subgroup refinement iterations (used in routine simplx) for a normal pattern : itersg = 1 or 2 otherwise : itersg = 2 or 3 be careful : each extra iteration takes a large amount of computing time. sigtr - truncation is assumed if signal exceeds this value. to change these values, you can enter a different value using the namelist param, in the input record : $param nc2=450,laag=2,curv=1.0$ or by editing the PEAKINP.FIX file. ====================================================================== REMARKS: ====================================================================== - NEWPEAK included in the PROSZKI system creates normal and concise output, writes 'optionally' following files ( xi, yi per record) to be used by external graphic procedures. NAME.RAW - original raw data file NAME.OBS - smoothed data minus background NAME.BGR - background data file NAME.CAL - restored data file NAME.DIF - difference data file - Format of NEWPEAK parameters are presented below: (contens of PEAKINP.FIX file) Start reading input parameters: 12 READ(INPFIX,90) BUF WRITE(IDOC,89) BUF READ(BUF,88) PARAM IF (PARAM .EQ. 'BLANK ') THEN GO TO 12 ELSE IF (PARAM .EQ. 'IOPAR ') THEN READ(BUF,91) NPUNCH,INOUT,INP,IOUT,NOUT ELSE IF (PARAM .EQ. 'UNITS ') THEN READ(BUF,109) IRAW,IOBS,ICAL,IDIF,IBGR ELSE IF (PARAM .EQ. 'RUNPR1') THEN READ(BUF,92) STEPW,IBROAD,HWBST,SKEW ELSE IF (PARAM .EQ. 'RUNPR2') THEN READ(BUF,93) MAXPNT,IPGST,HWMIN,REFLIN ELSE IF (PARAM .EQ. 'SKIPPR') THEN READ(BUF,94) SKWPOS,ISKIP1,ISKIP2 ELSE IF (PARAM .EQ. 'AMORPH') THEN READ(BUF,102) CURV,NC1,NC2 ELSE IF (PARAM .EQ. 'INSTRU') THEN READ(BUF,95) IDIFFR,IALFA2,LAAG,FRNL ELSE IF (PARAM .EQ. 'GUINIE') THEN READ(BUF,96) THMON,RADIUS,FM,GAMMA ELSE IF (PARAM .EQ. 'WAVEL ') THEN READ(BUF,97) DLOL,INFO ELSE IF (PARAM .EQ. 'PROGR1') THEN READ(BUF,98) IPRNT1,IPRNT2,MAXPK,IASMRF,ITERSG ELSE IF (PARAM .EQ. 'PROGR2') THEN READ(BUF,99) RATHWB,DSTMIN,FACSTD,STDMIN ELSE IF (PARAM .EQ. 'PROGR3') THEN READ(BUF,100) SIGTR,ISUB,I2DST,I2DEND ELSE WRITE(IDOC,'('' END OF INPUT '')' ) GO TO 999 END IF GO TO 12 999 CONTINUE ---------------------------------------------------------------------- 88 FORMAT(A6) 89 FORMAT(1H ,A80) 90 FORMAT(A80) 91 FORMAT(8X, 5(8X,I2) ) 92 FORMAT(16X,F10.6,10X,I2,8X,F5.1,8X,F5.1) 93 FORMAT(16X,I5,8X,I2,8X,F5.1,8X,F9.3) 94 FORMAT(16X,F7.2, 8X,I4,8X,I4) 95 FORMAT(16X,I2,8X,I2,8X,I2,8X,F8.3) 96 FORMAT(16X,F7.2,8X,F7.2,6X,F7.1,8X,F7.1) 97 FORMAT(16X,F10.5,8X,I2) 98 FORMAT(16X,I2,4(8X,I2) ) 99 FORMAT(16X,F7.2, 3(8X,F5.2) ) 100 FORMAT(16X,F5.1,8X,I2,8X,I5,8X,I5) 102 FORMAT(16X,F7.2, 8X,I4,8X,I4) 109 FORMAT(10X,5I2) ---------------------------------------------------------------------- ====================================================================== XX XX XXXX XXXXX XXXXX XXXXXXXX XXXXXXX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXX XXXXX XXXXX XXXXXXX XX XX XX XX XX XX XX XX XXXX XX XX XX XX XX XX XX XX XX XX XXXX XXXXX XXXXX XXXXXXXX XX XX ====================================================================== --- VERSION 12 --- In case of problems, write or call J.W.Visser, Technisch Physische Dienst, p.o.box 155, Delft, Detherlands. phone 015 - 787004, (788020) or G.G.Johnson jr., Materials Research Lab., Penn. State University, University Park, Penn. 16802, 814-865-1637 or R.Shirley, Chemical Physicsdept., Univ. of Surrey, Guildford, Surrey gu25xh, England. phone 0483-71281 x449/427 This program tries to find the unit cell from the powder pattern. The principles are described in a paper by Visser in the Journal of Applied Crystallography (1969) 2, 89. ====================================================================== Most of the calculations are carried out in terms of q-values, these are (100/d)**2 , where d is the interplanar distance in angstroms. All values in the program are expressed in qu (q-units), unless indicated otherwise. The input of the program is on unit 15, the regular output is on unit 16. The card-images of the input cards are printed on unit 14. A summary of the output (suitable for CRT-terminals, lines < 71 characters) is printed on unit 66 these i/o units can be changed in the main program. The usual input of this program should consist of 1. a title card, containing up to 80 characters 2. a parameter card, which may be completely blank 3. another parameter card. can also be blank. 4. a number of lines cards. The optimum number of lines to be entered is somewhere between 30 and 35. The absolute minimum is 20. There is no maximum, but the program will use only the first 40 lines. However, in some computer systems one cannot generate an input file with completely blank lines, they disappear without a trace. In that case, it is better to enter a zero in the first column of the second and third 'card'. ---------------------------------------------------------------------- The lines should be entered in ascending order of twotheta (=descending order of d) ---------------------------------------------------------------------- They can be entered as 2theta, q- or d- values in the format 8f10.5 you may leave any number of positions on the card blank. This means that you can also enter only one line per card, in any of the positions of 8f10.5 moreover, only the first six lines must be in their correct order. After determining whether these are in ascending (2theta, q) or descending (d) order, the program will sort all lines. If you want to drop a questionable input line, change only its sign (punch a minus). The value will remain readable, both on the card and in the test output. 5. blank card (or a zero in col. 1 if you wish to be more explicit) to finish the input of lines of one problem. Repeat the points 1-4 as many times as problems then 6. A card containing the word -- END -- in the first three columns, to finish the input. The parameter card can contain the following parameters: column format name default meaning 1 a1 man 0 prints these instructions, unless man=9 2 a1 instr 0 prints instructions for special features if instr=1 3 a1 intens 0 reads intensities besides line positions (8(f7.3,a3)) if intens=1 4 i1 nsolmx 4 number of solutions printed out extensively. 5- 6 i2 nsyst(1) 0 orthorhombic system, +1=yes, -1=no, 0=indifferent. 7- 8 i2 nsyst(2) 0 monoclinic system, +1=yes, -1=no, 0=indifferent. 9-10 i2 nsyst(3) 0 triclinic system, +1=yes, -1=no, 0=indifferent. 11-15 f5.2 tol2 3.0 (qu) tolerance(range) on 2-dim. search. 16-20 f5.2 tol3 4.5 (qu) tolerance(range) on 3-dim. search. 21-30 f10.5 wavel 1.5406(A) wavelength 31-32 i2 linco 0 if linco .gt. 0, enter line combinations or zones (4f10.2), end with a blank card, or a card with a zero in the first column 33 i1 lzerck 0 gives a check on zero-errors when lzerck> 0 34 i1 k (enl) 0 gives output of intermediate results, if k.ge. 35-36 i2 nq1 3 nq1 and nq2 determine the numbers of lines to be used in 37-38 i2 nq2 6 combinations for finding zones. 39-40 i2 nz1 6 nz1 and nz2 do the same for finding lattices from zones 41-42 i2 nz2 6 43-44 i2 nr 0 refinement and evaluation only if nr.gt.0 trial lattices required 45-46 i2 indat 5 number of the unit on which to read the line positions 47-48 i2 list 1 prints a list of all calc and obs lines for *list* lattices 49-50 i2 j(test) 0 test output is printed when j.ge.1 51-60 f10.5 wmol 0.0 molecular weight 61-70 f10.5 dobs 0.0 observed density 71-78 f8.4 tolg 6.0 tolerance on the match between calculated and observed two thetas. 79-80 i2 ntst 0 number,indicating where in the main program, test output should start On second card 1-10 f10.4 zercor 0.0 zero correction (deg. twotheta), to be applied to all lines 11-20 f10.1 prntmr 4.0 the minimum figure of merit for a lattice to be printed 21-30 f10.0 prntln 14. the minimum number of indexed lines for a lattice to be printed. ---------------------------------------------------------------------- Instructions for special features **** version 12 ***** ---------------------------------------------------------------------- col 3 **intens** If you want to enter intensities with your line positions you should set intens (col 3) at 1. The line positions and intensities are then read in the format 8(f7.3,a2,1x), which means that the intensities are read as characters. You may enter them as a 2-digit figure but also as vs, w , vw etc. You could also use this to mark only the very weak lines or suspected lines. No calculations are carried out with the intensities. col 4 **nsolmx** Nsolmx is the maximum number of solutions for which a list of (indexed) reflections is printed. The corresponding q-scheme is only printed when intermediate results are given (col. 34) .and. the figure of merit is larger than 4.0. col 5-6, 7-8, 9-10 **nsyst** When you are reasonably sure that the solution must belong to a certain crystal system, you can indicate this in cols 5-10 (3i2). The columns serve the orthorhombic, monoclinic and triclinic system respectively. A zero means that you are indifferent (default case), a +1 indicates that you are pretty sure that the correct solution belongs to this crystal system, a -1 means the opposite. This option works only on the last part of the program and doubles the tolerances there. This is only possible for orthorhombic,monoclinic and triclinic lattices. col 11-15 **tol2** col 16-20 **tol3** The tolerance on the value of r (the trial value of f used in the search for zones, see my paper, eq.4) is given by *tol2*. When you have very good data (0.01 degree twotheta) on a fairly large unit cell,you might lower it to 2.5 or 2.0 . With a small unit cell you might increase it somewhat to say 4.0. Tol3 is the same kind of tolerance, but now on the trial value of d in the search for lattices (see paper, page 91). Its value can be changed in the same way as that of tol2. col 31-32 **linco** Linco enables you to enter your own line combinations or your own zones. When linco is not zero, the program expects cards (after the lines cards+the blank card) and reads these in the format 3f10.2,f10.1 You may enter any number of zones (less than 40) but you must end with a blank card. When you enter only 2 values, the program interprets this as a combination of lines, to be tried for finding zones. When you enter 3 values, the program will treat these as a zone and will evaluate it. If you want to enter a rectangular zone, you must set its third constant at 0.08 , otherwise the program will treat it as a line combination. If you want to ensure that a specified zone will be included in the search for complete lattices, you should also enter a high quality figure (fourth value on the card), punching a single digit in col. 31 assures you of a high quality figure. If the program does not find the solution automatically, it can often be helped by adding zones in this way. Zones which are correct, although having a low quality figure, can sometimes be recognised in the list of intermediate results (k, col.34) by their small area (i.e. large *a* and *b*) and good coverage near the origin (i.e. most of the low angle calculated lines have been matched with observed lines). Zones from oriented specimens or fibres, or from electron diffraction studies, can also be used. N.b. the program will skip the zone-finding part whenever this option is used. Take care to enter enough zones (or line combinations) to let the program continue. col 33 ***lzerck*** You can also ask the program to perform a check on zero errors (col.33). The subroutine gives full particulars. col 43-44 **nr** When you want to enter a number of trial lattices of your own, you can do this by making nr pos. The program will now expect cards with trial lattices after the input of the lines (+blank card). There should be 6 data per card (format 6f10.2), the coefficients a,b,c,d,e and f of q=h*h*a+k*k*b+l*l*c+k*l*d+l*h*e+h*k*f where q=10000/(d*d) (d=interplanar spacing in a) *****You may also enter the trial lattice as a direct lattice with 6 constants in angstroms and (decimal) degrees. The trial lattices are terminated by a card with zero or blank in cols 1-10. col 47-48 **list** For the best solution, the program will produce a list of all observed and calculated lines, sorted on twotheta, unless it would be too long (more than 100 calculated lines). If you want this list for more solutions, you should enter the number that you want in col. 48. You can also suppress this option by making list negative. Default=1 col 71-78 **tolg** Tolg is the tolerance on the fit between observed and calculated lines. It is expressed in hundredths of a degree twotheta, e.g. the default value of 6.0 means that a difference of 0.060 degrees twotheta between calculated and observed lines is just acceptable. Tolg applies to both the zone and lattice searches, and to the lattice refinement. For very accurate data it can be advantageous to lower tolg to 4.0 or 3.5. For inaccurate data it can be increased, but such data is not usually worth processing unless the cell is very small. col 79-80 *ntst** The test output can be limited to the subroutine where you really need it, by entering a parameter for *ntest* in column 80 of the first parameter card. (see subroutine for directions) If you want the test output to continue until the end of the program, you must multiply the desired number by 11 and use columns 79 and 80 of the first parameter card. punch e.g. 88 if the last part of the program gives you trouble. second card ----------- col 01-10 **zercor** **zercor** The program applies this correction to all lines. The correction is applied as it stands, a positive correction is added to the twotheta values of the lines. The correction must be given in degrees twotheta, e.g. -0.052 subtracts 0.052 degrees from the twotheta values of all lines, even if you entered d-values. col 11-20 **prntmr** **prntmr** The program does not print any lattices that have a figure of merit that is below prntmr. The default value is 4.0, which must be considered as an absolute minimum for a lattice that has a chance to improve its performance. col 21-30 **prntln** **prntln** The program does not print any lattices that have less than *prntln* indexed lines. Lattices with such a low number of indexed lines are sometimes a sublattice of the true lattice. A lattice can only be considered as satisfactory when it explains all lines. **NOTE** A useful strategy is to improve the observed data by using lines for which 2 or more orders have been observed. The lowest orders can be replaced by a more accurate value calculated from the higher orders, and sometimes unobserved first or second order lines can be inferred and added to the *observed* pattern. Low order absences in well-established zones can be filled in a similar way. Multiple orders can also be used to check for zero errors in twotheta. See also subroutine zerchk. **************************************************************** * * * Are your input data really the best that can be obtained * * * **************************************************************** Finding the unit cell depends for 95 percent on the quality of the input data. A random error of 0.03 degrees twotheta can usually be tolerated, but a systematic (zero point) error of 0.02 degrees is probably disastrous. Check your input lines against their higher orders. Do not use a Debye-Scherrer camera unless the unit cell to be expected is small. Would you like to solve a Jigsaw puzzle when half the pieces are missing ? ====================================================================== XXXXXXXX XXXXXXX XXXXXXXX XXXXXX XXXXXXX X XX X XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXX XXXXX XX XX XXXXXXX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXX XXXXXX XX XX ====================================================================== TRIAL AND ERROR PROGRAM FOR INDEXING OF UNKNOWN POWDER PATTERNS CUBIC-TETRAGONAL-HEXAGONAL-ORTHORHOMBIC-MONOCLINIC-TRICLINIC SYMM. Version October 1984 If you have any questions about the program, write to the author.. P.-E.Werner Dept. of Structural Chemistry Arrhenius Laboratory University of Stockholm S-106 91 Stockholm, Sweden tel: 08 / 16 23 93 ====================================================================== It is believed, however, that the following documentation should be sufficient for all careful readers. Good luck! R E F E R E N C E S basic principles. ref: Werner,P-E., Z.Krist. 120 (1964) 375-387 (and to be published by Werner,P-E.,Eriksson,L and Westdahl,M) (probably in J. Appl. Crystallogr.) refinement of unit cell. ref: Werner,P-E., Arkiv Kemi 31 (1969) 513-516. figure of merit. ref: de Wolff,P.M., J.Appl.Cryst. 1 (1968)108-113. geometrical ambiguities. ref:Mighell,A.D. and Santoro,A., J.Appl. Cryst. 8 (1975) 372. G E N E R A L C O M M E N T S This is a general trial-and-error indexing program for x-ray diffraction powder patterns.(i.e. all symmetries included). In order to reduce computing times on computers without hardware floating point processors, parts of the program has been written for integer calculations. The parameters given as normal values in the keyword list below should be considered as an important part of the program. They are based on experience from a great number of successful runs on structures confirmed by single crystal data. The parameters vol and cem, however, should be selected for the actual data set and the symmetry tried. ...for a monoclinic trial the parameter mono must be non-zero. ...for a triclinic trial the parameter tric must be 1. Most of the powder patterns used have been obtained by focussing Guinier-Hagg cameras. The photographs have been measured by.. 1. the method described by Hagg,G. Rev.Sci.Instr. 18 (1947) 371 and Westman,S and Magneli,A. Acta. Chem. Scand. 11 (1957) 1587 2. the method described by Malmros,G and Werner,P-E. Acta. Chem. Scand. 27 (1973) 493 3. the filmscanner system scanpi (written by P.-E. Werner for Guinier scanner LS18.) The program has also been tested on a large number of NBS-data (JCPDS-data) The accurate data obtained by NBS (-National Bureau of Standards-) is clearly sufficient for successful powder indexing (in spite of the fact that they are now usually obtained by powder diffractometers) the following citations, however, should be emphasized.... "The paramount importance of resolution for indexing work explains the high success rate for focussing camera data, especially from guinier-hagg instruments, whose resolution can only be described as superb. It is rather less common (and considerably more expen- sive) to obtain as good resolution with diffractometer data." "Powder indexing is not like structure analysis, which works well on good data, and will usually get by on poor data given a little more time and attention. Powder indexing works beautifully on good data, but with poor data it will usually not work at all." ref: Data Accuracy for Powder Indexing. Shirley,R. NBS Spec.Publ. 567 (1980) p.370 and p.362 respectively. WARNING. A zero point error is much more serious than statistical errors of the same magnitude. Sigma(two theta) should be less than 0.02 deg. ******************************************* * DO NOT WASTE COMPUTER TIME ON BAD DATA. * ******************************************* An indexing algorithm cannot be stated rigorously because of the unpredictable distribution of unobserved lines and the errors of measurements. therefore, it is expected that various methods may be useful for various powder patterns. For example, a multitude of non-systematic extinctions may not appreciably affect the power of trial-and-error methods. The least-squares refinement of the unit cell dimensions should normally not be considered as an ultimate one. The main purpose of the program is to find the unit cell. (cf. ref./refinement of unit cell/ given above) A limited number of nonsense cells may be printed on the output list. You should look for max. figure of merit and min. number of unindexed lines. ... WARNING!....You should not accept unindexed lines unless you are able to explain them. On the other hand you should not put in uncertain (doubtful) lines in this program. They may be tested later by any refinement program (ex. program PIRUM. see ref. above) I N P U T D A T A line one. Title any text in col. 2-80 line set two. format(1x,f15.6,10x,a4) sq (=sine square theta) in the field f15.6 and intensity information in the a4 field. The intensity in the a4 field is optional. (it is never used by the indexing program.) It is also possible to use other types of input data in the f15.6 field. see keyword choice below. The sq data must be given in order, starting with the low order lines. Generally the first 20-30 lines should be used. Remaining lines may be used in later final refinements.(program pirum) WARNING...if two (or more) lines within the first 7 are low and high order lines, the high order line(s) should not be put in. they may of course be used in later refinements of the unit cell found. For triclinic trials the 9 first lines should be checked the same way. the reason for this is that the first lines are used to derive trial cells and a high order line does not give any new parameter. Any unit cell found will also index the skipped high order line(s). High order lines above number 7 (or 9 resp.) should be kept in the data set.(see keyword idiv) Stop line for line set two is a blank line (or a negative sq) line set three. General Instructions. All parameters in line set three have preset values. A preset value is denoted 'normal value' below. Any 'normal value' may be changed in the following way: keyword=value, 1. the keywords are listed below 2. you must not forget = 3. the value may be given as integer or real. (free format) 4. you must not forget , (---the comma) You may use arbitrary positions on the lines. All blanks are irrelevant. The number of lines is arbitrary. You may give one or more parameter on each line. Line set three must end with the keyword END* (obs. asterisk) S T R A T E G Y The standard procedure is to start with the high symmetries: cubic, tetragonal, hexagonal and orthorhombic (in one job), next the monoclinic symmetry should be tried. More than one job may be needed. Successively increasing the number of base line sets, and cell volume (see keywords: vol, cem and monoset ) in general triclinic tests should not be needed. (triclinic powder patterns are rare) If the formula weight and density are known, they should be used (see keywords: dens, edens and molw ). The cpu-time needed will then usually be strongly reduced. (unfortunately they are usually not well known and therefore they have not been used very much in our test runs.) Line set three examples: EXAMPLE 1. Next line (except c in col. 1) represents a line set three. END* This is a normal first run. (cubic, tetragonal, hexagonal and orthorhombic symmetries are tried) It may be recommended to try a smaller vol limit even if a solution with acceptable figure of merit has been obtained. Sometimes it is difficult to see the neccessary transformations between a high symmetry unit cell of too large dimensions and the primitive one. EXAMPLE 2. Next two lines (not c in col. 1) is a line set three. ks=0,ths=0,os1=0, cem=20, v o l = 1000 , mono=130, end* This is a typical first monoclinic trial. (see keyword mono) Note that it is irrelevant if you give 'cem=20.0' or 'cem=20' etc. EXAMPLE 3. next....etc. ks=0,ths=0,os1=0, cem=20, vol=1500, mono=130, end* If example 2 is unsuccessful you may increase the vol parameter to 1500 EXAMPLE 4. next....etc. ks=0,ths=0,os1=0,cem=20, monoset=7,list=1, dens=3.123,edens=0.2,molw=234, end* If you have any possibility to put in density and formula weight, the computing time will be much reduced. This is also strongly recommended if you expect that the lattice contains a dominant zone i.e. if in a test run you get a large number of trial cells when using the keyword short=1. Look at the end of the output list. EXAMPLE 5. next....etc. cem=20,vol=700,tric=1,merit=20,end* This is a triclinic test (obs. timeconsuming)(see. keyword tric) it is recommended to ask for a de wolff figure of merit of 20 for a triclinic cell. The examples given above illustrate a step-wise strategy for indexing. However, the vol parameter may be estimated from the d-value of the 20th line. (cf. keyword tric) WARNING. If the true unit cell has a small volume,for example 250 A**3 and vol=2000 is used, the correct solution may be lost in the trial process. The reason is that a great number of large trial cells may erroneously index more lines than the correct (but not refined) cell. WARNING. Estimation of the unit cell volume from the relations vol(monoclinic cell)= 20*d(20)**3 (d(20)=the d-value of the 20th line) and vol(orthorhombic)=31*d(20)**3 are much less reliable than the corresponding relation for the triclinic symmetry. vol(triclinic)=13.39*d(20)**3 i.e. triclinic structures have no systematic extinctions! For structures containing atoms with great differences in scattering factors (eg. metal-organic structures) the general rule may fail also in a triclinic case. ref: Smith,G.S. J.Appl.Cryst 10(1977)252 It is usually easy to put in a known (or expected) cell edge into the program. Example: a monoclinic trial is wanted, with the restriction that one cell axis is x.xxx A. Usually this d-value (if keyword choice=4 is used) or the corresponding sine square theta (if choice=0, default) can be included in line set two. Assume it will be put in as line number two (-the lines must be given in the order of increasing bragg- angles-). Then you only need to put in.... ...mh2=1, mk2=1, ml2=0, ms2=1,.....(see the keywords) then the line will be used only as the a-axis or (the unique) b-axis in a monoclinic test. (if mh2=0 is used, it will only be tested as b-axis etc.) Conclusion: it is usually very easy to put in prior knowledge and constraints -for example density- into the program. (this statement is made because of some misunderstandings that has appeared in the literature) H O W T O I N T E R P R E T T H E O U T P U T. As in all good detective stories, the solution of the problem will usually be given on the last page...... i.e. the output list will be interupted as soon as a unit cell that will satisfy the criteria set by the keywords nix and merit are fullfilled. Although the trial cells will be ordered according to priority rules (max. number of indexable lines and min. volumes) it is not a guarantee that the first refined cell gives a correct solution. The main rule is that if all the first twenty lines are indexed and the de Wolff figure of merit m(20) is greater than 9, then the indexing problem is in principle solved. This does not mean that the cell is reduced, that a cell axis may not be double etc., Unit cells obtained by this program should be carefully checked... a. If the de Wolff figure of merit m(20) is less than 10 or more than one line is unindexed within the 20 first observed lines, the solution is probably meaningless. --Try next step in the strategy (see above) b. For common factors in the quadratic forms. For example a tetragonal pattern may have h*h + k*k = 5*n i.e. the a-axis is 2.3607 (square root of 5) times shorter than given on the output list. Obviously if for example all h,k or l are even, the corre- sponding cell axis should be divided by two. This may occurr if a too large vol parameter has been given. c. If the unit cell obtained is centered, derive a primitiv cell. (computer programs are announced from nbs..) (computer program used at su (stockholm university): modcell) d. Reduce the primitive cell and derive the conventional cell. (nbs.. program, see above) (program at su: reduct) e. Hexagonal and tetragonal cells are sometimes indexed as ortho- rhombic. For example a = b * 1.7321 i.e. a possible hexagonal cell. f. Check for geometrical ambiguities. see reference list above. It is also strongly recommended to check cubic, tetragonal and hexagonal solutions by an orthorhombic test. Put ks=0 and ths=0 and run treor once again. There are two reasons for this procedure. 1. It may help you to identify geometricl ambiguities. 2. We have found that sometimes very small orthorhombic unit cells can be indexed in an acceptable way (i.e. fullfill the de Wollf criteria) by a larger unit cell of higher symmetry. Although the unit cells are sometimes related to each other, the relations are often difficult to discover and it is therefor very convienient to let TREOR derive both solutions. g. Obs. the de Wolff figure of merits are derived from the assumption that no systematic extinctions occurr and all lines are indexed. WARNING. A high figure of merit has no meaning unless the lines are indexed. The de Wolff figure of merit will increase in the final refinements when systematic extinctions (if they exist) are taken into account. h. If possible, use the density and formula weight to check that the unit cell contains an integral number of formula units. i. If a cell axis is more than 20 A....be very suspicious! We have found that the de Wolff figure of merit test may fail in such cases. j. If one cell edge is much shorter than the others..be suspicious! It may cause a dominant zone problem. The de Wolff figure of merit test may fail. If possible, put in density and formula weigt (keywords:dens,edens and molw) and change the parameters nix and merit to 0 and 100 respectively. Then more "solutions" may be obtained. k. If a table starts with ....not refined unit cell... two parameters are probably almost identical (the symmetry may be higher) and the trial cell parameters are used to print the list. l. If no satisfactory solution (see the keywords nix and merit) are found, the program will end with a table containing a difference analysis. The program is described in Z.Krist 120 (1964) p.381-382 (Werner,P.-E.) where it is named program i1. The most interesting differences are those that have high multiplicities (on the top of the list) and are not too small (to the right on the list).- In the present state of the program, the difference table is usually not needed. If it appears you should usually proceed with the next step in the strategy list. m. Why not solve the crystal structure from your powder data ? This may be the ultimate way to prove the unit cell. K E Y W O R D L I S T keyword. normal comment. value. KH =4 max h for cubic base line. KK =4 max k for cubic base line. KL =4 max l for cubic base line. obs. the program will only generate h greater than or eq. to k greater than or eq. to l for this line. KS =6 max h+k+l for this line. obs. if KS=0 cubic test omitted. obs. the cubic base lines are (1) and (2). * * * * * * * * * * * * * * * * * * * * * * * * * * THH =4 max h for tetragonal and hexagonal base lines. THK =4 max k for tetragonal and hexagonal base lines. THL =4 max l for tetragonal and hexagonal base lines. obs. the program will only generate h greater than or eq. to k for these lines. THS =4 max h+k+l for these lines. obs. if THS=0 tetragonal and hexagonal tests omitted. obs. the tetragonal and hexagonal base lines are (1,2),(1,3) and (2,3) * * * * * * * * * * * * * * * * * * * * * * * * * * OH1 =2 max h for the first orthorhombic base line. OK1 =2 max k for the first orthorhombic base line. OL1 =2 max l for the first orthorhombic base line. obs. the program will only generate h greater than or eq. to k greater than or eq. to l for this line. This is also valid if the 'SELECT' parameter is used. (see below) OS1 =3 max h+k+l for this line. obs. if OS1=0 orthorhombic test omitted. OH2 =2 max h for the second orthorhombic base line. OK2 =2 max k for the second orthorhombic base line. OL2 =2 max l for the second orthorhombic base line. OS2 =4 max h+k+l for this line. OH3 =2 max h for the third orthorhombic base line. OK3 =2 max k for the third orthorhombic base line. OL3 =2 max l for the third orthorhombic base line. OS3 =4 max h+k+l for this line. obs. the orthorombic base lines are (1,2,3) (1,2,4) (1,2,5) (1,3,4) (2,3,4) and (1,2,6) if the parameter SELECT=0 parameter 'SELECT' see below. * * * * * * * * * * * * * * * * * * * * * * * * * * MH1 =2 max abs(h) for the first monoclinic base line. MK1 =2 max k for the first monoclinic base line. ML1 =2 max l for the first monoclinic base line. obs. the program will only generate h greater than or eq. to l for this line. This is also valid if the 'SELECT' parameter is used. (see below) MS1 =2 max abs(h)+k+l for this line. the normal (and fast) way to test one expected cell edge parameter is to put it in as q number one (card set two) and set MH1=1,MK1=1,ML1=0,MS1=1. MH2 =2 max abs(h) for the second monoclinic base line. MK2 =2 max k for the second monoclinic base line. ML2 =2 max l for the second monoclinic base line. MS2 =3 max abs(h)+k+l for this line. MH3 =2 max abs(h) for the third monoclinic base line. MK3 =2 max k for the third monoclinic base line. ML3 =2 max l for the third monoclinic base line. MS3 =3 max abs(h)+k+l for this line. MH4 =2 max abs(h) for the fourth monoclinic base line. MK4 =2 max k for the fourth monoclinic base line. ML4 =2 max l for the fourth monoclinic base line. MS4 =4 max abs(h)+k+l for this line. obs. the monoclinic base lines are (1,2,3,4) (1,2,3,5) and (1,2,4,5) if the parameter 'SELECT' is less than 6 parameter 'SELECT' see below. MONOSET =0 this parameter makes it possible to use more than 3 sets of base lines in the monoclinic trials. if MONOSET is: g.t. 3 the base line set (1,3,4,5) will be used g.t. 4 the base line set (1,2,3,6) will be used g.t. 5 the base line set (2,3,4,5) will be used g.t. 6 the base line set (1,2,3,7) will be used thus max 7 base line sets can be used. MONOGAM=1 the best 5 trial parameter sets stored (see parameter 'IQ') for each base line set will be refined before next base line set is tried. If MONOGAM=0 all base line sets are tried before any refinement is performed. The parameter is only used in the monoclinic tests It is recommended to use MONOGAM=1 because a refined cell parameter set is always tested for the stop limits 'MERIT' and 'NIX', thus computer time can be saved. MONO =0 max beta angle allowed in a monoclinic cell. Obs. no monoclinic test if MONO=0 (see also keyword SHORT) SHORT =1 short axis test. The parameter is only valid for monoclinic tests. the first six lines are tested for the occurrence of a common zero index in the six first lines. If SHORT=0 no short axis test. If you want to make this test without repeating other monoclinic tests you may give the parameter mono a negative sign. * * * * * * * * * * * * * * * * * * * * * * * * * * USE =19 -or eq. to the number of input lines if there are less than 19 lines, -or eq. to the number of lines with sine square(thetas) less than 0.327 -'USE' is the number of lines used in the trial-indexing part of the calculations. obs. max USE=20 obs. if you want to change this parameter you should also change the parameter IQ. IQ =USE-3 the number of indexable lines required in the trial indexing procedure if the cell should be stored for ev. least-squares refinement. These reciprocal cell parameters are printed if the parameter LIST=1 LIST =0 see. above. SELECT =0 if 'SELECT' is non zero the orthorhombic base lines are (select,1,2) (select,1,3) and (select,2,3) if 'SELECT' is greater than 5 the monoclinic base lines are (select,1,2,3) (select,1,2,4) and (select,1,3,4) MERIT =10 figure of merit required as stop limit. The figure of merit is for an orthorhombic cell defined by de Wolff,P.M., J. Appl. Cryst. 1 (1968) 108-113. (for the cubic ,tetragonal and hexagonal symmetries are the different quadratic forms as given in Int. Tabl. X-ray Cryst.(1968) vol.2 p.109-145 used in the calculation of the number of theoretical lines.) obs. the figure of merit calculations are not stricly valid unless all twenty first lines are indexed. NIX =1 if a cell after least squares refinement has a figure of merit eq. to or greater than the parameter 'MERIT' and the number of not indexable lines among the 'USE' first lines are less than or eq. to 'NIX' the calculations are stopped. obs. otherwise the calculations will end with a difference analysis (program i1. Werner, P.-E. Z.Kristallogr. 120(1964)375-378) IDIV =1 the 7 first lines are adjusted by (eventually occurring) higher order lines. If IDIV=0 no corrections. WAVE =1.5405981 wave length. (in angstroem) as a rule one should never change wave from 1.5405981. If d-values are used in the input data file (see. CHOICE=4) one can always pretend that wave was 1.5405981 A. wave is then a formal parameter only related to D1, SSQTL and D2 (see below). VOL =2000 max cell volume (in angstroem**3) CEM =25 max cell edge (in angstroem) the computing time is strongly dependent on the VOL and CEM parameters. therefore, if possible put in smaller values (at least in monoclinic trials) D1 =0.0002 defined as for program PIRUM. (Werner P.E. Arkiv Kemi 31(1969)513-516) SSQTL =0.05 defined as for program PIRUM. D2 =0.0004 defined as for program PIRUM. A line is considered as indexed if sine square theta is less than 0.05 and abs(sine square theta observed minus sine square theta calculated) is less than D1 or if sine square theta is greater than 0.05 and the corresponding difference is less than D2. obs. the parameters D1,SSQTL and D2 are used in the trial indexing part as well as the least-squares refinements. obs. 'D1,SSQTL and D2' are dependent on 'WAVE' obs. the parameter d2 is also used in the difference analysis. CHOICE =0 indicator defining 'SQ' on card set two. CHOICE=0 sq=sine square theta =1 sq=1/(d*d) ('D'-spacing in angstroem) =2 sq=theta ('THETA'=Bragg angle in deg.) =3 sq=2*theta =4 sq=d obs. if 'CHOICE' is non zero it is always possible to use WAVE=1.54051 (the normal value) DENS =0 density not used. if only an integral number of molecules in the unit cell is accepted the parameters dens,edens and molw may be used. (on your own responsibility) DENS eq. density in gram per cm**3 EDENS =0 not used unless DENS eq. non zero. EDENS eq. max. deviation in the parametar dens. obs. DENS and EDENS are used in trial calculations i.e. they are used in tests on non refined unit cells. It is therefore recommended to use an EDENS which is the expected max. deviation in dens plus 5-10 per cent of DENS. obs. the choice of EDENS should be dependent on the quality of your diffraction data. MOLW =0 not used unless DENS ( and EDENS ) eq. non zero mol. weight in a.u. (obs crystal water included) The parameters DENS,EDENS and MOLW (if known) may be used in monoclinic and triclinic tests in order to reduce the computer time needed. It is not recommended to use these parameters for orthorhombic and higher symmetries. TRIC =0 no triclinic test. if TRIC=1 all higher symmetry tests are omitted and a (timeconsuming) triclinic test is made. It is presupposed that all higher symmetries have been tried in earlier runs. although it is in principle possible to index any pattern as triclinic, the indexing algorithm used here is more effective for true triclinic than for pseudo- triclinic patterns. for example a monoclinic pattern may be correctly indexed by a triclinic cell (using TRIC=1) but this is not the recommended procedure. Furthermore, the triclinic test is timeconsuming (typical 10-20 minutes cpu-time on a vax 11/750). Obs. for a true triclinic cell the parameter vol may be given the estimated value (c.f. the warnings given above -see s t r a t e g y....) plus 200 a**3. END* this keyword denotes the end of the parameter list (i.e. end of card set three) ====================================================================== XXXXXXX XXXXXX XX XX XXXXXXX XXXXXXXX XXXXXXX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXX XX XX XX XX XX XX XXXXX XXXXXXX XX XX XX XX X XX XX XX XX XX XX XX XX XX XX X X XX XX XX XX XX XX XX XX XXXXXX XX XX XXXXXXX XXXXXXXX XX XX ====================================================================== POWDER DIAGRAMM INDEXING ROUTINE. MADE BY D.G.TAUPIN ACCORDING TO HIS PAPER IN J. APPL. CRYST. (1969) P.179. ====================================================================== The purpose of the present programm is to find the unit cell of a new species, knowing its accurate x-ray powder diagram. It allows for possible extraneous lines although this results in less reliabi- lity and in more computing time spent. This rouitne is not adequate for chemical analysis of mixtures containing several species whose x-ray patterns are known; one should then use powder-data-file searching routines like the Johnson-Vand program delivered by A.S.T.M. (JCPDS). ---------------------------------------------------------------------- HOW TO USE THIS PROGRAM ---------------------------------------------------------------------- FIRST CARD : ============= col 1-12 : option letters ( in any order ) : 'Q' means that given line data are expressed as q=1/d**2 rather than d(hkl) which is the default option ; in this case the given error estimation relate to 'Q' instead of 'D' ; 'A' means that given line data are measured angles; ( normally 2-theta ) 'A1' means that theta angles are to be read 'A4' means that 4-theta angles are to be read ; In all the above cases, the stated error is an absolute error corresponding to the value actually read. 'V' means that cells are accepted only if they contain an a proximately integer number of asymetrical units or molecules ; if this option is taken, the second card must contain additional values for the - molecular weight, - density, - estimated error on that density ; 'X' overrides the normal selection criterium which results in printing the only cells whose volume does not exceed 25 % more than the smallest one already found, and is one of the 10 smallest cells found ; if 'X' appears, the programm will print all found cells whose volume is less than the value stated in second card ; 'C','T','H','O','M','3' mean that trials must be made for cubic, tetragonal, hexagonal, orthorhombic, monoclinic, or triclinic cells respectively ; these options are cumulative and if none of them appears they are assumed to be all present ; 'P' means that the data corresponding to the best cells will also be punched on cards ; 'L' provides a special output on unit 'ILEAST' for further least square refinement (Appleman's program) with ade quate format; 'Z' is essentially a debugging option which provides additional logging and a printout of the index tables at the beginning. col 13-72 : any alphanumeric title which will be printed at the top of each page ; SECOND CARD : ============== All these values are in "free format", i.e. they may be written either as integers or real values (without decimal exponent however), separated by commas; blank are disregarded in that card and letters 'I' and 'O' are understood as figures '1' and '0'. These values are respectively : - number of given experimental lines - maximum number of extraneous lines - maximum degenerescence factor : maximum number of additional lines to be used when the first ones lead to a degenerate equation system for cell parameter determination (a good value is 2 or 3) - upper limit for h**2+k**2+l**2 for the first line ( this value is used to compute the upper limit for h**2+k**2+l**2 of the following lines, assuming they are proportional to q=1/d**2 (this is obviously a roughly approximate extrapolation ) - maximum time limit ( minutes ); when this limit is exceeded the programm will suspend itself and write 2 or more restarting records; this limit should be smaller than that stated in the 'JOB' card to prevent it from being killed by the operating system ( not working in this version !!!). - maximum volume of the unit cell (angstroem**3) - the minimal figure of merit (see de-Wolff's paper in Journal of Applied Crystallography - 1968); usual value = 4; higher values may be stated if experimental measurements are good. when option 'V' is present : - molecular mass ( or mass of the asymetric unit ) - density ( grams/cm**3 ) - relative estimated error on that density =============> Note that you may leave all or part of these two first cards blank; then the program will use default values which are : - all system tested; - lines will be counted to find their effective number; - no extraneous lines allowed; - degenerescence factor equal to 2 ; - h**2+k**2+l**2 limited to 6 for the first line; - no time limit, then no restart ; - maximum volume = 1000 angstroem**3 ; - figure of merit equal to 4 ; FOLLOWING CARDS : ================== One card for each line; format is (f10.0,f10.0,1x,a1,3i3) ; values are respectively : - d(hkl) in angstroems or 1/d(hkl)**2 if 'Q' option; - absolute estimated error on d(hkl) or on q=1/d**2 if 'Q' opt; if this value is blank, then extrapolation is made assuming the error on 1/d is constant ; - col 22 : any non blank character means that this line may be extraneous; this allows the programm to continue a trial even if it was not able to assign indices to that line; if all lines have blank character in col-22, although the maximum number of extraneous lines is non-zero, then all lines are considered as possibly extraneous. - col 23-25,26-28,29-31 : values of h, k, l, for that line, if they are known; only 10 lines are allowed to have h,k,l indications; The following 8 statements are computer dependent ; 'TINTVL' is the computer time interval as given by basic timing procedures ; 'KTNUM' is the time interval between two time checks ( for any pathological looping detection - in 'CONTRL' subr.. it is set to 4 seconds on the IBM 360/195. 'INPUT' is the normal card input unit 'ISCRAT' is a scratch drum or disk unit ( to contain a copy of the input data ) 'IPREST' is the unit on which restart data will be writen or punched; (not working in this version !!!). 'IRREST' is the unit on which restart data will be read; two practical cases occur: 1) if restart data are punched and read as cards, then 'IPREST' should refer to punch, and 'IRREST' should be equal to 'ISCRAT' ( since 'INPUT' is copied on 'ISCRAT' for control and listing ) 2) if restart data are stored on permanent disk storage, then 'IPREST' and 'IRREST' can be equated (and then the 'PWMAIN' routine will perform a rewind so that the storage will be updated ) ( not working in this version !!!). 'IPUNCH' is the unit on which results will be punched (or stored) 'ILEAST' is the unit on which results will be stored for least square refinement by Appleman's program. ====================================================================== XXXXXXX XXXX XXXXXX XX XX XXXXXX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXX XX XX XX XX XXXXXXX XXXX XXXXXX XX XXXXXX XXXXXXXX ====================================================================== Trial and error method for the automatic indexing of powder patterns - variation of parameters by successive dichotomy. This version includes partition of volume space(01-1982) the following crystalline systems can be examined : cubic, quadratic, hexagonal, orthorhombic and monoclinic systems. FOR FURTHER INFORMATION CONTACT D. LOUER LABORATOIRE DE CRISTALLOCHIMIE UNIVERSITE DE RENNES I CAMPUS DE BEAULIEU 35042 RENNES CEDEX-FRANCE- TEL. 16-99-364815-(POSTE 2258) ====================================================================== --------------------------------------------------------------- ! G E N E R A L I N S T R U C T I O N S ! --------------------------------------------------------------- DICVOL PROPOSES SOLUTIONS; THE USER DISPOSES OF THEM. THE AUTHORS DISCLAIM RESPONSABILITY FOR ALL USE OF THIS PROGRAM, WHETHER GOOD, BAD OR INDIFFERENT. DATA CARDS ---------- CARD 1 TITLE FORMAT(16A4) CARD 2 N,ITYPE,JC,JT,JH,JO,JM FORMAT(7I2) N (col. 1- 2) number of lines (e.g. 20). ITYPE (col. 4) spacing data type. =1 theta Bragg in degrees. =2 2-theta angle in degrees. =3 d-spacing in angstroms. =4 q specified in q-units as e+04/d**2. JC (col. 6) =0 cubic system is not tested. =1 cubic system is tested. JT (col. 8) =0 tetragonal system is not tested. =1 tetragonal system is tested. JH (col. 10) =0 hexagonal system is not tested. =1 hexagonal system is tested. JO (col. 12) =0 orthorhombic system is not tested. =1 orthorhombic system is tested. JM (col. 14) =0 monoclinic system is not tested. =1 monoclinic system is tested. CARD 3 AMAX,BMAX,CMAX,VOLMIN,VOLMAX,BEMIN,BEMAX FORMAT(7F10.2) AMAX (col. 1-10) maximum value of unit cell dimension a in angstroms. BMAX (col.11-20) maximum value of unit cell dimension b in angstroms. CMAX (col.21-30) maximum value of unit cell dimension c in angstroms. VOLMIN(col.31-40) minimum volume for trial unit cells in angstroms**3. VOLMAX(col.41-50) maximum volume for trial unit cells in angstroms**3. BEMIN (col.36-42) minimum angle for unit cell in degrees (default= 90 degrees). BEMAX (col.43-49) maximum angle for unit cell in degrees (default=130 degrees). CARD 4 WAVE,POIMOL,DENS,DELDEN FORMAT(4F10.5) WAVE (col. 1-10) wavelength in angstroms. POIMOL(col.11-20) molecular weight of one formula unit in a.m.u. (default =0.0 if formula weight not known). DENS (col.21-30) measured density in g.cm(-3) (default =0.0 if density not known). DELDEN(col.31-41) absolute error in measured density. CARD 5 TO 5+N D(I),EPSIL(I) FORMAT(2F10.4) (one for each observed line, up to n) D(I) (col. 1-10) value describing the observed position of this line according to 'ITYPE'. EPSIL (col.11-20) absolute error in 'D(I)', according to 'ITYPE'. NOTE: if ITYPE=1,2,4 the values of 'D(I)' and 'EPSIL(I)' must be listed in increasing order. if ITYPE=3 they must be in decreasing order. REFERENCES: 1.- Louer, D. and Louer, M., Methode d'essais et erreurs pour l'indexation automatique des diagrammes de poudre, J. Appl. Cryst. 5,271-275(1972). 2.- Louer, D., Successive dichotomy method for indexing powder patterns, Symposium on accuracy in powder diffraction, N.B.S. Gaithersburg, MD., U.S.A., June 11-15,1979. 3.- 4.- de Wolff, P. M., A simplified criterion for the reliability of a powder pattern indexing, J. Appl. Cryst. 5,108-113(1968). 5.- Smith, G. S. and Snyder, R. L., f(n): A criterion for rating powder diffraction patterns and evaluating the reliabi- lity of powder-pattern indexing, J. Appl. Cryst. 12,60-65 (1979). ********************************************************************** Program Scheme ********************************************************************** ---------- ------------------ ---------- | |=========>| CUBIQUE |=========>| | | | ------------------ | | | | V | | | | ---------- | | | | | CUDHKL | | | | | ---------- | A | | | | F | | | | F | | | | I | | | ------------------ | N | | |=========>| TETRAGONAL |=========>| E | | P | ------------------ | M | | R | V | E | | O | ---------- | N | | G | | TEDHKL | | T | | R | ---------- | | | A | | | | M | | D | | M | | E | | E | ------------------ | S | | |=========>| HEXAGONAL |=========>| | | | ------------------ | | | P | V | P | | R | ---------- | A | | I | | TEDHKL | | R | | N | ---------- | A | | C | | M | | I | | E | | P | | T | | A | ------------------ | R | | L |=========>| ORTHORHOMBIQUE |=========>| E | | | ------------------ | S | | | V | | | | ---------- | | | | | ORDHKL | | | | | ---------- | | | | | | | | | | | | | | | | ------------------ | | | |=========>| MONOCLINIQUE |=========>| | | | ------------------ ---------- | | V V | | ---------- ---------- | | | MODHKL | | PASAJE | ---------- ---------- ---------- ====================================================================== XX XXXXXXX XXXXXXX XX XXXXXXXX XXXX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXX XXXXXXX XX XXXXX XXXXXXXX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXXXXXX XXXXXXXX ====================================================================== PROGRAM FOR INDEXING AND LEAST SQUARES UNIT CELL REFINEMENT ====================================================================== INPUT: 1 OF 10 There must be a TITLE, PARAMeter, and SYStem EXTinction card submitted with each problem. One or more observed reflection cards may be submitted, followed by an END of problem card. If no observed reflections are given, the output will consist of theoretical reflections only. The last END of problem card should be followed by an END of run card and a FINISH card. The layout for a TITLE card is as follows: column description 1-5 the word TITLE 6 must be blank 7-72 any alphanumeric information desired in the heading. 73-80 not used For the cards described below, blanks in numeric fields are normally interpreted as zeros by the program. If information is not entered in certain fields, the program may enter "default" values. This is explained in detail below. INPUT: 2 OF 10 The layout for a PARAMeter card is as follows: columns description 1-5 the word - PARAM (a6) 6 must be blank 7-15 the unit-cell length a. (f9.6) 16-24 the unit-cell length b. (f9.6) 25-33 the unit-cell length c. (f9.6) 34-36 the number of degrees in the interaxial angle alpha. (i3) 37-41 the number of minutes in the interaxial angle alpha. (f5.3) 42-44 the number of degrees in the interaxial angle beta. (i3) 45-49 the number of minutes in the interaxial angle beta. (f5.3) 50-52 the number of degrees in the interaxial angle gamma. (i3) 53-57 the number of minutes in the interaxial angle gamma. (f5.3) 58 ITHT - an integer indicating whether given values of reflection angles theta are multiplied by 2. If ITHT is even 2-theta angles are given ; if ITHT is odd (e.g., 1) theta angles are given directly. thus, if this field is blank 2-theta angles are implied (i1). INPUT: 3 OF 10 columns description (continued) 59-61 THTMX - the maximum value of a reflection angle (in terms of 2-theta or theta according as ITHT is even or odd) to be considered in indexing observations during the first NCYC cycles (see below). This does not apply to fixed reflections, i.e., where at least one of h, k, l is given as nonzero. If THTMX is given as non-positive, it is reset to 20.0 degrees (in terms of the Bragg angle theta - all calculations being performed in terms of theta; 2*theta values are shown for output is given as input). Format for THTMX if f3.0. 62 NCYC, the number of cycles during which non-indexed reflections with angles exceeding THTMX are not accepted in least-squares solutions. Format is i1. if NCYC is given as zero (or blank), a default value of 2 is assigned by the program. Experience shows that 5-7 works well. 63-67 TOLMN - the minimum tolerance allowed (in terms of 2-theta or theta according as ITHT is even or odd). The format is f5.4. If tolmn is given as nonpositive, it is reset to 0.02 by the program. INPUT: 4 OF 10 columns description (continued) 68-72 TOLMX - the maximum allowable tolerance TOLMX in terms of 2-theta or theta according as ITHT is even or odd. If TOLMX is given as no greater then TOLMN it is reset to 5 times the value of TOLMN. Thus, if columns 63 through 72 are left blank, TOLMX is assigned a value of 0.1 = 5*0.02 (in terms of theta for computations). Format is f5.4. 73-80 not used. As indicated above, certain fields such as for ITHT, THTMX, NCYC, TOLMN, and TOLMX may be left blank to obtain fairly typical values for these parameters. In the same manner, except for triclinic systems, not all of a, b, c, alpha, beta, gamma need be given explicitly, it has been found that it is better to enter these values in order to allow the program to do error checking, this will be explained after describing the SYStem EXTinction card. The layout for such a card follows. INPUT: 5 OF 10 columns description 1-6 the letters SYSEXT. Format is a5. 7-11 one of the following eight names. format - a5. 1. CUBIC for cubic crystal systems 2. TETRA for tetragonal systems 3. ORTHO for orthorhombic systems 4. MONOC for monoclinic systems 5. RHOMB for rhombohedral systems 6. TRICL for triclinic systems 7. HEXAG for hexagonal systems 8. HEXAR for hexagonal-rhombohedral systems 12-14 THEMX, the value of 2-theta or theta (according as ITHT in col. 58 of the preceding parameter card is even or odd) to be used in determining the minimum interplanar spacing for generated reflections. This value may be superseded by given reflections having greater Bragg angles. If this field is left blank and there are no observed reflections, THEMX will be set to 90 degrees in terms of theta. The format is f3.0. INPUT: 6 OF 10 columns description (continued) 15-20 PWL, the wavelength to be used in computing minimum distance for generated reflections. If given as non-positive a value of 1.5405 angstroms is assumed. Format is f6.5. The following 27 columns indicate conditions for non-extinction for certain classes of reflection. Format for each of these columns is i1. To be effective the integer N entered must be 2, 3, 4, or 6 in the appropriate column; x, y, z are integers. Note that if the crystal type is HEXAR, column 26 will be considered as having a 3 whether entered or not, the condition -h + k + l = 3*n holding for such crystals. column class of reflection conditions for non-extinction 21 hkl h+k = x*n 22 hkl h+l = x*n 23 hkl k+l = x*n 24 hkl h+k = x*n, h+l = y*n, k+l = z*n 25 hkl h+k+l = x*n 26 hkl -h+k+l = x*n 27 hhl h = x*n 28 hhl l = x*n 29 hhl h+l = x*n 30 hhl 2h+l = x*n INPUT: 7 OF 10 column class of reflection condition for non-extinction(cont.) 31 0kl k = x*n 32 0kl l = x*n 33 0kl k+l = x*n 34 h0l h = x*n 35 h0l l = x*n 36 h0l h+l = x*n 37 hk0 h = x*n 38 hk0 k = x*n 39 hk0 h+k = x*n 40 hh0 h = x*n 41 h00 h = x*n 42 0k0 k = x*n 43 00l l = x*n 44 hll h = x*n 45 hll l = x*n 46 hll h+l = x*n 47 hll h+2l = x*n Columns 48 through 70 are not used. Columns 71-72 contain SEMULT, the format being f2.1; if this field is given as nonpostive a value of 2.0 is set be the program. According to the crystal system entered in columns 7-11, some information on the previous parameter card need not be entered, but see remark on error checking. INPUT: 8 OF 10 In particular for CUBIC, only a-(columns 7-15) need be entered; for TETRA only a-(columns 7-15) and c-(columns 25-33) need be entered; for ORTHO only a, b, and c-(columns 7-33) need be entered; for MONOC a, b, c, and beta-(columns 42-49) must be entered; for RHOMB, a(columns 7-15) and alpha-(columns 34-41) need be entered; for TRICL all unit cell lengths and angles must be entered in columns 7-57; for HEXAG or for HEXAR only a and c must be entered. Following the system extinction card there usually will be a number of reflections cards. In least squares it is suggested that there be observed d-spacings which are in number, 5 times the number of parameters to refine (ie. for cubic at least 5 reflections, for tricl at least 30 reflections). The last of these should be followed by an END of problem card which must have END in columns 1-3 and columns 4-6 blank. Consequently, none of the reflection cards should have these characters in columns 1-6. The layout for a reflection card is as follows: columns description 1-6 anything but the letters END followed by 3 blanks; usually this will be blank. format a6. 7-11 h, the first reflection index. format i5. 12-16 k, the second reflection index. format i5. 17-21 l, the third reflection index. format i5. 22-30 d, the interplanar spacing as computed from the Bragg relation using the observed Bragg angle theta. Format is f9.6; d need not be given if theta (or 2*theta) is given. INPUT: 9 OF 10 columns description 31-38 The wave length (in angstroms) associated with the current reflection. if not given as positive it is assumed to be the same as the wave length for the previous reflection. (If a wave length for the first reflection of a data set is not given, the value given (or implied) on the previous sysext card is used.) Format f8.6. 39-47 The Bragg angle theta (or 2*theta if ITHT - column 58 on the parameter card,is even).Format f9.5 and theta should be given in degrees and a decimal fraction thereof. Theta need not be given if d is given. If both theta and d are given, d will be recomputed as the observed d-spacing from theta and the given or implied wave length. 48-56 The weight wt to be associated with the value of theta for the current reflection. Format f9.5. If wt is given as nonpositive, it is reset to 1.0 by the program. 57-80 not used. Note that for reflections that are to be indexed by the program by comparing corresponding distances and angles with those of theoretical reflections, each of h, k, and l must be given as zero - thus for such reflections columns 7-21 may be left blank. The program does the least-squares in terms of delta-theta not delta d, so it is residual in delta-theta that is minimized. INPUT: 10 OF 10 If one or more of these reflection indices is given as non-zero, the indices read from the reflection card will be maintained throughout the computer run. The last end card of the deck should be followed by a card with FINISH in columns 1-6. The input data deck should be arranged as follows TITLE CARD PARAM CARD SYSEXT CARD REFLECTION CARDS (usually, but not necessarily) END CARD (always, even if no reflection cards) TITLE CARD (if more than one problem) PARAM CARD SYSEXT CARD . . DATA . END CARD (end of last problem) FINISH CARD ===================================================================== XX XX XXXXXXXX XXXXXX XXXXXX XX XX XX XXXX X XX X XX XX XX XX XXX XX XX XX XX XX XX XX XX XXXX XX XX XX XX XX XX XX XX XX X XX XX XXXXXXXX XX XX XX XX XX XXXX XX XX XX XX XX XX XX XX XX XX XXX XXXXXXXX XX XX XX XXXXXX XXXXXX XX XX ====================================================================== PROGRAM FOR THE LS-REFINEMENT OF LATTICE CONSTANTS BY D. SCHWARZENBACH, UNI LAUSANNE, SWITZERLAND AUGUST 1975 ====================================================================== A general program for the ls-refinement of lattice constants. This is a one-pass non-iterative program which determines the LS-values of the reciprocal metric tensor and its variance-covariance matrix. Constraints due to symmetry may be introduced. Input is h, k, l, 2-theta, sigma of 2-theta. From this, the appropriate weight for 1/d**2 (d = spacing of lattice planes) is calculated. Written by D. Schwarzenbach ETH-Zurich. The main parts of this program have been copied from a similar IBM-1620 program by D. Schwarzenbach (Pittsburgh, PA. 1966). Christmas 1971. The program minimizes the quantity weight*(q-obs - q-calc)**2. Q-calc is not necessarily the -true- q-calc, but it includes a correction term - q-calc = sum(h(i)*h(j)*tensorelement(i,j)) + dk*(4./(lambda**2))*sin(2-theta)**n, n = 1 or 2. N=1 to be used only if the position of the powder lines has been measured on one side of the primary beam only. Thus there is an uncertainty about the location of the primary beam, i.e. 2-theta- zero. Dk equals theta-zero, i.e. (2-theta)true = (2-theta)obs -2*dk several ls-cycles may be necessary to get a proper 2-theta-zero, because the equations are not linear for this parameter. 2-theta-obs will be corrected before each cycle, so that the final 2-theta-obs values as well as the calculated quantites are those with the best location of the primary beam. N=2 to be used only if the positions of corresponding powder lines have been measured, i.e. 2-theta = 0.5*(2-theta-minus + 2-theta-plus). Absorption effects and specimen eccentricity tend to introduce an error into measured d-values which varies with cos(theta)**2, delta(d)=2*dk*d*cos(theta)**2. The systematic error in q is then delta(q) = -(4./(lambda**2))*dk*sin(2-theta)**2. See Azaroff and Buerger, The Powder Method, Mc Graww-Hill 1958 page 240. Only one cycle is necessary. the computed q and 2-theta values are not the -true- ones, but q-calc = q-true + delta(q), and 2-theta-calc is derived from q-calc. The program computes the reciprocal and direct metric tensors, the reciprocal and direct lattice constants, and all the corresponding variance-covariance matrices. It may also be used to get all metric quantities with their errors (var.-covar.) from a given reciprocal metric tensor and its var.-covar. matrix. ---------------------------------------------------------------------- INPUT CARDS ---------------------------------------------------------------------- CALLING CARD ============ LATCON COMPID ICORR,ISYM,WLAM,SIGLAM,CORR format(a2,a4,1x,a2,a4,2i5,3f10.5) cols. 14-18 (0)/(-1)/(n) for correction term to q not to be refi- ned)/(refine correction term proportional to sin(2-theta)**2, one cycle)/(refine n cycles to get 2-theta-zero. Refinement will stop if change is smaller than 0.002 degrees) cols. 19-23 symmetry indicator 1 = triclinic 2 = monoclinic first setting (c) 3 = monoclinic second setting (b) 4 = monoclinic third setting (a) 5 = orthorhombic 6 = tetragonal 7 = hexagonal - trigonal 8 = rhombohedral 9 = cubic cols. 24-33 wave length in angstrom cols. 34-43 e.s.d. of wavelength. Leave normally blank, unless you want to correct the e.s.d.-s of the refined quantities to be corrected for the incertainty in the wavelength. Advised mainly for neutron-people. cols. 44-53 initial value of 2-theta zero, i.e. 2-theta(true) = 2-theta(obs) - corr. Corr. need not be refined REFLECTION DATA CARDS ===================== THETA H,K,L, 2-THETA, E.S.D. OF 2-THETA, WAVE LENGTH format(a2,a4,9x,3f4.0,3f10.6) cols. 1-6 theta cols. 16-19 index h cols. 20-23 index k cols. 24-27 index l cols. 28-37 measured 2-theta value cols. 38-47 e.s.d. of 2-theta (default = .1 degrees) cols. 48-57 wavelength for this reflection if different from value given on the calling card END card Binary data files and scratch files are not used. IMPORTANT NOTICE ..... The correction to q is proportional to q*cotan(theta) (icorr = n) or to q*cos(theta)**2 (icorr = -1). 2-theta-zero is therefore to be refined mainly with low order reflections, the sin(2-theta)**2 term must be refined with as many orders as possible. The correlations tend to be high, but if the wrong reflections are used, they are simply ridiculous..... ====================================================================== X X XXXXX X X X X X X X X X X X X X X XXXXX X X XXXXX X X XXXXX X XXXXXXX XX XX XX XX XX XXXXXXX XXXXXXX XXXX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XX XXXX XXXXXXX XX XX XX XX XX XXXX XXXXXXX XX XX XX XX XX XX XX XX XX XX XX XX XXXX XX XX XX XX XX XXXX XX XX XX XX XX XX XX XX XXXXXX XXXXXXX XX XXXXXXX XX XX XXXX XX XX ====================================================================== A PROGRAMME TO CALCULATE THEORETICAL X-RAY AND NEUTRON DIFFRACTION POWDER PATTERNS ( 1 DEC. 1977 ) A U T H O R S KLAUS YVON, WOLFGANG JEITSCHKO AND ERWIN PARTHE ADDRESS LABORATOIRE DE CRISTALLOGRAPHIE AUX RAYONS-X UNIVERSITE DE GENEVE 24 QUAI ERNEST ANSERMET CH 1211 GENEVA 4 SWITZERLAND TELEPHONE (022) 21 93 55 ADAPTED TO B6700 AT UCSD, HANS F. BRAUN, 7 FEB. 1979 ADAPTED TO CDC 7600 AT BNL, D. E. COX, DEC. 1984 ====================================================================== DESCRIPTION OF THE PROGRAMME For a supplementary description see J.Appl.Cryst. (1977), 10, p 73-74 LAZY PULVERIX consists of two parts: LAZY decodes the input data and prepares the data file for PULVERIX on unit ILU. PULVERIX reads the input file on unit ILU and calculates the powder pattern. ---------------------------------------------------------------------- C A R D SUMMARY General Remarks Calculations for several structures may be done in one run, the order in which the data cards are given within a set is not important. When reading the data cards, the programme identifies the kind of data card by labels in columns 1-6 (e.g. TITLE, CONDIT, CELL, SPCGRP etc.) One end card must terminate each set and one FINISH card must follow the last END card. The format of the TITLE-, CELL-, LATICE-, SYMTRY-, SPCGRP-, ATOM-, END- and FINISH- card is compatible with the corresponding format of the X-RAY 76 programme system, except small differences in certain prescriptions (see CELL- and ATOM- card) The minimum of input cards must contain a TITLE-, CELL-, SPCGRP-, ATOM-, END- and FINISH-card. The SPCGRP-card may be replaced by LATICE and SYMTRY cards and vice versa. ********************* * T I T L E CARD * title ********************* format(a2,a3,1x,17a4) cols 1- 5 title punch card label *TITLE* 7-74 compnd any alphanumeric information (for instance the name of the substance) ********************* * C O N D I T CARD * experimental conditions ********************* format(3a2,4x,a4,f6.0,2f5.0,1x,a1,i2,a2,1x,a1) cols 1- 6 condit punch card label *CONDIT* 11-14 symwl symbol for wavelength adjust to the left of the field. Example: CUA1 = copper k alpha1 radiation. the list of allowed symbols is given at the end of this description. wavelengths for which no symbol exist must be given explicitly in cols 15-20. if left blank cu k alpha radiation is assumed. neutron diffraction leave columns 11-14 blank and give value of wavelength in columns 15-20. 15-20 wl wavelength in angstrom need not be given if symwl is specified 21-25 tl lower theta -limit of calculation 26-30 th upper theta -limit of calculation if left blank tl=0 and th=89 degrees. for Guinier cameras th is 45 degrees 32 norm tabular representation of the powder pattern. blank intensities normalized to 1000 A intensities not normalized N no tabular representation of the powder pattern 33-34 image graphic representation of the powder pattern. blank no graphic output integer graphic output of intensities in steps of 1/(2*integer) of theta 35-36 symlp experimental technique DS Debye-Scherrer blank powder-diffractometer & monochrom. NE neutron diffraction GN Guinier-de Wolff camera GH Guinier-Haegg camera the formulae for the Lorentz - polarisation factors are given at the end of this description. 1 no lp-factor correction applied 38 iano correction for anomalous dispersion (x rays only) blank correction is made N no correction is made. N O T E S It is recommended to compute all structures with neutral atoms. If formfactors for ionized atoms are used the programme will not make dispersion corrections. No dispersion correction will be made for neutron diffraction. If no condit card is given, copper radiation and Debye-Scherrer technique is assumed, correction for anomalous dispersion will be made and a complete powder pattern will be calculated. ********************* * C E L L CARD * lattice constants ********************* format(3a2,7x,3f8.0,3f9.0) cols 1- 4 cell punch card label *CELL* 14-21 a lattice parameters in angstrom and degrees 22-29 b cubic omit b,c,alpha,beta,gamma 30-37 c hexagonal omit b,alpha,beta, and set gamma=120. rhombohedral see note below 38-46 alpha tetragonal omit b,alpha,beta,gamma 47-55 beta orthorhombic omit alpha,beta,gamma 56-64 gamma monoclinic omit alpha,gamma W A R N I N G The prescriptions for omitting redundant parameters may not be compatible with the X-RAY system. N O T E Rhombohedral should be calculated with hexagonal axes. If rhombohedral axes are desired the structure must be described in the triclinic system. ********************* * L A T I C E CARD * symmetry center and Bravais lattice ********************* This card may be replaced by a SPCGRP card format(3a2,2x,a1,2x,a1) cols 1- 6 latice punch card label *LATICE* 9 isymce center of symmetry at origin C yes (centric) A no (acentric) 12 symbr Bravais lattice indicator P primitive I body centered R rhombohedral F face centered A a centered B b centered C c centered blank primitive N O T E S trigonal case P space groups give hexagonal lattice constants and set symbr=P R space groups (1) hexagonal cell set symbr=R. the pro- gramme assumes the stan- dard (obverse) setting. (2) rhombohedral cell set symbr=P and give a,b c and angles explicitly on cell card. (triclinic description) If no latice card is given, a non centrosymmetric structure and a primitive lattice is assumed. ********************* * S Y M T R Y CARD * equivalent point positions ********************* These cards may be replaced by a SPCGRP card format(3a2,45a1) cols 1- 6 symtry punch card label *SYMTRY* 7-51 ipos equivalent position coded in verbatim form. include one card for each position. Rules for coding: coordinates are separated by commas, fractions are written as two integers separated by a slash. blank spaces are ignored. example space group P 21/c symtry X, Y, Z symtry X,1/2-Y,1/2+Z N O T E S if isymce=C then only one of any two centrosymmetric positions need to be given. if symbr= I,R,F,A,B or C, only one of the positions related by centering needs to be given if no SYMTRY card is given, X,Y,Z is automatically assumed, however if SYMTRY cards are given then the X,Y,Z position must be included. ********************* * S P C G R P CARD * space group ********************* format(3a2,35a1) This card may replace LATICE and SYMTRY cards. cols 1- 6 spcgrp punch card label *SPCGRP* 8-17 ipos Hermann Mauguin symbol for the space group. adjust to the left of the field Rules for coding: symmetry operators are separated by a slash or by a blank. the bar operation is coded as minus *-* screw axes are given by two integers that are not separated by a blank. examples P b c n, P 21/c, P -3 the list of allowed symbols is given at the end of this description. W A R N I N G for all other symbols the programme may generate wrong equipoints without error messages. for non standard space group settings symtry- and latice- cards must be used. N O T E S For centrosymmetric groups, the programme assumes the setting having the centre at the origin. For R-space groups the hexagonal setting is assumed. R-space groups with rhombohedral axes must be simulated using LATICE- and SYMTRY- cards corresponding to a triclinic description. ********************* * A T O M CARD * atom identifier and coordinates ********************* Use one atom card for each atom in the asymmetric unit. format(3a2,1x,a4,a2,3f8.0,f6.0,f5.0) cols 1- 4 atom punch card label *ATOM* 8-11 elemt symbol of element and ionisation state adjust to the left of the field. examples CA symbol for calcium (neutral) CA2+ symbol for calcium (ionized) only symbols listed in the table for atom identification at the end of this description can be given. 12-13 ide sequence number or atom label, (may be left blank) it is convenient to number or label atoms of the same type. 14-21 x x coordinate 22-29 y y coordinate 30-37 z z coordinate only coordinates between -1.and+1. are allowed fractions may be given as integers separated by a slash example atom H 1/3 2/3 0.512 is equivalent to atom H .33333 .666667 0.512 38-43 btemp Debye-Waller factor if left blank no temperature factor correction will be made. 44-48 foccu occupation factor this factor is usually 1 (=full occupancy of the site) but it may be smaller in disordered struc- tures.if left blank full occupancy will be assumed W A R N I N G the atom identification (cols 8 - 13) of the X-RAY system may not be compatible with the present prescriptions. ********************* * E N D S E T CARD * terminates each set of data cards ********************* cols 1- 3 endset punch card label *ENDSET* ********************* * F I N I S H CARD * terminates the run ********************* cols 1- 6 finish punch card label *FINISH* N O T E this card must come after the last END card. It initiates execution of the programme. ===================================================================== LIST OF ALLOWED SYMBOLS ===================================================================== W A V E L E N G T H S (variable *symwl* on CONDIT card) The lines contain the symbols for k alpha1, k alpha2 and the weighted average of the k alpha radiation for chromium, iron, copper, molybdenum and silver. The wavelengths in angstrom are given in parentheses CRA1 (2.28970) CRA2 (2.29361) CR (2.2909) FEA1 (1.93604) FEA2 (1.93998) FE (1.9373) CUA1 (1.54056) CUA2 (1.54439) CU (1.5418) MOA1 (0.70930) MOA2 (0.71359) MO (0.7107) AGA1 (0.55941) AGA2 (0.56380) AG (0.5608) A T O M identification (variable *elemt* on ATOM card) The atom symbols are used to retrieve the scattering factors for x rays and the nuclear (but not the magnetic) scattering factors for neutrons. Do n o t include the asterisk preceeding an atom symbol. This asterisk indicates atom identifiers that are allowed for both x-ray and neutron diffraction. All other symbols are allowed for x-ray diffraction only. Atom symbols followed by a point have a special meaning (see below) In case of x ray diffraction use neutral atoms unless you know exactly what you want to calculate. *AC *C *DY *HE LU3+ NP4+ *PU SI. TM3+ AC3+ C. DY3+ *HF *MG NP6+ PU3+ SI4+ *U *AG *CA HF4+ MG2+ PU4+ *SM U3+ AG1+ CA2+ *ER *HG *MN *O PU6+ SM3+ U4+ AG2+ *CD ER3+ HG1+ MN2+ O1- *SN U6+ *AL CD2+ *EU HG2+ MN3+ O2-. RA SN2+ AL3+ *CE EU2+ *HO MN4+ *OS RA2+ SN4+ *V *AM CE3+ EU3+ HO3+ *MO OS4+ *RB *SR V2+ *AR CE4+ MO3+ RB1+ SR2+ V3+ *AS CF *F *I MO5+ *P *RE V5+ AT *CL F1- I1- MO6+ *PA *RH *TA *AU CL1- *FE *IN *PB RH3+ TA5+ *W AU1+ *CM FE2+ IN3+ *N PB2+ RH4+ *TB W6+ AU3+ *CO FE3+ *IR *NA PB4+ RN TB3+ CO2+ FR IR3+ NA1+ *PD *RU *TC *XE *B CO3+ IR4+ *NB PD2+ RU3+ *TE *BA *CR *GA NB3+ PD4+ RU4+ *TH *Y BA2+ CR2+ GA3+ *K NB5+ PM TH4+ Y3+ *BE CR3+ *GD K1+ *ND PM3+ *S *TI *YB BE2+ *CS GD3+ *KR ND3+ PO *SB TI2+ YB2+ *BI CS1+ *GE *NE *PR SB3+ TI3+ YB3+ BI3+ *CU GE4+ *LA *NI PR3+ SB5+ TI4+ BI5+ CU1+ LA3+ NI2+ PR4+ *SC *TL *ZN BK CU2+ *H *LI NI3+ *PT SC3+ TL1+ ZN2+ *BR H. LI1+ *NP PT2+ *SE TL3+ *ZR BR1- D. H1- *LU NP3+ PT4+ *SI *TM ZR4+ symbols with special meaning H. hydrogen HF scattering factor C. carbon HF scattering factor Si. silicon HF scattering factor D. deuterium (for neutron diffraction o n l y) O2-. taken from Acta Cryst. vol.19, p.486(1965). S P A C E G R O U P symbols (variable *ipos* on SPCGRP- card) Do n o t include the star preceeding some of the symbols. The star indicates centrosymmetric space groups which have been described with several settings. the programme generates only the setting with the centre of symmetry at the origin of the unit cell. W A R N I N G a symbol that does not figure in this list may yield wrong equipoints. TRICLINIC P 1 P -1 MONOCLINIC P 2 P 21 C 2 P M P C C M C C P 2/M P 21/M C 2/M P 2/C P 21/C C 2/C The point positions generated from these symbols correspond to the monoclinic setting with b as unique axis (alpha=gamma=90.) ORTHORHOMBIC P 2 2 2 P 2 2 21 P 21 21 2 P 21 21 21 C 2 2 21 C 2 2 2 F 2 2 2 I 2 2 2 I 21 21 21 P M M 2 P M C 21 P C C 2 P M A 2 P C A 21 P N C 2 P M N 21 P B A 2 P N A 21 P N N 2 C M M 2 C M C 21 C C C 2 A M M 2 A B M 2 A M A 2 A B A 2 F M M 2 F D D 2 I M M 2 I B A 2 I M A 2 P M M M *P N N N P C C M *P B A N P M M A P N N A P M N A P C C A P B A M P C C N P B C M P N N M *P M M N P B C N P B C A P N M A C M C M C M C A C M M M C C C M C M M A *C C C A F M M M *F D D D I M M M I B A M I B C A I M M A TETRAGONAL P 4 P 41 P 42 P 43 I 4 I 41 P -4 I -4 P 4/M P 42/M *P 4/N *P 42/N I 4/M *I 41/A P 4 2 2 P 4 21 2 P 41 2 2 P 41 21 2 P 42 2 2 P 42 21 2 P 43 2 2 P 43 21 2 I 4 2 2 I 41 2 2 P 4 M M P 4 B M P 42 C M P 42 N M P 4 C C P 4 N C P 42 M C P 42 B C I 4 M M I 4 C M I 41 M D I 41 C D P -4 2 M P -4 2 C P -4 21 M P -4 21 C I -4 M 2 P -4 C 2 P -4 B 2 P -4 N 2 P -4 M 2 I -4 C 2 P -4 2 M I -4 2 D P 4/M M M P 4/M C C *P 4/N B M *P 4/N N C P 4/M B M P 4/M N C *P 4/N M M *P 4/N C C P 42/M M C P 42/M C M *P 42/N B C *P 42/N N M P 42/M B C P 42/M N M *P 42/N M C *P 42/N C M I 4/M M M I 4/M C M *I 41/A M D *I 41/A C D TRIGONAL P 3 P 31 P 32 R 3 P -3 R -3 P 3 1 2 P 3 2 1 P 31 1 2 P 31 2 1 P 32 1 2 P 32 2 1 R 3 2 P 3 M 1 P 3 1 M P 3 C 1 P 3 1 C R 3 M R 3 C P -3 1 M P -3 1 C P -3 M 1 P -3 C 1 R -3 M R -3 C all R-space groups refer to the hexagonal setting HEXAGONAL P 6 P 61 P 65 P 62 P 64 P 63 P -6 P 6/M P 63/M P 6 2 2 P 61 2 2 P 65 2 2 P 62 2 2 P 64 2 2 P 63 2 2 P 6 M M P 6 C C P 63 C M P 63 M C P -6 M 2 P -6 C 2 P -6 2 M P -6 2 C P 6/M M M P 6/M C C P 63/M C M P 63/M M C CUBIC P 2 3 F 2 3 I 2 3 P 21 3 I 21 3 P M 3 *P N 3 F M 3 *F D 3 I M 3 P A 3 I A 3 P 4 3 2 P 42 3 2 F 4 3 2 F 41 3 2 I 4 3 2 P 43 3 2 P 41 3 2 I 41 3 2 P -4 3 M F -4 3 M I -4 3 M P -4 3 N F -4 3 C I -4 3 D P M 3 M *P N 3 N P M 3 N *P N 3 M F M 3 M F M 3 C *F D 3 M *F D 3 C I M 3 M I A 3 D ---------------------------------------------------------------------- FORMULAE FOR THE LORENTZ - POLARISATION FACTORS ---------------------------------------------------------------------- Debye-Scherrer technique l = 1./(sin(theta)**2*cos(theta)) p = (1.+ cos(2*theta)**2)/2. Diffractometer with monochromator l = l (Debye-Scherrer) p = (1.+ cos(2*alpha)**2*cos(2*theta)**2)/(1.+cos(2*alpha)**2) alpha = diffraction angle of monochromator Guinier technique l = 1./(sin(theta)**2*cos(theta)*cos(2*theta-beta)) beta = angle between the normal to the specimen and the direction of the incident beam. p = ( 1.+ cos(2*theta)**2*cos(2*alpha)**2)/(1+cos(2*alpha)**2) alpha = diffraction angle of monochromator. NOTE Alpha and beta depend on the geometry of the Guinier camera and the d spacing of the reflecting planes of the monochromator crystal. For Guinier cameras other than Guinier-de Wolff or Guinier-Haegg or for monochromator crystals other than quartz changes in the programme have to be made. ( see * remarks for adapting the programme * in the source deck of PULVERIX.) ---------------------------------------------------------------------- DISCLAIMER ---------------------------------------------------------------------- Although the programme has been extensively tested by its authors no warranty is made as to the accuracy and functioning. The values of wavelengths, scattering factor constants and the equi- points used by the programme are part of the output and the user is advised to compare them with the values given in the International Tables for Crystallography. ----------------------------------------------------------------------- REMARKS FOR LIMITATIONS OF THE PROGRAM ----------------------------------------------------------------------- limit2 limitation on number of atom kinds (8) variables na,x,y,z,fneut,btemp,elemt,foccu,delfr,delfi, fmult,fa,fb,fc,ide limit3 limit on number of atoms of one kind (50) variables x,y,z,btemp,foccu,fmult,ide limit4 limit on number of equivalent pointpositions (24) variables ts,fs default values isymwl wavelength for x rays = copper (CU) tl1 lower theta limit for calculation (0.0) th1 upper theta limit for calculation (89.) thg upper theta limit for Guinier cameras (45.) cen no center of symmetry at origin (A) image graphical representation of intensities (2) ( in steps of 0.5 degrees 2theta ) isymlp experimental technique = Debye Scherrer (blank) symbr Bravais lattice = primitive (P) iano anomalous dispersion included (blank) ( if not included iano = N ) ======================================================================