Electron Diffraction in Atomic Clusters


for Core Level Photoelectron Diffraction Simulations


Developed by F. Javier García de Abajo in 1999 at LBNL (Berkeley, Califonia) in collaboration with M. A. Van Hove and C. S. Fadley.
See F. J. García de Abajo, M. A. Van Hove, and C. S. Fadley, Phys. Rev. B 63, 075404 (2001) for details on the theory.


This site allows performing online photoelectron diffraction calculations. Multiple scattering (MS) of the photoelectron is carried out for a cluster representing a solid or molecule. Select the corresponding parameters and click on the "Calculate" button below to perform the actual calculation and to produce a plot of the calculated data. A numerical data table can be downloaded by clicking on the resulting plot. Click on the different parameter names in blue for further descriptions. Click on the "Preview Cluster" button to display the currently selected atomic cluster (but without performing a MS calculation) or the button "Download Cluster" to download the currently selected cluster.
Notice that the scattering phase shifts and excitation radial matrix elements are calculated internally for each cluster configuration, so that the user does not have to provide them. Please, read the terms of use and the restrictions on input parameters before using this site for the first time.

Terms and conditions of use

Terms of use

Restrictions on input parameters


Password: A password is only necessary for large computation times (click here for more details). Leave it blank otherwise.

Title (optional):

Atomic cluster

The cluster and the list of emitters are defined by a list of commands with the following format (click here or on the items of this list for further details):

Atom symbol x y z

Layer symbol x y z a b α1 α2

Surface symbol x y z a type

Emitter x y z

Fill in the text box with these commands according to the cluster specifications that you need. Some examples are provided. You may cut and paste them to this page and modify them further.

The cluster consists of a maximum of  atoms. (Warning: a finite number of atoms generally introduces symmetry breaking.)
The size of the cluster is determined by the distance dmax = Å and the reference point x0 = Å, y0 =Å, z0 = Å.
See cluster shape for more details.
Plot cluster on output? Yes
Cluster shape: Parabolic

Geometry of beam and analyzer

Incoming beam parameters (see figure)
Polar angle θi = degrees
Azimuthal angle φi = degrees
Schematic representation of the geometry
Schematic representation of the geometry
Polarization: p-polarization
Mobility of cluster beam, and sample
(click here for details):
Only the sample moves with constant β = degrees
Only the analyzer moves
Both the sample and the analyzer move

Note: the parameter β specifies the angle between beam and analyzer when this is kept constant during the simulation (i.e., everything happens as if it is only the sample that is rotated); therefore, this parameter is not required when only the analyzer moves or when both the sample and the analyzer move (click here for details).

Energy and angle scanning parameters (see figure above)

The following entries will select the range of photoelectron energies and angles of emission.

Energy scans for a given emission angle can be chosen by selecting more than one energy of emission and only one polar angle and one azimuthal angle (the value of each angle is then taken as the lower limit of the selected angular range, and the value of the upper limits are disregarded). In this case, the output is a 1D plot with the photoelectron intensity as a function of photoelectron energy.

Angular scans can be chosen by selecting only one photoelectron energy. Then, if the polar and the azimuthal angles take both more than one value, the output is a 2D polar plot of the photoelectron intensity. Otherwise, if only one polar angle is selected, a 1D plot is generated (an azimuthal scan), whereas if only one azimuthal angle is selected then a 1D polar plot is given in the output.

For 2D angular scans, a linear or logarithmic scale of the photoelectron intensities can be selected for the grey scale (see below). More details about the 2D representation (e.g., type of projection on 2D) are given in the caption of the output.

Electron energy range: equally-spaced value(s) of the electron energy from eV to eV
Polar angle: equally-spaced value(s) of the polar angle θ from degrees to degrees
Azimuthal angle: equally-spaced value(s) of the azimuthal angle φ from degrees to degrees

Type of 2D angular

Linear scale
Logarithmic scale

Type of azimuthal of polar angular


Photoelectron detector half-width acceptance angle = degrees. The photoelectron intensities are angle-averaged over a cone with half aperture given by this parameter.

Multiple scattering parameters

Internal code parameters
Maximum orbital quantum number lmax =
Scattering order =
Additional solid parameters
Inner potential V0 = eV
Electronic edge z0 = Å
Inelastic mean free path: either choose a fixed value = Å
or (if that last entry is <0) use the TPP-2M formula
with parameters ρ = g/cm3, N v = , Ep = eV, and Eg = eV
Temperature (K) = and Debye Temperature (K) =
Iteration method: Jacobi regular MS)

Initial core-state quantum numbers

Radial matrix elements:

Automatic:    core level (e.g. 1s, 2s, 2p, etc.) =
Manual:    l0= , Rl0+1= , δl0+1 = , Rl0-1= , δl0-1 =

COMPUTATION TIME: the CPU time needed for the calculation using the default cluster and input parameters (use Reset to recover default input) is 1.24 seconds on a Pentium III @ 733 MHz. This gives a time scale to estimate the computation time for other input parameters, keeping in mind that it scales like ~ (nscat - 1) N2 (lmax+1)3, where N is the number of atoms in the cluster and nscat is the scattering order. For reference, the default values are N=48, lmax=6, and nscat=2, for which the above number is 7.9 105.

* The input file can be used to run the code locally, for which a copy of the code is needed. This can be obtained from Prof. F. Javier García de Abajo.
    An online version of the input-file manual is also available
**Reset all input values (including cluster specification) to the original settings.

For comments, questions and suggestions, please contact: Prof. F. Javier García de Abajo