source: trunk/fsource/DIFFaXsubs/DIFFaX.inc @ 2205

Last change on this file since 2205 was 2205, checked in by vondreele, 6 years ago

implement sequential stacking fault calculations with plotting
fix PlotXY

File size: 30.9 KB
Line 
1************************************************************************
2*                                                                      *
3*     Copyright 1987-1995 Michael M. J. Treacy and Michael W. Deem     *
4*                                                                      *
5************************************************************************
6*******************      Source file DIFFaX.inc       ******************
7************************************************************************
8*                                                                      *
9* This file contains the declaration of COMMON variables used          *
10* throughout DIFFaX.                                                   *
11*                                                                      *
12* Some DIFFaX routines require static storage of variables. Not all    *
13* compilers will automatically declare variables to be static (in fact *
14* the fortran77 standard implies that non static allocation should be  *
15* the default). To be safe, use a 'static' compiler option, if         *
16* available. Alternatively, uncomment the 'save' statement at the      *
17* beginning of the declaration section of this file, and also at the   *
18* beginning of those subroutines and functions which do not include    *
19* this file, such as RAN3. If variables are not 'saved', results will  *
20* be unpredictable.                                                    *
21*                                                                      *
22************************************************************************
23*************      Description of variables in COMMON       ************
24************************************************************************
25*                                                                      *
26*            d-> indicates that the variable is read in                *
27*                from the user's data file.                            *
28*                                                                      *
29*            i-> indicates that the variable is acquired               *
30*                interactively at run_time, either by                  *
31*                prompting the user for keyboard input, or             *
32*                (if present) by reading the control file.             *
33*                                                                      *
34*            s-> indicates that the variable is read in                *
35*                from the atomic scattering factor data file.          *
36*                Normally, this data should never change.              *
37*                                                                      *
38************************************************************************
39***********************     logical variables     **********************
40************************************************************************
41*    any_sharp    -  TRUE if DIFFaX suspects there are any sharp       *
42*                    peaks.                                            *
43*    all_Bs_zero  -  TRUE when all Bs_zero(i,j) = TRUE                 *
44*    Bs_zero(MAX_L, MAX_L)                                             *
45*                 -  TRUE if all layer stacking uncertainty factors in *
46*                    one transition are all zero.                      *
47*    CFile        -  TRUE if there is a file named 'control.dif'       *
48*                    in the current directory. This is the so-called   *
49*                    'control file' that automates the running of      *
50*                    DIFFaX.                                           *
51*    check_sym    -  TRUE if user specified a point group symmetry     *
52*                    to test against. If the user's choice is          *
53*                    incompatible with the input data, then this       *
54*                    will be reset to FALSE.                           *
55*    debug        -  TRUE for printouts to appear on screen (RVD)      *
56*    DoDatdump    -  TRUE if the user wants a dump of the data file    *
57*    DoSymDump    -  TRUE if the user wants to dump the output of      *
58*                    the symmetry tests                                *
59*d-> finite_width -  TRUE if layer widths are finite.                  *
60*    has_l_mirror    TRUE if the diffraction data has a mirror         *
61*                    perpendicular to c* (along fault axis)            *
62*    h_mirror     -  TRUE if diffraction data has a mirror across      *
63*                    the a*-c* plane                                   *
64*    hk_mirror    -  TRUE if diffraction data has a mirror across      *
65*                    the a*=b*, c* plane                               *
66*    k_mirror     -  TRUE if diffraction data has a mirror across      *
67*                    the b*-c* plane                                   *
68*    intp_F       -  TRUE if the form factors are to be interpolated   *
69*                    for the purposes of the Gauss-Legendre adaptive   *
70*                    quadrature integration.                           *
71*    inf_thick    -  TRUE if crystal is to be treated as if it has     *
72*                    an infinite number of layers                      *
73*    one_B(MAX_L) -  TRUE if all Debye-Waller factors are the          *
74*                    same.                                             *
75*    one_occup(MAX_L)                                                  *
76*                 -  TRUE if all occupancy factors are the             *
77*                    same.                                             *
78*    only_real       TRUE if all layers are centrosymmetric            *
79*d-> recrsv       -  TRUE if the recursive model is to be used to      *
80*                    calculate diffraction from a statistical          *
81*                    ensemble of crystallites.                         *
82*d-> rndm         -  TRUE if 'xplcit' is TRUE, and if the user wishes  *
83*                    the computer to generate a random sequence of     *
84*                    layers biassed by the transition probabilities    *
85*                    'l_alpha'.                                        *
86*    rot_only     -  TRUE if diffraction point group symmetry          *
87*                    has no vertical mirrors.                          *
88*    same_Bs      -  TRUE if all layer stacking uncertainty            *
89*                    factors are identical.                            *
90*    same_layer   -  TRUE if all of the explicitly defined             *
91*                    layers are identical.                             *
92*    same_rz      -  TRUE if all stacking vectors have the same        *
93*                    z-component.                                      *
94*    there(MAX_L,MAX_L)                                                *
95*                 -  TRUE if the transition j to i is non-zero         *
96*d-> xplcit       -  TRUE if the user specifies a layer sequence       *
97*                    explicitly.                                       *
98*                    'recrsv' and 'xplcit' cannot both be TRUE         *
99*    trim_origin  -  If TRUE, intensity near the origin will be        *
100*                    ignored for the purposes of applying              *
101*                    instrumental broadening.                          *
102************************************************************************
103**********************     integer*4 variables     *********************
104************************************************************************
105*d-> a_number(MAX_A,MAX_L)                                             *
106*                 -  numeric label of atom in the layer.               *
107*d-> a_type(MAX_A,MAX_L)                                               *
108*                 -  type of each atom in each layer.                  *
109*                    (a_type <= MAX_TA).                               *
110*i-> bitdepth     -  The bit-depth of the selected area diffraction.   *
111*                    pattern (sadp) data. Can equal 8 or 16.           *
112*d-> blurring     -  Type of instrumental broadening to simulate.      *
113*                    Choices are; PS_VGT, GAUSS, LORENZ                *
114*    CENTRO       -  numeric constant (= 1) indicating layer has       *
115*                    a center of symmetry.                             *
116*    cntrl        -  The device number to read input from.             *
117*                    If the file 'control.dif' is present, this file   *
118*                    becomes the default input. Otherwise, it is the   *
119*                    keyboard.                                         *
120*s-> e_sf(MAX_TA) -  Electron scattering factors.                      *
121*    ELECTN       -  numeric constant (= 2) indicating radiation       *
122*                    type is electrons.                                *
123*i-> full_brd     -  1 if full adaptive integration is to be carried   *
124*                    out on the sharp spots.                           *
125*i-> full_shrp    -  1 if full adaptive integration is to be carried   *
126*                    out on the streaks.                               *
127*    GAUSS        -  numeric constant (= 1) indicating user wishes     *
128*                    to simulate Gaussian instrumental                 *
129*                    broadening, with a constant half width            *
130*    h_bnd        -  Maximum value of h to explore.                    *
131*    k_bnd        -  Maximum value of k to explore.                    *
132*    l_actual(MAX_L)                                                   *
133*                 -  Contains the layer number that layer i is         *
134*                    structurally identical to. If all layers are      *
135*                    unique, l_actual(i) = i;                          *
136*                    else, l_actual(i) <= i.                           *
137*    l_cnt        -  Number of layers in explicit sequence. This is    *
138*                    tallied by DIFFaX, by counting the layers.        *
139*    l_n_atoms(MAX_L)                                                  *
140*                 -  number of atoms in each layer                     *
141*d-> l_symmetry(MAX_L)                                                 *
142*                 -  symmetry of layer (NONE or CENTRO)                *
143*d-> l_seq(XP_MAX)                                                     *
144*                 -  array containing the explicitly defined           *
145*                    sequence of layers. Used only if                  *
146*                    'xplcit' = TRUE                                   *
147*i-> loglin       -  1 if logarithmic scaling of SADP data is          *
148*                     required                                         *
149*    LORENZ       -  numeric constant (= 2) indicating user wishes     *
150*                    to simulate Lorentzian instrumental               *
151*                    broadening, with a constant half width            *
152*    maxsad       -  Maximum intensity of sadp patterns.               *
153*    n_actual     -  Number of unique layers ( <= n_layers).           *
154*    n_atoms      -  Temporary variable holding the number of unique   *
155*                    atoms in a given layer.                           *
156*d-> n_layers     -  Number of user-defined layers. n_layers <= MAX_L  *
157*    NEUTRN       -  Numeric constant (= 1) indicating radiation       *
158*                    type is neutrons.                                 *
159*    no_trials    -  Number of reciprocal space points to sample.      *
160*                    whilst evaluating diffraction symmetry.           *
161*    NONE         -  numeric constant (= 0) indicating layer has       *
162*                    no center of symmetry.                            *
163*    PS_VGT       -  numeric constant (= 3) indicating user wishes     *
164*                    to simulate pseudo-Voigt instrumental             *
165*                    broadening.                                       *
166*    PV_LRN       -  numeric constant (= 5) indicating user wishes     *
167*                    to simulate Lorentzian instrumental               *
168*                    broadening, with a variable half width            *
169*    PV_GSS       -  numeric constant (= 4) indicating user wishes     *
170*                    to simulate Gaussian instrumental                 *
171*                    broadening, with a variable half width            *
172*d-> rad_type     -  Type of radiation for which to calculate          *
173*                    diffraction intensities. Choices are;             *
174*                    X_RAY, NEUTRN, ELECTN                             *
175*    sadblock     -  Length of a row of SADP data                      *
176*d-> SymGrpNo     -  Numeric descriptor of diffraction symmetry.       *
177*    X_RAY        -  numeric constant (= 0) indicating radiation       *
178*                    type is X-rays.                                   *
179*                                                                      *
180************************************************************************
181**********************     character variables     *********************
182************************************************************************
183*d-> a_name(MAX_A,MAX_L)*4                                             *
184*                 -  Name of each atom. DIFFaX expects 4               *
185*                    characters. See file 'data.sfc' for               *
186*                    allowed names.                                    *
187*    atom_l(MAX_TA)                                                    *
188*                 -  The name of each type of atom found in the        *
189*                    structure data file                               *
190*    cfname*16    -  The name of the control file containing the       *
191*                    automated responses to DIFFaX's prompts           *
192*                    (usually set to 'control.dif').                   *
193*d-> pnt_grp*12   -  Symbolic name of the point group symmetry of      *
194*                    the diffraction data.                             *
195*    sfname*16    -  The name of the data file containing the          *
196*                    atomic scattering factor data (usually set to     *
197*                    'data.sfc')                                       *
198*                                                                      *
199************************************************************************
200***********************     real*8 variables     ***********************
201************************************************************************
202*    a0           -  One of seven reciprocal lattice constants         *
203*d-> a_B(MAX_A,MAX_L)                                                  *
204*                 -  isotropic Debye-Waller factor for each            *
205*                    atom in each layer.                               *
206*d-> a_occup(MAX_A,MAX_L)                                              *
207*                 -  Occupancy of each atom in each layer.             *
208*                    (Normally this will lie between 0 and 1).         *
209*d-> a_pos(3,MAX_A,MAX_L)                                              *
210*                 -  x,y,z relative coordinates of each atom           *
211*                    in each layer.                                    *
212*    a_B11,a_B22,a_B33,a_B12,a_B23,a_B31                               *
213*                 -  The average values of the r_Bij arrays            *
214*    ab0          -  One of seven reciprocal lattice constants         *
215*    b0           -  One of seven reciprocal lattice constants         *
216*    bc0          -  One of seven reciprocal lattice constants         *
217*    bnds_wt      -  Equals 1.0 if rot_only is TRUE, otherwise         *
218*                    equals 0.5 if rot_only is FALSE (ie there is      *
219*                    a vertical mirror                                 *
220*    brd_spc(MAX_SP)                                                   *
221*                 -  Array holding the powder diffraction data         *
222*                    after instrumental broadening has been            *
223*                    applied.                                          *
224*    c0           -  One of seven reciprocal lattice constants         *
225*    ca0          -  One of seven reciprocal lattice constants         *
226*d-> cell_a       -  Unit cell a axis dimension.                       *
227*d-> cell_b       -  Unit cell b axis dimension.                       *
228*d-> cell_c       -  Unit cell c axis dimension.                       *
229*d-> cell_gamma   -  Angle between a and b axes. Angle between b and   *
230*                    c, and a and c axes is 90 degrees by default.     *
231*    d0           -  One of seven reciprocal lattice constants         *
232*d-> d_theta      -  Angular increment in PXD spectrum.                *
233*    DEG2RAD      -  Conversion factor for degrees to radians          *
234*    detune(MAX_L,MAX_L)                                               *
235*                 -  Array of small positive numbers whose             *
236*                    purpose is to prevent the determinant of the      *
237*                    recursion array 'mat' from becoming zero at the   *
238*                    sharp peaks. This produces a singularity which    *
239*                    is hard to integrate accurately over. In essence, *
240*                    the 'detune' parameters are small stacking        *
241*                    uncertainty factors. The result is to reduce      *
242*                    the value of l_alpha(j,i) by an amount            *
243*                    detune(j,i), such that the sum over the alphas    *
244*                    for stacking from a given layer do not quite      *
245*                    add to unity.                                     *
246*    fatsWalla_hk -  temporary storage for Fats-Waller factor          *
247*    ffact_scale  -  Angular scale (radians) of array 'formfactor'.    *
248*    ffhkcnst     -  Constant associated with the form-factor half-    *
249*                    width. Depends on reflection indices h and k, as  *
250*                    well as Wx and Wy.                                *
251*    ffwdth       -  Form factor half width in reciprocal Angstroms.   *
252*    formfactor(FFACT_SIZE)                                            *
253*                 -  Array containing a normalized Lorentzian profile, *
254*                    the form factor due to in-plane size broadening.  *
255*                    The profile is Lorentzian out to N_SIGMAS half-   *
256*                    widths, and linear to zero from there. The linear *
257*                    portion has the same gradient as the last point   *
258*                    of the Lorentzian portion, thus the sampling step *
259*                    is governed by N_SIGMAS as well as FFACT_SIZE.    *
260*    h_end        -  (h_end,k_end) is a vector in the                  *
261*                    h-k plane of reciprocal space defining the        *
262*                    upper boundary of the wedge in reciprocal space   *
263*                    to integrate within. This is defined by the       *
264*                    symmetry of the diffraction data.                 *
265*    high_atom(MAX_L)                                                  *
266*                 -  The highest atomic z-rel position in each layer   *
267*    h_start      -  (h_start,k_start) is a vector in the              *
268*                    h-k plane of reciprocal space defining the        *
269*                    lower boundary of the wedge in reciprocal space   *
270*                    to integrate within. This is defined by the       *
271*                    symmetry of the diffraction data.                 *
272*d-> FWHM         -  Full width half maximum of instrumental           *
273*                    broadening.                                       *
274*    hx_ky(MAX_A,MAX_L)                                                *
275*                 -  Temporary storage of h*Rx + k*Ry, whilst          *
276*                    l*Rz is being computed along the streaks.         *
277*    k_end        -  (h_end,k_end) is a vector in the                  *
278*                    h-k plane of reciprocal space defining the        *
279*                    upper boundary of the wedge in reciprocal space   *
280*                    to integrate within. This is defined by the       *
281*                    symmetry of the diffraction data.                 *
282*    k_start      -  (h_start,k_start) is a vector in the              *
283*                    h-k plane of reciprocal space defining the        *
284*                    lower boundary of the wedge in reciprocal space   *
285*                    to integrate within. This is defined by the       *
286*                    symmetry of the diffraction data.                 *
287*d-> l_alpha(MAX_L,MAX_L)                                              *
288*                 -  Array of layer transition probabilities.          *
289*                    The order is (column, row).                       *
290*    l_bnd        -  Maximum value of l to explore.                    *
291*    l_g(MAX_L)   -  Array of layer existence probabilities.           *
292*                    These are determined by the transition            *
293*                    probabilities 'l_alpha' entered by the user.      *
294*    low_atom(MAX_L)                                                   *
295*                 -  The lowest atomic z-rel position in each layer    *
296*d-> l_r(3,MAX_L,MAX_L)                                                *
297*                 -  Array of layer stacking vectors.                  *
298*                    The order is (column, row).                       *
299*    l_rz         -  Value of Rz if same_rz = TRUE.                    *
300*d-> lambda       -  Radiation wavelength.                             *
301*    max_angle    -  Maximum angle that intensity information is to    *
302*                    be taken from for the purposes of evaluating      *
303*                    diffraction symmetry.                             *
304*    max_var      -  Maximum mean variation of intensities when a      *
305*                    given symmetry operator was applied.              *
306*    mltplcty     -  1/mltplcty is the fraction of reciprocal space    *
307*                    necessary to integrate over, as determined by     *
308*                    the diffraction point group symmetry.             *
309*s-> n_sf(MAX_TA) -  Neutron scattering factors.                       *
310*    PI           -  The value of pi, 3.141592653589793.....           *
311*    PI2          -  The value of 2*pi                                 *
312*d-> pv_gamma     -  Pseudo-Voigt gamma parameter.                     *
313*d-> pv_u         -  Pseudo-Voigt u parameter.                         *
314*d-> pv_v         -  Pseudo-Voigt v parameter.                         *
315*d-> pv_w         -  Pseudo-Voigt w parameter.                         *
316*d-> r_B11(MAX_L,MAX_L)                                                *
317*d-> r_B22(MAX_L,MAX_L)                                                *
318*d-> r_B33(MAX_L,MAX_L)                                                *
319*d-> r_B12(MAX_L,MAX_L)                                                *
320*d-> r_B23(MAX_L,MAX_L)                                                *
321*d-> r_B31(MAX_L,MAX_L)                                                *
322*                 -  The 6 components of the anisotropic layer         *
323*                    stacking uncertainties. These are                 *
324*                    equivalent to the atomic Debye-Waller             *
325*                    factors, except they apply to the stacking        *
326*                    vectors. These parameters allow for               *
327*                    'turbostratic' disorder such as is found          *
328*                    in liquid crystals. These parameters are          *
329*                    optional, and can be entered by the user          *
330*                    in the PARAMETERS section enclosed in             *
331*                    parentheses.                                      *
332*    RAD2DEG      -  Conversion factor for radians to degrees          *
333*    scaleint     -  Intensity scaling factor used in calculating      *
334*                    the selected area diffraction patterns.           *
335*    spec(MAX_SP) -  Array holding the unbroadened powder              *
336*                    diffraction data. This array also holds           *
337*                    the SADP image data.                              *
338*d-> th2_max      -  Upper bound of angle in PXD spectrum.             *
339*d-> th2_min      -  Lower bound of angle in PXD spectrum.             *
340*    theta1       -  angle relative to (1,0,0) of lower wedge bound    *
341*    theta2       -  angle relative to (1,0,0) of upper wedge bound    *
342*d-> tolerance    -  Maximum deviation that intensities can have       *
343*                    from symmetry related points if intensities are   *
344*                    to be considered equal.                           *
345*    tiny_inty    -  a small intensity value used in the diffraction   *
346*                    symmetry checking routines. Intensities lower     *
347*                    than tiny_inty are treated as being close to zero.*
348*                 -  X-ray scattering factors.                         *
349*s-> x_sf(9,MAX_TA)                                                    *
350*                 -  X-ray scattering factors.                         *
351*i-> Wa           -  In-plane width of crystal along a-direction.      *
352*i-> Wb           -  In-plane width of crystal perpendicular to        *
353*                    a-direction. Wx and Wy in Angstroms.              *
354*                                                                      *
355************************************************************************
356*********************     complex*16 variables     *********************
357************************************************************************
358*    l_phi(MAX_L,MAX_L)                                                *
359*                 -  Phases of components of 'mat'                     *
360*    mat(MAX_L,MAX_L)                                                  *
361*                 -  Recursion matrix relating the scattering          *
362*                    from crystals centered on different layers        *
363*    mat1(MAX_L,MAX_L)                                                 *
364*                 -  Storage for intermediate 'mat' results.           *
365*    wavefn       -  Coherent wavefunction calculated for an           *
366*                    explicitly defined sequence of layers (if         *
367*                    requested)                                        *
368*                                                                      *
369************************************************************************
370***************      Declaration of COMMON variables      **************
371************************************************************************
372*
373*     save
374*
375      character*4 a_name(MAX_A,MAX_L), atom_l(MAX_TA)
376      character*12 pnt_grp
377*      character*16 sfname, cfname
378*
379      logical one_B(MAX_L), one_occup(MAX_L), Bs_zero(MAX_L, MAX_L),
380     |        there(MAX_L,MAX_L)
381      logical only_real, same_Bs, all_Bs_zero, rot_only, CFile,
382     |        DoDatdump, DoSymDump, intp_F, trim_origin, recrsv,
383     |        xplcit, rndm, inf_thick, has_l_mirror, h_mirror,
384     |        k_mirror, hk_mirror, check_sym, same_rz, any_sharp,
385     |        same_layer, finite_width,debug
386*
387      integer*4 l_seq(XP_MAX), pow(MAX_BIN), a_type(MAX_A,MAX_L),
388     |          l_n_atoms(MAX_L), l_symmetry(MAX_L), l_actual(MAX_L),
389     |          a_number(MAX_A,MAX_L), e_sf(MAX_TA)
390      integer*4 SymGrpNo, no_trials, h_bnd, k_bnd, cntrl, max_pow,
391     |          l_cnt,full_brd, full_shrp, sadblock, loglin, bitdepth,
392     |          rad_type, n_layers, n_actual, blurring, n_atoms, maxsad
393      integer*4 NONE, CENTRO, GAUSS, LORENZ, PS_VGT, PV_GSS, PV_LRN,
394     |          X_RAY, NEUTRN, ELECTN
395*
396      real*8 l_alpha(MAX_L,MAX_L), l_r(3,MAX_L,MAX_L), l_g(MAX_L),
397     |       a_pos(3,MAX_A,MAX_L), a_B(MAX_A,MAX_L),
398     |       a_occup(MAX_A,MAX_L), high_atom(MAX_L), low_atom(MAX_L),
399     |       r_B11(MAX_L,MAX_L),r_B22(MAX_L,MAX_L),r_B33(MAX_L,MAX_L),
400     |       r_B12(MAX_L,MAX_L),r_B23(MAX_L,MAX_L),r_B31(MAX_L,MAX_L),
401     |       hx_ky(MAX_A,MAX_L), spec(MAX_SP), brd_spc(MAX_SP),
402     |       detune(MAX_L,MAX_L), x_sf(9,MAX_TA)
403      real*8 a_B11,a_B22,a_B33,a_B12,a_B23,a_B31
404      real*8 tolerance, max_var, max_angle, l_bnd, l_rz,
405     |       PI, PI2, RAD2DEG, DEG2RAD, scaleint, brightness, lambda,
406     |       th2_min, th2_max, d_theta, h_start, k_start,h_end, k_end,
407     |       cell_a, cell_b, cell_c, cell_gamma, pv_u, pv_v, pv_w,
408     |       pv_gamma, FWHM, mltplcty, bnds_wt, theta1, theta2, a0, b0,
409     |       c0, d0, ab0, bc0, ca0, tiny_inty, fatsWalla_hk
410      real*8 formfactor(FFACT_SIZE),ffact_scale,Wa,Wb,ffhkcnst,ffwdth
411      real*8 n_sf(MAX_TA)
412*
413      complex*16 mat(MAX_L,MAX_L), mat1(MAX_L,MAX_L),
414     |           l_phi(MAX_L,MAX_L), wavefn
415*
416      common /chars1/ a_name, atom_l
417      common /chars2/ pnt_grp
418*      common /chars3/ sfname, cfname
419*
420      common /logic1/ one_B, one_occup, Bs_zero, there
421      common /logic2/ only_real, same_Bs, all_Bs_zero, rot_only, CFile,
422     |                DoDatdump, DoSymDump, intp_F, trim_origin,
423     |                recrsv, xplcit, rndm, inf_thick, has_l_mirror,
424     |                h_mirror, k_mirror, hk_mirror, check_sym,
425     |                same_rz, any_sharp, same_layer, finite_width,
426     |                debug
427*
428      common /integ1/ l_seq, pow, a_type, l_n_atoms, l_symmetry,
429     |                l_actual, a_number, e_sf
430      common /integ2/ SymGrpNo, no_trials, h_bnd, k_bnd, cntrl,
431     |                max_pow, l_cnt, full_brd, full_shrp, sadblock,
432     |                loglin, bitdepth, rad_type, n_layers, n_actual,
433     |                blurring, n_atoms, maxsad
434*
435*The common block /consts/ is initialized in the block data section
436      common /consts/ NONE, CENTRO, GAUSS, LORENZ, PS_VGT, PV_GSS,
437     |                PV_LRN, X_RAY, NEUTRN, ELECTN
438*
439      common /reals1/ l_alpha, l_r, l_g, a_pos, a_B,a_occup, high_atom,
440     |                low_atom, r_B11,r_B22,r_B33, r_B12,r_B23,r_B31,
441     |                hx_ky,spec, brd_spc, detune, x_sf
442      common /reals2/ a_B11,a_B22,a_B33,a_B12,a_B23,a_B31
443      common /reals3/ tolerance, max_var, max_angle, l_bnd, l_rz,
444     |                PI, PI2, RAD2DEG, DEG2RAD, scaleint,
445     |                brightness, lambda, th2_min, th2_max, d_theta,
446     |                h_start, k_start,h_end, k_end, cell_a, cell_b,
447     |                cell_c, cell_gamma, pv_u, pv_v, pv_w, pv_gamma,
448     |                FWHM, mltplcty, bnds_wt, theta1, theta2, a0, b0,
449     |                c0, d0, ab0, bc0, ca0, tiny_inty, fatsWalla_hk
450      common /reals4/ formfactor, ffact_scale, Wa, Wb, ffhkcnst, ffwdth
451*
452      common /cmplx1/ mat, mat1, l_phi, wavefn
453*
454      equivalence (n_sf, x_sf)
455*
Note: See TracBrowser for help on using the repository browser.