NAME mucal - A subroutine to calculate x-ray crossections AUTHOR Pathikrit Badyopadhyay REFERENCE (1) W. H. McMaster et.al, Compilation of X-ray Cross Sections, National Bureau of Standards, for calculation of x-ray cross sections. (2) M. O. Krause, J. Phys. Chem. Ref. Data. 8, 307(1979), for Fluorescence yield data ACKNOWLEDGMENTS Dr. B. A. Bunker, Dr. Q. T. Islam, B. I. Boaynov for their helpful suggestions. Dr. M. Zanabria for helping in typing the data in. Dr. B. A. Bunker and Dr. Anne Tabor-Morris for subsequent modifications. DISCLAIMER This program is freeware . You may freely copy and redistribute it. Permission is granted to modify the source for your own purposes. Please DO NOT REMOVE the first comment block. There are absolutely NO WARRANTY on this program. The author takes no responsibility for any damage caused by this program. The author takes no responsibility for time lost if incorrect or misleading results are produced by this program. If a warranty is required by law where you intend to use this software permission to use this software there is revoked. INTRODUCTION Mucal is a fortran subroutine that calculates and supplies xray properties of materials. It uses the coefficients listed in ref. (1) to calculate the crosssections. USAGE To call the subroutine use: call mucal(en,name,z,unit,xsec,energy,fly,erf,er) where, variable description -------- ----------------------------------------------- en Energy at which x-section to be calculated. Real. name Name of material. Character of length 2. z Atomic number of material. Integer. unit Unit to be used for x-sections. Character of length 1. xsec Array of x-sections. Real, 10 elements. xsec(1) Photoelectric x-section xsec(2) Coherent x-section xsec(3) Incoherent x-section xsec(4) Total x-section xsec(5) Conversion factor xsec(6) Absorption coefficient xsec(7) Atomic weight xsec(8) Density xsec(9) l2-edge jump xsec(10) l3-edge jump energy Various edge energies. Real, 9 elements energy(1) k-edge energy energy(2) l1-edge energy energy(3) l2-edge energy energy(4) l3-edge energy energy(5) m-edge energy energy(6) k-alpha1 energy(7) k-beta1 energy(8) l-alpha1 energy(9) l-beta1 fly Fluorescence yield. Real, 4 elements fly(1) k fluorescence yield fly(2) l1 fluorescence yield fly(3) l2 fluorescence yield fly(4) l3 fluorescence yield erf error flag, logical. er error code. integer. it can have the following values. 1 energy input is zero 2 name does not match supplied z 3 no documentation for given element (z<94) 4 no documentation for given element (z>94) 5 l-edge calculation may be wrong for z<30 as mcmaster uses l1 only 6 energy in the middle of edge 7 no name or z supplied NOTES: en en > 0 for x-sections and en < 0 for edge energy name if both name and z supplied they should match z if both name and z supplied they should match unit unit=c => cm^2/gm; unit=b => barns/atom conversion barns/atom = (conversion factor) * (cm^2/g) factor subroutine upcase.f. Supplied. needed