Questions and Answers regarding the MSCD package


  1. Is the polar emission angle defined with respect to the normal to the surface (i.e. q=0 means normal emission)?

    Yes.

  2. The ltheta, lphi, beampol refer to the light polarization. How can one treat the case of unpolarized x-rays (as in the case of a conventional x-ray source)?

    The latest version (Version 1.37) cannot handle unpolarized x-rays at this moment. We will have a version to cover this feature later. However, an unpolarized x-ray beam can be mathematically composed of two mutually perpendicular polarized light beams. So you can calculate separately for those two polarizations and finally add the intensities together.

  3. What are mtheta, mphi and acceptang?

    The mtheta and mphi have not be implemented. Currently they should be set to zero. The acceptang is the half aperture angle of the photoemission energy detector. We usually choose 2 to 5 degrees.

  4. How to set up the cluster radius and depth?

    These two parameters determine the shape of the cluster. If you set the depth to zero, then the program will determine its non-zero value. You have to set a non-zero radius. You can try different values (in unit of Angstrom), until the cluster size is between 80 to 120 atoms (a good compromise between calculation time and accuracy). The MSCD program shows the cluster size and some other parameters before the calculation.

  5. What are the lineatom and latoms in the input file?

    The lineatom and latoms are reserved for test purposes only. The user can set them to zero.

  6. How to build a layer in the input file, when the layer consists of more than one kind of atom or when the unit cell has more than one kind of atom?

    We build up a structure as a set of logical layers. Each logical layer has only one atom per unit cell (it thus forms a Bravais lattice). One physical layer consists of one or more logical layers, which may have interlayer spacings equal to zero, i.e. may be coplanar.

  7. How to calculate phase shift data and radial matrix elements?

    There are several programs that can calculate phase shifts and radial matrix elements. We have a program, called psrm, which is able to calculate these data based on known muffin tin potentials. The psrm program, written in Fortran 77, is not included in the downloadable package. Users can request it for free by sending email to us.

  8. What are kmin, kmax and kstep?

    The kmin, kmax, kstep are minimum, maximum and step of the photoelectron wave numbers. The relationship between wave number k, photoelectron kinetic energy Ek, photon energy Ep, and the core level binding energy Eb is

    Ek = Ep - Eb

    k = 0.51233 sqrt(Ek)

    Here we use the unit eV for energies Ek, Ep and Eb, and Å-1 for k. Typically at LBNL, the photoelectron diffraction scanned energy curves have kmin around 3 - 5 Å-1, kmax around 10 - 15 Å-1, and kstep around 0.1 or 0.2 Å-1.

  9. What compiler should we use to compile the MSCD source files?

    The source code is written in Ansi C++. We believe most of the popular C++ compilers can be used to compile this package. We have used the PC Microsoft Visual C++ compiler, the PC Borland C++ compiler, the Unix C++ compiler, the Macintosh CodeWarrier C++ compiler, and the Macintosh Symantec C++ compiler. The version of those compilers should be not important.

  10. I have tried to compile the program with the MS Visual C++ (Version 2.2), but in this version there is no file strstream.h. Where can I get this header file?

    In MS Visual C++, the file strstream.h is replaced by strstrea.h. Therefore, the only thing you need to do is to make a copy of strstrea.h to strstream.h in the same directory.

  11. How much computer memory does the program need?

    The computer memory required depends on the structure, cluster size, multiple scattering order, R-A approximation order and pathcut. A larger problem size needs more memory. Typically, for a full theoretical calculation of a 100-atom cluster with 2nd R-A approximation order for up to 8th multiple scattering order, about 32 megabytes of memory will be needed for one processor and pathcut = 0.01.


Return to Van Hove home page