1 | ************************************************************************ |
---|
2 | * * |
---|
3 | * Copyright 1987-1990 Michael M. J. Treacy and Michael W. Deem * |
---|
4 | * * |
---|
5 | ************************************************************************ |
---|
6 | ******************* Source file DIFFaX.par ****************** |
---|
7 | ************************************************************************ |
---|
8 | * Note that arrays are defined so that the most changed subscript is * |
---|
9 | * first. This usually means that the order is (column, row). * |
---|
10 | * * |
---|
11 | ************************************************************************ |
---|
12 | ************** Description of DIFFaX parameters ************* |
---|
13 | ************************************************************************ |
---|
14 | * MAX_L - the maximum number of layer types allowed * |
---|
15 | * MAX_A - the maximum number of atoms per layer * |
---|
16 | * MAX_TA - the maximum number of different atom types * |
---|
17 | * MAX_SP - the maximum number of points in the spectrum * |
---|
18 | * SADSIZE - the array size for the selected area diffraction * |
---|
19 | * pattern. * |
---|
20 | * XP_MAX - the maximum number of layers that can be * |
---|
21 | * explicitly sequenced non-recursively. * |
---|
22 | * RCSV_MAX - the maximum number of layers that can be * |
---|
23 | * explicitly sequenced recursively. RCSV_MAX should * |
---|
24 | * not exceed 2**MAX_BIN - 2 * |
---|
25 | * MAX_NAM - the maximum allowable number of characters in a * |
---|
26 | * filename * |
---|
27 | * MAX_BIN - Maximum number of 'bits' to be used in binary * |
---|
28 | * representation of RCRSV_MAX+2 * |
---|
29 | * FFACT_SIZE - Array size for pre-computed Lorentzian used for * |
---|
30 | * computing the lateral (a-b) size broadening. * |
---|
31 | * N_SIGMAS - Number of half-widths to compute Lorentzian. The * |
---|
32 | * remainder of the array goes linearly to zero. * |
---|
33 | * inf_width - Layer width in Angstroms that DIFFaX considers to * |
---|
34 | * be infinite, with no detectable size broadening. * |
---|
35 | * ip - standard input device number * |
---|
36 | * op - standard output device number * |
---|
37 | * df - unit that the structure data file will be * |
---|
38 | * read from. * |
---|
39 | * sf - unit that the standard scattering factor data * |
---|
40 | * will be read from. * |
---|
41 | * dp - unit that the structure data dump will be * |
---|
42 | * written to. * |
---|
43 | * sy - unit that the symmetry evaluation data will * |
---|
44 | * be written to. * |
---|
45 | * sk - unit that the streak data will be written to. * |
---|
46 | * sp - unit that the spectrum data will be written to. * |
---|
47 | * sa - unit that the 8-bit binary formatted selected * |
---|
48 | * area diffraction pattern data will be written to. * |
---|
49 | * scrtch - unit that the scratch file will be used on. * |
---|
50 | * CLIP - allowed length of filename appendages. * |
---|
51 | * UNKNOWN - flag indicating whether or not the symmetry * |
---|
52 | * point-group has been defined by the user * |
---|
53 | * * |
---|
54 | ************************************************************************ |
---|
55 | ****************** Declaration of parameters ***************** |
---|
56 | ************************************************************************ |
---|
57 | * |
---|
58 | implicit none |
---|
59 | integer*4 MAX_L, MAX_A, MAX_TA, MAX_SP, SADSIZE |
---|
60 | parameter (MAX_L=20,MAX_A=200,MAX_TA=20,MAX_SP=20001,SADSIZE=256) |
---|
61 | integer*4 XP_MAX, RCSV_MAX, MAX_NAM, MAX_BIN |
---|
62 | parameter (XP_MAX=5000, RCSV_MAX=1022, MAX_NAM=31, MAX_BIN=10) |
---|
63 | integer*4 FFACT_SIZE, N_SIGMAS |
---|
64 | parameter (FFACT_SIZE=201, N_SIGMAS=7) |
---|
65 | real*8 inf_width |
---|
66 | parameter (inf_width=1.0D4) |
---|
67 | integer*4 ip, op, df, sf, dp, sy, sp, sk, sa |
---|
68 | parameter (ip=5,op=6,df=2,sf=4,dp=10,sy=11,sp=12,sk=13,sa=14) |
---|
69 | integer*4 scrtch |
---|
70 | parameter (scrtch = 3) |
---|
71 | integer*4 CLIP |
---|
72 | parameter (CLIP = 14) |
---|
73 | integer*4 UNKNOWN |
---|
74 | parameter (UNKNOWN = -1) |
---|
75 | * define some useful numerical constants |
---|
76 | complex*16 C_ZERO, C_ONE |
---|
77 | parameter (C_ZERO = (0.0D0,0.0D0), C_ONE = (1.0D0,0.0D0)) |
---|
78 | real*8 ZERO, QUARTER, HALF, ONE, TWO, THREE, FOUR, FIVE, |
---|
79 | | SIX, EIGHT, TEN, TWELVE, TWENTY, FIFTY, HUNDRED, |
---|
80 | | ONE_EIGHTY |
---|
81 | parameter (ZERO = 0.0D0, QUARTER = 0.25D0, HALF = 0.5D0, |
---|
82 | | ONE = 1.0D0, TWO = 2.0D0, THREE = 3.0D0, FOUR = 4.0D0, |
---|
83 | | FIVE = 5.0D0, SIX = 6.0D0, EIGHT = 8.0D0, TEN = 10.0D0, |
---|
84 | | TWELVE = 12.0D0, TWENTY = 20.0D0, FIFTY = 50.0D0, |
---|
85 | | HUNDRED = 100.0D0, ONE_EIGHTY = 180.0D0) |
---|
86 | real*8 eps1, eps2, eps3, eps4, eps5, eps6, eps7, eps8, eps9, |
---|
87 | | eps10, eps14 |
---|
88 | parameter (eps1 = 1.0D-1, eps2 = 1.0D-2, eps3 = 1.0D-3, |
---|
89 | | eps4 = 1.0D-4, eps5 = 1.0D-5, eps6 = 1.0D-6, |
---|
90 | | eps7 = 1.0D-7, eps8 = 1.0D-8, eps9 = 1.0D-9, |
---|
91 | | eps10 = 1.0D-10, eps14 = 1.0D-14) |
---|
92 | real*8 EIGHTBITS, FIFTEENBITS, SIXTEENBITS |
---|
93 | parameter (EIGHTBITS = 256.0D0, FIFTEENBITS = 32768.0D0, |
---|
94 | | SIXTEENBITS = 65536.0D0) |
---|
95 | * |
---|