NIST National Standard Reference Data Series

NIST NSRDS 100

Simulation of Electron Spectra for Surface

Analysis (SESSA)

Version 2.2.1

User’s Guide

W.S.M. Werner

W. Smekal

C.J. Powell

This publication is available free of charge from:

https://doi.org/10.6028/NIST.NSRDS.100-2023

NIST National Standard Reference Data Series

NIST NSRDS 100

Simulation of Electron Spectra for Surface

Analysis (SESSA)

Version 2.2.1

User’s Guide

W.S.M. Werner

W. Smekal

Institute of Applied Physics

TU Wien, Vienna, Austria

C.J. Powell

Materials Measurement Science Division

Material Measurement Laboratory

This publication is available free of charge from:

https://doi.org/10.6028/NIST.NSRDS.100-2023

October 2023

U.S. Department of Commerce

Gina M. Raimondo,Secretary

National Institute of Standards and Technology

Laurie E. Locascio, NIST Director and Under Secretary of Commerce for Standards and Technology
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Certain commercial equipment, instruments, software, or materials, commercial or non-commercial,

are identified in this paper in order to specify the experimental procedure adequately. Such identification does not imply recommendation or endorsement of any product or service by NIST, nor

does it imply that the materials or equipment identified are necessarily the best available for the

purpose.

NIST Technical Series Policies

Copyright, Use, and Licensing Statements

NIST Technical Series Publication Identifier Syntax

Publication History

Approved by the NIST Editorial Review Board on 2023-07-11

Supersedes NIST NSRDS 100-2021 (March 2021)

https://doi.org/10.6028/NIST.NSRDS.100-2021

How to cite this NIST Technical Series Publication:

W.S.M. Werner, W. Smekal, C.J. Powell (2023) Simulation of Electron Spectra for Surface Analysis

(SESSA). (National Institute of Standards and Technology, Gaithersburg, MD),

NIST NSRDS 1002003 edition. https://doi.org/10.6028/NIST.NSRDS.100-2023

NIST Author ORCID iDs

C.J. Powell: 0000-0001-8990-2286

SESSA ii
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Disclaimer

The National Institute of Standards and Technology (NIST) uses its best efforts to deliver a

high-quality copy of the database and to verify that the data contained therein have been selected

on the basis of sound scientific judgement. However, NIST makes no warranties to that effect, and

NIST shall not be liable for any damage that may result from errors or omissions in the database.

Certain trade names and other commercial designations are used in this work for the purpose

of clarity. In no case does such identification imply endorsement by the National Institute of Standards and Technology nor does it imply that the products or services so identified are necessarily

the best available for the purpose.

Microsoft Windows® 10, Windows® 11 are registered trademarks of the Microsoft Corporation.

Macintosh and OS X are trademarks of the Apple Corporation. Linux is a trademark of Linus

Torvalds.

SESSA iii
Contents

1 Introduction 1

2 Getting Started 4

2.1 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

2.2 Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 Special Features of SESSA 5

3.1 The graphical user interface (GUI) . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

3.2 The command line interface (CLI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3.3 Representation of Data in SESSA . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

3.4 Output produced by SESSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

4 Running SESSA 16

4.1 The PROJECT Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4.1.1 Synopsis of CLI Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.2 The PLOT Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.2.1 Synopsis of CLI Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.3 The PREFERENCES Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.3.1 Synopsis of CLI Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . 22

4.4 The SAMPLE Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.4.1 The SAMPLE LAYER Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

4.4.2 Synopsis of CLI Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . 29

4.4.3 The SAMPLE MORPHOLOGY Menu . . . . . . . . . . . . . . . . . . . . . 31

4.4.4 Synopsis of CLI Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . 31

4.4.5 The SAMPLE PARAMETERS Menu . . . . . . . . . . . . . . . . . . . . . . 32

4.4.6 Synopsis of CLI Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . 32

4.4.7 The SAMPLE PEAK Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

4.4.8 Synopsis of CLI Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . 40

4.5 The SOURCE Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

4.5.1 Synopsis of CLI Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.6 The SPECTROMETER Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.6.1 Synopsis of CLI Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4.7 The GEOMETRY Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.7.1 Synopsis of CLI Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . 47

4.8 The DATABASE Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.8.1 Synopsis of CLI Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . 50

4.9 The MODEL Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.9.1 Synopsis of CLI Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . 55

5 Retrieval strategy and simulation model 58

5.1 Retrieval strategy of the expert system . . . . . . . . . . . . . . . . . . . . . . . . . 58

iv
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

5.2 Algorithm for spectrum simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

5.2.1 The electron spectrum in AES/XPS . . . . . . . . . . . . . . . . . . . . . . 59

5.2.2 Multiple inelastic scattering: the partial energy distributions . . . . . . . . . 61

5.2.3 Multiple elastic scattering: the partial intensities. . . . . . . . . . . . . . . . 62

5.2.4 Modeling surface excitations in electron spectra . . . . . . . . . . . . . . . . 65

5.2.5 Spectrum modeling beyond the quasi-elastic approximation . . . . . . . . . 68

5.3 Modeling of nanostructured surfaces in SESSA . . . . . . . . . . . . . . . . . . . . 70

5.4 Current limitations of databases and simulation . . . . . . . . . . . . . . . . . . . . 71

6 Physical Data in SESSA 73

6.1 Databases used in SESSA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

7 Tutorials 82

7.1 Peak Intensities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83

7.1.1 Angular distribution of photoelectrons emitted from a homogeneous Au sample: Chandrasekhar’s H–function. . . . . . . . . . . . . . . . . . . . . . . . 83

7.1.2 Angle-resolved XPS for a homogeneous Al sample. . . . . . . . . . . . . . 86

7.1.3 Angle-resolved XPS for an oxidized silicon wafer with a carbon contamination layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

7.1.4 Angular distribution of photoelectrons emitted from a stratified overlayersubstrate sample . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

7.1.5 Depth distribution function (DDF) in XPS: comparison with experiment . . . 94

7.1.6 Surface morphology: influence of surface roughness. . . . . . . . . . . . . 97

7.2 Spectral Shape . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

7.2.1 Au overlayers on a Pb substrate: spectral shape as a function of overlayer

thickness and emission angle . . . . . . . . . . . . . . . . . . . . . . . . . . 99

7.2.2 Need for empirical data to realistically describe spectral shapes. . . . . . . 101

7.2.3 Transfer of spectral data between different spectrometers . . . . . . . . . . 103

7.2.4 Handbook of simulated XPS spectra. . . . . . . . . . . . . . . . . . . . . . . 105

7.3 Techniques other than conventional AES/XPS . . . . . . . . . . . . . . . . . . . . . 106

7.3.1 Total Reflection XPS (TRXPS) . . . . . . . . . . . . . . . . . . . . . . . . . 106

7.3.2 Ion-induced Auger-electron emission. . . . . . . . . . . . . . . . . . . . . . 110

8 Tutorials for simulating advanced geometries using PENGEOM 112

8.1 Simulations with external PENGEOM geometry files . . . . . . . . . . . . . . . . . 112

8.2 Example: Simulation for infinite core-shell cylinders . . . . . . . . . . . . . . . . . . 114

8.2.1 Analytical model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114

8.2.2 SESSA simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

8.2.3 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

8.3 Example: Simulation for dispersed powder of core-shell particles including the angular distribution of photoelectrons . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

8.3.1 Creation of dispersed powder geometries of identical core-shell particles . 119

8.3.2 Creation of dispersed powder geometries of core-shell particles with variable structural parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121

8.3.3 Visualization of dispersed powder geometries using LaTeX and PGF/TikZ . 122

8.3.4 Simulation template for dispersed core-shell nanoparticle geometries . . . 122

8.3.5 Simulation of the angular distribution of photoelectrons from a dispersed

powder of core-shell particles . . . . . . . . . . . . . . . . . . . . . . . . . . 124

8.4 Guidelines for creating PENGEOM geometries . . . . . . . . . . . . . . . . . . . . 127

SESSA v
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

9 Calling SESSA from an external application 133

9.1 The Program SESSA_LINUX.c . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133

9.2 The Program SESSA_Python.py . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135

9.3 The Program SESSA_WINDOWS.c . . . . . . . . . . . . . . . . . . . . . . . . . . 136

10 Getting Help and additional information 140

10.1 Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

10.2 General Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140

10.3 Known issues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

10.3.1 Porting session files between operating systems . . . . . . . . . . . . . . . 141

11 Survey of applications of SESSA in the scientific literature 142

12 Contacts 146

13 Acknowledgments 147

14 Bibliography 148

SESSA vi
1 Introduction

The objective of this database is to facilitate quantitative interpretation of Auger–electron and X–

ray photoelectron spectra (AES/XPS) for surface analysis and to improve the accuracy of quantitation in routine analysis. For this purpose, the database contains physical data required to perform

quantitative interpretation of an electron spectrum for a specimen with a given composition. Retrieval of relevant data is performed by a small expert system that queries the comprehensive

databases. A simulation module [1, 2] is also available within SESSA that provides an estimate

of peak intensities as well as the energy and angular distribution of the emitted electron flux

(see Section 4.9). The information needed by the expert system to accomplish its task closely

matches instrument settings made by an experimenter when actually performing a measurement

and is complemented by an initial estimate of the sample composition.

SESSA can be used for two main applications. First, data are provided for many parameters

needed in quantitative AES and XPS (differential inverse inelastic mean free paths, total inelastic

mean free paths, differential elastic-scattering cross sections, total elastic-scattering cross sections, transport cross sections, photoelectric cross sections, photoelectric asymmetry parameters,

electron-impact ionization cross sections, photoelectron lineshapes, Auger-electron lineshapes,

fluorescence yields and Auger-electron backscattering factors). Second, Auger-electron and photoelectron spectra can be simulated for layered samples and for nanostructures such as islands,

lines, spheres, and layered spheres on surfaces. The simulated spectra, for compositions and dimensions specified by the user, can be compared with measured spectra. The compositions and

dimensions can then be adjusted to find maximum consistency between simulated and measured

spectra.

The design of the software allows the user to enter the required information in a reasonably

simple way. The modular structure of the user interface closely matches that of the usual control

units on a real instrument. In other words, any user who is familiar with a typical electron spectrometer can perform a retrieval/simulation operation with the SESSA software in a few minutes

for a specimen with a given composition.

Section 3 familiarizes the user with some special features of the software. These features

include a separate window for graphical representation of a selected physical quantity that is fully

controllable by the user (see Section 4.2), a popup menu showing the reference to the literature

for each retrieved datum, an on-the-fly database selection popup menu and, last but not least,

the fully parallel operation of the graphical user interface (GUI) and the command line interpreter

(CLI).

Section 4 presents a detailed and comprehensive description of the functionality of the software,

while Section 5 provides a description of the SESSA design and the means by which simulations

are performed with SESSA. The sources for the physical data in SESSA as well as the simulation

algorithm are described in Section 6, and Section 7 highlights some of the key features of the

software with the aid of a few tutorials that are contained in this package in the form of CLI

command files. Section 8 provides specific tutorials for use with SESSA 2.2.1 and gives guidance

on the creation and use of PENGEOM files for describing different types of nanostructures on

surfaces. Section 9 describes how SESSA can be controlled by an external application. Additional

help information is given in Sections 7 and 11.

1
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Version 1.0 of this database was released in December 2005.

Version 1.1 was released in December 2006 with an enhancement to the Model Calculation

screen that permits the user to display and save the zero-order partial intensities. Previously, a

user had to go to another screen to perform these operations.

Version 1.2 was released in March 2010 with the following enhancements: (1) an additional

and more intuitive format for specifying the composition of a material; (2) a new capability to

perform simulations with polarized photons; (3) the ability to save plots in additional file formats;

(4) the addition of a chemical-shift database for selected peaks; (5) improvements in the peakmanagement software; (6) and the incorporation of a faster random number generator. In addition,

an internet SESSA forum was established for user questions and a new SESSA bug-tracking web

page was established.

Version 1.3 was released in May 2011 and provided a new database of non-dipole photoionization cross sections, necessary for simulations of X-ray photoelectron intensities with X-ray energies higher than a few keV. In addition, a description was given in Section 9 on how SESSA can

be called and controlled from an external application.

Version 2.0 was released in October 2014 with additional capabilities for specifying specimen

nano-morphologies (such as islands, lines, spheres and layered spheres on surfaces) and with

updated data for electron inelastic mean free paths.

Version 2.1 was released in December 2017 and enables a user to easily create new sample

nano-morphologies via the PENGEOM geometry package. The present version of SESSA also

has additional databases for electron inelastic mean free paths and inner-shell ionization cross

sections by electron impact. Software bugs present in Version 2.0 have been corrected that could

lead to erroneous results when using the morphology modes Spheres, Layered Spheres and

Islands. Finally, a correspondence between the “Help” Menu within SESSA and the manual file is

enabled.

Version 2.1.1 was released in March 2018 and contains a fix of a software bug in the calculation

of the photoelectron source angular distribution for the non-dipolar case.

Version 2.2, was released September 2020 and contains a new database for IMFP values.

Surface excitations have been added to the simulations, as well as an effective approximation

to account for the energy dependence of the inelastic mean free path. Furthermore, the quit

command has been implemented which allows one to terminate the program using the command

line interpreter, either at the command line terminal within SESSA or in a session file. In the

previous versions of SESSA, a quit command entered either interactively or in a session file had

no effect whatsoever. Termination of the program was only possible by selection of the quit

command in the File popdown menu. It was thus not possible to terminate the program from

within the command line terminal or a session file. Therefore, while this new option is useful in

making certain kinds of batch operations possible, care should be taken with session files written

for older versions of the software as an unintended quit command in any session file will terminate

the program.

Version 2.2.1 Version 2.2.1, the present version, contains changes to two databases for inelastic mean free paths (IMFPs), a fix for a software bug, and updates for the tutorials that provide

guidance on how to use SESSA. The database IMFP01 now uses the JTP-formula of Jabłonski,

Tanuma and Powell to calculate a value for the IMFP for arbitrary materials and energies [3],

and replaces the older outdated IMFP01 database which used the TPP-2M formula [4] for this

purpose. The second update of the IMFP databases concerns the IMFP02-database, which has

been extended to include a number of organic substances (see Table 6.1). The bug-fix concerns

a situation where in the model menu ncol=0 was chosen, which caused the program to crash and

also caused almost all tutorials to crash. The tutorials have been updated to account for the fact

SESSA 2
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

that the databases have been subject to changes in the course of the previous releases, leading

to slight changes in the numerical values of the simulation results, which were not reflected by

the graphical representations in the present document. The corresponding graphs have been

changed to yield consistency with the numerical results.

SESSA 3
2 Getting Started

2.1 System Requirements

• Operating System

The software has been tested to run on a personal computer with Windows 64 bit operating systems such as Windows® 10 and Windows® 11. NIST also supplies files for the

database to run on Mac OS X and LINUX platforms. These files have been tested to run

on these platforms but have not been as extensively tested as the Windows versions. They

are considered by NIST to be non-supported software. The authors nevertheless welcome

bug-reports, suggestions and comments for this software (as described in Section 11). The

version 2.2.1 of the SESSA software runs on Mac OS X 10.14 and higher.

• Available Disk space

The databases and software need approximately 100 MB of disk space.

• Random Access Memory

The minimum amount of RAM required to run the program amounts to ∼ 5MB. The exact

amount of RAM needed depends on the type of the problem under study. When a simulation is performed, the minimum required RAM increases to 10 MB. When simulations are

performed for large-scale complex problems (see Section 4.9) memory usage can increase

even further.

2.2 Installation

For installation on a personal computer with the Windows operating system, follow the instructions

to run SESSA_setup.exe. For other platforms, see the installation instructions.

4
3 Special Features of SESSA

SESSA contains a number of databases with data concerning excitation and transport of signal

electrons (Auger electrons and photoelectrons) in solids. These databases are queried by a small

expert system that retrieves all information needed for the interpretation of experimental results.

The expert system needs a specification of the expected sample structure and of the experimental

configuration, and will then retrieve physical data relevant to the specified experiment. If desired,

the simulation of a specified experiment can be performed. The sample composition is specified

by providing the thickness and composition for each of a number of layers and for the dimensions

and compositions of nanostructures.

Two alternative methods are provided for user interaction with SESSA: a graphical user interface

(GUI) and a command line interface (CLI). These interfaces operate in parallel: the action taken

by SESSA is determined by the commands received by the CLI but does not depend on the way

the command was generated. The CLI can process commands produced in three different ways:

(1) commands typed on the CLI console; (2) a single command or a series of commands read

from a file; and (3) commands generated by the GUI. Some of the general features of the CLI and

the GUI are described in this Section to familiarize the user with the operation of the software. A

detailed description of the software functionality and user interaction can be found in Section 4.

Representation of several data types in the software is discussed in Section 3.3, and the output

produced by SESSA is described in Section 3.4.

The notation used in this Chapter uses the following conventions: GUI commands are enclosed

in quotation marks (") while CLI COMMANDS and variables as well as filenames are set in a different

font.

3.1 The graphical user interface (GUI)

Figure 3.1: The main menu of SESSA.

The main menu of SESSA is shown in Fig. 3.1. The GUI in SESSA is organized by means of a

number of submenus that can be reached via the main menu in the usual way. The available submenus and their shortcut commands are shown in Table 3.1. In each menu, data for a number of

quantities are available for display and can be manipulated by the user. For a detailed description

of the purpose of these menus, see Section 4.

5
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 3.2: Example of a database selection popup menu.

Apart from the usual components of a typical GUI, SESSA also provides a graphical display

of certain quantities. For example, press CTRL-3 for a graphical representation of the differential elastic–scattering cross section and the differential inverse inelastic mean free path. These

displays cannot be changed in any way by the user. By double clicking on any of these displays,

however, an additional plot window is opened that allows full user access to the display variables

by means of a right mouse click (see Section 4.2). This plot window can also be opened from

within the CLI by an appropriate command.

Two special features of SESSA are the traceability of the data and the on-the-fly selection of

databases. By means of a right mouse click on a numerical value retrieved from a database, or

on the corresponding graphical display, a menu pops up that offers two choices: either to activate

the reference dialog or to activate the on-the-fly database selection menu (see Fig. 3.2). If the

Project Project (Main) menu

Sample: layers CTRL-1 Sample Composition

Sample: peak CTRL-2 Parameters concerning signal electron generation

Sample: parameters CTRL-3 Parameters concerning signal electron transport

Experiment: source CTRL-4 Source of exciting radiation

Experiment: geometry CTRL-5 Geometrical configurations

Experiment: spectrometer CTRL-6 Spectrometer settings

Model CTRL-7 Model Calculations

Database CTRL-8 Selection of default databases for all relevant quantities

CLI Console CTRL-9 User interaction via the command line interface (CLI)

Table 3.1: (Sub) menus of the GUI and their shortcut commands.

SESSA 6
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

latter is selected, the user can choose between the different databases that are available for the

quantity in question. Alternatively, the user can reset the choice of the database to the default

database, i.e., the database that has been selected in the database defaults menu (see Section

4.8).

Since not every database in SESSA is extensive, in that it contains a datum for a given quantity

for any arbitrary element, energy subshell, etc., it may happen that the requested datum is not

returned by the selected database. In such cases, the expert system automatically queries the

other databases available for the quantity in question. In this way, at least one of the databases

contains a value or a credible estimate for the requested datum. In some cases, this “backup”

database will rely on a theoretical or semi–empirical expression to predict the desired quantity. In

the database selection popup menu, the database selected by a user is indicated by the sign √,

while an asterisk ("*") indicates the database that was succesfully queried (see Fig. 3.2).

Most quantities in SESSA that are represented by a single value can be changed by the user if

desired. The database selection menu provides a quick way to retrieve any value from a database.

Quantities that can only be represented by an array of values, such as the differential cross section, cannot generally be directly changed by the user. The reference dialog is part of an imFigure 3.3: The reference dialog window.

SESSA 7
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

plementation feature that provides full traceability of the data retrieved by SESSA: Every datum

is accompanied by a reference that can be inspected at any time. In the GUI this is achieved

by a right mouse click either on the numerical value of a parameter or on its graphical display

window, as shown in Fig. 3.2. An example of the resulting information is given in Fig. 3.3. When

fundamental physical data concerning an electron spectrum are given as outputs by the database

(see Section 3.4), numbered references for all retrieved data are written to a separate file with the

ending "refs.txt", while the remarks in the lower two boxes of the reference dialog window are

accordingly numbered and written to a file with the extension "rems.txt".

3.2 The command line interface (CLI)

Figure 3.4: The command line interface console.

The CLI console can be opened by selecting the "Project/Command Line Interface" menu in

the project menu or by pressing the shortcut key CTRL-9. The CLI console window is shown in

Fig. 3.4. At the bottom of the CLI console, a number of buttons are seen. Clicking the "Command

List" button opens a window within the CLI console that presents the structure of the commands

SESSA 8
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

of the CLI. Clicking on any of these commands generates a text string on the CLI corresponding

to the command in question preceded by HELP. As a result, the help text corresponding to the

selected command is displayed in the CLI. In Fig. 3.4 the above is illustrated for the command

SAMPLE PARAMETERS SET IMFP. Any command appearing in the CLI may be edited by using the up

and down arrow and the delete key etc., and can be entered by pressing return. In this way, a

command generated by clicking on the command list can be used to operate the software. Thus

the command list provides a most useful reference guide for the CLI syntax.

In the command line interpreter, the modularity of the software is realized by the use of different

scopes, each scope allowing a user to manipulate or inspect a certain subset of the relevant

data and control parameters corresponding to a window in the GUI. Table 3.2 gives a survey

of the scopes presently defined in SESSA1. The acronyms shown and defined in Table 3.2 are

frequently used in SESSA.

The active scope is indicated by the command prompt at the bottom left of the CLI console window. To set a scope from within the main scope, one simply has to enter the name of the scope,

as provided by Table 3.2. Any command entered in the CLI that is preceded by a backslash ("\")

is interpreted as if it were entered in the main scope. In particular, to set the scope from within another scope, one can enter the name of the scope preceded by a backslash ("\")-character. The

exit command allows a user to move down one level in the hierarchy of scopes. The quit command, when issued at the main (project) scope terminates the program. When this command is

issued from within any other scope it is ignored and an error message is printed on the screen.

Care must be taken when calling nested session files, since a quit command in the project scope

of any of the nested session files will lead to termination of the program.

The following example illustrates three alternative ways to set the scope to "Sample\Parameters":

1. directly from the main scope:

[\]sample parameters

[\ SAMPLE PARAMETERS]

2. in two steps from the main scope:

[\]sample

[\ SAMPLE] parameters

[\ SAMPLE PARAMETERS]

3. directly from within any other scope:

[\ DATABASE]\ sample parameters

[\ SAMPLE PARAMETERS]

As an instructive example of the parallel operation of the GUI and CLI, press CTRL-5 to open the

"Experiment/geometry" menu and change, say, the sample orientation azimuth (phi) to 45◦. Now

press CTRL-9 to open the CLI console. On the console, the command \GEOMETRY SET SAMPLE

PHI 45 GEO 1 appears as it was generated by the GUI. By pressing the up, left and right arrows

on the CLI console, the command can be edited and entered again, for example to set the sample

azimuth to 30◦. Bringing the "Experiment/geometry" menu to the front again by pressing CTRL-5

gives a graphical display of the new orientation of the sample surface normal. Scrolling through

1

In the present implementation of SESSA there is an exception to the one-to-one correspondence between the GUI

menus and the CLI scopes: the geometry, source and spectrometer scopes have been organized as submenus

SESSA 9
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

1 main

2 \ sample

3 \ \ peak

4 \ \ parameters

5 \ source

6 \ spectrometer

7 \ geometry

8 \ simulation

9 \ database

10 \ \ DIIMFP

11 \ \ SEP

12 \ \ IMFP

13 \ \ ECS

14 \ \ EMFP

15 \ \ TRMFP

16 \ \ PCS

17 \ \ PAP

18 \ \ EIICS

19 \ \ XPL

20 \ \ AEL

21 \ \ FY

22 \ \ ABF

Table 3.2: (Sub)-scopes of the CLI. The acronyms are defined in Table 3.3. Further information is

given in Section 6

the list of commands processed by SESSA is possible by using the up and down arrow in the CLI

console. Alternatively, an easily surveyable list of the processed CLI commands can be displayed

by clicking on the "Session History" button in the CLI console. Any of the commands in this list

can be processed again by double clicking on it. The session history can be cleared by pressing

the corresponding button in the session history command list. This is an important feature for

producing CLI command files using the "Save session" command (see below).

The great advantage of this parallel CLI/GUI interface is that a set of CLI commands can be read

from or written to a text file, using the PROJECT LOAD/SAVE SESSION commands or by pressing the

"Load/save session" button on the CLI console. This makes it possible to process a large batch

of commands. Such CLI command files can be produced in a simple way by a user without any

knowledge of the CLI syntax. This can be done by a series of mouse clicks in the GUI and saving

all previously entered commands by pressing the "Save session" button on the CLI console. The

tutorials described in Section 7 are examples of CLI command files produced in this way. A "#"

character at the beginning of a line in a CLI command file designates the line as a comment.

Another example of a SESSA CLI file is a file by the name of "SESSA_ini.ses" that resides in

the directory where the SESSA-binary is located. This file is read whenever the software starts

up and the commands contained in it are processed by the CLI. This may be advantageous for

a user who commonly works on problems requiring settings that differ from the default settings

in SESSA. This may concern the radiation type, the instrument settings, the sample composition,

and so on.

A group of commands from the CLI can also be copied and pasted into word processing software and saved as a text file. Multiple files can be created in this way and loaded into SESSA

of an experiment menu in the GUI, but are separate scopes in the CLI. The scopes in the CLI will be modified

later to match the menus in the GUI.

SESSA 10
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

IMFP Inelastic Mean Free Path

DIIMFP Differential Inverse Inelastic Mean Free Path

TECS Total Elastic Cross Section

TRECS Transport (Elastic) Cross Section

ECS (Differential) Elastic Cross Section

EMFP Elastic Mean Free Path

TRMFP Transport Mean Free Path

PAP Photoionization Asymmetry Parameter

PAG Photoionization non-dipolar Asymmetry Parameter γ

PAD Photoionization non-dipolar Asymmetry Parameter δ

EIICS Electron Impact Ionization Cross Section

ABF Auger Backscattering Factor

FY Fluorescence Yield

PCS Photoionization Cross Section

XPL X–ray Photoelectron Lineshape

AEL Auger Electron Transition Lineshape

Table 3.3: Acronyms for the physical quantities in the SESSA databases.

to avoid the tedium and possible mistakes from using the GUI for multiple similar simulations.

Similarly, a user can assemble desired setup files for a particular purpose by combining selected

command lines from existing files. Finally, a user can assemble files for batch runs (e.g., for a

series of XPS configurations or for a series of layer thicknesses). Each file can specify different

file names to save spectra or peak intensities from a series of simulations. SESSA will create

these files in the same directory as that from which setup files were loaded.

3.3 Representation of Data in SESSA

A CLI command as well as an input field in the GUI may comprise special data types as indicated

in Table 3.4.

1. integer: an integer number whose range depends on the Operating System (OS) of the

computer.

2. real: a real number with OS dependent range. The character "e" signifies exponentiation

to a power of ten. For example, the expressions -0.0099, -99.0e-3 and -99e-3 are all valid

expressions for the same real number.

3. string: a string of characters. A string may contain all alphanumerical characters and special signs ("%", "*", etc.) in upper or lower case. If a string contains spaces, it must be

enclosed in single quotes, e.g. "Au, 1000 eV".

4. filename: a string of characters designating a file of the operating system with a filename

valid in the operating system.

5. DBName: a predefined string of characters designating a set of data within SESSA (see

Section 4.8).

SESSA 11
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

6. material: The material specifier is a special string of characters that allows the program

to recognize the elements and stoichiometry in a given material. It identifies the elements

present in the sample and their chemical state, allowing the software to retrieve the relevant

information. For a user, there are two different ways to enter the material in the sample

⟨integer⟩ an integer number

⟨real⟩ a real number

⟨string⟩ a string of characters

⟨filename⟩ a string designating a file of the OS

⟨DBName⟩ a string designating a set of data within SESSA

⟨material⟩ a material specifier

⟨subshell⟩ a subshell specifier

Table 3.4: Special data types for SESSA user interaction

menu: one way is to enter the material specifier in the format used internally by SESSA,

with a special syntax (e.g., "/SI/O2/" for silicon dioxide), as explained below. The alternative

method is to enter the material in a more intuitive syntax (e.g., “SiO2” for silicon dioxide). If

the material is specified in this simpler, more intuitive way, SESSA will translate this into the

internal syntax that will be displayed in the material field in the GUI. Since the internal syntax

is more powerful than the intuitive syntax, it will be described first and then the intuitive

syntax.

The internal material specifier consists either of a number of compound specifiers, or a

number of constituent specifiers, or both. The constituent specifier, enclosed in slashes "/"

consists of an element identifier (the usual abbreviation of the element’s name from the periodic table of the elements), a chemical state attribute (an arbitrary string specified by the

user enclosed in square brackets "[ ]") and a real number describing the abundance of

this species in a given layer of the compound or material:

⟨ constituent specifier ⟩ = /⟨ element identifier ⟩[⟨ chemical state attribute ⟩]⟨ abundance⟩/

Here

• ⟨element identifier⟩ represents a chemical symbol (H, He, Li, Be.. ) (case insensitive)

• ⟨chemical state attribute⟩ is an arbitrary string indicating the chemical state

• ⟨abundance⟩ is a positive real number indicating the relative abundance of the element

in a given layer.

If the chemical state attribute is omitted, the software recognizes the constituent as the

elemental form of the chemical species. If the relative abundance is omitted, it is taken to

be unity.

A compound specifier consists of a number of constituent specifiers enclosed in parentheses "( )" followed by the relative abundance of the considered compound, or by several

compound specifiers. Nesting of compound specifiers is allowed. Again, if the abundance

is omitted, it is taken to be unity.

⟨ compound specifier ⟩ =(A) xA(B) xB....

SESSA 12
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

where A, B, . . . are arbitrary combinations of compound or constituent specifiers and xA, xB

are their relative atomic abundances. The concentration of compound A in this material is

given by:

cA =

xA

xA + xB + ...

(3.1)

If the compound A is given by the constituents A1, A2, ... etc. with abundances xA1, xA2, ...

etc., then A is specified as follows:

A = /A1xA1/A2xA2/...../, (3.2)

and the concentration of the species Aiin the considered material is given by:

cAi =

(P

xAi

j

xAj

)

xA + xB + ...

(3.3)

The more intuitive syntax for the material specifier is a string of characters containing the

chemical symbols of the elements and their abundances in the material without forward

slashes. In this case the specification of the chemical symbols of the elements is case sensitive, e.g. “Si”, “Fe”, “Au” are valid chemical symbols for silicon, iron and gold, respectively,

while “SI”, “FE” and “AU” are invalid in the intuitive syntax. The reason is simply that case

insensitive chemical symbols are not uniquely identifiable. For example "SI" might be interpreted as a sulfur–iodine compound or as silicon, “CO” might be interpreted as cobalt or

carbon monoxide. The omission of the forward slashes and the case sensitivity is the main

difference between the intuitive syntax and the internal syntax. The syntax for the chemical

state attribute and the compound specifier is the same in both syntaxes.

Some examples:

a) /S/I/O3.0e0/. A (very hypothetical) solid consisting of the three elements Sulfur, Iodine

and Oxygen, all of them present in elemental form in relative amounts of 1:1:3.

b) (/si[oxide]/O2/)99(/c/)1. A typical Silicon dioxide layer that contains Silicon bound to

Oxygen, Oxygen and Carbon contamination. The relative amounts of the elements in

the layer are 0.33:0.66:0.01.

7. subshell: a subshell may be specified by a string consisting of the principal quantum number n followed by the usual symbol for the angular momentum quantum number l (s for l = 0,

p for l = 1, d for l = 2 and f for l = 3) and the usual symbol indicating the spin state e.g.

"1/2", "3/2" etc. The subshell may be abbreviated to the unambiguous shortest form, e.g.

"4f7" is equivalent to "4f7/2".

SESSA 13
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

3.4 Output produced by SESSA

Information concerning the experimental settings specified by the user, the retrieved data corresponding to these settings, and the outcome of a model calculation can be written to a number of

files by selecting the "Project/Save/Output" option in the GUI or by issuing the command PROJECT

SAVE OUTPUT in the CLI. As a result a number of different files containing information in several

categories are generated. For several categories, writing of the output can be (de)activated in the

"Project/preferences" menu (see Section 4.3).

1. filenames ending with: "sam_lay.txt"

The sample structure

2. filenames ending with: "sam_peak.txt","sam_par.txt"

Signal electron generation and transport

3. filenames ending with: "exp.txt","prefs.txt"

The experimental settings and preferences settings

4. filenames ending with: "refs.txt","rems.txt"

References to works in the literature concerning the above and accompanying remarks

5. filenames ending with: ".spc",".pi",".adf",

These files are written if a model calculation was performed and contain the corresponding

results. The output is divided into region data, corresponding to a certain energy-region

setting for the spectrometer, and peak data, corresponding to a certain spectral line. The

region data are written to files with names identified by the string "reg<region number>",

where "<region number>" is an integer referring to the spectrometer region. The peak data

are written to files identified by a peak identifier, consisting of the chemical symbol followed

by the transition specifier. This is either the subshell abbreviation in case of an XPS peak

(e.g. "2p3" ) or the Auger transition specifier (e.g. "L3M23M45"). 2

The filenames ending with ".spc" contain the energy spectra of the various peaks and regions for all selected geometries. The filenames ending with ".pi" contain the partial intensities for each peak and all geometries. If the number of geometries is larger than one, files

ending with ".adf" are created that contain the partial intensities for the specified peak for

all specified geometrical configurations. If ncol=0 is selected in the model menu (see Section 4.9) and the number of specified geometries is larger than one, it is assumed that the

angular distribution of the peak intensities (zero-order partial intensities) is of main interest.

In this case, the file "all.adf" is created and contains the peak intensities for all peaks as a

function of the specified geometrical configurations.

6. filenames ending with: ".g"

Files that can be loaded into the Program GNUPLOT (see http://www.gnuplot.info) that has

proven to be convenient for further graphical post-processing of the simulation data.

2An Auger spectrum may consist of many peaks. The Auger transitions for the more intense peaks can often be

identified [5–7]. Other peaks are observed that arise from intrinsic excitations during the initial ionization or to

extrinsic (energy-loss) processes as the Auger electrons travel in the material. We adopt a system here [7] in

which a peak in an Auger spectrum is simply labeled with three letters indicating the shell and a number indicating

the subshell (e.g., "L3M23M45"). The first letter (L) indicates the shell in which the initial ionization occurred, the

second and third letter (M) indicate shells participating in the Auger transition, and the numbers designate the

involved subshells.

SESSA 14
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

An alternative quick and convenient means to produce output is to use the PLOT SHOW DATA

option in the main plot window popup menu that displays the data contained in a plot in a separate

read-only window (see Section 4.2), together with the relevant literature citation. The information

in this window can be copied and pasted into another application for further processing.

SESSA 15
4 Running SESSA

This chapter describes all commands utilized by the command line interface (CLI) in some detail.

Since a close correspondence exists between the CLI and the graphical user interface (GUI), no

detailed description of the latter is given. In most cases, it is evident which component of the GUI

provides the equivalence to a certain CLI command. In the CLI, however, it is often necessary

within a command to specifiy which peak, which geometry, which layer etc. one is addressing with

the issued command. This situation can lead to awkward syntax such as “DO SOMETHING LAYER

1 PEAK 2 REGION 3”. In the GUI, the situation can be handled in a more elegant way within a

submenu by means of one or more graphical selection tools. For example, there is an equivalence between the “Choose peak” and “Choose layer” selection boxes in the “Sample/parameters”

menu in the GUI and the peak number and layer number in the equivalent CLI command (SAMPLE

PARAMETERS PLOT ECS PEAK <PEAK#> LAYER <LAYER #>).

In the following sections concerning the CLI syntax of various scopes below, < > represents

a parameter of the type indicated that has to be entered by the user, while [ ] is an optional

parameter that may be omitted.

The energies displayed in and accepted by both the GUI and the CLI can be specified either

on a kinetic-energy scale or, in the case of incoming photons, it may optionally be specified on a

binding-energy scale. The user can set a preference in the “Project/preferences” menu. Depending on this setting, an energy referred to in the remainder of this Section is implied to be specified

either on a kinetic- or a binding-energy scale.

4.1 The PROJECT Menu

Figure 4.1: Graphical user interface for the PROJECT Menu.

The "Project" menu in the GUI is shown in Fig. 4.1. The CLI console, the separate plot window

and the preferences dialog can be opened from within the project menu. The plot window, the

CLI console and the preferences dialog are described below. Apart from that, the project menu is

equivalent to the project menu in the CLI, as described in the next section.

16
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

4.1.1 Synopsis of CLI Commands.

1. PROJECT SAVE SESSION <string>

Save command history to the file <string >. Each command typed in during your session

(or generated by clicking in the GUI) is written to a text file. This file may be later executed,

but it can also be edited and modified to enable processing of a batch of commands. In

this way, one can generate calibration curves of various kinds, angular distributions of peak

intensities, etc.

2. PROJECT SAVE OUTPUT <string>

Save output to files beginning with the ID <string >.

3. PROJECT LOAD SESSION <string>

Load command history from the file <string >.

4. PROJECT RESET

Clear all data and reset everything to the default values.

4.2 The PLOT Menu

Figure 4.2: Graphical user interface for the PLOT and the PLOT/Settings Menu.

Data can be displayed in a separate window that allows full user access to the display parameters by double clicking on the window. Various quantities in SESSA can be graphically displayed.

These displays can not in any way be changed by the user. However, by double clicking on any of

these windows, a separate plot window is opened providing full user access to the plot settings, as

SESSA 17
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 4.3: Read-only window displaying the data contained in the plot window. The data in this

window can be transferred to other software by means of copy and paste operations

for further processing.

SESSA 18
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

shown in Fig. 4.2 as an example. This plot window is also accessible via the "Project/Plotwindow"

command in the GUI and through appropriate commands (pertaining to the quantity on display)

in the CLI. A right mouse click in the plot window activates a popup menu that opens the plot settings window (see Fig. 4.2), a comprehensive menu for manipulating the settings of the display.

Alternatively, output of the graphical display in form of a postscript file may be selected in the plot

popup menu, or a quick axis settings menu can be activated. The latter allows a user to set the

axis range, and to turn on/off an axis grid or a logarithmic scaling of the axis. Furthermore, the

user the popup menu can be utilized to open a read-only window displaying the data contained in

the plot along with the corresponding references, as indicated in Fig. 4.3.

4.2.1 Synopsis of CLI Commands.

1. PLOT SET LOG X

Selects the x-axis for logarithmic scaling.

2. PLOT SET LOG Y

Selects the y-axis for logarithmic scaling.

3. PLOT SET NOLOG X

Selects the x-axis for linear scaling.

4. PLOT SET NOLOG Y

Selects the y-axis for linear scaling.

5. PLOT SET AUTO XRANGE

Selects the upper and lower limits of the x-axis for automatic scaling.

6. PLOT SET AUTO XLOW

Selects the lower limit of the x-axis for automatic scaling.

7. PLOT SET AUTO XHIGH

Selects the upper limit of the x-axis for automatic scaling.

8. PLOT SET AUTO YRANGE

Selects the upper and lower limits of the y-axis for automatic scaling.

9. PLOT SET AUTO YLOW

Selects the lower limit of the y-axis for automatic scaling.

10. PLOT SET AUTO YHIGH

Selects the upper limit of the y-axis for automatic scaling.

11. PLOT SET GRID X

Selects the x-axis grid for drawing.

12. PLOT SET GRID Y

Selects the y-axis grid for drawing.

13. PLOT SET NOGRID X

Disable drawing of the grid for the x-axis.

14. PLOT SET NOGRID Y

Disable drawing of the grid for the y-axis.

SESSA 19
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

15. PLOT SET LEGEND

Activate drawing of a legend in the plot.

16. PLOT SET NOLEGEND

Deactivate drawing of a legend in the plot.

17. PLOT SET XRANGE <string>

Sets the x-axis range to <string >. Syntax to specify the range: ’xlo:xhigh’. Example: set

xrange 1400:1500.

18. PLOT SET YRANGE <string>

Sets the y-axis range to <string >. Syntax to specify the range: ’ylo:yhigh’. Example: set

yrange 1400:1500.

19. PLOT SET CURVETITLE <string> [ CURVE <int> ]

Sets the legend of the curve to <string >.

• CURVE: Number of the selected curve.

20. PLOT SET LTYPE <int> [ CURVE <int> ]

Sets the linetype of the selected curve (0- data points; 1- solid line; 2- data points and line).

• CURVE: Number of the selected curve.

21. PLOT SET COLOR <int> [ CURVE <int> ]

Sets the color of the selected curve (integer between 0 and 30).

• CURVE: Number of the selected curve.

22. PLOT SET WIDTH <int> [ CURVE <int> ]

Sets the linewidth of the selected curve (integer between 0 and 3).

• CURVE: Number of the selected curve.

23. PLOT SET DASH <int> [ CURVE <int> ]

Sets the dash style of the selected curve (integer between 0 and 10).

• CURVE: Number of the selected curve.

24. PLOT SET SYMBOL <int> [ CURVE <int> ]

Sets the symbol style of the selected curve (integer between 1 and 10).

• CURVE: Number of the selected curve.

25. PLOT SET VISIBLE CURVE <int>

Number of the selected curve.

26. PLOT SET VISIBLE ALL

Sets all curves to visible.

27. PLOT SET INVISIBLE CURVE <int>

Number of the selected curve.

28. PLOT SET INVISIBLE ALL

Selects all curves for hiding.

SESSA 20
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

29. PLOT SET TITLE <string>

Sets the title of the plot to <string > .

30. PLOT SET XLABEL <string>

Sets the x-axis label of the plot to <string >.

31. PLOT SET YLABEL <string>

Sets the y-axis label of the plot to <string >.

32. PLOT SAVE DATA <string>

Save plot data of each curve to the text file <string >.

33. PLOT SAVE POSTSCRIPT <string>

Save plot as postscript to the file <string >.

34. PLOT SAVE PDF <string> [ PAGESIZE <string> ]

Save plot as pdf to the file <string >.

• PAGESIZE: Set the page size. Allowed values are Letter, A3, A4, A5. A4 is the default

page size.

35. PLOT SAVE PNG <string> [ WIDTH <int> ] [ HEIGHT <int> ]

Save plot as png to the file <string >.

• WIDTH: Width of created image.

• HEIGHT: Height of created image.

36. PLOT SAVE GIF <string> [ WIDTH <int> ] [ HEIGHT <int> ]

Save plot as gif to the file <string >.

• WIDTH: Width of created image.

• HEIGHT: Height of created image.

37. PLOT SAVE BMP <string> [ WIDTH <int> ] [ HEIGHT <int> ]

Save plot as bmp to the file <string >.

• WIDTH: Width of created image.

• HEIGHT: Height of created image.

38. PLOT SAVE JPG <string> [ WIDTH <int> ] [ HEIGHT <int> ]

Save plot as JPG to the file <string >.

• WIDTH: Width of created image.

• HEIGHT: Height of created image.

39. PLOT SAVE SVG <string>

Save plot as svg to the file <string >.

40. PLOT SHOW REFERENCE [ CURVE <int> ]

Show the refence of the selected curve.

• CURVE: Number of the selected curve.

41. PLOT SHOW DATA

Display the data in the plot.

SESSA 21
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

4.3 The PREFERENCES Menu

Figure 4.4: Graphical user interface for the PREFERENCES Menu.

The preferences menu allows a user to control various parameters determining the operation

of SESSA as is shown in Fig. 4.4.

4.3.1 Synopsis of CLI Commands.

1. PREFERENCES SET NDIIMFP <int>

In a simulation, a user takes into account two different distributions of energy losses for the

upper two layers in the sample. When the default value is chosen (NDIIMFP=1), it is assumed in a simulation that the differential inelastic mean free path is the same for all depths.

This assumption usually provides a satisfactory approximation. However, if the electronic

structures of the first two layers of the sample are substantially different, this difference may

be observed in the loss features on the low-kinetic-energy side of the main peaks. In such

cases it may be advisable to choose (NDIIMFP=2). Note that this may considerably increase the computation time for a simulation. Choosing yet another distribution of energy

losses for deeper layers is not possible, but such effects will hardly ever be observable in an

experimental spectrum.

2. PREFERENCES SET THRESHOLD <double>

Sets the threshold determining whether a peak retrieved from a database should actually be

taken into account in any of the energy regions, as defined in the spectrometer menu. If the

SESSA 22
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

fractional area of a peak within the region is below this threshold, the peak is rejected from

the peak list. The default value is 0.9

3. PREFERENCES SET AES_THRESHOLD <double>

Sets the threshold determining whether an Auger peak retrieved from a database should

actually be taken into account in any of the energy regions, as defined in the spectrometer

menu. If the sensitivity factor is below this threshold, the peak is rejected from the peak list.

4. PREFERENCES SET PLOT_ZERO <double>

Sets the smallest positive number displayable in a logarithmic plot.

5. PREFERENCES SET ENERGY_SCALE KINETIC

Sets the energy scale to kinetic energy.

6. PREFERENCES SET ENERGY_SCALE BINDING

Sets the energy scale to binding energy if the excitation is with photons.

7. PREFERENCES SET DENSITY_SCALE ATOMIC

Sets the units for the density to atoms/cm3.

8. PREFERENCES SET DENSITY_SCALE MASS

Sets the units for the density to g/cm3.

9. PREFERENCES SET OUTPUT SAMPLE <string>

If ⟨ string ⟩=’true’, information concerning the sample composition is included in the output.

10. PREFERENCES SET OUTPUT PARAMETERS <string>

If ⟨ string ⟩=’true’, information concerning the parameters for electron generation and transport is included in the output.

11. PREFERENCES SET OUTPUT EXPERIMENT <string>

If ⟨ string ⟩=’true’, information concerning the experimental settings is included in the output.

12. PREFERENCES SET OUTPUT GNUPLOT <string>

If ⟨ string ⟩=’true’, special files for graphical post-processing with GNUPLOT are included in

the output.

13. PREFERENCES SHOW

Show the values of the parameters in the PREFERENCES menu (only available in the CLI).

4.4 The SAMPLE Menu

This menu controls the parameters specifying the structure of the sample and the physical parameters of the sample of relevance for the particular experimental conditions, as shown in figures 4.5

to 4.10. The sample is conceived to consist of a number of non-crystalline and continuous layers

each with a given composition, density and thickness. The interface between the various layers

is assumed to be ideally flat, except for the vacuum-solid interface that may exhibit a particular

type of roughness. The sample screen of SESSA allows the user to select five types of surface

morphology:

1. Flat planar layered surfaces, as shown in Fig. 4.5

SESSA 23
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 4.5: Graphical user interface for the SAMPLE Menu when the selected morphology is a

planar sample. The white numbers in red circles designate layer numbers.

Figure 4.6: Graphical user interface for the SAMPLE Menu when the selected morphology is a

surface with a specified roughness.

SESSA 24
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 4.7: Graphical user interface for the SAMPLE Menu for morphology type “islands”. The

white numbers in red circles designate layer numbers.

Figure 4.8: Graphical user interface for the SAMPLE Menu for morphology type “spheres”. The

white numbers in red circles designate layer numbers.

SESSA 25
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 4.9: Graphical user interface for the SAMPLE Menu for morphology type “layered

spheres”. The white numbers in red circles designate layer numbers.

SESSA 26
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 4.10: Graphical user interface for the SAMPLE Menu for morphology type “PENGEOM”.

The designated layer numbers should correspond with the “MATERIAL”-specifiers

within the geometry file, as discussed in sectio n 8.1.

2. Rough layered surfaces, as shown in Fig. 4.6

3. Islands (consisting of a single material) on top of a flat layered surface, as shown in Fig. 4.7

4. Spheres (consisting of a single material) on top of a flat layered surface, as shown in Fig. 4.8

5. Layered spheres on top of a flat layered surface, as shown in Fig. 4.9

Figures 4.5 to 4.9 are screenshots of the first five morphology types available for selection

on the Sample screen. The substrate material is at the bottom, and other layers can be added

by clicking the Add Layer button. Similarly, layers can be deleted by clicking the Delete button.

For the Planar and Roughness morphologies, the relative composition of a layer containing two

or more elements is shown as fractional regions that have two or more colors, with each color

indicating an element, as shown in the legend. For the Islands, Spheres and Layered Spheres

morphologies, there is no color to indicate composition.

Additionally, with the PENGEOM-option (see Fig. 4.10), it is possible to load PENGEOMcompatible geometry files. After selecting this option, a file dialog is opened where the geometry

file can be selected. If the geometry file cannot be parsed correctly, an error dialog will open, informing the user that the selected file is corrupt. Otherwise, the file is accepted and the user can

enter values for the X and Y periodicities and the nanomorphology height. The user is referred to

Section 8 for guidelines for the creation of geometry files and examples of simulations.

It is also possible to perform simulations for a single nanoparticle or nano-island (i.e., as distinct

from a periodic array of nanoparticles or nano-islands). This can be done by selecting the islands

(Fig. 4.7), spheres (Fig. 4.8) or layered spheres (Fig. 4.9) morphology, specifying the relevant materials and particle or island dimensions, and entering MODEL SET SINGLE TRUE in the command

SESSA 27
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

line interface (CLI), as described in Section 4.9. Note that this option cannot be selected from

the GUI. Although the SESSA simulations will be performed for a single nanoparticle or island,

the values of the X and Y periods here define the dimensions of the limiting body as described in

Section 8. Simulating a single nanostructure (nanoparticle, nano-island or a different type defined

by a PENGEOM geometry file) may result in large imprecisions of the simulation results since

the majority of the simulated photoelectron trajectories will not originate from the nanostructure.

It is therefore important to select values of the X and Y Periods (either through the GUI or with

the corresponding commands in the CLI) to correspond to the total particle size (spheres, layered

spheres) or to reproduce the desired surface coverage (islands). Doing otherwise may lead to inaccurate or erroneous results. The SINGLE option should not be used with the planar or roughness

morphologies.

Another option is to perform a simulation for a nanoparticle (spheres, layered spheres) without

a substrate. This is done by entering MODEL SET NOSUB TRUE in the CLI, as described in Section

4.9; this option is not available through the GUI. When using the NOSUB option, the substrate peaks

must be deleted from the List of Peaks or otherwise the simulation will freeze. This option should

not be used with the planar, roughness or islands morphologies.

Notes: Both the SINGLE and NOSUB options can be disabled using the same commands followed by ... FALSE (instead of ... TRUE). For nanoparticles (spheres, layered spheres), it is

recommended to only use the SINGLE and NOSUB options in combination. The SINGLE and NOSUB

options can be used in combination with external PENGEOM geometry files; for more details, the

user is referred to Section 4.9 and particularly Section 8.4). The morphology modes Planar and

Roughness should not be used with the SINGLE option or the NOSUB option. The morphology mode

Islands can be used with the SINGLE option, but should not be used with the NOSUB option. The

use of either the SINGLE or the NOSUB option (or both) can drastically reduce the computation times

for otherwise equivalent simulations.

A desired sample morphology is selected from the morphology box in the top–right corner of

each Sample screen (with the Layer tab) shown in Figs. 4.5 to 4.10. The user can then set

parameters for the chosen nanomorphology, as shown in the relevant screens of Figs. 4.5 to

4.10. Commands for the control of individual morphology parameters are explained in detail in

Section 4.4.3. The designation of layer numbers is indicated in all figures 4.5 to 4.10 as white

numbers in red circles.

The material in a given layer is specified by a special string describing the elemental composition. All relevant parameters for a specified material are retrieved by the expert system and

can be inspected and changed in the "Sample peak" menu (see section 4.4.7) and the "Sample

parameter" menu (see section 4.4.5).A value for the density of each layer can also determined for

each layer individually. For elemental solids, this quantity is read from a database; for most other

materials, it is estimated on the basis of elemental densities of the constituents in each layer. The

estimated density may be in error by more than 100%. It is therefore recommended that the user

should specify a more realistic value for the density in such cases.

4.4.1 The SAMPLE LAYER Menu

This menu (selected by the Layer tab in the Sample menus of figures 4.5 to 4.10) controls the

parameters specifying the thickness, density, bandgap energy, number of valence electrons per

atom or molecule, number of atoms per molecule, composition, thickness, and roughness of the

surface.SESSA has a library of densities for elemental solids but only provides rough estimates

for compounds, and the user should check these estimates.The default setting for density units

is number of atoms per cubic centimeter but this can be changed to mass density (expressed in

SESSA 28
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

g/cm3) using the Preferences menu (see Section 4.3).The bandgap energy Eg is needed for estimating IMFPs using the TPP-2M formula [8], and values for many compounds can be found in a

number of sources[9–14]. If a value for the bandgap energy Eg cannot be found for the compound

of interest, it is satisfactory to estimate this parameter because the IMFP is not a sensitive function

of Eg [15,16].For highly ionic compounds such as the alkali halides, Eg is generally between 6 eV

and 11 eV. For oxides, Eg values are often between 1 eV and 9 eV.

4.4.2 Synopsis of CLI Commands.

1. SAMPLE ADD LAYER <string> THICKNESS <double> [ ABOVE <int> ]

Adds a new layer above the selected layer. The material of the layer is specified by the

material identifier <string > (see section 3.3).

• THICKNESS: Specify the thickness (in Å) of the layer to be added (1Å=0.1nm ).

• ABOVE: Add the layer above the specified layer instead of above the layer that is selected in the "Choose layer" box.

2. SAMPLE DELETE LAYER <int>

Number of the selected layer.

3. SAMPLE RESET

Reset the complete sample structure to its default (a homogeneous Si sample).

4. SAMPLE SET ACTLAY <int>

Set the number of a given layer to which all following commands apply by default.

5. SAMPLE SET DENSITY <double> [ LAYER <int> ]

Set the density of a given layer (atoms/cm3)

• LAYER: Number of the selected layer.

6. SAMPLE SET EGAP <double> [ LAYER <int> ]

Set the band gap energy (in eV) of a material in a given layer. This parameter is used to

calculate the IMFP of non-conductors. Since no database exists for values of this quantity in

SESSA, it must be manually set by a user. While the IMFP values do not sensitively depend

on the bandgap, deviations of more than about 25% are possible if this parameter is not set

and the default value Egap = 0 eV is used.

• LAYER: Number of the selected layer.

7. SAMPLE SET NVALENCE <int> [ LAYER <int> ]

Set the number of valence electrons per molecule of a material in a given layer.

• LAYER: Number of the selected layer.

8. SAMPLE SET NATOMS <int> [ LAYER <int> ]

Set the number of atoms per molecule of a material in a given layer.

• LAYER: Number of the selected layer.

9. SAMPLE SET MATERIAL <string> [ LAYER <int> ]

Set the material of a given layer by providing a material specifier <string >. For a user, there

are two different ways to enter the material in the sample menu; One way is to enter the material specifier in a format used internally by SESSA, with a special syntax(e.g. "/SI/O2/" for

SESSA 29
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Silicon dioxide), as explained below. The alternative way is to enter the material specifier

in a more intuitive syntax (e.g. "SiO2" for Silicon dioxide). If the material is specified in this

simpler, more intuitive way, SESSA will translate this into the internal syntax that will be displayed in the material field in the GUI. Below, the internal syntax, being a bit more powerful

than the intuitive syntax will be described first, followed by an explanation of the intuitive

syntax.

The material specifier consists either of a number of compound specifiers, or a number of

constituent specifiers, or both, followed by their relative abundance. A constituent specifier

consists of an element specifier and (optionally) by a chemical state attribute surrounded by

slashes ’/ /’ , followed by its abundance in the material: <constituent specifier>= /<element

identifier>[<chemical state attribute>]/<abundance>. An element’s specifier is the usual

chemical symbol for an element, <element identifier>=H,He,Li,Be etc. (case insensitive). A

chemical state attribute is needed when a peak in the spectrum is present in different chemical surroundings. It is an arbitrary string that allows identification of non-elemental chemical

states of a given spectral line. <chemical state attribute>=[nonelemental], [oxide]...., etc.

The abundance is a positive real number indicating the relative abundance of the element. If

the abundance is omitted, it is taken to be unity. A compound specifier consists of a number

of constituent specifiers enclosed in parentheses ’( )’ followed by the relative abundance

of the considered compound. Nesting of compound specifiers is allowed. For example,

<compound-specifier> = (A)x(B)y....,etc. Where A and B represent constituent or compound

specifiers and x and y are their corresponding abundances. Examples:

S/i/O/: A solid consisting of Sulfur, Iodine and Oxygen, all of them present in elemental

form.

/Si0.68/si[oxide]32e-2/O2/)95 (/c/)5: The typical Silicon dioxide layer containing elemental

silicon and silicon bound to oxygen in the ratio 68:32, oxygen and 5%carbon contamination. The more intuitive syntax for the material specifier is a string of characters containing

the chemical symbols of the elements and their abundances in the material without forward

slashes. In this case the specification of the chemical symbols of the elements is case sensitive, e.g. "Si", "Fe", "Au" are valid chemical symbols for Silicon, Iron and Gold, while "SI",

"FE" and "AU" are invalid in the intuitive syntax. The reason is simply that case insensitive chemical symbols are not uniquely identifiable. For example "SI" might be interpreted

as a sulfur-iodine compound or as Silicon, "CO" might be interpreted as Cobalt or Carbon

monoxide. The omission of the forward slashes and the case senisitivity is the main difference between the intuitive syntax and the internal syntax. The syntax for the chemical state

attribute and the compound specifier is the same in both syntaxes. (see section 3.3).

• LAYER: Number of the selected layer.

10. SAMPLE SET THICKNESS <double> [ LAYER <int> ]

Set the thickness (in Å) of a given layer.

• LAYER: Number of the selected layer.

11. SAMPLE SHOW SAMPLE

Show the parameters describing the sample structure in the CLI.

12. SAMPLE SHOW LAYER <int>

Show the parameters describing a single layer of the sample in the CLI.

13. SAMPLE PLOT SAMPLE

Graphical display of the concentration-depth profile of the sample.

SESSA 30
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

4.4.3 The SAMPLE MORPHOLOGY Menu

This menu controls the nanomorphology of the sample surface

4.4.4 Synopsis of CLI Commands.

1. SAMPLE MORPHOLOGY SHOW

Displays information about the morphology of the sample as specified by the user

2. SAMPLE MORPHOLOGY SET PLANAR

Morphology of the surface is a planar surface with a number of parallel layers consisting of

different materials

3. SAMPLE MORPHOLOGY SET ROUGHNESS

Morphology of the surface is a rough surface

4. SAMPLE MORPHOLOGY SET ISLANDS

Morphology of the surface is planar and layered with pyramid-shaped islands consisting of

a single material on top

5. SAMPLE MORPHOLOGY SET SPHERES

Morphology of the surface is a planar and layered with spheres consisting of a single material

on top

6. SAMPLE MORPHOLOGY SET LAYERED_SPHERES

Morphology of the surface is a planar consisting of a single material and with layered spheres

on top

7. SAMPLE MORPHOLOGY SET PENELOPE <string>

An external PENGEOM file is used to specify the morphology of the specimen. While

this choice allows a greater range of surface nanomorphologies to be specified by the

user, (see section 8.1), there is no visualization of the structure within SESSA. This visualization can be achieved with the PENGEOM_VIEWER. See the Penetration and ENErgy LOss of Positrons and Electrons (PENELOPE) documentation (e.g. http://www.oecdnea.org/tools/abstract/detail/nea-1525).

8. SAMPLE MORPHOLOGY SET RSA <double>

Set the roughness of the sample surface. A rough surface is assumed to consist of tilted

surface segments with a certain distribution of tilt angles. The roughness is specified by

the relative surface area (RSA)[17], that is, the mean value of the reciprocal of the cosines

of the tilt angles. In other words, the relative surface area is the area of the surface when

measured along the tilted surface segments, divided by the area of the surface segments

projected onto the global surface. Consequently, RSA=1 represents an ideally smooth surface. Realistically rough surfaces are described by an RSA value between 1.05 and 1.2.

9. SAMPLE MORPHOLOGY SET X_LENGTH <double>

Set the length of the islands along the x-axis (in Å).

10. SAMPLE MORPHOLOGY SET Y_LENGTH <double>

Set the length of the islands along the y-axis (in Å).

SESSA 31
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

11. SAMPLE MORPHOLOGY SET X_PERIOD <double>

Set the period of repetition of the selected nanostructure along the x-axis (in Å). If MODEL

SET SINGLE TRUE is set(see Sec. 4.9) the x-dimension of the simulation bounding box is

set instead (symmetric around the sphere or island).

12. SAMPLE MORPHOLOGY SET Y_PERIOD <double>

Set the period of repetition of the selected nanostructure along the y-axis (in Å). If MODEL

SET SINGLE TRUE is set(see Sec. 4.9) the y-dimension of the simulation bounding box is

set instead (symmetric around the sphere or island).

13. SAMPLE MORPHOLOGY SET X_INCLINATION <double>

For islands, set the inclination angle of the plane with the base perpendicular to the x-axis

(in degrees).

14. SAMPLE MORPHOLOGY SET Y_INCLINATION <double>

For islands, set the inclination angle of the plane with the base perpendicular to the y-axis

(in degrees).

15. SAMPLE MORPHOLOGY SET HEIGHT <double>

Set the height of the islands (in Å).

16. SAMPLE MORPHOLOGY SET Z_HEIGHT <double>

Set the height of the centre of the sphere above the planar surface (in Å). This value should

be less than or equal to half the radius of the spheres.

17. SAMPLE MORPHOLOGY SET RADIUS <double>

Set the radius of the nanospheres (in Å).

4.4.5 The SAMPLE PARAMETERS Menu

This menu controls the parameters for the electron–solid interaction as shown in Fig. 4.11.

4.4.6 Synopsis of CLI Commands.

1. SAMPLE PARAMETERS SET SEP VALUE <double> LAYER <int>

Set the value of the surface excitation parameter (SEP) for a given layer.

• LAYER: Number of the selected layer.

2. SAMPLE PARAMETERS SET SEP DATABASE <string> LAYER <int>

Select a database to retrieve the value of the surface excitation parameter (SEP) (see also

’help database sep show’ for a list of available databases for this quantity).

• LAYER: Number of the selected layer.

3. SAMPLE PARAMETERS SET SEP MATERIAL <string> LAYER <int>

Option to search the database of SEP values.

• LAYER: Number of the selected layer.

4. SAMPLE PARAMETERS SET IMFP VALUE <double> PEAK <int> LAYER <int>

Set the value of the inelastic mean free path (IMFP) for a given peak in a given layer (in Å).

SESSA 32
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 4.11: Graphical user interface for the SAMPLE PARAMETERS Menu.

SESSA 33
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• PEAK: Number of the selected peak.

• LAYER: Number of the selected layer.

5. SAMPLE PARAMETERS SET IMFP DATABASE <string> LAYER <int>

Select a database for retrieval of IMFP values.

• LAYER: Number of the selected layer.

6. SAMPLE PARAMETERS SET IMFP MATERIAL <string> LAYER <int>

Option to search the database of IMFP values derived from optical data. In this case the

material identifier should be an ordinary (non-case sensitive) string (e.g. "Si", "SiO2", "TiC",

etc.). Note that optical data are only available for a limited number of materials. If the

requested material is not found, a message is issued and the default database for the IMFP

is automatically invoked. This default returns an estimate for the IMFP derived from the

TPP-2M formula [8] (see also ’help database imfp show’ for a list of available databases for

this quantity).

• LAYER: Number of the selected layer.

7. SAMPLE PARAMETERS SET EMFP VALUE <double> PEAK <int> LAYER <int>

Set the value of the elastic mean free path (EMFP) (in Å)for a given peak in a given layer.

• PEAK: Number of the selected peak.

• LAYER: Number of the selected layer.

8. SAMPLE PARAMETERS SET EMFP DATABASE <string> LAYER <int>

Select a database to retrieve the value of the EMFP (see also ’help database emfp show’

for a list of available databases for this quantity).

• LAYER: Number of the selected layer.

9. SAMPLE PARAMETERS SET TRMFP VALUE <double> PEAK <int> LAYER <int>

Set the value of the transport mean free path (TRMFP) (in Å)for a given peak in a given

layer.

• PEAK: Number of the selected peak.

• LAYER: Number of the selected layer.

10. SAMPLE PARAMETERS SET TRMFP DATABASE <string> LAYER <int>

Select a database to retrieve the value of the TRMFP (see also ’help database trmfp show’

for a list of available databases for this quantity).

• LAYER: Number of the selected layer.

11. SAMPLE PARAMETERS SET ECS DBNAME <string> PEAK <int> [ LAYER <int> ]

Select a database to retrieve the value of the ECS (see also ’help database ecs show’ for a

list of available databases for this quantity).

• DBNAME: Name of the database (see also ’help database ecs show’ for a list of available databases for this quantity).

• PEAK: Number of the selected peak.

• LAYER: Number of the selected layer.

SESSA 34
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

12. SAMPLE PARAMETERS SET DIIMFP DATABASE <string> LAYER <int>

Select a database to retrieve the value of the differential inverse inelastic mean free path

(DIIMFP) (see also ’help database diimfp show’ for a list of available databases for this

quantity)

• LAYER: Number of the selected layer.

13. SAMPLE PARAMETERS SET DIIMFP MATERIAL <string> LAYER <int>

Option requesting the program to search the database of optical data for evaluation of the

DIIMFP. In this case the material identifier should be an ordinary (non-case sensitive) string

(e.g. "Si", "Sio2", "TiC" etc.). Note that optical data are only available for a limited number

of materials. If the requested material is not found, a message is issued and the default

database for the DIIMFP is automatically invoked. This default returns Tougaard’s universal

DIIMFP [18].

• LAYER: Number of the selected layer.

14. SAMPLE PARAMETERS SET DSEP DATABASE <string> LAYER <int>

Select a database to retrieve the value of the differential surface excitation parameter (DSEP)

(see also ’help database dsep show’ for a list of available databases for this quantity).

• LAYER: Number of the selected layer.

15. SAMPLE PARAMETERS SET DSEP MATERIAL <string> LAYER <int>

Option requesting the program to search the database of optical data for evaluation of the

DSEP. <edit this HELP text>

• LAYER: Number of the selected layer.

16. SAMPLE PARAMETERS SHOW PEAK <int>

Show information about the electron-solid interaction for the selected peak in the CLI.

17. SAMPLE PARAMETERS PLOT ECS PEAK <int> [ LAYER <int> ]

Display the elastic cross section for given peak and layer. Note that for compound layers,

the cross section is a weighted average of the elemental cross sections of the constituents

of the layer.

• PEAK: Number of the selected peak.

• LAYER: Number of the selected layer.

18. SAMPLE PARAMETERS PLOT DIIMFP [ LAYER <int> ] [ PEAK <int> ]

Display the differential inverse inelastic mean free path for a given layer.

• LAYER: Number of the selected layer.

• PEAK: Number of the selected peak.

19. SAMPLE PARAMETERS PLOT DSEP [ LAYER <int> ] [ PEAK <int> ]

Display the differential surface excitation parameter for the simulation.

• LAYER: Number of the selected layer.

• PEAK: Number of the selected peak.

SESSA 35
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 4.12: Graphical user interface for the SAMPLE PEAK Menu.

SESSA 36
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

4.4.7 The SAMPLE PEAK Menu

This menu (selected by the Peaks tab in the Sample menu shown in the series of figures displaying

the different sample settings, Figs.4.5 to 4.9) controls the attributes of the peaks in the sample that

contribute to the specified energy regions, as shown in Fig. 4.12.The peaks of signal electrons that

have a source energy distribution lying within the energy regions of the spectrometer, as specified

by the user, can be inspected and modified in this menu. Note that, depending on the source

energy and material of interest, it may happen that no peaks occur in the specified regions. In

such cases, various data sets in SESSA are void that would otherwise contain information on the

signal-electron peaks and parameters associated with them. A peak for an element may contain a

number of subpeaks that are described by a functional form, relative height and width, or are given

by an empirical peak shape read from a data file. Presently, SESSA does not contain detailed

information on intrinsic peak shapes: the intrinsic peak is assumed to be described sufficiently

well in terms of a Gaussian, Lorentzian or Doniach-Sunjic peak shape. Alternatively, a user can

choose to load an empirical peak shape from a text file containing intensity as a function of energy

(i.e. as a series of x,y pairs).

With each peak, there are associated a number of parameters such as the subshell identifier,

cross section, fluorescence yield (only for Auger transitions), etc. The graphical display for the

sample peak menu shows the intrinsic peak shape by default. By means of the "Choose data"

box, a user can choose to change the display to the simulated spectrum or the simulated partial

intensities. By double-clicking on the display, a new window opens with a display that can be

modified by the user. A right mouse clicking the new window gives options for showing and saving

the displayed data.

The angular distribution of photoelectrons emitted from an atom is calculated in SESSA using

the formula given by Cooper [19]:

dσ

dΩ

=

σnl

4π

{1 +

β

2



3 cos2θ − 1



+



δ + γ cos2θ



sin θ cos φ} (4.1)

where σnl is the total photoionization cross section, β is the dipole asymmetry parameter, δ and γ

are the non-dipole asymmetry parameters, θ is the angle between the direction of photoelectron

emission and the polarization direction, and φ is the angle between the direction of photoelectron

emission and the plane defined by the X-ray and polarization directions.

The non-dipolar terms in Eq. (4.1) generally have a negligible effect on the angular distribution

of emitted photoelectrons for typical laboratory X-ray sources with Al and Mg anodes (i.e., for Al

Kα and Mg Kα X-rays). However, these terms can significantly affect the angular distributions for

higher photon energies, such as for Ag Lα X-ray sources or when using synchrotron radiation with

energies higher than a few keV.

We note here that there is only one database in SESSA for the three photoelectron asymmetry

parameters (i.e., the parameters β, γ and δ in Eq. (4.1)). This is the database PAP3 (described

in Section 6) with the parameter values computed by Trzhaskovskaya, Nefedov, and Yarzhemsky[20, 21]. If a different database is selected for the dipolar parameter β, values of the nondipolar parameters δ and γ will not be retrieved from this source. We note that Trzhaskovskaya

et al. calculated photoionization cross sections and photoionization asymmetry parameters only

for photon energies up to 5 keV above each photoionization threshold. Linear extrapolations were

made to these values so that cross sections and asymmetry parameters would be available in

SESSA for larger photon energies. These extrapolations could introduce uncertainties of more

than 30% in the values of the derived parameters.

To enable a more realistic simulation of peak shapes in SESSA, a chemical shift may be specified which will appropriately modify the energy of a peak (which can be a specified peak or a

SESSA 37
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

chemical component of a peak as indicated by the chemical state attribute). While the parameters of the sample peak menu can be manipulated in the GUI in the usual way, an additional

feature was implemented in Version 1.2 of SESSA for the chemical shift. An appropriate value

for the chemical shift may be entered by the user or the chemical shift database may be browsed

by clicking the "browse database" button. A menu for selecting the chemical shift will pop up, as

illustrated in Fig. 4.13.

Figure 4.13: Graphical user interface for browsing the chemical shift database.

Here all entries from Version 4.0 of the NIST XPS Database (http://srdata.nist.gov/xps) for

chemical shifts are displayed for the selected peak, together with some information about the

chemical state and the source from which this information was taken. The listings in each column can be sorted alphabetically or numerically by clicking on the column heading. By double

clicking on the most appropriate value, or by clicking the button “select chemical shift”, the corresponding value is entered into the peak settings pane of the sample peak menu. The chemical

shift database from the NIST XPS Database includes chemical shifts for the material that were

measured on a single instrument and a larger number of calculated chemical shifts. The latter

shifts were calculated as the difference of the binding energy for the line and compound that was

reported in the particular data source and a reference binding energy for the same line of the

elemental solid.

In the GUI, convenient peak list management tools are available as illustrated in Figs. 4.12

and 4.14. The main function of the peak list management tools is to facilitate deletion of a large

number of peaks simultaneously in order to increase the simulation speed and to make it easier

for a user to focus on a few selected peaks of special interest for the considered application.

Selecting a peak for deletion is achieved by clicking the box to the left of a peak in the peak list.

By means of a right mouse click anywhere in the peak list pane, it is possible to select all peaks,

SESSA 38
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

to select all Auger peaks, all XPS peaks, or to uncheck all peaks (see Fig. 4.14). By clicking the

“Delete checked peak(s)” button in the sample peak menu, the selected peaks can be deleted. To

restore the peak list to the default set corresponding to the peaks retrieved by the expert system,

the material of the corresponding layer needs to be entered again in the sample layer menu, e.g.,

by selecting the material in the material field and pressing enter. Individual peaks can be entered

manually, if desired, by using the “add peak” button in the sample peak menu. Note that the

peak for which the peak settings are displayed in the sample peak menu is indicated by a blue

background in the peak list, while the checkboxes on the left of each peak merely indicate whether

it has been marked for deletion.

Three types of data can be selected for graphical display in the SAMPLE PEAK menu by appropriate choice in the pull–down menu within the display peak window (top right region in Fig.

4.12). For each peak selected in the top left of Fig. 4.12, the user can choose one of the following

displays:

1. the peak shape (default)

2. the peak spectrum

3. partial intensities

Figure 4.14: Portion of the graphical user interface for the SAMPLE PEAK Menu (Fig. 4.12) after

a right mouse click in the peak list pane.

The peak shape represents the shape of the peak (i.e., the normalized energy distribution of

the photoelectrons or Auger electrons emitted by the source atom) set by the user in the “peak

settings” and “subpeak settings” menus shown in Fig. 4.12. The peak spectrum displays the

simulated photoelectron or Auger-electron peak, i.e., the energy distribution of the photoelectrons

SESSA 39
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

or Auger electrons as emitted from the sample surface and as seen by the analyzer. This spectrum

includes energy losses as a result of single or multiple inelastic scattering (often referred to as

the “inelastic tail”). The partial intensities represent the number of signal electrons that reach the

detector (again for the given spatial distribution of signal-electron sources from a simulation) after

participating in a given number of inelastic collisions.

4.4.8 Synopsis of CLI Commands.

1. SAMPLE PEAK SET ACTPEAK <int>

Set the peaks in the sample to which all of the following commands apply by default.

2. SAMPLE PEAK SET CHEMSHIFT VALUE <double> [ PEAK <int> ]

Set the value of the chemical shift in eV for a given peak.

• PEAK: Number of the selected peak.

3. SAMPLE PEAK SET CHEMSHIFT DBENTRY <int> [ PEAK <int> ]

Select an entry from the chemical shift database.

• PEAK: Number of the selected peak.

4. SAMPLE PEAK SET ABF VALUE <double> [ PEAK <int> ]

Set the value of the Auger backscattering factor (ABF) for a given peak.

• PEAK: Number of the selected peak.

5. SAMPLE PEAK SET ABF DATABASE <string> [ PEAK <int> ]

Select a database to retrieve the value of the ABF (see also ’help database ABF show’ for a

list of available databases for this quantity).

• PEAK: Number of the selected peak.

6. SAMPLE PEAK SET FY VALUE <double> [ PEAK <int> ]

Set the value of the fluorescence yield (FY) for a given peak.

• PEAK: Number of the selected peak.

7. SAMPLE PEAK SET FY DATABASE <string> [ PEAK <int> ]

Select a database to retrieve the value of the FY (see also ’help database FY show’ for a list

of available databases for this quantity).

• PEAK: Number of the selected peak.

8. SAMPLE PEAK SET ANISOTROPY <double> [ DBNAME <string> ] PEAK <int> [ BETA ]

[ GAMMA ] [ DELTA ]

Set the asymmetry parameters (PAP) for the photoelectric cross section of a given peak. By

default the dipolar asymmetry parameter will be set. Using the optional keywords GAMMA

and DELTA will change the multipolar asymmetry parameters accordingly. Alternatively, this

command can be used to set the database for retrieval of these quantities for a given peak.

• DBNAME: If the DBNAME option is specified, the photoelectric asymmetry parameters

are retrieved from the database indicated. See also ’help database pap show’ for a list

of available databases for this quantity).

• PEAK: Number of the selected peak.

SESSA 40
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• BETA: Set the dipolar asymmetry parameter (default).

• GAMMA: Set the multipolar asymmetry parameter gamma.

• DELTA: Set the multipolar asymmetry parameter delta.

9. SAMPLE PEAK SET CROSS_SECTION <double> [ DBNAME <string> ] PEAK <int>

Sets the ionization cross section (in Å2) associated with the peak for the specified incoming

radiation. When electrons are used as exciting radiation, the cross section is the electronimpact ionization cross section (EIICS). When photons are used, the cross section is the

photoelectric cross section (PCS).

• DBNAME: Tells the software to retrieve the relevant cross section from the specified

database (see also HELP DATABASE EIICS SHOW for a list of available databases for

this quantity).

• PEAK: Number of the selected peak.

10. SAMPLE PEAK SET TYPE <string> [ PEAK <int> ] SUBPEAK <int>

Set the subpeak type. The possible subpeak types are: GAUSS, LORENTZ, DONIACH_SUNJIC,

EMPIRICAL (see section 4.4.7).Any peak in the spectrum may be described by a linear combination of several subpeaks, each with a position, width and relative intensity.

• PEAK: Number of the selected peak.

• SUBPEAK: Number of the selected subpeak.

11. SAMPLE PEAK SET WIDTH <double> [ PEAK <int> ] SUBPEAK <int>

Set the width of the subpeak (in eV). The width is the value of the parameter describing the

peak width for the selected subpeak type (e.g. for a Gaussian peak shape the width is the

value of σ in the Gaussian distribution. (ignored for peaks described by empirical data).

• PEAK: Number of the selected peak.

• SUBPEAK: Number of the selected subpeak.

12. SAMPLE PEAK SET POSITION <double> [ PEAK <int> ] SUBPEAK <int>

Set the energy (in eV) of the subpeak position (ignored for peaks described by empirical

data).

• PEAK: Number of the selected peak.

• SUBPEAK: Number of the selected subpeak.

13. SAMPLE PEAK SET HEIGHT <double> [ PEAK <int> ] SUBPEAK <int>

Set the relative height of the subpeak (in arbitrary units).

• PEAK: Number of the selected peak.

• SUBPEAK: Number of the selected subpeak.

14. SAMPLE PEAK SET ASYMMETRY <double> [ PEAK <int> ] SUBPEAK <int>

Set the asymmetry parameter for the Doniach-Sunjic formula (ignored for other peak types).

• PEAK: Number of the selected peak.

• SUBPEAK: Number of the selected subpeak.

SESSA 41
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

15. SAMPLE PEAK SET CHEMSTATID <string> [ PEAK <int> ]

Set the chemical state identifier of the peak. The chemical state identifier is an arbitrary

string of characters that may be provided by a user to distinguish between the same atoms

present in different states in the sample. The identifier is used to labal peaks of the same

element present in different chemical or physical states but is not interpreted by SESSA. In a

simulation, all peaks of an element corresponding to the same transition but with a different

chemical state identifier are treated as separate peaks.

• PEAK: Number of the selected peak.

16. SAMPLE PEAK SET SENSFAC <double> [ PEAK <int> ]

Set the sensitivity factor of the peak. This quantity is a correction factor for Auger peaks in

cases for which the fluorescence yield and Coster-Kronig transition probability are not well

known.

• PEAK: Number of the selected peak.

17. SAMPLE PEAK ADD AESPEAK ENERGY <double> TRANSITION <string> SUBSHELLID

<string> ELEMENT <string> [ CHEMSTATID <string> ]

Add an Auger peak specified by the user to the list of peaks.

• ENERGY: Energy (in eV) of the peak.

• TRANSITION: The transition for the Auger peak.

• SUBSHELLID: The subshell that is ionized initially and leads to the considered Auger

transition.

• ELEMENT: The element emitting the signal electrons.

• CHEMSTATID: Chemical state label for a peak.

18. SAMPLE PEAK ADD XPSPEAK ENERGY <double> SUBSHELLID <string> ELEMENT

<string> [ CHEMSTATID <string> ]

Add a photoelectron peak specified by the user to the list of peaks.

• ENERGY: Energy (in eV) of the peak.

• SUBSHELLID: Subshell of the considerd photoelectron peak.

• ELEMENT: Element emitting the signal electrons.

• CHEMSTATID: Chemical state of the peak.

19. SAMPLE PEAK ADD SUBPEAK PEAK <int> ENERGY <double>

Add a subpeak to the peak data structure.

• PEAK: Number of the selected peak.

• ENERGY: Specify the energy (in eV) for the subpeak.

20. SAMPLE PEAK DELETE PEAK <int> [ SUBPEAK <int> ]

Delete an attribute of the peak data structure

• PEAK: Number of the selected peak.

• SUBPEAK: Number of the selected subpeak.

21. SAMPLE PEAK SHOW [ PEAK <int> ] [ SUBPEAK <int> ]

Show information for the peak

SESSA 42
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• PEAK: Number of the selected peak.

• SUBPEAK: Number of the selected subpeak.

22. SAMPLE PEAK LIST [ PEAK <int> ] [ GEOMETRY <int> ]

Shows brief information for all peaks.

• PEAK: Number of the selected peak.

• GEOMETRY: Number of the selected geometry.

23. SAMPLE PEAK PLOT SPEC [ PEAK <int> ]

Graphical display of the partial spectrum emitted from the surface.

• PEAK: Number of the selected peak.

24. SAMPLE PEAK PLOT PART_INT [ PEAK <int> ]

Graphical display of the partial intensities of electrons emitted from the surface.

• PEAK: Number of the selected peak.

25. SAMPLE PEAK PLOT SHAPE [ PEAK <int> ] [ SUBPEAK <int> ]

Graphical display of the partial spectrum emitted at the location in the sample where the

signal-electron excitation takes place.

• PEAK: Number of the selected peak.

• SUBPEAK: Number of the selected subpeak.

26. SAMPLE PEAK OUTPUT SPEC FILE <string> [ PEAK <int> ]

Writes the spectrum for the selected peak to a file.

• FILE: Name of the file for output.

• PEAK: Number of the selected peak.

27. SAMPLE PEAK OUTPUT PART_INT FILE <string> [ PEAK <int> ]

Writes the partial intensities for the selected peak to a file.

• FILE: Name of the file for output.

• PEAK: Number of the selected peak.

28. SAMPLE PEAK LOAD DATA <string> [ PEAK <int> ] SUBPEAK <int>

Loads an ASCII file containing the peak shape of a given subpeak for an EXISTING peak.

Before peak shape data can be loaded for a new peak, this peak has to be defined by adding

it (see SAMPLE ADD PEAK). The expected format for each line of this file is: "energy (eV)/

one or more spaces/ intensity (arb. units)"

• PEAK: Number of the selected peak.

• SUBPEAK: Number of the selected subpeak.

4.5 The SOURCE Menu

This menu specifies the source of exciting radiation for an experiment, as shown in Fig. 4.15.If an

attribute of the source is changed, the expert system must start a new query for many relevant

quantities. This means that previous user input for any of these quantities will be lost in such

SESSA 43
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 4.15: Graphical user interface for the SOURCE Menu.

cases. For example, definitions concerning the shape, position or relative intensities of a peak

that were manually added by a user as well as the corresponding interaction parameters will be

erased. To save such user settings, it is advisable to save the session (see "Project/save/session")

If the incoming radiation is chosen to be photons, their energy can be specified and their polarization can be specified to be circular or unpolarized by setting the linear polarization fraction to

zero. If the incoming beam is partially linearly polarized, the fraction of the linearly polarized light

P in the beam can be set with this command, as indicated in Fig. 4.15.

It is assumed that the remaining fraction (1-P) of the beam is circularly polarized or unpolarized.

The polarization fraction only affects the angular distribution of photoelectrons in any calculation. For unpolarized or circularly polarized light, the angular distribution is rotationally symmetric

around the polarisation vector [20,22].

The polarization direction is chosen in the GEOMETRY menu (see Section 4.7).

If the incoming radiation is chosen to be electrons, the electron energy can be specified.

SESSA 44
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

4.5.1 Synopsis of CLI Commands.

1. SOURCE SET ALKA

Sets the source to Al Kα radiation.

2. SOURCE SET MGKA

Sets the source to Mg Kα radiation.

3. SOURCE SET ZRMZ

Sets the source to Zr Mζ radiation.

4. SOURCE SET PHOTONS ENERGY <double>

Sets the source to photons with a specified energy.

• ENERGY: photon energy (in eV).

5. SOURCE SET POLARIZATION FRACTION <double>

Set the fraction of linear polarization of the incoming light

6. SOURCE SET ELECTRONS ENERGY <double>

Sets the source to electrons with a specified energy.

• ENERGY: electron energy (in eV).

7. SOURCE SHOW

Shows the parameters of the SOURCE menu.

4.6 The SPECTROMETER Menu

This menu specifies the energy ranges of interest as well as the parameters describing the spectrometer used to measure the spectrum, as shown in Fig. 4.16. A number of (non-overlapping)

energy regions may be specified. A spectrometer region may not be more than 3000 eV wide.

When retrieving the parameters needed to interpret an electron spectrum, the expert system

looks for peaks of the specified sample that fall into one of the selected regions. At present, the

simulated spectrum corresponds to electrons emitted from the sample. All effects of the instrumentation on an electron spectrum that may be observed in an experiment (analyzer transmission

function, energy dependence of the energy resolution, etc.) are neglected in the present version

of SESSA.

4.6.1 Synopsis of CLI Commands.

1. SPECTROMETER ADD REGION [ RANGE <string> ]

Add a new energy region for which the spectrum is to be simulated.

• RANGE: Defines the range of the spectrometer energy window in eV. Example: SPECTROMETER ADD REGION RANGE 900:1400 will add a region with an energy window

from 900 eV to 1400 eV.

2. SPECTROMETER DELETE REGION <int>

Delete the selected spectrometer region

SESSA 45
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 4.16: Graphical user interface for the SPECTROMETER Menu.

3. SPECTROMETER SET ACTREGION <int>

Set the number of the default spectrometer to which all following commands apply by default.

4. SPECTROMETER SET RANGE <string> [ REGION <int> ]

Set the range of the spectrometer energy window in eV. Example SPECTROMETER SET

RANGE 900:1400 will set the energy window to (900:1400). SPECTROMETER SET RANGE

900: sets only the lower bound, SPECTROMETER SET RANGE :1400 sets only the upper

bound.

• REGION: Number of the selected spectrometer region.

5. SPECTROMETER LIST

List all regions in the CLI.

6. SPECTROMETER RESET

Reset the spectrometer settings to default values.

7. SPECTROMETER SHOW SPECTROMETER

Show information about the spectrometer in the CLI.

8. SPECTROMETER SHOW REGION <int>

Show all information about the specified region in the CLI.

SESSA 46
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

4.7 The GEOMETRY Menu

Figure 4.17: Graphical user interface for the GEOMETRY Menu.

This menu specifies the experimental geometry, as shown in Fig. 4.17. A number of geometries

can be specified. When a model calculation is performed with SESSA (see section 4.9) a simulation is made for each geometry specified in this menu. For each geometry, the directions of the

sample surface normal, the analyzer axis and the orientation of the source of exciting radiation

are specified in spherical coordinates in a fixed frame of reference. The analyzer opening angle

is specified in spherical coordinates in a frame of reference for which the z-axis is parallel to the

analyzer axis. The azimuthal and polar angles of the polarization vectors are also set on this

screen.

4.7.1 Synopsis of CLI Commands.

1. GEOMETRY SET ACTGEO <int>

Set the number of the default geometry to which all following commands apply by default.

When the optional parameter [geometry] is omitted in any command, it is assumed to apply

to the default geometry set here.

SESSA 47
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

2. GEOMETRY SET SAMPLE PHI <double> [ GEOMETRY <int> ]

Set the azimuthal angle for the sample normal.

• GEOMETRY: Number of the selected geometry.

3. GEOMETRY SET SAMPLE THETA <double> [ GEOMETRY <int> ]

Set the polar angle for the sample normal.

• GEOMETRY: Number of the selected geometry.

4. GEOMETRY SET SAMPLE ROTATION <double> [ GEOMETRY <int> ]

Set the azimuthal angle of rotation of the sample around its sample normal. Note that

this command is only relevant for nanostructured surfaces; for surfaces with a planar or

roughness morphology this command will have no effect whatsoever.

• GEOMETRY: Number of the selected geometry.

5. GEOMETRY SET SOURCE PHI <double> [ GEOMETRY <int> ]

Set the azimuthal angle for the direction of the incoming radiation.

• GEOMETRY: Number of the selected geometry.

6. GEOMETRY SET SOURCE THETA <double> [ GEOMETRY <int> ]

Set the polar angle for the direction of the incoming radiation.

• GEOMETRY: Number of the selected geometry.

7. GEOMETRY SET SOURCE POLARIZATION PHI <double> [ GEOMETRY <int> ]

Set the azimuthal angle of the polarization vector.

• GEOMETRY: Number of the selected geometry.

8. GEOMETRY SET SOURCE POLARIZATION THETA <double> [ GEOMETRY <int> ]

Set the polar angle of the polarization vector.

• GEOMETRY: Number of the selected geometry.

9. GEOMETRY SET ANALYZER PHI <double> [ GEOMETRY <int> ]

Set the azimuthal angle for the analyzer axis.

• GEOMETRY: Number of the selected geometry.

10. GEOMETRY SET ANALYZER THETA <double> [ GEOMETRY <int> ]

Set the polar angle for the analyzer axis.

• GEOMETRY: Number of the selected geometry.

11. GEOMETRY SET ANALYZER CMA [ GEOMETRY <int> ]

Set the analyzer aperture to that of a cylindrical mirror analyzer (CMA).

• GEOMETRY: Number of the selected geometry.

12. GEOMETRY SET ANALYZER CHA [ GEOMETRY <int> ]

Set the analyzer aperture to that of a concentric hemispherical analyzer (CHA).

• GEOMETRY: Number of the selected geometry.

13. GEOMETRY SET ANALYZER RFA [ GEOMETRY <int> ]

Set the analyzer aperture to that of a retarding field analyzer (RFA).

SESSA 48
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• GEOMETRY: Number of the selected geometry.

14. GEOMETRY SET APERTURE LPHI <double> [ GEOMETRY <int> ]

Set the lower azimuthal angle for the analyzer aperture.

• GEOMETRY: Number of the selected geometry.

15. GEOMETRY SET APERTURE UPHI <double> [ GEOMETRY <int> ]

Set the upper azimuthal angle for the analyzer aperture.

• GEOMETRY: Number of the selected geometry.

16. GEOMETRY SET APERTURE LTHETA <double> [ GEOMETRY <int> ]

Set the lower polar angle for the analyzer aperture.

• GEOMETRY: Number of the selected geometry.

17. GEOMETRY SET APERTURE UTHETA <double> [ GEOMETRY <int> ]

Set the upper polar angle for the analyzer aperture.

• GEOMETRY: Number of the selected geometry.

18. GEOMETRY SET MODE XPS [ GEOMETRY <int> ]

Set the geometry mode to XPS. In this mode, the surface area seen by the analyzer changes

as the inverse cosine of the polar detection angle with respect to the surface normal.

• GEOMETRY: Number of the selected geometry.

19. GEOMETRY SET MODE AES [ GEOMETRY <int> ]

Set the geometry mode to AES. In this mode, the surface area seen by the analyzer is

independent of the detection angle.

• GEOMETRY: Number of the selected geometry.

20. GEOMETRY SET FACTOR <double> [ GEOMETRY <int> ]

Set a geometric correction factor for each geometry. Geometrical artifacts are often difficult

to avoid in a real experiment, but are usually reproducible for a given instrument. Therefore

a geometry-dependent overall correction factor can be defined here.

• GEOMETRY: Number of the selected geometry.

21. GEOMETRY ADD GEOMETRY [ COPY <int> ]

Add a geometry to the list for angle-resolved experiments.

• COPY: Add a geometry to the list and copies the parameter values for the previous

geometry into the new geometry.

22. GEOMETRY DELETE GEOMETRY <int>

Delete the selected geometry from the list.

23. GEOMETRY LIST

List all different geometries.

24. GEOMETRY RESET

Reset the geometrical configurations to default.

25. GEOMETRY SHOW [ GEOMETRY <int> ]

Show all information about the specified geometry.

• GEOMETRY: Number of the selected geometry.

SESSA 49
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

IMFP Inelastic Mean Free Path

DIIMFP Differential Inverse Inelastic Mean Free Path

TECS Total Elastic Cross Section

TRECS Transport (Elastic) Cross Section

ECS (Differential) Elastic Cross Section

SEP Surface Excitation Parameter

DSEP Differential Surface Excitation Parameter

PAP Photoelectric Asymmetry Parameter beta, dipolar

PAD Photoelectric Asymmetry Parameter delta, multipolar

PAG Photoelectric Asymmetry Parameter gamma, multipolar

EIICS Electron Impact Ionization Cross Section

ABF Auger Backscattering Factor

FY Fluorescence Yield

PCS Photoelectric Cross Section

XPL X-ray Photoelectron Lineshape

AEL Auger Electron transition Lineshape

CS Chemical Shift

Table 4.1: Acronyms for the physical quantities in the SESSA databases.

4.8 The DATABASE Menu

This menu selects the databases for the various physical quantities used in SESSA, as shown

in Fig. 4.18.The default databases used for retrieval in the expert system can be selected in this

menu. The acronyms used are shown in Table 4.1.

4.8.1 Synopsis of CLI Commands.

1. DATABASE IMFP SET <string>

Select a database for retrieval of IMFP values.

2. DATABASE IMFP SHOW

Show a list of available databases for the IMFP in the CLI.

3. DATABASE DIIMFP SET <string>

Select a database for retrieval of the DIIMFP.

4. DATABASE DIIMFP SHOW

Show a list of available databases for the DIIMFP in the CLI.

5. DATABASE TECS SET <string>

Select a database for retrieval of the TECS.

6. DATABASE TECS SHOW

Show a list of available databases for the TECS in the CLI.

7. DATABASE TRECS SET <string>

Select a database for retrieval of the TRECS.

8. DATABASE TRECS SHOW

Show a list of available databases for the TRECS in the CLI.

SESSA 50
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 4.18: Graphical user interface for the DATABASE Menu.

SESSA 51
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

9. DATABASE ECS SET <string>

Select a database for retrieval of the ECS.

10. DATABASE ECS SHOW

Show a list of available databases for the ECS in the CLI.

11. DATABASE SEP SET <string>

Select a database for retrieval of the SEP.

12. DATABASE SEP SHOW

Show a list of available databases for the SEP in the CLI.

13. DATABASE DSEP SET <string>

Select a database for retrieval of the DSEP.

14. DATABASE DSEP SHOW

Show a list of available databases for the DSEP in the CLI.

15. DATABASE PAP SET <string>

Select a database for retrieval of the PAP.

16. DATABASE PAP SHOW

Show a list of available databases for the PAP in the CLI.

17. DATABASE PAG SET <string>

Select a database for retrieval of the PAG.

18. DATABASE PAG SHOW

Show a list of available databases for the PAG in the CLI.

19. DATABASE PAD SET <string>

Select a database for retrieval of the PAD.

20. DATABASE PAD SHOW

Show a list of available databases for the PAD in the CLI.

21. DATABASE EIICS SET <string>

Select a database for retrieval of the EIICS.

22. DATABASE EIICS SHOW

Show a list of available databases for the EIICS in the CLI.

23. DATABASE ABF SET <string>

Select a database for retrieval of the ABF.

24. DATABASE ABF SHOW

Show a list of available databases for the ABF in the CLI.

25. DATABASE FY SET <string>

Select a database for retrieval of the FY.

26. DATABASE FY SHOW

Show a list of available databases for the FY in the CLI.

SESSA 52
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

27. DATABASE PCS SET <string>

Select a database for retrieval of the PCS.

28. DATABASE PCS SHOW

Show a list of available databases for the PCS in the CLI.

29. DATABASE XPL SET <string>

Select a database for retrieval of the XPL.

30. DATABASE XPL SHOW

Show a list of available databases for the XPL in the CLI.

31. DATABASE AEL SET <string>

Select a database for retrieval of the AEL.

32. DATABASE AEL SHOW

Show a list of available databases for the AEL in the CLI.

33. DATABASE CS SET <string>

Select a database for retrieval of the CS.

34. DATABASE CS SHOW

Show a list of available databases for the CS in the CLI.

35. DATABASE SHOW DATABASE

Show a list of the databases selected for retrieval/simulation of XPS/AES spectra in the CLI.

4.9 The MODEL Menu

This menu controls parameters of the simulation, as indicated in Fig. 4.19. SESSA is able to

perform a Monte Carlo simulation of an electron spectrum based on the parameters retrieved

for the specified sample and for the specified experimental conditions, as described in Ref. [1].

For this purpose, a number of trajectories that mimic the physics of the electron transport are

generated. The simulation algorithm is very efficient: each trajectory contributes to all energies

in the spectrum. This is achieved by assigning an a posteriori likelihood for n−fold scattering to

each trajectory. For each trajectory, a contribution to the so-called partial intensities is calculated.

These quantities represent the probability that a given electron arrives at the detector after experiencing a given number of collisions. Multiplying this number with the distribution of energy losses

after a given number of inelastic collisions gives the partial spectrum of n−fold inelastically scattered electrons. Adding up these contributions gives the total simulated spectrum. Furthermore,

the trajectory reversal algorithm [23] is used by SESSA. This algorithm allows a user to perform

simulations for a detector with an infinitely narrow opening angle of the analyzer (See Ref. [1] for

more details about the simulation procedure). The maximum number of collisions ("Number of

collisions") is either determined automatically or can be set by the user. The computation time required for a simulation increases with this maximum number: in particular, if ndiimfp=2 is chosen

in the preferences menu, the required time will be greater (see section 4.3). If only the intensities

of the peaks in the spectrum are of interest (electrons escaping without any inelastic collision),

the maximum number of collisions can be set to zero. The simulated spectral shape will be then

unrealistic, but the peak intensities will be realistic and generated very efficiently. The number of

SESSA 53
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 4.19: Graphical user interface for the MODEL Menu.

trajectories that is generated is either determined automatically by the convergence criterion, or

can be specified by the user (typically 500 for a calculation with 1% precision.)

The user can choose to carry out a simulation in various approximations. It is presently possible to choose between five different approaches; the first three correspond to employing different

distributions of scattering angles and associated mean free paths for successive collisions; the

latter two concern the treatment of energy losses:

(1) the usual "Mott" cross section for elastic scattering calculated from the relativistic plane-wave

expansion method that is believed to provide a realistic description of elastic-scattering events of

electrons in solids when used in conjunction with the elastic mean free path (EMFP) derived from

it [23,24].

(2) Neglect of elastic deflections (straight line approximation, SLA, or rectilinear motion model),

corresponding to an infinite elastic mean free path; and

(3) an isotropic transport cross section taking the transport mean free path (TMFP) as the characteristic length for elastic deflections.

(4) Surface Excitations can optionally be accounted for in the model calculations (SE)

(5) A model in which the energy dependence of the inelastic mean free path is approximately

taken into account (QEA+) (see section 5.2.5 for details)

SESSA 54
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

The third approach is essentially equivalent to the so-called transport approximation (TA), see

Ref. [1] and Ref. [25].

The latter four options for the simulation approach can be selected by checking the corresponding boxes labelled "Transport" "Straight Line" "Surface Excitations" and "QEA+" in the GUI

(Fig. 4.19). The Show Peak intensities and Save Peak intensity buttons provide a convenient

means of displaying and/or saving the zero-th order partial intensities for the peaks in the spectrum.

As described in Section 4.4, simulations can be made for a single nanoparticle or island. After selecting spheres, layered spheres or islands for the sample morphology and specifying the

relevant materials and dimensions, the user can enter MODEL SET SINGLE TRUE or ... FALSE in

the CLI to enable or disable the option. Note that this option cannot be selected from the GUI.

Although the SESSA simulations will be performed for a single nanoparticle or island, the values

of the X and Y periods here define the dimensions of the limiting body as described in Section

8. It is then important to select values of the X and Y periods (either through the GUI or the CLI)

to correspond to the total particle size (spheres, layered spheres) or to reproduce the desired

surface coverage (islands). Doing otherwise may lead to inaccurate or erroneous results.

Another option is to perform a simulation for a nanoparticle (spheres, layered spheres) without

a substrate. This is done by entering MODEL SET NOSUB TRUE or ... FALSE in the CLI to enable

or disable the option. This option is not available through the GUI. When using the NOSUB option,

the substrate peaks must be deleted from the List of Peaks or otherwise the simulation will freeze.

The morphology modes Planar and Roughness should not be used with the SINGLE option or the

NOSUB option. The morphology mode Islands can be used with the SINGLE option, but should not

be used with the NOSUB option. The use of either the SINGLE or the NOSUB option (or both) can

drastically reduce the computation times for otherwise equivalent simulations.

Notes: For nanoparticles (spheres, layered spheres), it is recommended to only use the SINGLE

and NOSUB options in combination. The SINGLE and NOSUB options can be used in combination

with external PENGEOM geometry files; for more details, the user is referred to Section 8.4.

4.9.1 Synopsis of CLI Commands.

1. MODEL SET NCOL <int> [ REGION <int> ]

Set the maximum number of inelastic collisions to a fixed value.

• REGION: Number of the selected spectrometer region.

2. MODEL SET NTRAJ <int> [ REGION <int> ]

Set number of trajectories used in the simulation to a fixed value.

• REGION: Number of the selected spectrometer region.

3. MODEL SET TA <string>

Set TA (transport approximation) to ’true’ or ’false’. If TA is set to ’true’, an isotropic distribution of polar deflection angles is used in the simulation.

4. MODEL SET SLA <string>

Set SLA (straight line approximation) to ’true’ or ’false’. If SLA is set to ’true’, deflections of

the electrons by elastic scattering during their escape from the surface will be completely

neglected.

SESSA 55
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

5. MODEL SET SE <string>

Set SE (surface excitations) to ’true’ or ’false’. If SE is set to ’true’, surface excitations are

taken into account in the simulation.

6. MODEL SET QEAPLUS <string>

Set QEAPLUS (quasi elastic approximation plus) to ’true’ or ’false’. If QEAPLUS is set to

’true’, the energy dependence of the IMFP is taken into account in the simulation via the

so-called QEA+ approximation (see section 5.2.5 for details)

7. MODEL SET CONVERGENCE <double>

Set the convergence criterion for the MC simulation. The simulation for a given peak terminates when the relative change in the sum of all requested partial intensities drops below

the criterion for ten successive trajectories. So, for example, if the user has set number of

collisions=0, and the convergence criterion is 0.01, then the simulation terminates if the

intensity of the no-loss peak changes by less than 1% for 10 successive trajectories. Then,

the precision of the calculation for the peak intensity will be better than 1%. Note that when

an entire spectrum is simulated (number of collisions>0), the sum of all partial intensities

(to which the termination criterion applies) is actually the total spectral intensity (area under

the spectrum) for the considered transition.

8. MODEL SET SINGLE <string>

If this parameter is ’true’ simulation of a single nanoparticle on the surface is perfomed

instead of a periodic array of nanoparticles.

9. MODEL SET NOSUB <string>

If this parameter is ’true’, the simulation is truncated at the substrate. ATTENTION: Remove

the substate material peaks or the simulation will freeze.

10. MODEL AUTO NCOL [ REGION <int> ]

Maximum number of inelastic collisions will be automatically calculated by the simulation

module.

• REGION: Number of the selected spectrometer region.

11. MODEL AUTO NTRAJ [ REGION <int> ]

Number of trajectories will be automatically calculated by the simulation module.

• REGION: Number of the selected spectrometer region.

12. MODEL PLOT [ REGION <int> ]

Graphical representation of the simulated spectrum for a given spectrometer region in the

separate plot window.

• REGION: Number of the selected spectrometer region.

13. MODEL SIMULATE

Perform a Monte Carlo simulation of the spectral shape using the given settings for all relevant parameters.

14. MODEL SHOW

Show information on parameters controlling the simulation.

15. MODEL RESET

Reset model settings to the default values.

SESSA 56
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

16. MODEL SAVE SPECTRA <string>

Save the simulated spectra of all regions into a file whose filename begins with <string>. This

will write the angular distribution for all spectra if more than one geometrical configuration

was specified.

17. MODEL SAVE INTENSITIES <string>

Save the peak intensities (zero order partial intensities) of all peaks to a file with filename

<string>. This will write the angular distribution of all peaks to a file if more than one geometrical configuration was specified.

SESSA 57
5 Retrieval strategy and simulation model

5.1 Retrieval strategy of the expert system

In a first step, the expert system establishes the relevant peaks in accordance with the user’s

specification of the sample composition and the selected excitation source and spectrometer settings. This is done by looking up the source energy and the type of exciting radiation (photons,

electrons) and querying the databases for the peak shapes for each element in all layers of the

sample. When a peak is found that is not present in the internal peak list, and it falls within any of

the specified spectrometer regions, the peak is added to the peak list. This peak list is on display

in the "Sample/Peaks" menu in the GUI and can be listed via the corresponding command in the

CLI.

The energy distribution for a useful peak in an AES or XPS spectrum for a solid is known to be

sharply peaked with respect to the nearby background. However, the total energy range where

the emission probability assumes non-vanishing values can generally be very broad. In order to

decide whether a peak should be taken into account in a given spectrometer region, it is therefore necessary to invoke some meaningful criterion. In the SESSA expert system, this is done

by comparing the fraction of the peak area that falls within the considered spectrometer energy

region with the threshold parameter. If this fraction exceeds the threshold value specified by the

user (see Section 4.3), the peak is included; otherwise it is discarded from the peak list.

If a given element is present in more than one chemical state, each peak for this material is

added in duplicate to the peak list, and is accordingly labelled. While the main purpose of the

chemical-state label is indeed to indicate the chemical states of a given element in order for the

software to be able to differentiate between different them, it is to be noted that the chemical state

label is nothing but an arbitrary label allowing such a distinction to be made. In other words, it

can just as well be used for an entirely different purpose, e.g. to simulate the excitation depth

distribution in some special applications of electron spectroscopy (see for example Section 7.3.1).

After the relevant peaks have been established in this way, the parameters for the generation of

the associated signal electrons are retrieved from the corresponding databases together with the

parameters describing the characteristics of the electron-solid interaction (or, in other words, the

surface sensitivity).

As mentioned before, an essential aspect of the expert system, in particular in conjunction with

a simulation module, is that for each considered electronic transition leading to the emission of

signal electrons, all parameters concerning their generation and interaction with the solid must

be known; otherwise the software will eventually be unable to take meaningful decisions and to

provide meaningful results (i.e., the software would cease to run). This situation is, of course,

completely unacceptable, and the databases must therefore be able to return at least a credible

estimate for each queried quantity. As explained in Section 3.1, SESSA is designed always to

provide a backup database that is extensive. The reliability of the returned datum from the backup

58
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

database is, of necessity, not always comparable to the typical reliability of the other databases.

Nevertheless, the fact that each datum is traceable to its source in the scientific literature (see also

Section 6) makes the individual reliability of any datum accessible to the user, while the overall

reliability of, for example, the outcome of a simulation of SESSA can be assessed in survey form

by inspection of the files ending with "rems.txt" and "refs.txt" (see Section 3.4).

5.2 Algorithm for spectrum simulation

When all required parameters have been retrieved from the databases, a simulation of the expected outcome of the specified experiment can be performed with SESSA. The simulation algorithm is based on the partial intensity approach for the electron-solid interaction [1, 26–29]. The

key quantities in this approach are the so-called partial intensities that describe the number of

electrons arriving at the detector after having participated in a given number of inelastic collisions

in the solid between their point of generation and escape from the surface. In SESSA, the partial intensities are calculated with a very efficient Monte Carlo calculation based on the so–called

trajectory reversal algorithm [23] that benefits from a symmetry property of the (linearized) Boltzmann kinetic equation which forms the basis of the surface sensitivity of electron-beam techniques

for non–crystalline solids. In the following sections, the simulation algorithm is described in some

detail. The user can thus better understand and interpret the results of a simulation.

In the range of medium energies (50 eV to 20 keV) for which SESSA is designed, the characteristics of the electron–solid interaction allow some drastic simplifications to be made leading to a

convenient starting point of the theory. In particular, a clear distinction can be made between multiple inelastic scattering and multiple elastic scattering. While inelastic scattering can be treated

in a straightforward manner by means of an analytic theory, elastic scattering is most conveniently

tackled by means of a numerical approach. The Monte Carlo technique employed by SESSA is

the most flexible numerical technique with respect to the boundary conditions of the considered

problem.

5.2.1 The electron spectrum in AES/XPS

The objective of SESSA is to facilitate interpretation of the spectra of electrons that are generated

by means of electron or photon bombardment in the near–surface region of a solid, escape from

the surface, and are analyzed and detected by a spectrometer. Obviously, the quantities relevant

for the mentioned processes, and in particular any eventual relationship between them, need to

be studied before establishing a theory describing the phenomenon. A detailed discussion on the

physical quantities describing the signal electron generation and transport is beyond the scope of

this guide and the reader is referred to reviews in the literature (e.g. Refs. [1,2,30]).

The most important facts may be summarized as follows:

• For any given electronic transition, the energy and angular distributions are uncorrelated;

i.e., the energy distribution of electrons liberated at an atom in a solid is the same for all

emission directions. Since the depth distribution of the emitting sources is determined by

the compositional depth profile of the specimen, we expect that the source angular, energy

and depth distributions will be uncorrelated, and the source distribution S0(E, z, Ω) ⃗ can be

factored into energy- (f0(E)), angular- (g0(Ω)) ⃗ and depth- (c0(z)) dependent terms:

S0(E, z, Ω) = ⃗ f0(E) × c0(z) × g0(Ω) ⃗ (5.1)

SESSA 59
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Here Ω = ( ⃗ θ, φ) is a shorthand notation for the electron emission direction, specified by the

polar angle θ and the azimuthal angle φ.

• The electron–solid interaction characteristics for the electron transport (mean free paths,

cross sections, etc.) are not strongly energy dependent. More precisely, the change in any

interaction characteristic is small compared to the value of that quantity when the energy

changes by an amount ∆E corresponding to a typical energy loss ⟨T⟩ ∼ e

2/a0 = 27.2 eV

(also corresponding to 2 Ry = 1 Hartree) in an inelastic collision, where e is the electron

charge and a0 the Bohr radius. We then have:

∆λ

λ

≪

∆E

⟨T⟩

(5.2)

where λ stands for any of the interaction characteristics. This condition is the basis for

the so-called quasi-elastic approximation (QEA) in which it is assumed that the interaction

characteristics of a photoelectron are constant in between the photoionisation process inside

the solid and its emission from the surface. An approximate means to account for the energy

dependence of the interaction characteristics is described in Section 5.2.5.

• The width of the energy distribution for any useful peak in an AES or XPS spectrum is small

compared to the typical energy loss in an inelastic collision.

• Energy losses and deflections can be regarded as independent processes.

The above conditions are generally fulfilled in AES and XPS [1] and allow one to immediately

understand the so–called partial intensity approach for the theoretical description of an electron

spectrum, without resorting to complicated mathemematical derivations. Readers interested in a

rigorous mathematical treatment of the problem are referred to Ref. [30].

The source term in Eq. 5.1 is evaluated as follows: the energy dependent factor, f0(E), is

entirely determined by user specification in the peak menu (see section 4.4.7), i.e. the parametrisation of a peak shape specified by a user is used, or, alternatively, an empirical peak shape can

be read in. The depth dependent factor, c0(z), is entirely determined by the sample morphology

as set in the sample morphology menu (see section 4.4.3). Note that only if a planar morphology is selected in the morphology menu, this is actually a function depending only on the depth

(and not on the lateral coordinates). In all other cases it also depends on the lateral coordinates.

In the following, we will nonetheless maintain the notation c0(z), adopted above, but the reader

should keep in mind that the distribution of sources may in general be a three-dimensional one. In

particular, this implies that the integrals over the depth in the formulae below, run over all Space.

Finally, the angular source distribution g0(Ω) ⃗ is taken to be isotropic in the case of Auger electron

emission, while for photoelectrons it is generally highly anisotropic and is determined by the experimental configuration, through the angle θk between the incident radiation and the emission

direction of the photoelectron, and, in the case of (partially) linear polarisation of the incoming

beam, by the angle θε between the direction of emission of the photoelectron and the direction of

the polarisation vector of the incident photon beam. The corresponding directions can be set by

a user in the geometry menu (see section 4.7). Denoting the fraction of linearly polarised light of

the beam by P, the differential photoelectric cross section is taken to be [22]:

4π

σx

dσx

dΩ

= 1 +

β

4

h

1 − 3P + 6P cos2θε + 3(P − 1) cos2θk

i

+

h

δ + γP cos2θε −

γ

2

(P − 1)icos θk +

γ

2

(P − 1) cos3θk (5.3)

SESSA 60
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

where β is the dipolar asymmetry parameter, γ and δ are the non-dipolar parameters and σx is the

total cross section for the considered shell. The latter parameters are all automatically retrieved

from databases in SESSA.

It is obvious that each electron leaving the surface has experienced a given number, say

n = 0, 1, 2... of inelastic collisions. In other words, the emerging spectrum consists of groups

of electrons that have experienced a certain number of inelastic processes. Since the energy

and angular distribution in the source function S0(E, z, Ω) ⃗ factorize into energy and angular terms,

and since elastic (deflections) and inelastic collisions (energy losses) may be assumed to occur

independently, it follows that each of the groups of n–fold inelastically scattered electrons is also a

product of a function Fn(E) depending only on the energy and a function Cn(Ω) ⃗ that depends only

on the emission direction. Taking the energy distribution of the n–th group, the so–called partial

energy distribution, to be normalized, RFn(E)dE ≡ 1, the partial intensities Cn(Ω) ⃗ are identified

as the number of electrons in the corresponding group.

Since the energy dependence is assumed to be sufficiently weak, it follows that the interaction

characteristics within each group can be taken to be the same and, furthermore, since the energy

distribution at the source is narrow compared to the typical energy loss, the transfer processes

determining the surface sensitivity are the same for all electrons within a given peak.

Summing up the different groups gives the spectrum Y (E, Ω) ⃗ :

Y (E, Ω) = ⃗

nXmax

n=0

Cn(Ω) ⃗ Fn(E) (5.4)

In the above expression, nmax is the largest order of inelastic scattering considered. In SESSA,

this parameter can be automatically determined, by clicking the "Auto" box in front of the "number

of inelastic collisions" field in the simulation menu, or can be set by the user. The latter option

is convenient, e.g., when only the intensity of the peak of no–loss electrons is of interest since

this intensity can then be calculated very efficiently (see Section 5.2.3). The remaining problem

is to find a convenient means of evaluating the partial intensities and energy distributions. This is

discussed in the next sections.

5.2.2 Multiple inelastic scattering: the partial energy distributions

Since the transport equation is linear, it is straightforward to express the distribution of energy

losses after a given number of inelastic collisions in terms of the source energy distribution f0(E)

if the energy-loss distribution in a single inelastic collision w(T) is known. The latter quantity is

of course identical to the (normalized) differential inelastic inverse mean free path for which a

database is available in SESSA.

Let us assume that the source energy distribution f0(E) is normalized to unity area. The probability that an Auger- or photoelectron is emitted by an atom with an energy between E + T and

E + T + dT is then given by f0(E + T)dT. Multiplying this probability with the probability w(T) for

an energy loss in the interval (T, T + dT) gives the probability that the electron has the energy E

after it experienced a single inelastic collision. Integrating over all different possible values of the

energy loss T gives the energy distribution after one energy loss as:

F1(E) = Z

f0(E + T)w(T)dT (5.5)

SESSA 61
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

In exactly the same way, the higher-order loss distributions may be established. The whole procedure may be summarized by the recurrence relations:

Fn(E) = ZFn−1(E + T)w(T)dT

=

Z

f0(E + T)Ln−1(T)dT (5.6)

In the second line of this equation, the partial loss distributions Ln(T), i.e., the distribution of energy losses after n inelastic collisions, is introduced.

When more than one type of inelastic–scattering distribution is of relevance for the considered

problem (e.g., when the inelastic–scattering properties are significantly different in the two topmost

layers of the sample), the above equation can be generalized as follows:

Fn1,n2,n3,...(E) = ZFn1−1,n2,n3,...(E + T)w1(T)dT

=

Z

Fn1,n2−1,n3,...(E + T)w2(T)dT

= ... (5.7)

Where w1(T) is the distribution of energy losses for the first layer, etc. In the present version of

SESSA, it is possible to distinguish between two different inelastic–scattering distributions, w1(T)

and w2(T), by setting the parameter NDIIMFP to two. One inelastic–scattering distribution (w (T))

is set as the default (NDIIMFP=1) (see Section 4.3).

5.2.3 Multiple elastic scattering: the partial intensities.

The partial intensities Cn(Ω⃗

i

, Ω⃗

e) (the number of signal electrons arriving at the detector that have

experienced n inelastic collisions) depend on several experimental parameters such as the flux

of exciting radiation, the spectrometer transmission, etc., as well as on the source depth distribution of the emitting species c0(z) (where c0(z) represents the atomic fraction at a given depth

z), the probability that a transition takes place at a certain depth, the so-called excitation depth

distribution function φx(z, Ω⃗

i

, Ω⃗

x) and the probability for escape after n inelastic collisions, that is

described by the emission depth distribution functions φe,n(z, Ω⃗

x, Ω⃗e):

Cn(Ω⃗

i

, Ω⃗

e) = DAF T Na

Z

∆Ω

Z

4π

Z∞

0

φx(z, Ω⃗

i

, Ω⃗

x)c0(z)φe,n(z, Ω⃗x, Ω⃗e)dzdΩ⃗xdΩ⃗e (5.8)

The subscripts "x" and "e" are used again to denote the excitation and emission processes respectively, and Ω⃗

x and Ω⃗e are the emission direction of the signal electron at the source and the

direction of emission from the surface. Furthermore, D denotes the detector efficiency, T is the

spectrometer transmission, F is the flux of the exciting radiation, Na is the atomic density, and A

is the analyzed area.

The latter is obviously determined by the experimental geometry and, in particular, depends on

whether the area seen by the analyzer exceeds the excitation area on the sample. In this case,

the analysed area is independent of the emission angle, whereas in the opposite case when the

illuminated area is much larger than the area seen by the analyzer, the analyzed area varies with

the polar emission angle as A ∝ 1/ cos θe. The latter situation corresponds to the XPS-mode in

SESSA 62
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

the Geometry menu of SESSA (see Section 4.7), while the former corresponds to the AES mode;

note, however, that the AES mode could be applicable to XPS instruments in which the incident Xrays are focused to a relatively small area. It is also important to recognize that perfect alignment

of the beam of primary radiation and the analyzer is not always achievable in measurements

of angular distributions, in which case geometrical artifacts can arise in the measured angular

distributions. Sometimes, measurements can be made of the relevant calibration factors. These

calibration factors, if known, can be entered for a given geometry in the geometry correction factor

box of the Geometry menu.

The quantity ∆Ω represents the solid angle of the analyzer, over which the emitted spectrum

needs to be integrated. The magnitude of the solid angle is indicated in the geometry menu on

the panel showing the acceptance angle of the spectrometer. The factors D, F and T in front of

the integral in Eq. 5.8 are taken to be unity in the present implementation of SESSA.

A further simplifying assumption made in the simulation is that the excitation depth distribution

function φx(z, Ω⃗

i

, Ω⃗

x) varies only very slowly with the depth. This quantity can then be taken

outside the depth integral and replaced by the production cross section σex(Ω⃗

i

, Ω⃗

x). In an XPS

experiment, this production cross section is equal to the photoelectric cross section σph(Ω⃗

i

, Ω⃗

x).

In AES the production cross section is independent of Ωx and is given by the product of electron

impact ionization cross section σei, the Auger backscattering factor (1 + rA(Ωi)) that accounts for

the additional ionization of the considered subshell through backscattered primary electrons, and

the probability that the core hole is filled via the considered Auger electron transition, indicated

here with ωA: σex = σeiωA(1 + rA(Ωi)).

In the present version of SESSA, the angular dependence of the excitation depth distribution

is also simplified. In the case of AES, the dependence on Ω⃗

i

is assumed to follow Shimizu’s

expression [31], while the emission angular distribution at the source is taken to be isotropic. For

XPS, it is assumed that the direction of incidence at the location of signal-electron generation is

identical to the incident direction of the X-rays on the surface, i.e., deflections of photons in the

solid and at the surface are neglected. Taking into account the above assumptions and collecting

all constant terms into a new constant K, the partial intensities can be written as:

Cn(Ω⃗

i

, Ω⃗

e) = K

Z

∆Ω

Z

4π

Z∞

0

σ

′

ex(Ω⃗

i

, Ω⃗

x)c0(z)φe,n(z, Ω⃗x, Ω⃗e)dzdΩ⃗xdΩ⃗e (5.9)

where σ

′

ex(Ω⃗

i

, Ω⃗

x) represents the normalized angular part of the production cross section.

The emission depth distribution functions φe,n(z, Ω⃗

x, Ω⃗e) represent the probability for signalelectron escape from a given depth after experiencing a given number of inelastic collisions n.

The probability for n-fold scattering, on the other hand, depends on the pathlength travelled inside the solid. Due to elastic scattering, not all electrons travel the same pathlength; rather, the

pathlengths s are distributed according to a function Q(z, s, Ω⃗

x, Ω⃗e). In other words, the depth

distribution function can be expressed in terms of this pathlength distribution function and the

probability for n-fold scattering as a function of the travelled pathlength Wn(s) [26] that is given

by the Poisson distribution when the interaction characteristics are assumed to be independent of

the energy. The latter approach, known as the quasi-elastic approximation [1,2,26,32], is adopted

in SESSA and is valid when the considered energy loss range is small compared to the primary

energy. The emission depth distribution can be written as:

φe,n(z, Ω⃗

x, Ω⃗e) = Z∞

0

Q(z, s, Ω⃗

x, Ω⃗e)Wn(s)ds (5.10)

SESSA 63
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Using this result, Eq. (5.9) can be transformed as follows:

Cn(Ω⃗

i

, Ω⃗

e) = K

Z

∆Ω

Z

4π

Z∞

0

Z∞

0

σ

′

ex(Ω⃗

i

, Ω⃗

x)c0(z)Q(s, z, Ω⃗x, Ω⃗e)Wn(s)dsdΩ⃗xdΩ⃗edz (5.11)

The distribution of pathlengths represents a quantity that is ideally suited for calculation with the

Monte Carlo (MC) technique since in this approach a large set of trajectories is simulated. By

making a histogram of the lengths of such a set of trajectories, the pathlength distribution is

immediately obtained. In SESSA, the integral in Eq. (5.11) is therefore calculated by means of the

Monte Carlo (MC) technique. The MC simulation is based on the very efficient trajectory reversal

algorithm [23], which in turn is based on a symmetry property of the Boltzmann kinetic equation,

the so-called reciprocity theorem (see e.g. Ref. [33]).

This theorem states that, for a quasi-elastic trajectory, the source point and the terminal point of

a trajectory are equivalent. In other words, instead of simulating a trajectory from its source point

through the solid and hoping that this electron is emitted from the surface with the correct direction

to be detected by the analyzer (which, depending on the magnitude of the acceptance solid angle

of the analyzer, is not likely to be the case for the overwhelming majority of all trajectories), one

can also start the simulation at the analyzer and trace back the path of the electron inside the

solid. In this way a significant increase in the efficiency of a MC calculation is obtained that makes

it possible to perform simulations of this kind on a personal computer.

The generation of trajectories proceeds in the usual way by means of the Monte Carlo technique. More details can be found in Ref. [1]. It is only noted here that the user has a choice

among three different types of elastic-scattering cross sections in the simulation:

1. The “Mott” cross section for elastic scattering derived from the relativistic plane-wave expansion method. This choice is believed to give the most reliable results [34], and is reccomended for most applications.

2. The isotropic transport cross section. This choice (made by checking the Transport box in

the Model menu of Fig. 4.17) allows a faster simulation of the trajectories and gives excellent

results when the conditions of the so-called generalized radiative field principle are met [25].

The use of the transport cross section corresponds to making the transport approximation

that is often used in the analytic treatment of such problems [1]. The transport cross section is one of a few types of cross section for which the transport equation can be solved

analytically.

3. A forward–peaked delta-function-shaped “cross section” representing the rectilinear motion

model or straight–line approximation (SLA). This choice (made by checking the Straight Line

box in the Model menu of Fig. 4.19) allows a user to study the magnitude of elastic-scattering

effects in a given application (i.e., by comparing results from this choice with results of a

similar simulation made using the Mott cross section).

In SESSA, the efficiency of the trajectory-reversal algorithm is further enhanced by directly

calculating the partial intensities, rather than first calculating the pathlength distribution and then

integrating this distribution. Furthermore, the method of statistical weights is used to account for

the angular and depth dependences of the source function. To appreciate the former statement,

note that the integrals in Eq. (5.10) and Eq. (5.11) can be calculated immediately along each trajectory, instead of first making a histogram and then later performing the integrations. The integral

SESSA 64
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Eq. (5.11) can thus be solved by directly summing up the contributions to the partial intensities

(∆Cn)k corresponding to the k–th linear step between two deflections in the MC algorithm as

follows:

(∆Cn)k(Ω⃗

i

, Ω⃗

e) = K

skZ+∆sk

sk

Wn(s)σ

′

ex(Ω⃗

i

, Ω⃗

x,k)c0(z(s))ds (5.12)

Here sk is the pathlength travelled in the solid before the k-th step and ∆sk is the length of the k-th

step. The second and third factor in the integral account for the angular and depth dependence

of the source function. Assigning the appropriate weight factors for the source distribution in this

way in an MC algorithm is known as the method of statistical weights. The integral in Eq. (5.12)

can be evaluated analytically, leading to an additional enhancement of computational speed.

After a sufficiently large set of trajectories has been established in this way, the partial intensities

are finally obtained as:

Cn(Ω⃗

i

, Ω⃗

e) = 1

Ntraj

N

X

traj

j=0

X

Nk

k=0

(∆Cn)k,j (Ω⃗

i

, Ω⃗

e) (5.13)

The number of steps per trajectory, Nk, is determined by the termination criterion. When the total

pathlength of a trajectory exceeds a pathlength given by the IMFP and the considered order of

partial intensities nmax :

s > 2 × λi × (nmax + 5), (5.14)

the trajectory is terminated. The total number of trajectories, Ntraj , is determined by the convergence criterion. If the fractional change of the sum of all considered partial intensities is below the

convergence factor, generation of trajectories is terminated. The sum of all partial intensities is of

course identical to the total spectral intensity of a peak (i.e., the area of the peak and the inelastic

background). Note that for, e.g., a thin layer on top of a substrate, the partial intensities decrease

rapidly with the order of inelastic scattering. Then, on a logarithmic display, the dependence of the

simulated partial intensities on the number of inelastic collisions may exhibit oscillations. These

are caused by the fact that the higher-order partial intensities only contribute negligibly to the

total spectral intensity and such oscillations are thus an artifact of the convergence of the simulation. As an alternative means to control the convergence behavior of the algorithm, the user may

directly specify the number of trajectories in the simulation menu.

A further aspect of the simulation that deserves to be mentioned here is the fact that the

vacuum-solid interface is generally assumed to be atomically flat in SESSA. The only other surface morphology, apart from this idealized concept of an atomically flat surface, is a rough surface.

The surface roughness can be specified by a user in SESSA by setting the value of the relative

surface area (RSA, see Section 4.4). The relative surface area is a measure of the surface roughness in terms of the ratio of the real surface area divided by the projected surface area, i.e., the

area of the idealized flat surface.

5.2.4 Modeling surface excitations in electron spectra

A simple model for surface excitations induced by Auger or photoelectrons escaping from semiinfinite solids with planar surfaces and energy losses suffered as a consequence has been implemented in SESSA [35,36]. Surface excitations are additional modes of the inelastic scattering

process in the bulk of a material and are a consequence of the boundary conditions of Maxwell’s

equations near an interface between media with a different dielectric constant, in the present case

the sample and vacuum. The starting point of this model is the observation that the depth range

SESSA 65
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 5.1: Simulation results for the Al-Kα excited Al2p photoelectron peak taking into account

surface excitations using the database "SEP03" for different photoelectron emission

angles θ0 with respect to the surface normal. Red arrows indicate surface plasmons,

blue arrows indicate bulk plasmons, and green arrows indicate combination bulk and

surface plasmons (see text).

where surface excitations take place is very shallow inside the solid, while surface excitations

also take place in vacuum when the probing electron still interacts with the solid state electrons.

When the pathlength of escaping electrons inside the surface scattering zone is sufficiently small

compared to the characteristic mean free path for deflections, the passage through the surface

scattering zone is approximately rectilinear, and the partial intensities for bulk and surface scattering are uncorrelated [29,35,37]:

Cnb,ns = Cnb × Cns(5.15)

where nb and ns are the collision numbers for bulk and surface scattering, respectively. Rectilinear passage also implies that the probability for plural surface scattering is governed by the

Poisson stochastic process:

Cns(E, θ) = ⟨ns(E, θ)⟩

ns

ns!

e

−⟨ns(E, θ)⟩

, (5.16)

where ⟨ns(E, θ)⟩ is the average number of surface excitations during a single surface crossing

with energy E and angle θ (with respect to the surface normal). Different physical models have

SESSA 66
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Name Eqn. SEP(aDB) #SE for Al2p Ref.

SEP01 (5.17) Empirical 0.121 [36]

SEP02 (5.18) Empirical 0.243 [40]

SEP03 (5.17) 0.039 ̄hωp + 0.4 0.175 [36]

SEP04 (5.18) p32a0e

2/π2 0.345 [41]

SEP05 (5.17) p8a0/π2e

2 0.173 [38]

Table 5.1: Survey of databases for the surface excitation parameter (SEP) and employed equation

used in conjunction to calculate the average number of surface excitations. The quantity

hω ̄ p in the universal guideline to calculate the SEP in Ref. [36] is the plasmon energy,

which is calculated in SESSA from the density of the material, a0 is the Bohr radius and

e the elementary charge. Note that for user-defined values of the SEP, Eqn. 5.17 is

always used to calculate the surface partial intensities. The column headed #SE Al2p

shows the average number of surface excitations retrieved from the corresponding SEP

databases for the spectra shown in Fig. 5.1. In that particular example, the database

"SEP01" was selected.

been proposed in the literature for the average number of surface excitations, qualitatively expressing the fact that ⟨ns(E, θ)⟩ should roughly be proportional to the time the electron spends in

the surface scattering zone. The result by Oswald [38], based on the work by Stern and Ferrell

[39] is given as:

⟨ns(E, θ)⟩ =

1

aDB

√

E cos θ + 1

(5.17)

The alternative mathematical form for ⟨ns(E, θ)⟩ is [40,41]:

⟨ns(E, θ)⟩ =

1

aDB

√

E cos θ

(5.18)

Note that the material parameter aDB in Eqn. 5.18 is generally defined differently in the literature.

Here the reciprocal value is used to ensure consistency with Eqn. 5.17. Following the convention

in the literature [36], the quantity aDB will be refered to as "surface excitation parameter" (SEP) in

the following. Databases for the SEP have been implemented in SESSA, from which the average

number of surface excitations is calculated as indicated in table 5.1, see also section 4.

In analogy to the case of bulk excitations (see Eqn.5.5) the distribution of energy losses in a

single surface excitation, ws(T) (which will be denoted as differential surface excitation parameter,

DSEP, in the following) is introduced. To account for the passage through the surface scattering

zone, the spectrum in the partial intensity approach is given by:

Y (E, Ω) = ⃗ X

ns=0

Cns(E, θ)

Z∞

0

YBulk(E + T, Ω)Lns(T)dT, (5.19)

where YBulk(E, Ω) is the bulk spectrum, given by Eqn.5.4 and the partial loss distributions for

surface excitations Lns(T) are calculated from a self-convolution of ws(T) in analogy to the bulk

values (Eqn. 5.6).

An example of application of the above algorithm to account for surface excitation for electrons

escaping from flat planar surfaces is shown in Fig. 5.1. The result shows the simulated Al-Kα

excited XPS spectrum of the Al 2p-photoelectron peak for several different emission angles using

the database SEP03. A comparison of values for the average number of surface excitations in a

single surface crossing (NSE) is given in table 5.2 for the different databases.

SESSA 67
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

θ(

◦

) SEP01 SEP02 SEP03 SEP04 SEP05

0 0.18 0.11 0.13 0.08 0.13

60 0.31 0.22 0.23 0.15 0.24

80 0.56 0.63 0.47 0.44 0.47

Table 5.2: Comparison of the values of the average number of surface excitations for the different

databases available in SESSA for the Al2p peak (see Fig. 5.1).

It is seen that in addition to the bulk plasmon replicas of the main photoelectron peak (blue

arrows), surface plasmon replicas also appear, although only the first two are appreciable in size

(those at energies of ≈ 1403 eV and 1392 eV , first two red arrows left of main peak), since higher

order surface partial intensities decrease rapidly by virtue of the Poisson stochastic process when

⟨ns(E, θ)⟩ < 1 (see Eqn. 5.16). The bulk plasmons themselves are also replicated by the surface

plasmons as indicated by the green arrows, reflecting the fact that the partial intensities Cnb,ns=1

always assume appreciable values, while for ns ≥ 2 surface excitations are practically negligible.

It is emphasized that the above algorithm has been shown to realistically describe surface excitations for semi-infinite planar surfaces [29, 35, 37], giving rise to energy losses in the UV-regime

of energies. However, it is well known that nanostructured surfaces may lead to characteristic

surface losses, their spectral form depending on the exact nanomorphology [42] which typically

appear in the visible range of energy losses. The above model, which is incorporated in SESSA,

may then not appropriately describe the resulting experimental spectra. For this reason the simulation of surface excitations can be deactivated by the command 'MODEL SET SE false'.4.9

5.2.5 Spectrum modeling beyond the quasi-elastic approximation

The main interest in simulating XPS data is usually concerned either with peak intensities for

the purpose of quantitation of experimental spectra, or the inelastic background in the vicinity

of a peak. This is the reason why in the literature the quasi-elastic approximation is commonly

invoked (see Eqn. 5.2), which yields the exact result for the zero-loss peak, often referred to as

elastic peak or simply photoelectron "peak". If a significant energy loss range is of interest, as

for example for inelastic background analysis to obtain information about the sample morphology,

the quasi-elastic approximation may become invalid and it would be desirable to account for the

energy dependence of the interaction characteristics in the simulation in some way. In principle,

this can be achieved by employing the so-called direct simulation approach in a Monte Carlo

simulation [44]. However, this comes at the cost of increased complexity and a severe decrease

in computational efficiency and, moreover, it is strictly not possible to combine a direct simulation

approach with the trajectory reversal algorithm since the latter is based on Case’s reciprocity

theorem [33] for one speed transport.

In his Masters thesis, Hronek proposed a simple and effective workaround, which has become

known as the Hronek approximation [43]. He observed that the partial intensity approach is conceptually similar to the multi-speed approximation employed in numerical solution of the transport

equation in neutron physics [45], in which the particle flux is divided into groups within a certain

speed interval. In a statistical sense, the n-th order partial intensities correspond to the group

of particles within a certain speed range. Since their intensity is governed by the Poisson distribution after n collisions (see Eqn. 5.10) and, therefore, by the inelastic mean free path after

n inelastic collisions, a simple, yet effective, way to account for the energy dependence of the

interaction characteristics is to multiply the peak spectrum YQEA(E) by the energy dependence of

SESSA 68
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 5.2: Comparison of a simulated Al-Kα excited XPS spectrum of Au in the quasi-elastic

approximation (QEA) (red curve) and using the so-called Hronek-approximation [43] or

QEA-plus approximation (blue curve), which accounts for the change in the interaction

characteristics with the energy of a photoelectron as it escapes from the surface in an

approximate way (see text)

the inelastic mean free path:

YQEA+ (E) = YQEA(E) ×

λ(E)

λ(E0)

, (5.20)

where E0 is the energy of the photoelectron peak.

One of the underlying implications of this type of approximation is that the energy dependence

of the elastic interaction is negligible. For sufficiently smooth initial angular distributions at the

source, where the photoionisation takes place, the so-called generalized radiative field similarity principle [25] states that the details of the elastic cross section do not essentially affect the

pathlength distribution and hence the partial intensities will mainly change due to the energy dependende of the inelastic mean free path, which is accounted for by the approximate equation

5.20. Indeed the distribution of pathlengths for Auger- or photoelectrons is not significantly affected by the energy dependence of the elastic scattering cross section. This makes the QEA+-

approximation an effective approach in true slowing down problems even for a sharply peaked

initial angular distribution, such as for reflection of a focussed beam of electrons from a surface

[26].

A comparison between the QEA (red curve) and QEA+ (blue curve) approximation is shown

in Fig. 5.2. It is seen that the quasi-elastic approximation is excellent for energy losses ∆E less

than about 10% of the initial energy and the effect of the change in the interaction characteristics

SESSA 69
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

becomes noticeable only if a very broad energy region of the spectrum is considered.

5.3 Modeling of nanostructured surfaces in SESSA

There are generally three aspects of the photoelectron (or Auger-electron) emission process that

can be affected by the nanomorphology of a surface:

1. The photoionization process itself may be different from that for an ideal flat surface. The

intrinsic peak shape, i.e., the energy distribution of the photoelectrons directly after photoionization, could be modified due to possible differences in the screening response in the

local region compared to a semi-infinite surface.

2. The inelastic-scattering processes near the surface may exhibit additional modes related to

the morphology and composition of a nanostructured surface [42].

3. The distribution of pathlengths of specific photoelectrons created in a material A that travel

in another material, say B, depends on the geometric boundaries of the considered morphology. As a consequence, the relative peak intensities (and the shape of the inelastic

background) will be influenced by inelastic scattering along the trajectory and can also be

affected by the morphology and composition of the nanostructure.

Some evidence for the existence of nano–structure–induced changes in the photoelectron peak

shape exists, but is not included in the present version of the software. It should be noted that,

even for planar surfaces, the intrinsic peak shapes used for spectrum modeling are not generally realistic; they are assumed to be a single Lorentzian with a width of 0.7 eV by default.

However, more realistic peak shapes can be imported using empirical data from a text file (see

Section 4.4.7). This strategy should work equally well in simulations for nanostructured surfaces.

The additional modes of inelastic-scattering processes near nanostructured surfaces are obviously of paramount importance for the optical properties of nanostructures and their study has become an important subfield of nanophotonics and plasmonics [42]. Such modes can most easily

be studied by electron energy-loss spectroscopy (EELS) in the transmission electron microscope

(TEM) and can be observed in EELS spectra as clearly distinguishable features extending from

the near infrared to the near ultraviolet regime of wavelengths.

However, on the scale of loss features important for understanding the attenuation of photoelectrons, these effects are believed to be of minor importance and are in fact expected to be

nearly impossible to detect in typical XPS spectra. The reason is that the overwhelming majority

of processes attenuating the outgoing photoelectrons (and thereby affecting the relative intensities, extrinsic peak shapes, etc.) take place inside the solid, since the surface scattering zone,

where additional modes due to the nanomorphology come into play, is at least about an order

of magnitude smaller than the relevant mean free paths for inelastic scattering inside the solid.

As a result, the most effective experimental means for studying such effects in the TEM is to

use an aloof scattering geometry in which the beam does not actually penetrate the specimen;

alternatively, a supporting substrate that is (almost) completely transparent to the beam (such as

mica) can be used. With these techniques, inelastic scattering inside the solid can be minimized

and the spectral features of interest can be observed. For simulation of nanostructured surfaces

with SESSA, one has just the opposite situation since the signal always originates from within the

surface, making the phenomena addressed above difficult to distinguish in experimental spectra. On the other hand, theoretically explaining such spectral features is very difficult in general:

SESSA 70
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

one either has to resort to semi-classical theories or to full quantum-mechanical treatment of the

many-body problem involving the nearly free solid-state electrons [46,47]. This type of analysis is

obviously beyond the scope of general-purpose software such as SESSA. Moreover, since these

effects are expected to be weak in photoelectron spectra, they are not incorporated in the present

version of SESSA.

The spatial distribution of matter (i.e., the three-dimensional geometric distribution of matter

inside a sample) near a nanostructured surface is known to have a major effect on features of the

energy and angular distributions of emitted photoelectrons [19, 48, 49]. This result is not surprising since typical dimensions of nanostructures are of the same order as the inelastic mean free

paths of the detected photoelectrons in typical XPS experiments. It is therefore to be expected

that details of the morphology should have a strong effect on the attenuation of photoelectrons in

a spectrum and therefore on the relative photoelectron intensities, angular distributions, and inelastic backgrounds. In fact, the influence of morphology on spectra is sometimes so pronounced

that significant information on the nanomorphology of a surface can be derived from XPS spectra.

The effects of nanostructure morphology is taken into account in the present version of SESSA by

keeping track of the pathlengths of electron trajectories within each of the regions of the sample

that form the boundary of the nanostructure. With this information, the partial intensities of the

relevant peaks in the spectrum are calculated according to the formalism outlined in Section 5.2.3.

In the present implementation of SESSA, the nanomorphology of the surface is defined and

traced using the PENGEOM code system [50]1. When a user starts a simulation, the information concerning the nanomorphology of the surface entered in the SESSA expert system (either

using the GUI or the CLI), is written to an internal file, following the syntax prescribed by the

PENGEOM package. This is then used to initialize a PENGEOM data structure which is used

during the simulation to check in which material the electron is located, whether it has crossed a

boundary between two adjacent regions consisting of different materials, and to locate the point

of intersection. If an intersection took place, the position of the electron is updated to the location

of intersection and simulation of the trajectory is continued from there in the usual manner.

5.4 Current limitations of databases and simulation

It was shown in the previous section that three quantities need be known for a realistic simulation

of the energy and angular distributions: (1.) the partial intensities; (2.) the source energy, angular

and depth distributions; and (3.) the differential inelastic inverse mean free path (see Eqns. (5.4)

and (5.6). The additional parameters needed for a simulation of the partial intensities are: the total

inelastic mean free path, the differential elastic-scattering cross section, the total elastic-scattering

cross section (or, alternatively the transport cross section if the transport approximation is used),

the photoionization cross section, the photoionization asymmetry parameter, the electron–impact

ionization cross section, the fluorescence yield and the Auger-electron backscattering factors. For

all of these quantities, SESSA contains reasonably reliable data in its databases, while the simulation algorithm for the partial intensities, described above, has also proven to be satisfactory.

Comparisons of peak intensities with experimental results exhibit a quite close agreement (see

Section 7.1.1-7.1.5). This situation is generally the case for the intensity of those electrons that

escape without being inelastically scattered. It should be emphasized again that the area of the

no-loss peak is identical to the zero-order partial intensity, while the higher-order partial intensities

1The authours would like to thank Prof. Salvat-Galvada (University of Barcelona) for his kind permission to use the

PENELOPE code in SESSA

SESSA 71
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

describe the spectral intensity in the inelastic background.

For the distribution of energy losses in an inelastic process (i.e., the DIIMFP), there exist a

limited number of materials for which optical data are available that allow a detailed calculation of

this quantity. For all other materials, Tougaard’s universal cross section [18] is used as a backup

data source that gives a reasonable estimate of the overall shape of the loss distribution, but does

not describe the fine details of the inelastic excitation probability of a solid. Furthermore, surface

and intrinsic excitations [1,2] are entirely neglected in the present version of SESSA.

The main limitation in the simulation of the spectral shape (as opposed to spectral intensity) is

the fact that the shape of the energy distribution for inelastic scattering in solids is generally quite

complex and a comprehensive database for this quantity, that must be based on empirical data,

is presently not available within SESSA, nor, for that matter, anywhere else in convenient form.

Presently, the lineshape of an XPS peak is approximated. After looking up the specified binding

energy in a database for elemental binding energies (containing accepted values for binding energies), a default lineshape is chosen for each peak. This default lineshape is a Lorentzian with a

full width at half-maximum (FWHM) of 1.4 eV. For AES, the situation is much more complex, since

AES peaks can be very broad and consist of many subpeaks.

At present, lineshape information for a limited number of Auger peaks is available in the AEL

database in SESSA. The only stored data for these peaks are the kinetic energy of the transition,

the subshell where the initial ionization took place, and an empirical sensitivity factor. The latter

is needed since extensive knowledge of the probability for emission of the considered Auger

electrons requires knowledge not only of the relevant fluorescence yields but also of applicable

Coster-Kronig transition probabilities. Sufficient data for Coster-Kronig probabilities of the needed

reliability are not now available. An empirical sensitivity factor is therefore used to estimate the

peak intensity of an Auger transition. The lineshape is again chosen by default to be a Lorentzian

with a FWHM of 6.0 eV. The default choice of a Lorentzian lineshape is reasonable in many cases

for XPS but is hardly ever a realistic choice for an Auger transition.

These considerations indicate that a user interested in directly comparing experimental lineshapes with results of a SESSA simulation should provide information about the source energy

distribution in the ’SAMPLE/PEAK’ menu of Fig. 4.12. An example further clarifying this problem

is given as a tutorial in Section 7.2.2.

Summarizing, the main limitations of the simulation algorithm are that intrinsic excitations are

neglected and that the excitation depth distribution function is assumed to be constant inside the

specimen. Furthermore, the assumption of an atomically flat surface restricts the applicability of

SESSA to practical cases where the surface morphology is not expected to influence the spectral

intensities. As far as the databases are concerned, the most important lack of data concerns the

empirical peak shapes of photoelectron and Auger-electron transitions and comprehensive data

on the Coster-Kronig transition probabilities.

SESSA 72
6 Physical Data in SESSA

A large amount of data is needed to quantitatively interpret an Auger-electron or photoelectron

spectrum quantitatively. The required data include basic physical information on the solid in question (density, atomic number of the constituent atoms, etc.), information on the process of creating

the signal electrons (photoelectric effect and Auger-electron emission) as well as on the various

parameters governing the interaction of the signal electrons with the solid on their way out of the

specimen. The number of required physical parameters can therefore be large for a particular

situation. The SESSA databases provide an extensive and fully traceable dataset for these parameters. The energy range for which data are available extends from 50 eV up to 20 keV.

An extensive dataset for all relevant physical parameters is a strict prerequisite for proper operation of the expert system. On the other hand, it is obvious that not all physical parameters are

available for all materials with the same accuracy or, for that matter, are available at all for any

arbitrary material. This situation implies that in cases where there are gaps in the data sets, these

must be complemented by some credible estimate for the quantity in question. This in turn means

that it is generally impossible to make an overall statement on the reliability of the data retrieved by

SESSA. It is therefore essential for the data to be fully traceable. Every individual datum retrieved

by SESSA is accompanied by a full reference to the literature and in many cases also contains a

statement concerning its reliability. The easiest way for the user to assess the overall quality of

the retrieved data is to copy these data to disk and to perform an output of these data. Two of

the files produced in this way (filenames ending with refs.txt and rems.txt) contain a list with

statements on the reliability of the retrieved data (see Section 3.4).

The physical quantities for a particular spectrum generally depend on a number of parameters

(material, atomic number, energy, etc.). The range of these parameters for which each quantity is

available is determined by the selected choice for the data source. For example, the DIIMFP from

optical data can only be provided by Penn’s algorithm [51] (which is generally regarded as providing the most reliable results for this quantity) for those materials for which energy–loss functions

are available in the literature. However, the backup source in this parameter, Tougaard’s empirical DIIMFP [18], provides a universal approximate description for the energy–loss probability in a

single inelastic collision. The primary and backup sources for this quantity together are generally

extensive in that they cover the entire range of parameters of relevance for electron spectroscopy.

This strategy is generally also followed for other parameters: For each quantity for which the

primary (most reliable) source does not completely cover the relevant range, the backup source

(usually an approximate empirical expression) is extensive, or vice versa.

73
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

6.1 Databases used in SESSA

The quantities available in the SESSA databases as well as their sources are indicated in the

following list.

1. Elemental data. (Chemical symbol, chemical name, elemental density (if available), number

of valence electrons, atomic weight, atomic electronic configuration, etc.) Source: Refs.

[52,53]

• Keys: Atomic number.

• Range: Atomic Number 1-94.

2. Differential inverse inelastic mean free path (DIIMFP).

a) Source: Calculated [54] using linear response theory with the algorithm developed by

Penn [51] and using optical data in Refs. [55–57] 1.

• Keys: Material, Energy (eV), Energy Loss(eV).

• Range: Material: restricted by availability in source; Energy: 50 eV-30 keV.

b) Source: Universal curve proposed by Tougaard [18].

• Keys: Energy Loss (eV).

• Range: Universal.

3. Total inelastic mean free path (IMFP).

a) Source: Empirical expression (JTP) [3].

• Keys: Material, Energy (eV).

• Range: Material: Universal; Energy: 50 eV–200 keV.

The IMFP from the JTP equation is calculated using the parameters in the Sample

Layer menu, in particular the number of valence electrons, the density, the number of

atoms per molecule, the band gap (see Fig. 4.5-4.10) and the atomic masses of the

constituents. The latter item is not displayed in the Sample Layer GUI but this and the

former two items are retrieved from internal SESSA databases. However, there is no

database in SESSA for the band gap and it is necessary for a user to manually enter

a reasonable estimate of the band gap energy for non-conductors in order to get a

useful value for the IMFP value in question. Otherwise, the default value (Egap = 0 eV)

is used, which may lead to deviations from realistic IMFP values of up to about 25%.

While bandgap energies are available for many compounds [58–63], evaluations of the

earlier TPP-2M formula showed only a weak dependence on the bandgap [63]. That

is, only rough estimates of the bandgap are needed if specific data for the material of

interest are not available. For example, the bandgap is generally between 6 eV and

11 eV for highly ionic compounds such as the alkali halides and is often between 1 eV

and 9 eV for oxides.

b) Source: IMFP values for 41 elemental solids, 44 inorganic compounds, 14 organic

compounds and liquid water calculated by Shinotsuka, Tanuma, Powell, and Penn [4,

64,65] and Jabłonski, Tanuma and Powell [3] using optical data.

1The authors would like to thank Dr. S. Tanuma (National Institute for Materials Science, Tsukuba, Japan) for

providing his set of optical loss functions for use in SESSA.

SESSA 74
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 6.1: (a) Detail of the Sample/Parameters menu in the GUI highlighting the popup-menu

after a right mouse click in the box containing the IMFP value. After selecting the

IMFP02 database, a third option, "select material" appears, which can be used to

conveniently select any of the materials available in the IMFP02-database. Note that

user selection of this database is indicated by the check-mark in front of "IMFP02 -

STPP values..", the asterisk indicates that the requested datum for the IMFP could

indeed be sucesfully retrieved. (b) Illustration of the right-click pop-up menu to select

the material for the IMFP calculation with the database IMFP02. In the particular

example on display, the material being selected is liquid water. After a repeated popup

is prompted by a user this material will be indicated be a check mark in front of the

identifier.

SESSA 75
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

/Li/ /Be/ /C/

/C[diamond]/ /C[glassy]/ /Na/

/Mg/ /Al/ /Si/

/K/ /Sc/ /Ti/

/V/ /Cr/ /Fe/

/Co/ /Ni/ /Cu/

/Ge/ /Y/ /Nb/

/Mo/ /Ru/ /Rh/

/Pd/ /Ag/ /In/

/Sn/ /Cs/ /Gd/

/Tb/ /Dy/ /Hf/

/Ta/ /W/ /Re/

/Os/ /Ir/ /Pt/

/Au/ /Bi/ /Ag/Br/

/Ag/Cl/ /Ag/I/ /Al2/O3/

/Al/As/ /Al/N/ /Al/Sb/

/B[cubic]/N/ /B/N/ /Cd/S/

/Cd/Se/ /Cd/Te/ /Ga/As/

/Ga/N/ /Ga/P/ /Ga/Sb/

/Ga/Se/ /In/As/ /In/P/

/In/Sb/ /K/Br/ /K/Cl/

/Mg/F2/ /Mg/O/ /Na/Cl/

/Nb/C0.712/ /Nb/C0.844/ /Nb/C0.93/

/Pb/S/ /Pb/Se/ /Pb/Te/

/Si/C/ /Si/O2/ /Sn/Te/

/Ti/C0.7/ /Ti/C0.95/ /V/C0.76/

/V/C0.86/ /Y3/Al5/O12/ /Zn/S/

/Zn/Se/ /Zn/Te/ /Li/F/

/Si3/N4/ /C26/H54[26-n-paraffin]/ /C5/H5/N5[Adenine]/

/C40/H56[beta-Carotene]/ /C18/H16[Diphenyl-hexatriene]/ /C5/H5/N5O[Guanine]/

/C22/H10/N2/O5[Kapton]/ /C4/H8/S/O2[Poly(butene-1-sulfone)]/ /C2/H2[Polyacetylene]/

/C2/H4[Polyethylene]/ /C5/H8/O2[Polymethylmethacrylate]/ /C8/H8[Polystyrene]/

/C7/H7/N[Poly(2-vinylpyridine)]/ /C5/N2/H6/O2[Thymine]/ /C4/N2/H4/O2[Uracil]/

/H2/O[Water]/

Table 6.1: List of identifiers to specify materials in the IMFP02 database

• Keys: Material ID, Energy (eV).

• Range: Material: Selected materials for which optical data are available; Energy:

50 eV–200 keV.

It should be noted that the IMFP values in this database were calculated not only for

simple materials such as mono-elemental metals, but also for compounds, for example,

and most importantly for near ambient pressure XPS, liquid water [65]. In order to retrieve the data specifically for such a compound, the material specifier must be entered

in the material box in the sample menu to the letter corresponding to the symbol in the

database (see Table 6.1). In addition, the default database for the IMFP should be set

to "IMFP02" (see section 4.8).

Alternatively, the right click pop-up menu in the parameter menu displaying the IMFP

as indicated in Fig. 6.1 may be utilized. It is important to note that this will change the

database for retrieval of the IMFP value only for the considered peak and layer, neither

the material of the layer in question will be changed (as verifiable by inspecting the

sample/layer menu, see Fig. 4.5ff.), nor will the database for the IMFP values for any

SESSA 76
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

of the other peaks be changed. The above is one example of a a number of possible

pitfalls associated with the selection of some of the more special materials in Table 6.1,

such as a simple typo in the identifier. This makes it imperative for a user to verify that

the IMFP value used is indeed retrieved from the desired database. This is achieved

by a right mouseclick in the box containing the value of the IMFP and verifying that the

correct database is indeed used for the IMFP retrieval. As explained in section 3.1, the

database from which any given datum is retrieved in SESSA is indicated by an asterisk

in front of the database name upon a right mouse click in the box containing the datum

in question, as illustrated in Fig. 6.1.

c) Source: Empirical expression (S1) of Seah [66].

• Keys: Material ID, Energy (eV).

• Range: Material: Universal ; Energy: 50 eV–30 keV.

The IMFP according to the S1-equation is calculated on the basis of the parameters

in the sample menu. The same remark as in paragraph 3a applies to the value of the

band gap, which must be entered by a user in the case of non-conducting materials.

4. Surface excitation parameter (SEP).

a) Source: Empirical values from Ref. [36] to be used in conjunction with Eqn. (5.17)

• Keys: Material ID, Energy (eV), Surface crossing angle

• Range: Material: Selected materials in Ref. [36]; Energy: universal; Angle: universal

b) Source: Values calculated from available optical constants as described in Ref. [40] to

be used in conjunction with Eqn. (5.18)

• Keys: Material ID, Energy (eV), Surface crossing angle

• Range: Material: Selected materials for which optical data are available; Energy:

universal; Angle: universal

c) Source: Values calculated from empirical formula in Ref. [36] to be used in conjunction

with Eqn. (5.17)

• Keys: Material ID, Energy (eV), Surface crossing angle

• Range: Material: universal ; Energy: universal; Angle: universal

d) Source: Values calculated from theoretical formula in Ref. [41] to be used in conjunction

with Eqn. (5.18)

• Keys: Material ID, Energy (eV), Surface crossing angle

• Range: Material: universal ; Energy: universal; Angle: universal

e) Source: Values calculated from theoretical formula in Ref. [38] to be used in conjunction

with Eqn. (5.17)

• Keys: Material ID, Energy (eV), Surface crossing angle

• Range: Material: universal ; Energy: universal; Angle: universal

5. Differential surface excitation parameter (DSEP).

a) Source: Values calculated from available optical constants as described in Ref. [40].)

• Keys: Material ID, Energy (eV), Surface crossing angle

SESSA 77
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• Range: Material: Selected materials for which optical data are available; Energy:

universal; Angle: universal

b) Source: Values calculated from available optical constants as described in Ref. [36].)

• Keys: Material ID, Energy (eV), Surface crossing angle

• Range: Material: Selected materials for which optical data are available; Energy:

universal; Angle: universal

6. Differential elastic scattering cross section (ECS).

a) Source: Values computed by the program of Yates [67] using the relativistic partialwave expansion method based on atomic Thomas-Fermi-Dirac (TFD) potentials [68].

• Keys: Atomic Number, Energy (eV).

• Range: Atomic number: 1-99; Energy: 50 eV–20 keV.

b) Source: NIST SRD 64, V 3.1, Electron elastic–scattering cross-section database. Values computed using the relativistic partial wave expansion method based on atomic

Dirac-Hartree-Fock (DHF) potentials [34, 69] as used for the NIST Electron Elastic–

Scattering Cross-Section Database (SRD 64) [70]. The cross sections obtained from

DHF potentials are believed to be more reliable than those obtained from TFD potentials[34]. 2

• Keys: Atomic Number, Energy (eV).

• Range: Atomic number: 1-92; Energy: 50 eV–20 keV.

7. Total elastic scattering cross section (TECS).

a) Source: Values computed by the program of Yates [67] using the relativistic partialwave expansion method based on atomic Thomas-Fermi-Dirac potentials [68].

• Keys: Atomic Number, Energy (eV).

• Range: Atomic number: 1-99; Energy: 50 eV–20 keV.

b) Source: NIST SRD 64, V 3.1, Electron elastic-scattering cross-section database. Values computed using the relativistic partial wave expansion method based on atomic

Dirac-Hartree-Fock (DHF) potentials [34, 69] as used for the NIST Electron ElasticScattering Cross-Section Database (SRD 64) [70]. The cross sections obtained from

DHF potentials are believed to be more reliable than those obtained from TFD potentials [34].3

.

• Keys: Atomic Number, Energy (eV).

• Range: Atomic number: 1-92; Energy: 50 eV–20 keV.

8. Transport scattering cross section (TRECS) that is used to determine transport mean free

paths (TRMFPs) for simulations using the transport approximation.

a) Source: Values computed by the program of Yates [67] using the relativistic partialwave expansion method based on atomic Thomas–Fermi–Dirac potentials [68].

2The authors would like to thank Prof. A. Jablonski (Institute of Physical Chemistry, Polish Academy of Sciences,

Warsaw, Poland) for providing calculated differential elastic-scattering cross sections, total elastic-scattering cross

sections, and transport scattering cross sections for use in SESSA.

3The authors would like to thank Dr. S. Tanuma (National Institute for Materials Science, Tsukuba, Japan) for

providing his set of optical loss functions for use in SESSA.

SESSA 78
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• Keys: Atomic Number, Energy (eV).

• Range: Atomic number: 1-99; Energy: 50 eV–20 keV.

b) Source: NIST SRD 64, V 3.1, Electron elastic-scattering cross-section database. Values computed using the relativistic partial wave expansion method based on atomic

Dirac-Hartree-Fock (DHF) potentials [34, 69] as used for the NIST Electron Elastic–

Scattering Cross–Section Database (SRD 64) [70]. The cross sections obtained from

DHF potentials are believed to be more reliable than those obtained from TFD potentials [70].4

.

• Keys: Atomic Number, Energy (eV).

• Range: Atomic number: 1-92; Energy: 50 eV–20 keV.

c) Source: Tilinin’s quasiclassical expression [71].

• Keys: Atomic Number, Energy (eV).

• Range: universal.

9. Photoionization cross section (PCS).

a) Source: Values computed by Scofield for Mg and Al Kα x-rays [72].

• Keys: Atomic Number, Subshell ID, Photon Energy (eV).

• Range: Atomic number: 1-96; Subshells: extensive; Photon Energy: Mg and Al Kα

x-rays.

b) Source: Values computed by the program of Yeh and Lindau [73].

• Keys: Atomic Number, Subshell ID, Photon Energy (eV).

• Range: Atomic number: 1-96; Subshells: extensive; Photon Energy: extending

from just above the ionization threshold energy to 20 keV.

c) Source: Values tabulated by Trzhaskovskaya, Nefedov, and Yarzhemski [20,21] 5.

• Keys: Atomic Number, Subshell ID, Photon Energy (eV).

• Range: Atomic number: 1-99; Subshells: extensive; Photon Energy: extending

from just above the ionization-threshold energy to 5 keV above threshold. For

higher photon energies, linear extrapolations were made to the calculated values.

These extrapolations may introduce an uncertainty of more than 30% in the derived

cross sections for energies more than 5 keV above threshold.

10. Photoelectric asymmetry parameter (PAP).

a) Source: Calculations of Reilman et al. [74] for Mg, Al Kα and Zr Mζ-X-rays.

• Keys: Atomic Number, Subshell ID, Photon Energy (eV).

• Range: Atomic number: 1-96; Subshells: extensive; Photon Energy: Mg and Al Kα

and Zr Mζ.

b) Source: Values computed by the program of Yeh and Lindau [73].

4The authors would like to thank Dr. S. Tanuma (National Institute for Materials Science, Tsukuba, Japan) for

providing his set of optical loss functions for use in SESSA.

5The authors would like to thank the late Prof. V. I. Nefedov (Institute of General and Inorganic Chemistry, Russian

Academy of Sciences, Moscow, Russia) for providing his calculated photoionization cross sections for use in

SESSA.

SESSA 79
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• Keys: Atomic Number, Subshell ID, Photon Energy(eV).

• Range: Atomic number: 1-96; Subshells: extensive; Photon Energy: extending

from just above the ionization threshold energy to 30 keV.

c) Source: Values tabulated by Thrzhaskovskaya, Nefedov, and Yarzhemski [20,21] 6.

• Keys: Atomic Number, Subshell ID, Photon Energy (eV).

• Range: Atomic number: 1-99; Subshells: extensive for atomic numbers ≤54 but

limited to subshells with binding energies less than 2 keV for atomic numbers ≥55;

Photon Energy: extending from just above the ionization-threshold energy to 5 keV

above threshold. For higher photon energies, linear extrapolations were made to

the calculated values. These extrapolations may introduce an uncertainty of more

than 30% in the derived asymmetry parameters for energies more than 5 keV above

threshold.

It should be noted that the database of Trzhaskovskaya, et al. [20, 21] is not extensive for some subshells in atoms with atomic numbers ≥ 55. For example, this

database might not provide a datum for a certain peak in the considered energy

range (as specified by a user through setting the photon energy and the spectrometer energy window). Unfortunately, this database is the only database for nondipolar asymmetry parameters within SESSA, and the authors know of no other

database for these quantities that could avoid this deficiency. There are two possible ways that the expert system could handle such a situation:

(1) the expert system could conclude that the information for the peak in question

is not complete and therefore decides to delete this peak altogether; or

(2) the simulation is performed with neglect of the non-dipolar contribution to the

photoelectric cross section. The former alternative is believed to be undesirably

restrictive since it does not seem reasonable to delete a peak due to a lack of

non-dipolar asymmetry parameters. It would be particularly undesirable to delete

a peak arising from common laboratory x–ray sources (such as Al Kα or Mg Kα)

for which the non-dipolar terms are generally small enough for these effects to be

neglected. Therefore, the second alternative was adopted in the present version

of SESSA, i.e,. the non–dipolar terms are set to zero. Note that no corresponding

warning is issued if this occurs.

11. Electron impact ionization cross section (EIICS).

a) Source: Empirical expression of Casnati et al. [75].

• Keys: Atomic Number, Subshell, Electron Energy (eV).

• Range: Universal.

b) Source: Semiclassical expression of Gryzinski [76].

• Keys: Atomic Number, Subshell, Electron Energy (eV).

• Range: Universal.

c) Source: Empirical expressions and parameter values of Bote et al. [77].

• Keys: Atomic Number, Subshell, Electron Energy (eV).

6The authors would like to thank the late Prof. V. I. Nefedov (Institute of General and Inorganic Chemistry, Russian

Academy of Sciences, Moscow, Russia) for providing his calculated photoelectric asymmetry parameters for use

in SESSA

SESSA 80
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• Range: Universal.

12. Photoelectron line shape (XPL).

Source: Binding energies of the elements [78].

• Keys: Atomic Number, Subshell.

• Range: Atomic Number, Subshell: extensive.

13. Auger electron line shape (AEL).

Source: Energies and sensitivities calculated according to the "Z + 1" rule, as described in

the Appendix of Ref.[7].

• Keys: Atomic Number, Subshell.

• Range: Atomic Number: 3-92, Subshells: limited by the availability in the data source.

14. Fluorescence yield (FY).

a) Source: Polynomial fit to empirical data for K-, L-, and M-shell fluorescence yields due

to Hubbell et al. [79]

• Keys: Atomic Number, Subshell.

• Range: Universal.

b) Source: Semi-empirical expression for the K-shell fluorescence yield of Bambynek [80]

• Keys: Atomic Number, Subshell.

• Range: Universal.

c) Source: Burhop’s semi-empirical expression for the K-shell fluorescence yield [81]

• Keys: Atomic Number, Subshell.

• Range: Universal.

15. Auger backscattering factor (ABF).

Source: Shimizu’s formula for normal incidence of an electron beam on a homogeneous

solid [82].

• Keys: Atomic Number, Subshell.

• Range: Universal.

16. Chemical Shifts (CS).

Source: Measured and calculated chemical shifts from Version 4.0 of the NIST X-ray Photoelectron Spectroscopy Database [83]

• Keys: Atomic Number, Subshell.

• Range: Limited by availability of data in source [83] .

SESSA 81
7 Tutorials

In the present chapter, a small collection of SESSA CLI–files are presented and discussed. These

files should help the reader to get acquainted with the most important features of operating

SESSA. In addition, the tutorial sessions might be helpful to better understand some aspects

of the surface sensitivity of electron spectroscopy for practical applications. These tutorials consist of a number of files residing in the indicated directories. In each of these directories, there is

one file that has the same name as the directory and ends with the extension .ses. Loading this

file will perform the tasks specified in all individual files in the directory in one operation. The estimated computation times specified in the sections below are clock times measured when running

the simulations on a 1.2 GHz Pentium PC.1

1A commercial product is identified to specify conditions for an experimental test. Such identification does not imply

recommendation or endorsement by the National Institute of Standards and Technology, nor does it imply that the

product concerned is the best available for the purpose

82
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

7.1 Peak Intensities

7.1.1 Angular distribution of photoelectrons emitted from a homogeneous

Au sample: Chandrasekhar’s H–function.

Figure 7.1: Angular distribution of the Au4f7/2 photoelectron peak intensity excited by Al-Kα xrays as a function of the emission angle (that is, as the sample is tilted). For model

purposes, the photoelectric asymmetry parameter was set to zero (isotropic emission).

It can be seen from the open symbols, that the SESSA results obtained in the transport

approximation coincide with Chandrasekhar’s H–function [84] represented by the solid

line. This result is expected since the H–function is the exact analytic distribution for

isotropic scattering. The solid circles represent the result obtained using the more

realistic Mott cross section for elastic scattering, the dashed line is the result in the

rectilinear motion model or straight-line approximation (SLA).

• Purpose: Getting acquainted. Performing a calculation of a photoelectron angular distribution and showing a comparison of results arising from different cross sections for elastic

scattering.

• Time required for simulation: ∼30 s.

• Directory: tutorials\au–homo

• CLI-files (.ses): ini.ses, sample.ses, spectr.ses, geo.ses, sla.ses, ta.ses, mott.ses, auhomo.ses

• GNUPLOT-files (.g): compare.g

SESSA 83
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• Output-files (output\∗.

∗

): sla_all.adf, ta_all.adf, es_all.adf

• Procedure:

1. Start SESSA.

2. Open the CLI–console window (CTRL–9 or choose Project/Command Line Interface

from the Main menu). Click on the button Load Session and select the file . . . \tutorials\au–

homo\ini.ses. SESSA reads a number of commands from this file that initialize the

software and sets a few preferences. Press CTRL–p to open the preferences menu. It

is seen that the options Output/sample and Output/experiment have been deselected.

This means that when SESSA writes output to a file, the corresponding information will

not be included (see Section 4.3).

3. Load the file sample.ses and open the “Sample/peak” menu (CTRL–1). It is seen that

the sample is now assumed to consist of a semi-infinite piece of gold. The Sample/peak

menu (CTRL–2) displays information on the signal electrons emitted from this sample

for the given spectrometer and source settings. The “Sample/Parameter” menu (CTRL–

3) displays the corresponding parameters describing the electron-solid interaction. A

right-mouse click on any of the numbers displayed here allows the user to change the

database or view the reference for the value on display. Furthermore, the numbers can

be changed by entering any value within a meaningful range. The database selection

menu and reference dialog can also be invoked for a graphical representation of the

differential elastic–scattering cross section and the differential inverse inelastic mean

free path by means of a right mouse click. Furthermore, a double click on any of the

graphical displays in SESSA transfers their contents to a separate plot window that

provides features allowing a user to change the display, to plot the contents of the

window to a postscript file, etc.

4. Load the file geo.ses and open the Experiment/geometry menu (CTRL–5). By choosing one out of the defined eight geometries from the Choose Configuration box, the

selected information can be displayed or changed. SESSA will later do a separate

calculation for each of the geometrical configurations shown here.

5. Load the file spectr.ses and open the Experiment/spectrometer menu (CTRL–6) to

see that the spectrometer region has been set to a rather narrow energy range. Consequently, only the Au4f7/2 peak is within the spectrometer energy window, as can be

verified by pressing CTRL–2. It is seen that the Au4f5/2 peak is also missing and that

the asymmetry parameter for the Au4f7/2 peak was set to zero for purpose of a model

calculation. This choice was achieved by explicit commands in the file spectr.ses

(press CTRL–9 to return to the CLI console and view these commands there).

6. Load the file sla.ses and open the Model Calculation menu (CTRL–7). A peak is on

display here and the Straight Line Approximation box is checked. Furthermore the

Auto box for number of collisions is deselected (and ncol is set to zero). The reason

for setting ncol to zero is that we are presently only interested in the peak intensity of

electrons that escape without inelastic scattering. By checking the Auto box for number

of collisions, an entire spectrum is simulated instead of only the no–loss peak (although

the spectrometer range would also have to be extended to lower kinetic energies in

order to see any effect). The fact that the Straight Line Approximation box is checked

means that SESSA assumes that the paths of the electrons in the solid are straight

lines (i.e., elastic scattering of the signal electrons is neglected).

SESSA 84
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

7. Load the file ta.ses and note that the simulation takes longer to converge now. Furthermore, the Transport Approximation box is now checked instead of the Straight Line Approximation box. This choice implies that elastic scattering is assumed to be isotropic

and that the distance between successive elastic deflections is taken to be equal to

the transport mean free path. Use of the transport approximation enables an analytic

solution to be given for the angular distribution of photoemitted electrons (for emitters

homogeneously distributed in a semi-infinite solid): the Chandrasekhar H–function [84].

Whenever the maximum number of collisions is set to zero and more than one geometrical configuration is defined, the partial intensities are displayed as a function of the

configuration number (instead of the collision order) in the Sample/peak menu (CTRL2) when Partial Intensities is selected for graphical display in the Sample/Peaks window.

The partial intensities are seen to decrease monotonically (within the precision of the

calculation) when going to more oblique emission. This is the expected behavior for

the H-function. To increase the precision of the calculation, decrease the convergence

factor in the simulation menu (see Section 4.9).

8. Load the file mott.ses. Another simulation is performed that takes considerably longer.

In this simulation, realistic (Mott) cross sections are used for the differential elasticscattering cross sections [16,24,34,67,68,85].

9. Start GNUPLOT and load the file compare.g. The result should resemble Fig. 7.1.

10. When working with CLI files, the order in which the commands are issued is important.

For example, when sample.ses is loaded after spectr.ses, there will be two peaks

in the considered region since the material is set in sample.ses and the command

deleting the peak (and issued before in spectr.ses) will therefore be overruled. For

user convenience, a file au-homo.ses has been included that runs all tests described in

this section and should lead to the result shown in Fig. 7.1.

• Discussion:

The results shown in Fig. 7.1 provide a test for correct operation of a Monte Carlo simulation

of electron transport in that the Chandrasekhar function represents the exact analytic solution of the emission problem for isotropic sources in a semi-infinite homogeneous medium

and isotropic scattering. The H–function may be approximated by

H(μ, ω) = 1 + μ

√

3

1 + μ

p

3(1 − ω)

(7.1)

In this expression, μ = cos θ, when θ is the electron emission angle with respect to the

surface normal and ω is the single-scattering albedo given in terms of the inelastic (λi) and

transport (λtr) mean free paths as ω = λi/(λi + λtr). The test is seen to be successful for

SESSA. It is furthermore seen that the difference with the more realistic Mott cross section

is not very significant. This result is explained by the so-called generalized radiative-field

similarity principle [25] that specifies conditions for this similarity between isotropic and nonisotropic scattering to occur. It is also seen that the intensity at normal emission is decreased

compared to the rectilinear-motion model where elastic deflections are completely neglected

(SLA, Straight Line Approximation). See Ref. [86] for a more detailed discussion.

SESSA 85
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

7.1.2 Angle-resolved XPS for a homogeneous Al sample.

• Purpose: Examine the effects of elastic scattering and the acceptance angle of the analyzer.

• Time required for simulation: ∼30 s.

• Directory: tutorials\al-anisotropy

• CLI-files (*.ses) : ini.ses, sample.ses, spectr.ses, geo.ses, sim.ses, al-anisotropy.ses, infinite.ses

• GNUPLOT-files (*.g) : compare.g

• Output-files (output\*.*) : sla_all.adf, ta_all.adf, es_all.adf

• Procedure:

The only difference from the procedure of Section 7.1.1 is that the three simulation steps are

now executed in one file (sim.ses). The difference in the calculations is that the anisotropy

of the photoionization cross section is not switched off: on the contrary, it is of main interest

here. The specified geometries correspond to perpendicular irradiation of the back of a thin

Al foil; the analyzer is again rotated around the sample covering a range of polar emission

angles between -80◦ and 80◦. Note that a polar angle in SESSA is always specified by a

positive number in the range 0◦–180◦, as is usual in a spherical coordinate system; “negative” polar emission angles are obtained by changing the azimuthal angle by 180◦

(see the

file geo.ses for details).

• Discussion:

When core-level photoelectrons are liberated from an atom, the emitted intensity along the

direction of the incident photons vanishes. In solids, however, a finite contribution in the

forward direction is always seen. This is illustrated by the open symbols in Fig. 7.2 that

represent the experimental data acquired by Baschenko et al. [87]. There are two reasons

why a finite intensity is always observed in the forward and backward directions: first, the

acceptance solid angle of the analyzer is finite, and, second, photoelectrons are scattered

elastically by atoms in the solid. As a result, the elastic mean free path length may become

comparable to the inelastic mean free path. Consequently, the signal electrons are efficiently

scattered inside the solid and even for an infinitely small analyzer acceptance angle, a nonvanishing intensity is expected in the forward and backward directions.

The simulation results shown in Fig. 7.2 are consistent with the above interpretation in that,

even in the rectilinear motion model (curve labelled SLA), there is a finite probability for

detecting electrons along the surface normal when the analyzer acceptance angle is finite.

For an infinitely small acceptance angle, the intensity along the surface normal should be

zero in the rectilinear–motion model, but not when elastic scattering is considered. SESSA

is able to perform a simulation for an infinitely small acceptance angle of the analyzer by

SESSA 86
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

employing a symmetry property of the kinetic equation. Instead of simulating the trajectory

from its generation point, tracing it through the solid, and hoping that it is emitted in the

direction of the detector, its path is started in the analyzer and traced back in reverse in the

solid. In this way, every simulated trajectory contributes to the intensity simulated with the

Monte Carlo method. This procedure was devised by Gries and Werner and has become

known as “trajectory reversal” [23]. With the conventional MC calculation methods, it is

strictly impossible to perform a simulation for an infinitely small acceptance angle. The

reader may load the file infinite.ses to see how long it takes SESSA to converge to the

same precision in such a case. Even for a moderately (but realistically) large polar opening

angle of 6◦, conventional MC calculations take of the order of weeks to converge to the

precision of the data displayed in Fig. 7.2.

Figure 7.2: Ratio of the Al 2s and Al 2p photoelectron intensities as a function of the emission angle. Open circles: experimental results of Baschenko et al. [87]. Filled circles: SESSA

simulation based on Mott elastic-scattering cross sections. Dashed line: SESSA simulation based on an isotropic transport cross section. Solid line: SESSA simulation

based on the rectilinear motion model (straight-line approximation). In the experiment,

the excitation was by Al Kα x-rays that illuminate the back side of a thin Al specimen.

In the present simulations, a semi-infinite Al specimen was assumed to be irradiated

with AlKα x-rays at normal incidence. The half-polar opening angle of the analyzer was

taken to be 6◦. The fact that the polar analyzer opening angle is finite is responsible for

a finite value of the plotted ratio at normal emission in the straight–line approximation.

SESSA 87
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

7.1.3 Angle-resolved XPS for an oxidized silicon wafer with a carbon

contamination layer

Figure 7.3: A plot of Y = ln(1 + CISiO2 /ISi) as a function of 1/ cos θ, where θ is the electron emission angle with respect to the surface normal, for angle-resolved XPS experiments

with Si 2p photoelectrons from a thin SiO2 film on a Si substrate. Open symbols:

experimental data of Seah and White [88]; dashed line: straight-line approximation

(SLA); solid line: results of SESSA simulations based on Mott cross sections for elastic scattering.

• Purpose: Illustrate the concept of chemical–state labeling using an important practical example. Demonstrate that consistency and accuracy of analysis can be considerably enhanced when different factors affecting the measured intensity are all accounted for simultaneously.

• Time required for simulation: ∼ 30 s.

• Directory: tutorials\sio2-c-arxps

• CLI-files (*.ses) : ini.ses, sample.ses, peak.ses, geo.ses, sim.ses, sio2-c-arxps.ses

SESSA 88
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• GNUPLOT-files (*.g) : compare.g

• Output-files (output\*.*) : sla_all.adf,es_adf.all

• Other files: seah.dat

• Procedure:

1. Load the file sample.ses and open the “Sample/layer” menu (CTRL-1). The compositional depth-profile is shown in the figure in the bottom-right corner. It is seen to consist

of three layers: a Si substrate, a layer consisting of Si and O, and a top layer consisting

of C. Select the middle layer by clicking on it. This is equivalent to selecting layer 2 in the

“choose layer” box in the top left corner of this menu. It is seen that the Si component

of the material constituting this layer is designated as ‘[oxide]’. The Si in the substrate

has no chemical state attribute (as verified by clicking on the bottom layer). The chemical state attribute is a string of characters that can be freely chosen by the user and is

not in any way interpreted by SESSA; it is only used to label the corresponding peaks.

Press CTRL-2 to enter the "Sample/Peaks" menu to see the effect. Here, the silicon

peaks appear double: as plain (elemental) silicon and one labelled as ‘[oxide]’. The

important point is that these peaks are treated separately in the simulation.

2. Note, furthermore, that the density of the oxide was explicitly set with a corresponding

command in the file sample.ses. This is necessary because SESSA can only estimate

the density of compounds and such an estimate may be in error by more than 100%.

3. Load the file peak.ses and open the “Sample/Peaks" menu (CTRL-2). It can be seen

here that different peak energies have been assigned to the two chemical states of Si:

the separation of the peaks facilitates their differentiation in the simulated spectra (but

this has no effect whatsoever on the simulated intensities).

4. Load the file geo.ses

5. Open the “Model Calculation” menu (CTRL-7) and load the file sim.ses. Go back to the

“Sample/Peaks" menu, choose “partial intensities” in the graphical display and inspect

the result for the ‘Si2p’ and ‘Si2p[oxide]’ peaks. It is seen that the ratio of the partial

intensities for the two peaks vary differently with the polar emission angle: while the

partial intensities increase with the number of times the signal-electrons experience an

inelastic collision for elemental Si, these quantities decrease for the oxide.

6. Start gnuplot and load the file compare.g. The result should resemble Fig. 7.3

• Discussion:

Angle-resolved XPS is an important technique in semiconductor technology for measuring

oxide thickness and composition. In principle, the angular distribution of photoelectrons

emitted from layered samples carries information on the compositional depth profile. However, there are limits to the amount of information that can be extracted from such data

[89].

Experimental data are often analyzed on the basis of an approach in which elastic scattering

of the signal electrons is ignored. Within this model, it is found that the intensity ratio of

SESSA 89
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

elemental (substrate) silicon and silicon bound to oxygen in a carbon–contaminated Si/SiO2

sample is related to the oxide thickness dox as:

dox

L cos θ

= ln(1 + C

Iox

Isub

(θ)) (7.2)

where L is the attenuation length for Si 2p photoelectrons in the SiO2 film, θ is the polar emission angle (with respect to the sample normal), Iox is the Si 2p intensity from the

SiO2 overlayer, Isub is the Si 2p intensity from the Si substrate, Iox

∞ and Isub

∞ are the corresponding quantities for bulk samples of SiO2 and Si, respectively, and C = Isub

∞/Iox

∞.

Elastic-scattering effects and other phenomena that are not intrinsically accounted for in the

approach of Eq. (7.2) are sometimes incorporated in the characteristic length L and the

value of C . It is clear from Eq. (7.2) that a plot of Y (based on determinations of the four

intensities in the logarithmic term) versus 1/ cos θ will give the oxide thickness in units of L

(if the plot is linear). It can be seen that the open circles in Fig. 7.3 based on the experimental measurements of Seah and White [88] lie close to a straight line through the origin for

(1/ cos θ) <2 (i.e., θ <60◦).

One reason why the analysis based on Eq. (7.2) is so attractive is that the thickness of

the carbonaceous contamination layer does not appear in it. In other words, the derived

oxide-layer thickness for an arbitrary thickness of any carbonacaeous-contamination layer is

independent of the thickness of this layer. On the other hand, for emission angles exceeding

60◦, the effects of elastic scattering become quite significant, and the experimental points in

Fig. 7.3 then deviate from the straight line expected from Eq. (7.2).

The data of Seah and White in Fig. 7.3 were acquired from experiments with a Si wafer. The

results for θ <60◦ were analyzed with Eq. (7.2) to give a mean SiO2 thickness of 39 Å.

Figure 7.3 shows SESSA results based on the Mott elastic-scattering cross section (solid

line) and on the straight-line approximation (SLA) (dashed line). These results were obtained for a 36 Å oxide layer that gave the best consistency between the solid line and the

experimental results. There is also reasonable agreement between the derived and reported oxide thicknesses. For emission angles exceeding 60◦

, the SESSA results with the

Mott cross sections show the expected deviation from the dashed line from the SLA due to

the effects of elastic scattering.

SESSA 90
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

7.1.4 Angular distribution of photoelectrons emitted from a stratified

overlayer-substrate sample

• Purpose: Simulation of the peak intensities of a stratified two-layer system (overlayer on an

infinite substrate).

• Time required for simulation: Seconds

• Directories and files:

– tutorials/V2-1/Layers

– tutorials/V2-1/Layers/output

• CLI-files (*.ses):

– layers.ses

The peak intensities of a stratified two-layer system (overlayer on an infinite substrate) are

calculated and simulated under the following assumptions:

• Straight line approximation

• Infinitely small acceptance solid angle of the analyzer,

which simplify the following equations and reduce the computation time, but are purely optional

for the simulations.

Since we assume that no elastic scattering occurs and that the inelastic mean free paths

(IMFPs) of the overlayer and the substrate are identical (which can be done in SESSA easily as

all simulation-relevant parameters can be adjusted at will), the integrals describing the intensities

of the overlayer and substrate peaks reduce to a very simple form.

z

zΘ

I

t

z

Θ

Figure 7.4: Visualization of the established model for layered specimens for two different emission

angles Θ. From the detector’s point of view, the overlayer thickness t increases with

the emission angle Θ, which results in a higher fraction of detected overlayer electrons

in direction zΘ than z.

SESSA 91
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Overlayer

The angle-dependent signal from an overlayer (OL) with thickness t and IMFP λ is calculated as

shown in equations 7.3 and 7.4.

IOL =

Z t

0

e

 

−

z

λ · cos θ

!

dz = −λ · cos θ · e

 

−

z

λ · cos θ

!











t

0

(7.3)

IOL = λ · cos θ





1 − e



−

t

λ · cos θ







 = λ · μ





1 − e

−

t

λ · μ



 , (7.4)

with μ = cos θ. According to Lambert’s cosine law, the radiance of a surface is reduced by the

cosine of the emission angle, therefore μ in equation 7.4 is canceled out and the final expression

for the intensity of the overlayer reads as

IOL = λ ·





1 − e

−

t

λ · μ



 (7.5)

Substrate

The substrate signal is calculated similarly but with different integration limits.

ISub =

Z ∞

t

e

 

−

z

λ · μ

!

dz = −λ · μ · e

 

−

z

λ · μ

!











∞

t

(7.6)

ISub = λ · μ · e



−

t

λ · μ





(7.7)

Again, in equation 7.7, μ cancels out due to the Lambert cosine law.

ISub = λ · e

−

t

λ · μ (7.8)

Procedure

1. Start SESSA

2. Load the session file layers.ses. SESSA will perform a number of simulations of differently

tilted planar geometries of Palladium deposited on Gold. The results are automatically saved

in the output/-folder

3. Navigate to the output/-folder and call plot.gp from gnuplot. The generated file OL_Sub.ps

can now be viewed.

SESSA 92
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Results

The results shown in figure 7.5 were obtained by simulating a Pd/Au overlayer-substrate system

with an overlayer thickness of 10 Å. According to equations 7.5 and 7.8, all IMFPs were set to

10 Å so that the expressions for the substrate and overlayer signals acquire a simple form as t/λ

cancels to 1.

It can be seen that the calculated and simulated datasets match perfectly, indicating that SESSA

yields the expected results.

 0

 1e-05

 2e-05

 3e-05

 4e-05

 5e-05

 6e-05

 7e-05

 8e-05

 0 0.2 0.4 0.6 0.8 1

Intensity (arb. units)

cos(Θ)

Simulated overlayer intensity

Calculated overlayer intensity

Simulated substrate intensity

Calculated substrate intensity

Figure 7.5: Comparison of simulated (dotted) and calculated (solid) intensities for a Pd/Au

overlayer-substrate system depending as a function of the cosine of the emission angle cos Θ

SESSA 93
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

7.1.5 Depth distribution function (DDF) in XPS: comparison with

experiment

Figure 7.6: (a) Intensity of the S 2s XPS line as a function of the thickness of an Ag2S overlayer

on a Ag substrate that is irradiated with Al Kα x-rays. The photoelectrons are detected

along the surface normal with an analyzer polar acceptance angle of 4.1◦. Filled symbols: experimental data of Zemek et al. [90]; solid line: SESSA with Mott differential

elastic-scattering cross sections; dotted line: SESSA using the straight-line approximation (SLA). (b). Depth distribution function (DDF) for the experimental conditions in

(a). Dotted line: evaluation of the experimental results in (a); Filled symbols: SESSA

with Mott differential elastic-scattering cross sections; solid line: SESSA, straight-line

approximation.

• Purpose: Demonstrate that a quantitative model for the surface sensitivity in AES and XPS

is implicitly contained in SESSA by comparing results for the Depth Distribution Function

(DDF) with experiment. We note that this DDF is the emission depth distribution function

defined by ISO [91].

• Time required for simulation: ∼ 5 minutes.

• Directory: tutorials\ag2s-ddf

SESSA 94
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• CLI-files (*.ses) : ini.ses, int.ses, mod.ses, mod_sla.ses, ddfini.ses, ddf.ses,

• Output files: es, sla, esddf, sladdf

• Other files: cleanup.bat, ddfcleanup.bat, zemek.txt

• Procedure:

1. Load the file ini.ses and open the “Sample/layer” menu (CTRL-1). If SESSA was

started just before loading this file, a warning is displayed which explains that the density of the compound layer (Ag2S) was only estimated. An appropriate command in the

file sample.ses sets the density to a realistic value.

2. Leave the “Sample/layer” menu open and load the file int.ses. SESSA will perform

a simulation of the intensity of the S 2s line as a function of the thickness of the Ag2S

layer. The change of the profile can be watched in the “Sample/layer” menu during the

simulation.

3. Click on the file cleanup.bat (specific to this tutorial) in the ag2s-ddf directory. This

deletes some unnecessary files in the output directory and merges the results of the

simulation for the zero-order partial intensities into the files es and sla. These files

contain the peak intensities calculated with SESSA that are displayed in Fig. 7.6a.

4. Load the file ddfini.ses and open the “Sample/layer” menu (CTRL-2). The sample

now consists of a 1 Å buried layer of Ag2S between an Ag substrate and an Ag overlayer (1 Å =0.1nm).

5. Leave the "Sample/layer" menu open and load the file ddf.ses. SESSA will perform

a simulation of the intensity of the S 2s line as a function of the thickness of the Ag

overlayer covering the 1 Å buried Ag2S layer. The corresponding S 2s intensities as a

function of the depth closely match the depth distribution function.

6. Click on the file ddfcleanup.bat in the ag2s-ddf directory. This deletes some unnecessary files in the output directory and merges the results of the simulation for the

zero-order partial intensities into the files esddf and sladdf. These files contain the

SESSA data for the depth distribution function displayed in Fig. 7.6b.

• Discussion:

Specification of the depth distribution function for a given surface electron-spectroscopy

experiment represents the most general and comprehensive way to describe the surface

sensitivity [92]. The zero-order emission depth distribution function, pertaining to the peak

intensity of Auger electrons or photoelectrons that escape without inelastic scattering is defined as the “probability that the particle or radiation leaving the surface in a specified state

and given direction originated from a specified depth measured normally from the surface

into the material [91]”.

Since the DDF can exhibit a quite complex behaviour, it is not always possible to specify it

in detail. Therefore, a number of quantities have been introduced that describe the major

effect of the DDF on the surface sensitivity in a simple way. These quantities include the

“Attenuation Length”, “Effective Attenuation Length”, “Local Effective Attenuation Length”,

SESSA 95
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

“Practical Effective Attenuation Length”, “Information Depth”, and “Mean Escape Depth”,

and have recently been reviewed by Jablonski and Powell [93–95].

In Fig. 7.6(a), the experimental data of Zemek et al. [90] for growth of Ag2S on a Ag substrate

are compared with results of a SESSA simulation. In the experiment, a thin Ag foil on

which the Ag2S layers were grown was irradiated on the back side with Al Kα x-rays. The

solid line is the simulated intensity as a function of the thickness when elastic scattering is

accounted for: this line agrees quite well with the experimental results. The dashed line

is the result from the straight-line approximation. In Fig. 7.6(b) the DDF derived from the

experimental data is compared with the SESSA simulation results for the DDF. Again, a

reasonable agreement between experiment and the simulation is seen.

The favorable comparison of the SESSA simulation data with experimental results demonstrates that SESSA is based on a realistic model for the surface sensitivity in electron spectroscopy.

SESSA 96
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

7.1.6 Surface morphology: influence of surface roughness.

Figure 7.7: Au 4f intensity as a function of the relative surface area. Data points: experimental

results from Wu et al [96,97]; solid line: SESSA

• Purpose: To demonstrate that the intensity for rough samples decreases with increasing

relative surface area.

• Time required for simulation: ∼30 s.

• Directory: tutorials\roughness

• CLI-files (*.ses) : ini.ses, sample.ses, mod.ses

• GNUPLOT-files (*.g) : compare.g

• Output-files (output\*.*) : rgh

• Other files: wu.txt, rgh.txt, cleanup.bat

SESSA 97
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• Procedure:

1. Load the file ini.ses and open the “Sample/layer” menu (CTRL-1).

2. Load the file mod.ses and watch the ordinate axis of the plotwindow change when

simulations are performed for different values of the relative surface area, indicating

that the total measured intensity drops with increasing surface roughness.

3. Click on the file cleanup.bat thereby deleting unnecessary files in the output directory

and creating the file rgh that may be edited to yield the file rgh.txt.

4. Load compare.g in GNUPlot to view the result (see Fig. 7.7).

• Discussion:

The comparison in Fig. 7.7 between SESSA simulation results and the experimental data

of Wu et al. [96, 97] shows that the simple model for surface roughness implemented in

SESSA provides a rough estimate for the effects of surface roughness on the signal-electron

intensity. Note that for a realistically rough surface, the relative surface area assumes values

between 1 and 1.2 (see Ref. [17]). Larger values of the relative surface area, such as those

measured by Wu and co-workers for their samples correspond to porous samples (so called

high Brunauer-Emmet-Teller (BET) surfaces [98]).

SESSA 98
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

7.2 Spectral Shape

7.2.1 Au overlayers on a Pb substrate: spectral shape as a function of

overlayer thickness and emission angle

Figure 7.8: SESSA simulation results for the Au and Pb 4f, 5p and 5s spectral regions of two

samples of Au overlayers on a Pb substrate and excitation by Al Kα x-ray radiation.

Upper curves: 25 Å Au/Pb; lower curves: 5 Å Au/Pb; Dotted lines: 60◦ emission

angle; solid lines: emission along the surface normal.

• Purpose: Demonstrate the change of spectral shape with emission angle and as a function

of the compositional depth profile.

• Time required for simulation: ∼ 30 s.

• Directory: tutorials\spc

• CLI-files (*.ses): ini.ses, mod5.ses, mod25.ses

• GNUPLOT-files (*.g): compare.g

SESSA 99
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• Output files (output\*.*) : *.spc

• Other files: cleanup.bat

• Procedure:

1. Load the file ini.ses.

2. Load the file mod5.ses that performs a simulation for a 5 Å thick Au overlayer on a Pb

substrate for normal emission and for an emission angle of 60◦. Subsequently, load the

file mod25.ses that repeats the simulation for a 25 Å thick overlayer.

3. load the file compare.g in gnuplot to view the results as displayed in Fig. 7.8.

• Discussion:

The results in Fig. 7.8 clearly show that the shape of the spectrum depends on the compositional depth profile of the sample. The same is seen to be true for the relative intensities of

the no-loss peaks. Furthermore, the variation of the spectral shape and the relative intensities with emission angle are different for the two depth profiles considered here. This result

is in agreement with the expectation that the combined energy and angular distribution of the

signal electron flux emitted from a sample carries information on the chemical composition

of a specimen near the surface [27,89].

SESSA 100
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

7.2.2 Need for empirical data to realistically describe spectral shapes.

Figure 7.9: XPS spectrum of a Cu sample excited by Al Kα x–rays. Upper curve: simulation result

from SESSA, using empirical data for the Cu LMM Auger transition; Lower curve: the

same simulation based on the default peak shapes contained in SESSA.

• Purpose: To show that incorporation of empirical data in SESSA provides a convenient tool

for quantitative simulation not only of spectral intensities but also of spectral shapes.

• Time required for simulation: ∼ 30 s.

• Directory: tutorials\aes-empirical

• CLI-files (*.ses): cu.ses, cu-emp.ses

• GNUPLOT-files (*.g): compare.g

• Output-files (output\*.*) :

SESSA 101
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• Procedure:

1. Load the file cu.ses and open the “Model calculation” menu (CTRL-7). The Al Kα Cu

XPS spectrum is seen in this menu. Note that the LMM Auger region that is located in

the range of kinetic energies between 700 eV and 1000 eV does not look very realistic.

Go to the “Sample/peak” menu (CTRL-2) and click on any of the Auger peaks in the

peak selection list. The graphical display of the intrinsic peak shape shows that the

standard functional forms (Gaussian, Lorentzian, Doniach-Sunjic) do not resemble a

realistic Auger peak.

2. Load the file cu-emp.ses and open the “Model calculation” menu (CTRL-7). Open the

“Sample/peak” menu (CTRL-2) to see that all Auger peaks except one were removed.

The remaining empirical Auger peak comprises a broad spectral range. In the “Model

calculation” menu graphical display, a spectrum similar to the previous one is shown,

but the Auger part now looks much more realistic.

• Discussion:

A drastic difference is seen between the two spectra created by the above procedure (Fig. 7.9).

However, comparison of the partial intensities of the Cu LMM peaks reveals that the spectral shape of the signal–electron sources is the only difference; the partial intensities are

identical! To appreciate this, note that a simulation of a spectrum in SESSA proceeds in two

steps: first, the partial intensities are calculated for a given sample, experimental conditions,

etc. The partial intensities represent the number of electrons emitted from a given atomic

subshell in a given atom that eventually reach the detector after experiencing a certain number of inelastic collisions. The parameters in the SESSA databases for this purpose are

believed to be realistic. In the next step, the partial energy distributions are derived from

the energy distribution at the source and the probability for an energy loss in an individual

excitation (that is the differential inelastic inverse mean free path, DIIMFP). Although realistic data for the DIIMFP are available within SESSA for a limited number of materials for

which detailed optical measurements are found in the literature, realistic data for the spectral shapes of an Auger-electron transition and photoelectron transition are not presently

part of the SESSA databases. This situation is particularly problematic for Auger-electron

transitions, and emphasizes the necessity for empirical data when simulating the spectral

shape.

SESSA 102
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

7.2.3 Transfer of spectral data between different spectrometers

Figure 7.10: XPS spectra of a 2 Å thick Ni layer on a Cu substrate excited by Al Kα x–rays.

Dotted line: simulation results from SESSA using a hemispherical analyzer (HMA)

for energy selection; solid line: SESSA simulation using a cylindrical mirror analyzer

(CMA). To facilitate comparison, the two curves have been slightly shifted in energy

relative to each other.

• Purpose: Demonstrate that intercomparison of spectra acquired on different instruments

can be significantly facilitated when a flexible simulation tool is available that accounts for

instrumental effects. In the present case, an effect of solid angle is studied.

• Time required for simulation: ∼30 s.

• Directory: tutorials\transfer

• CLI-files (*.ses): ini.ses

• GNUPLOT-files (*.g): compare.g

SESSA 103
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• Output-files (output\*.*): reg1.spc

• Procedure:

1. Load the file ini.ses and open the “Model calculation” menu (CTRL-7). The graphical

display in this menu is essentially the same as the results shown in Fig. 7.10.

• Discussion:

The results in Fig. 7.10 show that complex differences in spectral shapes can occur for

instruments that differ in certain properties. In the present example, this concerns the solid

angle of acceptance of the analyzer. This makes it very difficult to compare quantitative

information on published spectra from different types of instruments. A simulation such

as SESSA can help avoid such problems if instrumental effects on the spectral shape are

realistically simulated.

SESSA 104
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

7.2.4 Handbook of simulated XPS spectra.

• Purpose: Using the extensive databases in SESSA and the flexibility offered by the CLI, it

is possible to produce large customized reference data sets.

• Time required for simulation: several minutes.

• Directory: tutorials\handbook

• CLI-files (*.ses): ini.ses, handbook.ses, handbook-brief.ses, dosim.ses

• Output-files (output\*.*): XPS spectra of elemental solids throughout the periodic system,

with and without a 5 Å thick carbon contamination layer.

• Procedure:

1. Load the file ini.ses

2. Load the file handbook_brief.ses to get a quicker impression of what handbook.ses

does when you start it.

3. Edit the file dosim.ses and uncomment the indicated line.

4. Run the file handbook_brief.ses again, now producing a handbook of XPS spectra

recorded on samples with a 5 Å carbon contamination layer.

• Discussion:

The above CLI files produce two extensive reference data sets for a collection of elemental

solids throughout the periodic table. In the second run, a systematic change in the experimental conditions is simulated by adding a 5 Å thick carbon-contamination layer to each

sample.

SESSA 105
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

7.3 Techniques other than conventional AES/XPS

7.3.1 Total Reflection XPS (TRXPS)

Figure 7.11: The Sample/Layer menu in the GUI showing the excitation depth distribution for

TRXPS after loading the file sample.ses

• Purpose: Illustrate the fact that the surface sensitivity is generally determined by both the

excitation depth distribution function as well as the emission depth distribution function.

• Time required for simulation: ∼ 30 s.

• Directory: tutorials\trxps

SESSA 106
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• CLI-files (*.ses) : sample.ses xps_sim.ses, trxps_sim.ses, trxps.ses

• GNUPLOT-files (*.g) :

• Output-files (output\*.*) : xpsreg1.spc, trxpsreg1.spc

• Procedure:

1. Open the Sample window in the GUI and press CTRL-l to load the session file sample.ses.

After a while, the structure of the sample is updated on the screen and is seen to consist of a very thin C-contamination layer (layer 1, 0.5 Å) on top of 8 Å of SiO2 on an

Si–substrate (see Fig. (7.11). The upper 24 layers are seen to consist of a contribution

labelled ‘[trxps]’ and a normal unlabelled contribution. The concentration of the species

labelled ‘[trxps]’ decreases exponentially with the depth. In the “Sample/Peak” menu, it

can also be seen that each peak appears in duplicate, unlabelled as well as labelled.

These settings were chosen to mimic a total reflection XPS experiment, where the incidence angle of the exciting x-radiation is chosen to be close to the critical angle for

total reflection, leading to a dramatic decrease of the characteristic length (or depth)

for creation of photoelectrons. In the present example this characteristic length was

arbitrarily chosen to be 20 Å, a typical value in TRXPS.

2. Next, load the file xps_sim.ses. This file performs a simulation for all peaks (labelled

as well as unlabelled), and writes the corresponding output into the directory output.

Since the labelled and unlabelled peaks have the same peak shape and energy, they

are added in the resulting spectrum output\xpsreg1.spc. Thus the simulated spectrum

should resemble a conventional XPS spectrum, as indeed it does (see the top panel of

Fig. 7.12).

3. When the file trxps_sim.ses is loaded next, the same simulation is repeated again

but the unlabelled peaks are deleted from the spectra prior to the simulation. In consequence, the resulting spectrum output\xpsreg1.spc now corresponds to a depth

distribution of excitation for the species labelled ’[trxps]’ only. The result is displayed in

the bottom panel of Fig. 7.12 on the right hand side. The inelastic background is seen

to be significantly decreased, indicating that the surface sensitivity of this spectrum is

higher than for an ordinary XPS measurement.

4. It should be noted here that in these simulations, the incidence direction of the x-rays

was chosen along the surface normal, as was the detection direction. In other words,

the change in the surface sensitivity due to the grazing incidence of the x-rays was simulated only by taking into account the depth distribution of the excitation. For a more

realistic simulation of TRXPS with the present version of SESSA, it is imperative to

properly account for the experimental geometry, since the relative peak intensities for

photoelectrons with different asymmetry parameters depend sensitively on the values

of this asymmetry parameter, in particular for typical TRXPS geometrical configurations. It is easy to perform realistic simulations with SESSA; one merely has to specify

the correct geometrical configuration in the geometry menu. Since the example studied

here merely serves illustrative purposes and is not compared with actual experimental

data, the simulations were performed for the default geometrical configuration.

SESSA 107
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 7.12: Simulated spectra of a sample consisting of a 0.5 Å thick C-contamination layer on

top of a 10 Å thick SiO2 layer on a Si substrate. The top panel shows the simulated

conventional XPS spectrum, the bottom panel shows the simulated Total Reflection

XPS spectrum, where the angle of incidence of the X-rays is close to the angle of

total reflection. These spectra were simulated as described in the text.

SESSA 108
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• Discussion:

In surface analysis techniques employing particle beams, the analyzed depth range is generally determined by the penetration of the exciting radiation into the surface, described by

the so–called excitation depth distribution function φx(z, θx), the depth distribution of species

leading to the generation of the detected signal c(z), and the probability for escape as a function of the depth. In electron spectroscopy it is convenient in this connection to introduce the

partial intensities of electrons that reach the detector after participating in a given number of

scattering events Cn. The escape probability for n–fold inelastically scattered electrons is described by the partial escape distributions, or emission depth distribution functions φe,n(z, θe).

Then the partial intensities are given by:

Cn(θx, θe) = Z∞

0

φx(z, θx)c(z)φe,n(z, θe)dz (7.9)

where the subscript "x" represents the "excitation", while "e" denotes the "emission" process.

The excitation depth distribution function can be described in terms of a Beer-Lambert attenuation law:

φx(z, θx) = exp(−μxρz/ cos θx) (7.10)

where μx is the mass absorption coefficient determining the relevant excitation range (measured along the photon trajectory) and ρ is the mass density of the material. The characteristic length for the emission depth distribution function is approximately given by the

inelastic mean free path that is orders of magnitude smaller than the x-ray absorption ength

(λ ≪ 1/μxρ) for conventional XPS. In this case the variation of the excitation depth distribution with depth in the integral (7.9) can be neglected and the surface sensitivity of XPS is

entirely determined by the escape process.

When the angle of incidence of the x-rays is close to the critical angle for total reflection

θx,c, the characteristic length for the excitation process becomes comparable to the inelastic

mean free path [99], and a variation of the (glancing) incidence angle according to Eq. (7.9)

allows the probing of different depth regions by effectively changing the excitation depth

distribution experimentally.

In this case, the detected photoelectrons mainly escape from shallow depths (as indicated

by the depth distribution of the species labelled ’[trxps]’in the Sample/Layer menu), and

consequently the higher-order partial intensities that make up the inelastic background are

suppressed, since the emission depth distribution function for increasing order of scattering

samples increasingly larger depths (approximately nλi/ cos θe for n-th order scattering [27]).

This explains the reduced inelastic background seen in the TRXPS spectra in Fig. 7.12.

SESSA 109
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

7.3.2 Ion-induced Auger-electron emission.

Figure 7.13: Cu LMM Auger spectra for different emission angles (with respect to the surface normal) and for the source depth distribution shown in the inset. These results simulate

ion-induced Auger electron spectra.

• Purpose: Demonstrate that the source depth distribution can be specified in a flexible way

using a technique involving chemical-state labelling.

• Time required for simulation: ∼5 min.

• Directory: tutorials\ion-induced

• CLI-files (*.ses): sim.ses, geo.ses, cu.ses

• GNUPLOT-files (*.g): pi.g,spc.g

• Output-files (output\*.*): cucuLM9_emitting.*

SESSA 110
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• Other files: CULMM.REG

• Procedure:

1. Start SESSA.

2. Open the sample menu (CTRL-5). Load the file cu.ses and wait a moment. The

commands in this file set up a depth profile of emitters distributed with a Gaussian

profile at 12 Å mean depth and a full width at half maximum intensity of 5 Å. This profile

is assumed to be caused by energy deposited in the solid by some kind of incident

particle (e.g., ions) and the energy deposition profile is assumed to be related to the

depth profile for Auger electron emission. The profile is seen in the sample menu after

SESSA has processed the commands in this file. By clicking on the various layers in

the depth profile and observing the material box in the sample GUI menu, it is seen

how the chemical-state labelling can be used to specify a depth profile of emitters in a

flexible way.

3. Load the file geo.ses. This sets up the geometry: the analyzer is rotated around the

sample surface normal in the range between 0 and 60 ◦.

4. Load the file sim.ses. SESSA performs a simulation of the spectrum for the specified

geometries. Open the simulation menu (CTRL-7) before or after loading sim.ses to

see the simulation results.

5. Open the “Sample/Peak” menu and choose “partial intensities” in the display selection

box to view the partial intensities. You may wish to double click on this window to

transfer its contents to the separate plot window that can be enlarged to fit the screen,

improving clarity.

• Discussion:

Figure 7.13 shows the result of the simulation. It is seen that both the peak height and peak

shape depend on emission angle. Inspection of the partial intensities reveals the reason

for the dependence of the peak shape on the emission angle: for more oblique emission,

the signal electrons have to travel a longer distance through the solid thereby increasing the

probability for an energy loss. In principle, measurements of the angular distribution of the

peak shape contain information on the emission depth distribution. However, it is difficult to

rigorously retrieve such information from such measurements. Simulations that optimize the

consistency between experiment and theory by varying the depth distribution of the emitters

provide a straightforward means of obtaining at least a rough impression of the emission

depth distribution.

SESSA 111
8 Tutorials for simulating advanced

geometries using PENGEOM

During the simulation of electron trajectories, SESSA needs to monitor the material through which

an electron is traveling and at what point it crosses an interface. For this purpose, the PENGEOM

package [50] (part of the PENELOPE code) was included in SESSA. When a sample morphology has been defined, a PENGEOM file (*.geo) is generated detailing geometrical features and

material distribution for the simulation. During the simulation, the geometry file is read into PENGEOM which then provides two essential pieces of information: 1) The present material at a

given location and 2) for a given linear path whether an interface is crossed and if so where this

happens.

SESSA offers many possibilities to simulate electron spectra of nanostructures with different

morphologies that are highly customizable. Some morphologies are preimplemented (see section

4.4) and SESSA automatically generates the necessary PENGEOM files. For geometries beyond

these, SESSA V2.1 allows the user to specify morphology by providing a custom PENGEOM file.

The present chapter serves to explain and provide examples on how SESSA V2.1 and PENGEOM can be utilised to simulate almost arbitrary nanomorphologies. Several simple analytical

models are presented together with the corresponding results obtained with SESSA V2.1. These

results shall facilitate the understanding of how SESSA performs calculations and, by replicating

them, a deeper understanding of the program’s internal functionality shall be acquired.

It is absolutely necessary for a successful SESSA simulation to provide a correct PENGEOM

file. This is by no means trivial and neither SESSA nor PENGEOM provide an automatic error

detection. The introduction provided herein is not a complete instruction on the use of PENGEOM

for which the user is referred to the original publication [50].

The following tutorials are described for use on Linux or Mac systems, but should also work on

Windows systems with analogous procedures.

8.1 Simulations with external PENGEOM geometry files

SESSA V2.1 is capable of loading and simulating external PENGEOM geometry files. A geometry

file can be loaded by selecting "PENGEOM" in the Sample menu from the Morphology List or by

invoking the following command in the command line interface (CTRL+9):

sample morphology set penelope "path/file.geo"

This functionality enables SESSA to perform simulations with nanostructure morphologies specified by a user in the form of PENGEOM instructions in a *.geo file.

After selecting the geometry file in the file dialog, it is checked for validity. If no error warning is

displayed, the file is syntactically correct.

Adapt the following settings to ensure a successful simulation:

112
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• After loading the simulation, the number of layers should be equal to the number of materials

used within the PENGEOM geometry file.

• The material numbers assigned to each body or module within the PENGEOM geometry file

must be equivalent to the material numbering in SESSA

– In the sample preview, the top layer (the island) corresponds to material 1, while the

substrate layer stands for the material with the highest number. Add layers in the layer

pane in the sample menu (CTRL+1) according to the number of materials present in the

geometry file.

• Within the morphology-field

– Adapt the x and y periodicities according to the desired dimensions of the nanostructures. These have to match the dimensions of the limiting body defined in the .geo file

(see section 8.4).

– Set the height of the sample to the maximum height of the nanostructure.

SESSA 113
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

8.2 Example: Simulation for infinite core-shell cylinders

• Purpose: Demonstration of the use of PENGEOM geometry files for simulation of nonstandard nanostructures. Simulation of a photoelectron spectrum for an infinite core-shell

cylinder with varying core radii.

• Time required for simulation: Seconds to few minutes

• Directories:

– tutorials/V2-1/Cylinder

– tutorials/V2-1/Cylinder/geometry_files

– tutorials/V2-1/Cylinder/sessa_files

– tutorials/V2-1/Cylinder/gnuplot_files

– tutorials/V2-1/Cylinder/mathematica_files

• CLI-files (*.ses):

– simu.ses (main CLI sesson file)

– conf.ses

– geo_reset.ses

8.2.1 Analytical model

The photoelectron spectrum and peak intensities of an infinitely long core-shell cylinder are calculated for varying core radii. Since such a morphology is not pre-implemented in the SESSA morphology menu (see section 4.4), customised PENGEOM geometry files are loaded into SESSA.

A separate file is necessary for each pair of core radius and shell thickness.

The analytical model is based on the following assumptions:

• Straight line approximation

• Identical IMFPs of core and shell materials

• Infinitely small solid angle of acceptance of the analyzer,

which were chosen to simplify the following equations and reduce the computation time but are

purely optional for the simulations.

To calculate the core and shell photoelectron signals arising from a cylinder, all contributions

throughout the depth need to be taken into account. Since the IMFPs of the core and shell

materials are assumed to be equal in the present case and the cylinder’s diameter does not

change along its length, the signals can be easily obtained by integrating the exponential function

across the cross section of the cylinder in two dimensions. Figure 8.1 shows the integral over a

cylindrical cross section with the core and shell contributions highlighted in different colors. To get

the core or shell signals, the integration needs to be performed over every part of the cylinder that

contributes to the particular signal.

SESSA 114
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

t

I

Figure 8.1: Cross-sectional visualization of the selected model for core-shell cylinders. Depending

on the lateral position, the shell and the core or only the shell contribute to the signal I.

The graph on the right schematically illustrates the contributions of the core and shell

signals as a function of the depth t for vertical photoemission on a line through the

center of the cylinder.

Core signal for an infinite core-shell cylinder

According to Fig. 8.2, to calculate the core intensity the exponential function first has to be integrated from do − di

to do + di as a function of h. In Figure 8.2 this corresponds to an integration

along a vertical line within the purple core. Then, the resulting expression is integrated from ro−ri

to ro + ri, which corresponds to an integration along the horizontal direction. The full integrand is

shown in equation 8.1, in which IC stands for the core intensity.

IC =

Z ro+ri

ro−ri

Z do+di

do−di

e

−t/λ dt dh (8.1)

Solving equation 8.1 analytically is impossible; therefore numerical integration methods have to

be applied.

di and do can be expressed as functions of h by applying simple geometrical relationships, since

di, ri and ro − h as well as do, ro and ro − h form right-handed triangles. Expressions for di and do

are shown in equations 8.2 and 8.3.

di =

p

2ri(h − (ro − ri)) − (h − (ro − ri))2(8.2)

do =

p

2roh − h

2

(8.3)

Shell signal for an infinite core-shell cylinder

The shell signal is calculated similarly. The integral is taken over the whole cylinder with subtraction of the core region.

SESSA 115
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

do

di

ri

ro

h

Figure 8.2: Illustration of the variables used to calculate the core and shell intensities for an infinite

cylinder. riis the inner radius (core radius), ro is the outer radius (total radius), h is the

distance from the outer edge from the cylinder and is used as the integration variable

and di and do are the local core and shell thicknesses along the source-analyzer-axis,

respectively, as functions of h.

IS =

Z 2ro

0

Z 2do

0

e

−t/λ dt dh − IC (8.4)

8.2.2 SESSA simulation

1. Start SESSA

2. Load the session file simu.ses. SESSA will perform 34 simulations for a cylinder with an

outer radius of 35 Å and varying inner radii from 1 Å to 34 Å (1 Å =0.1nm).

3. For every geometry, a result file is saved under output/ containing the intensities for the

core and shell.

4. Make extract_data.sh executable and run it or use the command sh extract_data.sh.

The short script extracts the data from the output files and saves it in all_data.dat.

5. Navigate to the gnuplot/-subfolder and call plot.gp from gnuplot. The generated file

comp_cylinder.ps can now be viewed.

8.2.3 Results

Figure 8.3 shows the core-shell intensity ratio as a function of a core radius for simulated and

calculated data, which match very well. The simulation was formally performed for the Au4f7/2

and Pd3d5/2 peaks of a palladium/gold core-shell system. The IMFPs were set to 10 Å so that the

expressions become easier to handle.

SESSA 116
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

 0.0001

 0.001

 0.01

 0.1

 1

 10

 0 5 10 15 20 25 30 35

Core/Shell Intensity ratio

Core radius (Å)

Simulation

Calculation

Figure 8.3: Comparison of simulated and calculated core-shell intensity ratios for an infinite cylinder with constant outer radius and core radii varying from 1 Å to 34 Å. The shell material was gold and the core palladium, with the Au4f7/2 and Pd3d5/2 peaks used to

calculate the intensity ratio. To obtain simpler expressions, the IMFPs of both peaks

were set to 10 Å.

SESSA 117
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

8.3 Example: Simulation for dispersed powder of core-shell

particles including the angular distribution of

photoelectrons

• Purpose: Simulation of a random (disordered) arrangement of core-shell particles

• Time required for simulation: Minutes

• Directories and files:

– tutorials/V2-1/Disperse/

*

simu_disperse_template_minimal.ses

– tutorials/V2-1/Disperse/crea_geo

*

disperse_const_R.cpp

*

disperse_var_R.cpp

– tutorials/V2-1/Disperse/crea_geo (automatically generated files)

*

vspheres.tex

*

vsp_inc.tex

*

various *.geo-files

– tutorials/V2-1/Disperse/angular_distribution

*

simu_PdAu.ses

*

conf.ses

The PENGEOM geometry package implemented in SESSA allows a user to simulate arbitrary

geometries, as long as a geometry file can be created that adequately reproduces the morphology in question. In this section, a simple program for creation of powder-like geometries will be

presented which can be used as input for simulations. The algorithm described in the following is

implemented in C++ in the files disperse_const_R.cpp and disperse_var_R.cpp.

A powder can be viewed as a pile of randomly arranged particles. Therefore, a simple algorithm

to create such a geometry would randomly place a particle within some area and check if the

particle intersects any other particle within an area of ±R. If so, the particle’s z-position would be

adjusted to permit contact but not intersection with other particles. The algorithm implemented for

creating the geometry files is described in the following sections works as follows:

1. Generate a random position within the limits of a pre-defined, square plane.

2. Place a core-shell particle at that position.

3. Check if the particle intersects any other particle that already exists

a) Intersection occurs if dtot < 2 R with R being the radius of the spheres and dtot the

distance between the centers of the spheres. dtot is computed using the Pythagorean

theorem in 3D space:

dtot =

q

d

2

x + d

2

y + d

2

z

where dx, dy and dz are the distances between the sphere centers along the x, y and

z-axes, respectively.

SESSA 118
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

x, y

−z

2 R

dplane

zh

Figure 8.4: Visual representation of the lengths dplane, 2R and zh, which are calculated for creating

PENGEOM geometry files of dispersed powders consisting of core-shell particles.

b) If a particle intersects an existing particle, it is raised by zh =

q

(2R)

2 − d

2

plane, as shown

in figure 8.4. dplane denotes the distance between the particles in the xy plane.

c) Return to step 2 and check if the newly positioned particle intersects any other particle.

The task of generating a PENGEOM file for a significant number of nanoparticles in the dispersed powder including the generation and checking of the random positions is hardly practical

to be done by hand, especially if different cases are to be compared. In this example, therefore,

the PENGEOM file will be generated automatically by a C++ program according to the user’s input

of necessary parameters.

A schematic representation of an exemplary nanostructure of dispersed core-shell particles is

displayed in Fig. 8.5.

8.3.1 Creation of dispersed powder geometries of identical core-shell

particles

• Directory: Disperse/crea_geo

• Files: disperse_const_R.cpp

SESSA 119
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 8.5: Schematic representation of a dispersed powder of core-shell particles. Nanostructures such as these can be generated by the scripts explained within this chapter

Compile the file disperse_const_R.cpp with a standard C++ compiler (g++ disperse_const_R.cpp

-o disperse_const_R). The compiled executable can be run with the following parameters in order to create PENGEOM geometry files representing a dispersed powder of core-shell particles:

• Number of core-shell particles to placed

• Core radius

• Shell thickness

• x periodicity

• y periodicity.

All size parameters are specified in units of Å. The two periodicity parameters correspond to the

bounding box into which the nanoparticles are randomly placed.

In order to create a powder of 100 core-shell particles consisting of a core with a radius of

60 Å and a shell with a thickness of 30 Å (total particle diameter 180 Å) within a 1500 Å × 1500 Å

area, the following command should be run: ./disperse_const_R 100 60 30 1500 1500 . For a

visualization of the geometry resulting from this example see figure 8.6a.

Three different PENGEOM geometry files are written by the executable for the different purposes:

• disperse_constR_periodic.geo with borders suitable for simulation of a periodically recurring, dispersed structure

• disperse_constR_single.geo without borders for simulation of a single structure

• disperse_constR_view.geo without the substrate layer which allows viewing the structure

using the PENGEOM viewer.

The electron starting position and the periodicities in the x and y directions are written to the

very ends of these geometry files, underneath the PENGEOM code. This information is crucial for

the simulation and needs to be supplied manually by the user through the respective fields in the

sample window after choosing PENGEOM as the morphology in the Sample menu. The starting

positions of the electrons are needed since simulations in SESSA are carried out in the trajectory

reversal mode.

The created geometry files can be used as input for SESSA simulations, as described in section

8.1.

SESSA 120
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

8.3.2 Creation of dispersed powder geometries of core-shell particles with

variable structural parameters

• Directory: Disperse/crea_geo

• Files: disperse_var_R.cpp

Real core-shell nanoparticle samples often exhibit significantly broad distributions of core radii

and shell thicknesses as well as eccentric cores. These three variabilities can be incorporated in

the automatically generated PENGEOM files and their influence included in SESSA simulations.

The source code for the simulation of a powder with varying structural parameters is an extension of the algorithm used in section 8.3.1. Instead of identical particles, the core radii and shell

thicknesses as well as eccentric core displacements (eccentricity) follow a normal distribution.

The C++ file used in this example should be compiled analogously, but with C++11-support (e.g.

g++ -std=c++11 disperse_var_R.cpp -o disperse_var_R).

The widths of the distributions can be adapted separately through three extra parameters:

• Number of core-shell particles to place

• Core radius

• Core radius standard deviation

• Shell thickness

• Shell thickness standard deviation

• x periodicity

• y periodicity

• RMS eccentricity (in % of the particle’s shell thickness).

The C++-program automatically makes sure that no core can extend beyond the shell due to the

eccentric core displacement.

Assuming the same values as in the preceding case, for a core-shell particle with core radius

of 60 Å with a standard deviation of 10 Å, a shell with thickness 30 Å with a standard deviation of

10 Å and an RMS eccentricity of 40 %, the following command should be run: ./disperse_var_R

100 60 10 30 10 1500 1500 40 . These parameters were chosen to demonstrate the influence

of such variations. Please use values that are realistic for any specific sample to be analyzed. For

a visualization of the geometry resulting from this example, see figure 8.6b.

The created files are named as follows:

• disperse_varR_periodic.geo with borders suitable for simulation of a periodically recurring,

dispersed structure

• disperse_varR_single.geo without borders for simulation of a single structure

• disperse_vartR_view.geo without the substrate layer which allows viewing the structure

using the PENGEOM viewer.

To reproduce the powder geometry of identical particles as described in section 8.3.1, set the

parameters for the two standard deviations as well as the eccentricity to 0 when executing the

C++ program.

SESSA 121
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

1510

1510

(a) Identical particles.

1510

1510

(b) Variable structural parameters.

Figure 8.6: Visualisation of core-shell nanoparticles using LaTeX and TikZ. The geometries were

generated according to the examples given in sections 8.3.1 (a) and 8.3.2 (b). The

commands used to generate these geometries are: ./disperse_const_R 100 60 30

1500 1500 and ./disperse_var_R 100 60 10 30 10 1500 1500 40, respectively.

8.3.3 Visualization of dispersed powder geometries using LaTeX and

PGF/TikZ

After the creation of a core-shell nanoparticle powder geometry as described above, it is very

useful to visualize them. One way to do this uses LaTeX and the packages PGF and TikZ. The

C++ program used to generate the PENGEOM file described in section 8.3.2 generates two .texfiles:

• vspheres.tex (main file)

• vsp_inc.tex (containing the particle coordinates)

Please compile the main file, vspheres.tex, to obtain a side view representation of the generated powder geometry. Figure 8.6 shows two exemplary visualizations obtained in this way that

correspond to the examples provided in sections 8.3.1 (a) and 8.3.2 (b).

The package TikZ is not included by default in standard TeX distributions, but will be found by

automatic package installation functions. For further instructions on the use of TikZ, please refer

to the PGF/TikZ documentation [100].

8.3.4 Simulation template for dispersed core-shell nanoparticle geometries

For simulation of dispersed geometries, the following procedure should be adopted:

• Create a set of geometry files as described in the preceding sections and select the periodic

or single file depending on the simulation.

SESSA 122
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

• Create a session file as shown below. A minimal template is located within the Disperse/

folder, named simu_dipserse_template_minimal.ses. Refer to the comments in this template for further advice. Lines starting with  are comments and will not be parsed by SESSA.

• Reading a *.geo file into SESSA also invokes the command \model set single false.

– If the .geo file for a periodic geometry is used, no further action needs to be taken, but

the user must make sure that the single option remains set to false.

– If the .geo file for a single geometry is used, the single option must be set to true

via the command line interface. It is also highly recommended to use the command

\model set nosub true to exclude the substrate from the simulation when using the

single option.

– Doing otherwise in either case causes SESSA to freeze or crash.

The following template contains a minimal example for simulating a dispersed powder of coreshell nanoparticles using a PENGEOM file generated by the C++ program as explained above.

The template file can be found under Disperse/simu_dipserse_template_minimal.ses

The command \SAMPLE SET THICKNESS 1.236505233060627e+03 LAYER 1 passes on the height

of the geometry to SESSA. This very critical parameter is generally not known before the automatic generation of the powder geometry. However, it must be set correctly for a successful

SESSA simulation. It is therefore recommended to copy the exact value from the end of the automatically generated .geo file. The value set in the template corresponds to the geometry for the

example presented in section 8.3.1.

-- Start with an empty project according to the

-- initialization file (bin/SESSA_ini.ses)

\PROJECT RESET

---------------------------------------------------------------------------------

-- Load the PENGEOM file, specify absolute path or relative path from the

-- location of this .ses file

\SAMPLE MORPHOLOGY SET PENELOPE "crea_geo/disperse_varR_periodic.geo"

-- add two layers above the substrate

\SAMPLE ADD LAYER /Si1.0/ THICKNESS 5 ABOVE 0

\SAMPLE ADD LAYER /Si1.0/ THICKNESS 5 ABOVE 0

-- Set materials as needed in the following order:

-- LAYER 1 = Shell material

-- LAYER 2 = Core material

-- LAYER 3 = Substrate material

\SAMPLE SET MATERIAL Ag LAYER 1

\SAMPLE SET MATERIAL Au LAYER 2

\SAMPLE SET MATERIAL Si LAYER 3

-- Specify the dimensions of the defined nanostructure

-- Set the x and y periodicities and the height to

SESSA 123
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

-- match the periodicitiy and height of the geometry

\SAMPLE MORPHOLOGY SET X_PERIOD 1500

\SAMPLE MORPHOLOGY SET Y_PERIOD 1500

-- Set the height of the sample as the electron starting height

-- The exact height can be read out from the end of the

-- automatically generated .geo-file and should be copied directly

\SAMPLE SET THICKNESS 1.236505233060627e+03 LAYER 1

---------------------------------------------------------------------------------

-- Delete all unnecessary peaks in the "peaks" pane, so that

-- only the desired core and shell peaks are simulated

-- In this case, delete all substrate peaks (Si 2s, Si 2p1/2, Si 2p3/2)

\SAMPLE PEAK DELETE PEAK 3

\SAMPLE PEAK DELETE PEAK 2

\SAMPLE PEAK DELETE PEAK 1

---------------------------------------------------------------------------------

-- Specify parameters for the simulation

-- Convergence factor, default is 1e-2,

-- 1e-4 or lower is recommended for nanoparticle powders

\MODEL SET CONVERGENCE 1.000e-04

-- Switch straight line approximation on or off, default is off/false

\MODEL SET SLA false

-- Specify number of collisons that are simulated along the trajectories,

-- default is auto, choose 0 if only main peak intensities are of interest

-- and background can be discarded

--\MODEL SET NCOL 0 REGION 1 (no inelastic background)

--\MODEL AUTO NCOL REGION 1 (auto, default)

---------------------------------------------------------------------------------

-- Run the simulation automatically (optional)

\MODEL SIMULATE

---------------------------------------------------------------------------------

8.3.5 Simulation of the angular distribution of photoelectrons from a

dispersed powder of core-shell particles

The directory angular_distribution contains a SESSA session file which can be loaded and

will run simulations of seven different dispersed powders consisting of identical Pd@Au core-shell

SESSA 124
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

particles with 2 nm radius and a shell thickness of 1.5 nm. With the default settings of the template,

the simulations are performed with the straight line approximation. Employing the straight line

approximation significantly decreases the simulation time, which can range up to tens of minutes,

depending on the predefined convergence criterion.

The subfolder geometry_files contains seven geometry files, created by running the program

described in section 8.3.1 for creating dispersed powders of core-shell particles with identical

geometry. The filenames of the geometry files correspond to the heights of the nanostructures.

1. Start SESSA

2. Load the session file simu_PdAu.ses. SESSA will perform simulations for each geometry file

located under geometry_files.

3. For every geometry, a result file is saved under output/ containing the intensities for the

core and shell material for each geometry file.

4. Navigate to the folder gnuplot_files/ and call plot.gp from gnuplot or directly via the

command gnuplot plot.gp. The generated file pow_const_R.pdf can now be viewed.

Figure 8.7 shows the peak-intenstity ratio for the Au4f7/2 and Pd3d5/2 peaks, corresponding to

the shell-to-core intensity ratio for each geometry file as a function of the electron emission angle

relative to the surface normal of the substrate. It can easily be seen that the mean peak-intensity

ratio emerging from dispersed powders of core-shell particles is equivalent to the peak-intensity

ratio of a single sphere [101]. Figure 8.7a shows the results of the simulations as defined in the

template, using the straight line approximation and a convergence factor of 10−3. Figure 8.7b

shows the simulation results without the straight line approximation and using a stricter convergence factor of 10−4

, leading to a computation time that is more than 10x longer. It should be

noted that the main difference between the results in Figs. 8.7(a) and 8.7(b) is due to the effects

of elastic scattering that were considered in the results of Fig. 8.7(b) and ignored in Fig. 8.7(a).

As can be seen by comparing both graphs, the use of the straight line approximation has a

significant influence on the shell/core ratio. The noise is reduced by using a stricter convergence

criterion. Some residual noise and the slight difference of the average intensity ratios between the

powders is likely a result of slight anisotropies in the powder geometries resulting from the periodic

repetition of a comparatively small nanostructure. This can be further reduced at the further cost

of computation time by creating powder geometries with larger repetition units. However, in both

cases, the lack of a systematic angular dependence is demonstrated.

SESSA 125
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

 0

 5

 10

 15

 20

 25

 30

 0 10 20 30 40 50 60 70 80 90

Shell/Core Intensity Ratio

Emission angle θ

Powder 1

Powder 2

Powder 3

Powder 4

Powder 5

Powder 6

Powder 7

(a) With straight line approximation, convergence 10−3.

 0

 5

 10

 15

 20

 25

 30

 0 10 20 30 40 50 60 70 80 90

Shell/Core Intensity Ratio

Emission angle θ

Powder 1

Powder 2

Powder 3

Powder 4

Powder 5

Powder 6

Powder 7

(b) Without straight line approximation, convergence 10−4

Figure 8.7: Shell/core intensity ratio of a dispersed powder consisting of Pd/Au core-shell particles with 2 nm core radius and a shell thickness of 1.5 nm as a function of the electron emission angle relative to the surface normal of the substrate. The Au4f7/2 and

Pd3d5/2 peaks were used to calculate the intensity ratio. The average intensity ratio is

equivalent to the intensity ratio obtained from a single core-shell particle of the same

dimensions and material composition, as shown in [101].

(a): Results according to the template, straight line approximation, convergence 10−3.

(b): Results without straight line approximation, convergence 10−4, computation time

more than 10x longer.

SESSA 126
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

8.4 Guidelines for creating PENGEOM geometries

• Purpose: Acquaintance with the limiting body templates defining the simulation volume

• Directory:

– tutorials/V2-1/Various/limiting_bodies

• Files:

– 500.geo

– 600.geo

For an extensive description on how to create PENGEOM geometries, please refer to the PENGEOM documentation [50]. The following guildelines should be followed to assure that the geometry file meets all requirements for a successful simulation. The morphologies defined by

PENGEOM geometry files consist of two essentially separate parts, i.e., the actual representation

of the nanostructure and a limiting body.

SESSA enables the user to simulate single and periodic nanostructures that can be loaded into

SESSA with the command \SAMPLE MORPHOLOGY SET PENELOPE <string>. By default, a periodic

nanostructure is assumed and the command \model set single false is executed automatically. This must not be changed when a periodic geometry is loaded into SESSA, but \model

set single true must be used if a single geometry is loaded. The single option disables the

periodic boundary conditions, so that a single nanostructure located on a semi-infinite substrate

is simulated instead of a periodic arrangement of the nanostructure. This distinction must also be

made in the PENGEOM file as will be described in the following.

For periodic morphologies, the limiting body surrounds an area having the dimensions of the x

and y period, whereas in the case of a non-periodic single structure the limiting body encloses an

area ranging from −7 × 106 Å to +7 × 106 Å in the x and y directions.

For simulations employing the single option or the standard setting of a periodically repeating

structure, different limiting bodies have to be defined. The limiting body materials for the single

and periodic cases have to be specified by assigning the numbers 600 and 500 to the material of

the body, respectively.

• Orientation and positioning of the geometry

– The substrate surface normal must point towards the negative z-axis

– The outward substrate is to be positioned at x = y = z = 0 with the x and y dimensions

extending in the respective positive directions and z pointing towards the negative z

axis. Thus, the main volume of the substrate is located in the (+, +, +)-octant in Euclidean 3D space with the surface normal pointing towards the negative z-axis.

The following two sections can be used as templates to define arbitrary nanostructures with

correctly defined limiting bodies. They can both be easily obtained by running a simulation of

a planar substrate and inspecting the file bin/geometry.geo in the SESSA installation directory.

Also, the files 600.geo and 500.geo discussed below can be found in the folder geometry_files.

In order to gain a deeper understanding of how to correctly define nanostructures in SESSA,

the user is advised to run simulations of the different preimplemented morphologies using the GUI

and inspect the resulting geometry files bin/geometry.geo.

It is important to note that the PENGEOM syntax requires lengths of numbers and other parts

of the code to be constant by adding spaces and zeros. This is necessary for the correct parsing

of the .geo files by PENGEOM and should not be changed by the user.

SESSA 127
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Limiting bodies for a single nanostructure on a semi-infinite substrate

To simulate a single nanostructure the following command has to be issued before the simulation,

which deactivates the periodic boundary conditions: \SAMPLE MORPHOLOGY SET PENELOPE (see

chapter 4.4.3). By means of this command, the simulation is performed on a single nanostructure

located on a semi-infinite substrate.

The beginning of a valid geometry file defining an infinite substrate upon which any structure

can be placed should look as follows and can be found in the template file 600.geo

000000000000000000000000000000000000000000000000

SURFACE*( 1)

INDICES=( 0, 0, 0, 1, 0)

Z-SHIFT=( 0.000000000000000e+00)

000000000000000000000000000000000000000000000000

SURFACE*( 2)

INDICES=( 0, 0, 0, 1, 0)

THETA=( 9.000000000000000E+01, 0) DEG

X-SHIFT=( 7.000000100000000E+06, 0)

000000000000000000000000000000000000000000000000

SURFACE*( 3)

INDICES=( 0, 0, 0, 1, 0)

THETA=(-9.000000000000000E+01, 0) DEG

X-SHIFT=(-7.000000100000000E+06, 0)

000000000000000000000000000000000000000000000000

SURFACE*( 4)

INDICES=( 0, 0, 0, 1, 0)

THETA=( 9.000000000000000E+01, 0) DEG

PHI=( 9.000000000000000E+01, 0) DEG

Y-SHIFT=( 7.000000100000000E+06, 0)

000000000000000000000000000000000000000000000000

SURFACE*( 5)

INDICES=( 0, 0, 0, 1, 0)

THETA=( 9.000000000000000E+01, 0) DEG

PHI=(-9.000000000000000E+01, 0) DEG

Y-SHIFT=(-7.000000100000000E+06, 0)

000000000000000000000000000000000000000000000000

SURFACE*( 6)

INDICES=( 0, 0, 0, 1, 0)

THETA=( 1.800000000000000E+02, 0) DEG

Z-SHIFT=(-1.000000000000000E+02, 0)

000000000000000000000000000000000000000000000000

BODY ( 1)

MATERIAL( 600)

SURFACE ( 2), SIDE POINTER=( 1)

000000000000000000000000000000000000000000000000

BODY ( 2)

MATERIAL( 600)

SURFACE ( 3), SIDE POINTER=( 1)

SESSA 128
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

000000000000000000000000000000000000000000000000

BODY ( 3)

MATERIAL( 600)

SURFACE ( 4), SIDE POINTER=( 1)

000000000000000000000000000000000000000000000000

BODY ( 4)

MATERIAL( 600)

SURFACE ( 5), SIDE POINTER=( 1)

000000000000000000000000000000000000000000000000

BODY ( 5)

MATERIAL( 600)

SURFACE ( 6), SIDE POINTER=( 1)

000000000000000000000000000000000000000000000000

BODY ( 6)

MATERIAL( 3)

SURFACE ( 1), SIDE POINTER=( 1)

SURFACE ( 2), SIDE POINTER=(-1)

SURFACE ( 3), SIDE POINTER=(-1)

SURFACE ( 4), SIDE POINTER=(-1)

SURFACE ( 5), SIDE POINTER=(-1)

SURFACE ( 6), SIDE POINTER=(-1)

000000000000000000000000000000000000000000000000

END 0000000000000000000000000000000000000000

The top view of the nanostructure defined by the above file is shown in Figure 8.8. The limiting

body in this visualization is given by the circular, purple area surrounding the blue substrate. Correspondingly, the limiting body is defined by MODULE ( N), with N = 1...5. The last module,

with the specified material “3” corresponds to the substrate, shown in blue in Figure 8.8. Modules

1-4 limit the substrate area in the xy plane while module 5 limits the vacuum above the substrate

area in the negative z direction.

As pointed out in the above file, the z-shift of surface 6 can be set to a user-defined value. This

surface comprises the “capstone” of the morphology and thus needs to be set to a value larger

than the maximum z value of the nanostructure.

The substrate, module 6, spans x, y and z directions up to the numerical limits of PENGEOM.

Figure 8.8 shows the top view of the geometry within the limiting sphere which constitutes the

numerical limit of the geometry as imposed by PENGEOM.

Limiting bodies for periodic nanostructures on semi-infinite substrates

If a standard, periodic structure is to be simulated, the limiting bodies need to be placed in a way

that they limit the unit cell at x = −ε, y = −ε, x = xperiod + ε and y = yperiod + ε with ε ≈ 10−4 Å.

The reason for adding ε stems from the fact, that during the simulation, SESSA will randomly

position electrons within a range from 0 to xperiod. To avoid ambiguities in the border region of the

geometry, the unit cell has to be expanded. However, within SESSA, the original values of xperiod

and yperiod should be used as input for the respective x and y period parameters.

A template for the simulation of a periodic nanostructure on a semi-infinite planar substrate with

correctly defined limiting bodies is provided below and can be found in the template file 500.geo.

SESSA 129
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 8.8: View of the xy plane at height z = 0 of the limiting body 600 for geometries with

the single option. The substrate ranges from −7 × 106 Å to +7 × 106 Å in the x and

y directions. The limiting body with the material specifier 600 is depicted in purple,

while the substrate is depicted in blue. The circular shape of the circumference of the

limiting body is given due to the nature of the PENGEOM implementation.

Again, the height of the nanostructure is to be set within the definition of surface 6, which for the

given example can be set to −0.1.

000000000000000000000000000000000000000000000000

SURFACE*( 1)

INDICES=( 0, 0, 0, 1, 0)

Z-SHIFT=( 0.000000000000000E+00, 0)

000000000000000000000000000000000000000000000000

SURFACE*( 2)

INDICES=( 0, 0, 0, 1, 0)

THETA=( 9.000000000000000E+01, 0) DEG

X-SHIFT=( 1.000000100000000E+02, 0)

000000000000000000000000000000000000000000000000

SURFACE*( 3)

INDICES=( 0, 0, 0, 1, 0)

THETA=(-9.000000000000000E+01, 0) DEG

X-SHIFT=(-0.000000100000000E+00, 0)

000000000000000000000000000000000000000000000000

SURFACE*( 4)

INDICES=( 0, 0, 0, 1, 0)

THETA=( 9.000000000000000E+01, 0) DEG

PHI=( 9.000000000000000E+01, 0) DEG

Y-SHIFT=( 1.000000100000000E+02, 0)

000000000000000000000000000000000000000000000000

SURFACE*( 5)

INDICES=( 0, 0, 0, 1, 0)

THETA=( 9.000000000000000E+01, 0) DEG

PHI=(-9.000000000000000E+01, 0) DEG

Y-SHIFT=(-0.000000100000000E+02, 0)

SESSA 130
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

000000000000000000000000000000000000000000000000

SURFACE*( 6)

INDICES=( 0, 0, 0, 1, 0)

THETA=( 1.800000000000000E+02, 0) DEG

Z-SHIFT=(-1.000000000000000E+02, 0)

000000000000000000000000000000000000000000000000

BODY ( 1)

MATERIAL( 500)

SURFACE ( 2), SIDE POINTER=( 1)

000000000000000000000000000000000000000000000000

BODY ( 2)

MATERIAL( 500)

SURFACE ( 3), SIDE POINTER=( 1)

000000000000000000000000000000000000000000000000

BODY ( 3)

MATERIAL( 500)

SURFACE ( 4), SIDE POINTER=( 1)

000000000000000000000000000000000000000000000000

BODY ( 4)

MATERIAL( 500)

SURFACE ( 5), SIDE POINTER=( 1)

000000000000000000000000000000000000000000000000

BODY ( 5)

MATERIAL( 500)

SURFACE ( 6), SIDE POINTER=( 1)

000000000000000000000000000000000000000000000000

BODY ( 6)

MATERIAL( 3)

SURFACE ( 1), SIDE POINTER=( 1)

SURFACE ( 2), SIDE POINTER=(-1)

SURFACE ( 3), SIDE POINTER=(-1)

SURFACE ( 4), SIDE POINTER=(-1)

SURFACE ( 5), SIDE POINTER=(-1)

SURFACE ( 6), SIDE POINTER=(-1)

000000000000000000000000000000000000000000000000

END 0000000000000000000000000000000000000000

Figure 8.9 shows the profile of the defined nanostructure along the xz plane at y = 0. The

limiting body (yellow), surrounds the vacuum (black) as well as the substrate (blue). The substrate

is located at z = 0 and extends towards the positive z axis. The "height" of the nanostructure, that

could be placed in the vacuum between the substrate and the limiting body, can be adapted by

setting the z-shift parameter of surface 6 in the above geometry file.

As stated in section 8.1, the number for each material used in the external geometry file has to

be set manually within the sample menu in SESSA by adding or removing layers. The numbering

of each of the materials has to be in accord with the numbering system in SESSA.

SESSA 131
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

Figure 8.9: View of the xz plane at y = 0 of the limiting body 500 for simulation of periodic structures. The yellow area depicts the limiting body, which surrounds the substrate material (blue area) and vacuum (black). As shown, the substrate spans from z = 0 along

the positive z axis. If in the course of a simulation of a periodic structure, an electron

crosses the substrate-limiting body interface, it is repositioned at the opposite interface

and the trajectory is continued.

SESSA 132
9 Calling SESSA from an external

application

A special and important feature of SESSA is that it can not only be operated interactively as a

stand-alone program, but that it can also be run from within an external application. This external

application could be a simple program, written by a SESSA user in which a certain parameter

such as the thickness of a given layer in a specimen is varied over a certain range in order to

compare measured and simulated spectra as a function of layer thickness. The external software

could also be more complex software such as a non-linear least-squares fitting program that

automatically optimizes the structural parameters of a specimen so that the final result of a series

of SESSA simulations optimally matches experimental data. That is, a user could retrieve the

optimal specimen structure by means of an inverse modeling approach in which SESSA provides

the simulation core. An external application can thus harness the full potential of SESSA, for an

arbitrary application, in a simple way, as explained below. This feature of SESSA was introduced

in Version 1.3.

The communication of an external program with the SESSA software is implemented via the

so-called piping mechanism. This method implies that the external software actually invokes the

SESSA software and subsequently passes commands to SESSA by writing a string of characters

to a file-handle that was opened for this purpose. In addition, feedback from SESSA can be

read from the same filehandle. This mechanism is what is generally referred to as “piping”. The

commands that are passed to SESSA via the piping mechanism are identical to the SESSA CLIcommands that are explained in this Users’ Guide. For the external software to access results of

SESSA simulations or database operations, one needs to tell SESSA to write the corresponding

information to a file, open the corresponding file, and read the relevant information from within

the external software. This procedure is explained in the sample programs SESSA_LINUX.c in

listing 9.1 (for the Linux or MacIntosh OSX operating system) and SESSA_WINDOWS.c in listing

9.3 (for the Windows operating system). These programs are also included in digital form with the

SESSA software in the folder “External software”. These sample programs are intended to guide

a user in applying this special feature of SESSA. They can also be used as a first building block to

incorporate the functionality of SESSA in any software for quantification of electron spectra. Note

that the names of files and directories that are used in these sample programs will need to be

changed according to the user’s installation of SESSA in order for these programs to run.

While the mechanism of calling SESSA from an external application, as explained above, is

completely analogous on the Windows and Linux or MacIntosh OSX operating systems, it is

simpler on the latter and therefore the various required steps in the file SESSA_LINUX.c in listing

9.1 will be described first.

9.1 The Program SESSA_LINUX.c

In section “//1.)”, #include statements and variable declarations for the sample program are

given. The filepointer named fp is declared to serve as the pipe through which commands are

133
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

relayed to SESSA.

In section “//2.)”, the pipe is opened, i.e., the SESSA software is invoked and each string

of characters written to the filepointer fp at any later time via a call to fprintf(fp), SESSA

CLI-command will be interpreted by SESSA as if a command had been interactively made on

the SESSA CLI console. Note that the first argument of the popen command should contain the

full directory path and filename of the SESSA executable as it is installed on the user’s computer.

The option ‘-c’ must be added to indicate that SESSA is to be run in the console mode. A user

may verify the correct value of the path and filename by opening a shell in Linux or MacIntosh

OSX, and typing the path and filename of the SESSA-executable with the ‘-c’ option appended,

and SESSA should start and run in the console mode and will accept the CLI commands issued

by the user in the shell.

Commands for the control of SESSA can be written as appropriate strings of characters to the

filepointer fp using the fprintf statement as exemplified in Section “//3.)”. These commands are

issued within the external program and passed to SESSA after the popen statement of Section

“//2.)”. Note that the buffer of the filepointer needs to be flushed using a fflush(fp) statement

after each SESSA CLI command in order for the command to be actually processed. In the

sample program, SESSA is reset to its default conditions by the first command, the material is

then set to SiO2, the number of collisions in the simulation is set to 10, and the simulation is

performed by the following command. The subsequent three commands make SESSA write the

desired output to a file, which is then opened for further processing in Section “//4.)” The last CLI

command deactivates SESSA.

In Section “//4.)”, one of the files produced by the software, as discussed above, is opened

and the partial intensities of the Si 2p peak are read by the external software. In the simple

example program, these partial intensities are finally written to the screen, thereby demonstrating

the means of bidirectional communication between SESSA and the external application.

Listing 9.1: Illustrative program for calling SESSA from an external application using the Linux or

OSX operating systems.

1 / / C a l l i n g SESSA from an externa l a p p l i c a t i o n on LINUX or OSX operating systems

3 / / 1 . ) Variable d e c l a r a t i o n s

# include < s t d i o . h>

5 # include < s t d l i b . h>

# include <math . h>

7 main ( ) {

double x , y ; i n t k ; char c [ 1 0 0 ] ;

9 FILE *fp ;

11 / / 2 . ) a c t i v a t e SESSA

i f ( ( fp=popen ( " / A p p l i c a t i o n s /SESSA\ \ v1 . 3 . app / Contents /MacOS/SESSA\ \ v1 .3 −c " , "w

" ) ) == NULL)

13 { perror ( " popen " ) ; e x i t ( 1 ) ; }

15 / / 3 . ) Now pipe commands to SESSA j u s t as you would i n the SESSA CLI

f p r i n t f ( fp , "PROJECT RESET\ n " ) ;

17 f f l u s h ( fp ) ;

f p r i n t f ( fp , "SAMPLE SET MATERIAL / Si /O2/ LAYER 1\ n " ) ;

19 f f l u s h ( fp ) ;

f p r i n t f ( fp , "MODEL SET NCOL 10 REGION 1\ n " ) ;

21 f f l u s h ( fp ) ;

f p r i n t f ( fp , "MODEL SIMULATE\ n " ) ;

23 f f l u s h ( fp ) ;

f p r i n t f ( fp , "PROJECT SAVE OUTPUT \ " / Users / werner / Desktop / t e s t s e s s a l i n u x / output /

SESSA 134
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

t e s t \ " \ n " ) ;

25 f f l u s h ( fp ) ;

f p r i n t f ( fp , "SAMPLE PEAK PLOT PART_INT PEAK 1\ n " ) ;

27 f f l u s h ( fp ) ;

f p r i n t f ( fp , "PLOT SAVE DATA \ " / Users / werner / Desktop / t e s t s e s s a l i n u x / output / Si2p . cn

\ " \ n " ) ;

29 f f l u s h ( fp ) ;

f p r i n t f ( fp , " q u i t \ n " ) ;

31 f f l u s h ( fp ) ;

pclose ( fp ) ;

33

/ / 4 . ) Now we can open the output SESSA has produced f o r f u r t h e r analysis

35 fp=fopen ( " / Users / werner / Desktop / t e s t s e s s a l i n u x / output / Si2p . cn " , " r " ) ;

i f ( fp==NULL) {

37 p r i n t f ( " Error : can ’ t open f i l e . \ n " ) ; }

else { k =0;

39 p r i n t f ( " F i r s t p a r t i a l i n t e n s i t i e s : \ n " ) ;

while ( f g et s ( c ,100 , fp ) !=NULL) {

41 i f ( c [0]== ’ # ’ )

continue ;

43 fscanf ( fp , "%l e %l e " ,&x ,&y ) ;

i f ( k >1) { p r i n t f ( "%l e %l e \ n " , x , y ) ; }

45 k++;

}

47 }

}

9.2 The Program SESSA_Python.py

The following Python code was written and executed with typical syntax used in Python 3.10.6

operated on Linux. It follows directly the command structure presented in section 9.1. In section 1)

we use import subprocess which opens a pipe similar as shown in section 9.1 through which we

can send commands to SESSA. Furthermore, we define variables which will be used in section

4). In section 2) of the code, the SESSA software is invoked where -c ensures that SESSA

starts in pipemode i.e. SESSA reads commands from standard input instead of the commandline interface. Setting stdin and stdout to subprocess.PIPE it is possible to communicate with

SESSA process through the standard input and output streams. In section 3) a series of SESSA

commands is written as bytes using the stdin.write() method. stdin.flush() methods ensures

that the command is sent immediately and is not buffered. In section 4) the output file 'Si2p.cn'

is read and its contents are printed line by line. The output is a list of partial intensities for the first

peak of the simulation.

Listing 9.2: Illustrative program for calling SESSA from an external application using the Python

3.10.6

/ / # C a l l i n g SESSA from an externa l a p p l i c a t i o n on Linux using Python 3.10.6

2 import subprocess

4 / / #Section 1)

# Variable d e c l a r a t i o n s

6 x = 0.0

y = 0.0

8 k = 0

c = " "

SESSA 135
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

10

/ / #Section 2)

12 # a c t i v a t e SESSA

p = subprocess . Popen ( [ ’ /PATH/TO/YOUR/SESSA/ i n s t a l l / bin / sessa ’ , ’−c ’ ] , s t d i n =

subprocess . PIPE , stdout=subprocess . PIPE )

14

/ / #Section 3)

16 # Now pipe commands to SESSA j u s t as you would i n the SESSA CLI

p . s t d i n . w r i t e ( b "PROJECT RESET\ n " )

18 p . s t d i n . f l u s h ( )

p . s t d i n . w r i t e ( b "SAMPLE SET MATERIAL / Si /O2/ LAYER 1\ n " )

20 p . s t d i n . f l u s h ( )

p . s t d i n . w r i t e ( b "MODEL SET NCOL 10 REGION 1\ n " )

22 p . s t d i n . f l u s h ( )

p . s t d i n . w r i t e ( b "MODEL SIMULATE\ n " )

24 p . s t d i n . f l u s h ( )

p . s t d i n . w r i t e ( b "PROJECT SAVE OUTPUT \ " / PATH/TO/YOUR/OUTPUT/ s i o 2 _ t e s t / \ " \ n " )

26 p . s t d i n . f l u s h ( )

p . s t d i n . w r i t e ( b "SAMPLE PEAK PLOT PART_INT PEAK 1\ n " )

28 p . s t d i n . f l u s h ( )

p . s t d i n . w r i t e ( b "PLOT SAVE DATA \ " / PATH/TO/YOUR/OUTPUT/ s i o 2 _ t e s t / Si2p . cn \ " \ n " )

30 p . s t d i n . f l u s h ( )

p . s t d i n . w r i t e ( b " q u i t \ n " )

32 p . s t d i n . f l u s h ( )

p . wait ( )

34

/ / #Section 4)

36 # Now we can open the output SESSA has produced f o r f u r t h e r analysis

with open ( " /PATH/TO/YOUR/OUTPUT/ Si2p . cn " , " r " ) as fp :

38 i f fp i s None :

p r i n t ( " Error : can ’ t open f i l e . " )

40 else :

p r i n t ( " F i r s t p a r t i a l i n t e n s i t i e s : " )

42 f o r l i n e i n fp :

i f l i n e [ 0 ] == ’ # ’ :

44 continue

data = l i n e . s p l i t ( )

46 x = f l o a t ( data [ 0 ] )

y = f l o a t ( data [ 1 ] )

48 i f k > 1:

p r i n t ( " { : . 2 e } { : . 2 e } " . format ( x , y ) )

50 k += 1

9.3 The Program SESSA_WINDOWS.c

The mechanism for external calling of SESSA with the Windows operating system is analogous

to that described in section 9.1. The only essential difference is that SESSA needs to be invoked

from the command line within Windows before the external application is launched. After issuing

one of the following the commands on a Windows terminal console:

> SESSA -p

or

> SESSA -c

SESSA starts in the pipemode. SESSA then runs in the background without opening windows

for the graphical user interface or any other action noticeable by the user. In this mode, SESSA

SESSA 136
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

has opened a so-called named pipe identified by “\ \.\pipe\SessaPipe through which it expects

valid SESSA CLI commands at a later time.

In the sample program SESSA_WINDOWS.c in listing 9.3, the Section marked “//1.)” provides

the include statements and variable declarations used within the sample program. In the Sections

“//F1.)” and “//F2.)”, the functions WriteToPipe and WaitForCommand are declared that are used

to relay commands and flush the buffer. These functions are equivalent to the fprintf and fflush

commands shown in Section “//3.)” of listing 9.1.

The file–pointer named hFile is declared in Section “//2.)” with the CreateFile command as

the pipe through which desired CLI commands are relayed to SESSA from the external program.

This is done by opening a channel to the named pipe “\ \.\pipe\SessaPipe that was established

previously when SESSA was started with the ‘-p’ or ‘-c’ option. All further communications from

the external program to SESSA can then proceed by writing a string of characters corresponding

to one or more valid SESSA CLI commands to this named pipe. The communications in the

opposite direction, i.e., from SESSA to the external program, again proceed via the output files

produced by SESSA, as in the case described in the previous section.

Listing 9.3: Illustrative program for calling SESSA from an external application using the Windows

operating system.

/ /SESSA_WINDOWS. c / C a l l i n g SESSA on the Windows operating system

2

/ / 1 . ) Variable Declarations

4 # include <windows . h>

# include < s t d i o . h>

6 # define BUFSIZE 1024

HANDLE h F i le ;

8 char b u f f e r [ BUFSIZE ] ;

10 / / F1 . ) Function to a c t u a l l y r e l a y a command to SESSA

void WriteToPipe ( char

* message )

12 {

DWORD dwWrite ;

14 BOOL success ;

p r i n t f ( " Sending message %s to pipe \ n " , message ) ;

16 strcpy ( buffer , message ) ;

s t r c a t ( buffer , " \ n " ) ;

18 success = W r i t e F i l e ( hFile , buffer , s t r l e n ( b u f f e r ) , &dwWrite , NULL) ;

i f ( ! success ) {

20 p r i n t f ( " W r i t e F i l e to pipe f a i l e d (%s , GLE=%d ) \ n " , message , GetLastError ( ) ) ;

e x i t ( −1) ;

22 }

}

24

/ / F2 . ) Clear Buffer and wait

26 void WaitForCommand ( )

{

28 BOOL success , f i n i s h e d ;

DWORD cbRead ;

30 do {

success = ReadFile ( hFile , / / pipe handle

32 buffer , / / b u f f e r to receive r ep l y

BUFSIZE , / / size of b u f f e r

34 &cbRead , / / number of bytes read

NULL) ; / / not overlapped

36 i f ( ! success && GetLastError ( ) !=ERROR_MORE_DATA)

break ;

SESSA 137
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

38 b u f f e r [ cbRead ] = ’ \0 ’ ;

p r i n t f ( "Sessa : %s " , b u f f e r ) ;

40 f i n i s h e d = s t r s t r ( buffer , "Done" ) !=NULL;

} while ( ! success | | ! f i n i s h e d ) ; / / repeat loop i f ERROR_MORE_DATA

42 }

44 i n t main ( )

{ FILE*fp ;

46

/ / 2 . ) Open the pipe to SESSA

48 h F i le = CreateFile ( " \ \ \ \ . \ \ pipe \ \ SessaPipe " ,

GENERIC_WRITE | GENERIC_READ,

50 0 ,

NULL,

52 OPEN_EXISTING,

0 ,

54 NULL) ;

i f ( hF i l e == INVALID_HANDLE_VALUE) {

56 p r i n t f ( " CreateFile f a i l e d f o r Named Pipe c l i e n t \ n " ) ;

e x i t ( −1) ; }

58

/ / 3 . ) Pass CLI commands to SESSA

60 WriteToPipe ( "PROJECT RESET" ) ;

WaitForCommand ( ) ;

62 WriteToPipe ( "SAMPLE SET MATERIAL / Si /O2/ LAYER 1 " ) ; WaitForCommand ( ) ;

WriteToPipe ( "MODEL SIMULATE" ) ;

64 WaitForCommand ( ) ;

WriteToPipe ( "SAMPLE PEAK PLOT PART_INT PEAK 1 " ) ; WaitForCommand ( ) ;

66 WriteToPipe ( "PLOT SAVE DATA \ "C : \ \ Temp \ \ Si2s . t x t \ " " ) ; WaitForCommand ( ) ;

WriteToPipe ( "QUIT" ) ;

68 WaitForCommand ( ) ;

CloseHandle ( h F il e ) ;

70

/ / 4 . ) Open the SESSA output f o r f u r t h e r analysis

72 fp = fopen ( "C : \ \ Temp \ \ Si2s . t x t " , " r " ) ;

i f ( fp==NULL) {

74 puts ( " Error : cannot open data f i l e . " ) ;

e x i t ( −1) ;

76 } else {

puts ( " Showing p a r t i a l i n t e n s i t i e s f o r the Si2s peak " ) ;

78 puts ( " n \ t \ tC_n " ) ;

while ( f g et s ( buffer , BUFSIZE , fp ) !=NULL) {

80 double x , y ;

i f ( b u f f e r [0]== ’ # ’ )

82 continue ;

fscanf ( fp , "%l e %l e " , &x , &y ) ;

84 p r i n t f ( "%l e \ t%l e \ n " , x , y ) ;

}

86 f c l o s e ( fp ) ;

}

88 }

In Section “//3.)”, CLI commands are sent to SESSA for processing through the named pipe

using the WriteToPipe function in conjunction with the WaitForCommand function that clears the

buffer. As in the example program of listing 9.1, a simulation is setup and run for SiO2 and, in the

present case, the partial intensities for the Si 2s peak are written to a file which is then read in

section “//4.)”. These partial intensities are again printed on the screen, thereby demonstrating

SESSA 138
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

the mechanism for bidirectional communication between SESSA and the external program.

SESSA 139
10 Getting Help and additional information

10.1 Getting Help

Online help is provided by SESSA in the GUI and in the CLI. In the GUI, selecting "Help" in the

main menu and then selecting “SESSA help” invokes Adobe Acrobat (Reader) or other software to

display PDF files. The present manual will then be displayed on screen, together with bookmarks

and thumbnails that facilitate navigation through this documentation.

In the CLI, typing HELP in any scope produces corresponding help messages. This can also

be achieved by opening the command syntax tree in the CLI console by clicking on the button

"Command List" and clicking on the command in the list for which information is desired.

10.2 General Information

The second option in the "Help menu" is the "About Box" and the "disclaimer box". The disclaimer

box displays the message that can also be found on page iii of this manual. The About box provides some general information on the history of SESSA and acknowledges software resources

that were helpful in its development. The latter comprise:

• NetCDF - http://www.unidata.ucar.edu/software/netcdf/

• wxWidgets - http://www.wxwidgets.org/

• Inno Setup http://www.jrsoftware.org/isinfo.php/

• SCITE - http://www.scintilla.org/SciTE.html

• GIT - https://git-scm.com/

• PENELOPE geometry routines (PENGEOM) -

http://www.oecd-nea.org/tools/abstract/detail/nea-1525/

• MinGW Compiler Toolset 3.4.5 - http://www.mingw.org/

• CMake - Cross Platform Make - https://cmake.org/

• GNU Compiler Collection (GCC) - https://gcc.gnu.org/

The authors gratefully acknowledge the use of these resources for the development of SESSA.

140
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

10.3 Known issues

10.3.1 Porting session files between operating systems

A common compatibility issue between operating systems is the format of text files. Particularly,

the different newline characters between Windows and Unix (e.g. Linux or Mac) often have to be

taken care of when using SESSA session files both on Windows and Unix systems. Otherwise,

errors and unpredictable responses of the Software may occur when executing commands from

a session file.

Loading a session file into SESSA on a Unix system that was created with Windows newline

characters will fail. Loading a Unix-encoded session file into SESSA on a Windows system works,

but depending on the text editor in use, the file may be displayed without any line breaks. Under Linux, this can be fixed easily using the commands dos2unix <path/filename> (to convert

from Windows to Unix format) and unix2dos <path/filename> (to convert from Unix to Windows

format).

SESSA 141
11 Survey of applications of SESSA in the

scientific literature

List of Publications illustrating the application of SESSA in various applications. The list

below contains a number of publications in the scientific literature where SESSA has been used to

aid in the quantitative interpretation of XPS data. The list contains those publications the present

authors are aware of at the time of writing and is by no means extensive or complete.

1. Electron beams near surfaces: the concept of partial intensities for surface analysis

and perspective on the low energy regime

W.S.M. Werner

Frontiers in Materials, doi 10.3389/fmats.2023.1202456.

2. Applications of the NIST Database for the Simulation of Electron Spectra for Surface

Analysis (SESSA) for Quantitative X-ray Photoelectron Spectroscopy of Nanostructures,

W. S. M. Werner and C. J. Powell

J. Vac. Sci. Technol. A 39 (2021) 063205.

Practical Guides for X-Ray Photoelectron Spectroscopy (XPS): Initial Questions,

D. R. Baer, K.Artyushkova, C. R.Brundle, J. E.Castle,M. H.Engelhard, K. J.Gaskell, J. T.Grant,

R. T.Haasch, M. R.Linford, C. J.Powell, P. M. A.Sherwood, and V. S.Smentkowski,

J. Vac. Sci. Technol. A 37, 031401 (2019)

3. Effective Attenuation Length Dependence on Photoelectron Kinetic Energy for Gold

from 1 keV to 10 keV: Role of Island Growth in Overlayer Experiments,

C. J. Powell and A.Jablonski,

J. Electron Spectrosc. Relat. Phenom. 236, 27 (2019)

4. Determining the Thickness and Completeness of the Shell of Polymer Core-Shell

Nanoparticles by X-ray Photoelectron Spectroscopy, Secondary Ion Mass Spectrometry, and Transmission Scanning Electron Microscopy,

Anja Müller, Thomas Heinrich, Sven Tougaard, Wolfgang S. M. Werner, Martin Hronek,

Valentin Kunz, Jörg Radnik, Jörg M. Stockmann, Vasile-Dan Hodoroaba, Sigrid Benemann,

Nithiya Nirmalananthan-Budau, Daniel Geißler, Katia Sparnacci, and Wolfgang E. S. Unger,

J. Phys. Chem. C 123 (2019)29765-29775

5. The use of ionic liquids for the determination of the spectrometer transmission function in X-ray photoelectron spectroscopy (XPS),

Markus Holzweber, Andreas Lippitz, Ronald Hesse, Reinhard Denecke, Wolfgang S.M.

Werner, Wolfgang E.S. Unger,

Journal of Electron Spectroscopy and Related Phenomena 213(2019)51-56

6. Comparisons of Analytical Approaches for Determining Shell Thicknesses of CoreShell Nanoparticles by X-ray Photoelectron Spectroscopy,

142
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

C. J. Powell, W. S. M. Werner, H. Kalbe, A. G. Shard, and D. G. Castner,

J. Phys. Chem. C 122(2018)4073-4082

7. Simulated Photoelectron Intensities at the Aqueous Solution-Air Interface for Flat and

Cylindrical (Microjet) Geometries,

G. Olivieri, K. M.Parry, C. J.Powell, D. J.Tobias and M. A.Brown,

Phys. Chem. Chem. Physics 19, 6330 (2017)

8. Quantitative Analysis of Trace Levels of Surface Contamination by X-ray Photoelectron Spectroscopy, Part I: Statistical Uncertainty near the Detection Limit,

S. B. Hill, N. S.Faradzhev, and C. J.Powell,

Surf. Interface Anal. 49, 1187 (2017)

9. Quantitative Analysis of Trace Levels of Surface Contamination by X-ray Photoelectron Spectroscopy, Part II: Systematic Uncertainties and Absolute Quantification,

N. S. Faradzhev, S. B.Hill, and C. J.Powell,

Surf. Interface Anal. 49, 1214 (2017)

10. Quantitative Interpretation of Molecular Dynamics Simulations for X-ray Photoelectron Spectroscopy of Aqueous Solutions,

G. Olivieri, K. M.Parry, C. J.Powell, D. J.Tobias,and M. A. Brown,

J. Chem. Phys. 144, 154704 (2016)

11. Evaluation of Two Methods for Determining Shell Thicknesses of Core-Shell Nanoparticles by X-ray Photoelectron Spectroscopy,

C. J. Powell, W. S. M. Werner, A. G. Shard, and D. G. Castner,

J. Phys. Chem. C 120(2016)22730-22738

12. Correction to "Evaluating the Internal Structure of Core-shell Nanoparticles Using Xray Photoelectron Intensities and Simulated Spectra",

M. Chudzicki, W. S. M. Werner, A. G. Shard, Y.-C. Wang, D. G. Castner, and C. J. Powell,

J. Phys. Chem. C 120(2016)2484

13. Evaluating the Internal Structure of Core-Shell Nanoparticles Using X-ray Photoelectron Intensities and Simulated Spectra,

M. Chudzicki, W. S. M. Werner,* A. G. Shard, Y.-C. Wang, D. G. Castner, and C. J. Powell,

J. Phys. Chem. C, 2015, 119 (31), 17687-17696.

14. Evaluating the Internal Structure of Core-shell Nanoparticles Using X-ray Photoelectron Intensities and Simulated Spectra,

M. Chudzicki, W. S. M. Werner, A. G. Shard, Y.-C. Wang, D. G. Castner, and C. J. Powell,

J. Phys. Chem. C 2015, 119, 17687

15. Interpretation of nanoparticle X-ray photoelectron intensities,

Wolfgang S. M. Werner, Maksymillian Chudzicki, Werner Smekal, and Cedric J. Powell,

Applied Physics Letters 104(2014)243106;

16. Sample-morphology effects on x-ray photoelectron peak intensities. II. Estimation of

detection limits for thin-film materials,

Cedric J. Powell, Wolfgang S. M. Werner and Werner Smekal,

J. Vac. Sci. Technol. A 32(5),050603 (2014)

SESSA 143
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

17. Sample-morphology effects on x-ray photoelectron peak intensities,

Cedric J. Powell, Sven Tougaard, Wolfgang S. M. Werner and Werner Smekal,

J. Vac. Sci. Technol. A 31(2),021402 (2013)

18. Simulation of Electron Spectra for Surface Analysis (SESSA)for quantitative interpretation of (hard) X-ray photoelectron spectra(HAXPES),

Wolfgang S.M. Werner, Werner Smekal, Thomas Hisch, Julia Himmelsbach, Cedric J. Powell,

Journal of Electron Spectroscopy and Related Phenomena 190 (2013) 137-143

19. Photoelectron angular distributions of Cu, Ag, Pt and Au samples: experiments and

simulations,

G. Tasneem, C. Tomastik, S. Gerhold, W. S. M. Werner, W. Smekal and C. J. Powell,

Surf. Interf. Anal. 43(2010)934

20. Simulation of parallel angle-resolved X-ray photoelectron spectroscopy data,

G. Tasneem, W. S. M. Werner, W. Smekal and C. J. Powell,

Surf. Interf. Anal. 42(2010)1072

21. Effective attenuation lengths for photoelectrons in thin films of silicon oxynitride and

hafnium oxynitride on silicon,

C.J. Powell, W.S.M. Werner, W.S. Smekal, W. and G. Tasneem,

Surf. Interf. Anal. 45(2010)628

22. Interlaboratory study comparing analyses of simulated angle-resolved X-ray photoelectron spectroscopy data,

G. Tasneem, W.S.M. Werner, W.S. Smekal, W. and C.J. Powell,

Surf. Interf. Anal. 46(2010)321

23. Electron transport for spectrum analysis and experiment design,

W.S.M. Werner,

J. Elec. Spec. Rel. Phen. 178-179(2010)154-177

24. Report on the 47th IUVSTA Workshop "Angle-Resolved XPS: the current status and

future prospects for angle-resolved XPS of nano and subnano films",

A. Herrera-Gomez, J. T. Grant, P. J. Cumpson, M. Jenko, F. S. Aguirre-Tostado, C. R. Brundle, T. Conard, G. Conti, C. S. Fadley, J. Fulghum, K. Kobayashi, L. Köver H. Nohira, R. L.

Opila, S. Oswald, R. W. Paynter, R. M. Wallace, W. S. M. Werner and J. Wolstenholme,

Surf.Interf. Anal.41 (2009)840

25. Distinguishability of N Composition Profiles In SiON Films On Si By Angle Resolved

X-Ray Photoelectron Spectroscopy,

C. J. Powell, W. S. M. Werner, and W. Smekal,

Proceedings of the NIST nanoelectonics conference 2007, CP931, Frontiers of Characterization and Metrology for Nanoelectronics, edited by D. G. Seiler, A. C. Diebold, R. McDonald, C. M. Gamer, D. Herr, R. P. Khosla, and E. M. Secula, AIP Conference Proceedings 931

(American Institute of Physics, Melville, 2007), p. 303.

26. Refined calculations of effective attenuation lengths for SiO2 film thicknesses by xray photoelectron spectroscopy,

C.J. Powell, W.S.M. Werner and W. S. Smekal,

Appl. Phys. Lett., 89, 252116 (2006)

SESSA 144
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

27. Distinguishability of N composition profiles in SiON films on Si by angle-resolved xray photoelectron spectroscopy,

C.J. Powell, W.S.M. Werner and W. S. Smekal,

Appl. Phys. Lett., 89, 172101 (2006)

28. Angular-resolved elastic peak electron spectroscopy: experiment and Monte Carlo

calculations,

J. Zemek, P. Jiricek, W. S. M. Werner, B. Lesiak and A. Jablonski,

Surf. Interf. Anal.38(2006)615

29. Intrinsic and extrinsic excitations in deep core photoelectron spectra of solid Ge,

L. Kover, M. Novak,S. Egri,I. Cserny,Z.Berenyi,J. Toth,D. Varga,W. Drube,F. Yubero, S. Tougaard4

and W. S. M. Werner,

Surf. Interf. Anal. 38(2006)569

30. A new NIST Database for the Simulation of Electron spectra for Surface Analysis

(SESSA): Application to angle resolved Photoelectron Spectroscopy of HfO2, ZrO2,

HfSiO4 and ZrSiO4 Films on Silicon,

C.J. Powell, W. Smekal and W.S.M. Werner,

Characterization and Metrology for ULSI Technology 2005, edited by D. G. Seiler, A. C.

Diebold, R. McDonald, C. R. Ayre, R. P. Khosla, S. Zollner, and E. M. Secular, AIP Conference Proceedings 788 (American Institute of Physics, Melville, 2005), p. 107.

31. Simulation of electron spectra for surface analysis(SESSA): a novel software tool for

quantitative Auger-electron spectroscopy and X-ray photoelectronspectroscopy,

Werner Smekal, Wolfgang S. M. Werner and Cedric J. Powell,

Surf. Interface Anal. 37(2005)1059

32. Simulation of electron spectra for surface analysis using the partial-intensity approach (PIA),

W.S.M. Werner,

Surf. Interface Anal. 37(2005)846

SESSA 145
12 Contacts

If you have comments or questions about the database, the NIST Measurement Services Division

would like to hear from you. Also, if you have any problems with the disk or installation, please let

us know by contacting

• Standard Reference Data Program

National Institute of Standards and Technology

100 Bureau Drive, stop 2310, Gaithersburg. MD 20899-2310

data@nist.gov

Phone:(301)975-2008

FAX:(301)926-0416

If you have technical questions relating to the database, please contact:

• Dr. C.J. Powell

National Institute of Standards and Technology

100 Bureau Drive, stop 8370, Gaithersburg. MD 20899-8370

Cedric.powell@nist.gov

Phone:(301)975-2534

FAX:(301)216-1134

• Prof. Dr. W.S.M. Werner

Institute of Applied Physics

TU Wien

Wiedner Hauptstr. 8-10, A-1040, Vienna, Austria

werner@iap.tuwien.ac.at

Phone:+43-1-58801-13462

FAX: +43-1-58801-13499

146
13 Acknowledgments

The authors are grateful for the work of Herbert Beilschmidt, Thomas Cabela, Gerald Richter,

Ljubomir Milanovic, Fabian Moser, Alexander Gross, Gunther Cronenberg, Stephan Heiss, Lukas  ́

Hille, Rudolf Höfler, Wernfried Mayr-Schmölzer, Heinrich Schindler, Thomas Hisch, Martin Hronek,

Maksymilian Chudzicki, Alessandra Bellissimo, Henryk Kalbe, Olga Ridzel and Florian Simperl in

programming, further developing SESSA and for producing the database compilation at the Institute of Applied Physics, TU Wien.

147
14 Bibliography

[1] W S M Werner. Surf. Interface Anal., 31:141, 2001.

[2] W S M Werner. Electron transport in solids. In D Briggs and J. Grant, editors, Surface

Analysis by Auger and X-Ray Photoelectron Spectroscopy. IMPublications, Chichester, UK,

2003.

[3] A Jabłonski S Tanuma and C J Powell. Surf. Interface Anal., 55:609, 2023.

[4] H Shinotsuka, S Tanuma, C J Powell, and D R Penn. Surf. Interface Anal., 51:427, 2019.

[5] K D Sevier. Low Energy Electron Spectrometry. Wiley-Interscience, New York, 1972.

[6] T A Carlson. Photoelectron and Auger Spectroscopy. Plenum, New York, 1975.

[7] W A Coghlan and R E Clausing. At. Data. Nucl. Data Tables, 5:317, 1973.

[8] S Tanuma, C J Powell, and D R Penn. Surf. Interface Anal., 21:165, 1994.

[9] W L Wolf, S B Stanley, and K A McCarthy. American institute of physics handbook. McGrawHill, New York, 1963.

[10] N W Ashcroft and N D Mermin. Solid State Physics. Saunders College Publishing, Philadelphia, 1976.

[11] C Kittel. Introduction to Solid State Physics. John Wiley and Sons, New York, 1971. 4th

edition.

[12] C M Wolfe, N Holonyak, and G E Stillman. Physical properties of semiconductors. Solid

state physical electronics series. Prentice Hall, Englewood Cliffs, 1989.

[13] W M Haynes. CRC Handbook of Chemistry and Physics, 77th Edition. Taylor & Francis,

Boca Raton, 2012.

[14] W H Strehlow and E L Cook. J. Phys. Chem. Ref. Data, 2(1):163–200, 1973.

[15] S Tanuma, C J Powell, and D R Penn. Surf. Interface Anal., 17:911, 1991.

[16] S Tanuma, C J Powell, and D R Penn. Surf. Interface Anal., 20:77, 1993.

[17] W S M Werner. Surf. Interface Anal., 23:696, 1995.

[18] S Tougaard. Surf. Interface Anal., 25:137, 1997.

[19] J W Cooper. Phys. Rev. A, 47:1841, 1993.

[20] M B Trzhaskoskaya, V I Nefedov, and V G Yarzhemsky. At. Data. Nucl. Data Tables, 77:97,

2001.

148
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

[21] M B Trzhaskoskaya, V I Nefedov, and V G Yarzhemsky. At. Data. Nucl. Data Tables, 82:257,

2003.

[22] P S Shaw, U Arp, and S H Southworth. Phys. Rev., A54:1463–1472, 1996.

[23] W H Gries and W S M Werner. Surf. Interface Anal., 16:149, 1990.

[24] H S W Massey and E.H.S Burhop. Electronic and Ionic Impact Processes. Clarendon

Press, Oxford, 1952.

[25] I S Tilinin and W S M Werner. Phys. Rev., B46:13739, 1992.

[26] W S M Werner. Phys. Rev., B55:14925, 1997.

[27] W S M Werner. Surf. Interface Anal., 23:737, 1995.

[28] W S M Werner. Phys. Rev., B52:2964, 1995.

[29] W S M Werner. Surf. Sci., 526/3:L159 – L164, 2003.

[30] W S M Werner and P Schattschneider. J. Electron Spectrosc. Rel. Phen., 143:65–80, 2005.

[31] R Shimizu and Z Ding. Rep. Prog. Phys., 55:487, 1992.

[32] L D Landau. J. Phys. U.S.S.R., 8:201, 1944.

[33] K M Case and P F Zweifel. Linear Transport Theory. Addison-Wesley, Reading, MA, 1967.

[34] A Jablonski, F Salvat, and C J Powell. J. Phys. Chem. Ref. Data, 33:409, 2004.

[35] W S M Werner, M Novak, F Salvat-Pujol, J Zemek, and P Jiricek. Phys. Rev. Lett.,

110:086110, 2013.

[36] W S M Werner, W Smekal, C Tomastik, and H Störi. Surf. Sci., 486:L461–6, 2001.

[37] W S M Werner. Surf. Interface Anal., 35:347, 2003.

[38] R Oswald. Numerische Untersuchung der elastischen Streuung von Elektronen an Atomen

und ihrer Rückstreuung an Oberflächen amorpher Substanzen im Energiebereich unter

2000 eV. PhD thesis, Eberhard-Karls-Universität Tübingen, 1992.

[39] E A Stern and R A Ferrell. Phys. Rev., 120:130, 1960.

[40] Y F Chen. Surf. Sci., 519:115–124, 2002.

[41] R H Ritchie. Phys. Rev., 106:874, 1957.

[42] F J García de Abajo. Rev. Mod. Phys., 82:209–275, Feb 2010.

[43] M Hronek. Simulation of x-ray photoelectron spectra beyond the quasi-elastic approximation: application to nanoparticle analysis. Master’s thesis, TU Wien, 2019.

[44] Z-J Ding. Fundamental studies on the interactions of kV electrons with solids for application

to electron spectroscopies. PhD thesis, Osaka University, Japan, 1990.

[45] B Davison. Neutron Transport Theory. Oxford University Press, Oxford, 1955.

SESSA 149
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

[46] J Vinson, J J Rehr, J J Kas, and E L Shirley. Phys. Rev. B, 83(11):115106, 2011.

[47] A P Sorini, J J Kas, J J Rehr, M P Prange, and Z H Levine. Phys. Rev. B, 74(16):165111,

2006.

[48] A Frydman, D G Castner, M Schmal, and C T Campbell. J. Catal., 157(1):133 – 144, 1995.

[49] D R Baer and M H Engelhard. J. Electron Spectrosc. Rel. Phen., 178:415, 2010.

[50] J Almansa, F Salvat-Pujol, G Díaz-Londoño, A Carnicer, A M Lallena, and F Salvat. Comput. Phys. Commun., 199:102–113, 2016.

[51] D R Penn. Phys. Rev., B35:482, 1987.

[52] C J Powell. Priv. Comm.

[53] R C Weast and M J Astle. CRC Handbook of Chemistry and Physics, 60 ed. CRC Press

Inc., Boca Raton, Florida 33431., 1980.

[54] W S M Werner. Unpublished results.

[55] E D Palik. Handbook of optical constants of solids. Academic Press, New York, 1985.

[56] E D Palik. Handbook of optical constants of solids II. Academic Press, New York, 1991.

[57] B L Henke, E M Gullikson, and J C Davis. At. Data. Nucl. Data Tables, 54(2):181, 1993.

[58] H P R Frederikse. American Institute of Physics Handbook, 3rd ed., edited by D. E. Gray.

McGraw-Hill, New York, 1972.

[59] Strehlow W H and Cook E L. J. Phys. Chem. Ref. Data, 2:163, 1973.

[60] L I Berger. CRC Handbook of Chemistry and Physics, 95th ed., edited by W. M. Haynes.

CRC, Boca Raton, 2014.

[61] C Kittel. Introduction to Solid State Physics, 6th ed. Wiley, New York, 1986.

[62] C. M. Wolfe, J. Holonyak, and G. E. Stillman. Physical Properties of Semiconductors.

Prentice-Hall, Englewood Cliffs, NJ, 1989.

[63] S. Tanuma, C. J. Powell, and D. R. Penn. Surf. Interface Anal., 20:77, 1993.

[64] H Shinotsuka, S Tanuma, C J Powell, and D R Penn. Surf. Interface Anal., 47:871, 2015.

[65] H Shinotsuka, B Da, S Tanuma, H Yoshikawa, C J Powell, and D R Penn. Surf. Interface

Anal., 49:238, 2017.

[66] M P Seah. Surf. Interface Anal., 44(4):497–503, 2012.

[67] A C Yates. J. Comput. Phys., 2:175, 1971.

[68] R A Bonham and T G Strand. J. Chem. Phys., 39:2200, 1963.

[69] F Salvat, A Jablonski, and C J Powell. Comput. Phys. Commun., 165:157–190, 2005.

SESSA 150
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

[70] A Jablonski, F Salvat, and C J Powell. NIST electron elastic–scattering cross–section

database (SRD 64), version 3.2 (National Institute of Standards and Technology, Gaithersburg), 2010.

[71] I S Tilinin. Sov. Phys. JETP, 67:1570, 1988.

[72] J H Scofield. J. Electron Spectrosc. Rel. Phen., 1:129, 1976.

[73] J J Yeh and I Lindau. At. Data. Nucl. Data Tables, 32:1, 1985.

[74] R F Reilman, A Msezane, and S T Manson. J. Electron Spectrosc. Rel. Phen., 8:289, 1976.

[75] E Casnati. Adv. At. Mol. Phys., 15:155–167, 1982.

[76] M Gryzinski. Phys. Rev., 138 A:336–358, 1965.

[77] At. Data. Nucl. Data Tables, 95(6):871 – 909, 2009.

[78] G Williams. X-ray data booklet. Lawrence Berkeley National Laboratory, University of California, Berkeley, CA, 2001.

[79] J H Hubbell, P N Trehan, N Singh, B Chand, D Mehta, M L Garg, R R Garg, S Singh, and

S Puri. J. Phys. Chem. Ref. Data, 23:339, 1994.

[80] W Bambynek. X-84 x-ray and inner shell processes. In X-84 Proc. X-ray and inner shell

processes, Leipzig, Germany, 1984.

[81] E H S Burhop. J. Phys. Radium, 16:625, 1955.

[82] R Shimizu. Jpn. J. Appl. Phys., 22:1631, 1983.

[83] National Institute of Standards and Gaithersburg Technology. NIST x-ray photoelectron

spectroscopy database, version 4.1, 2012. https://srdata.nist.gov/xps/.

[84] S Chandrasekhar. Radiative Transfer. Dover publications, New York, 1960.

[85] N F Mott and H S Massey. The Theory of Atomic Collisions. Oxford University Press, 1949.

[86] W S M Werner, I S Tilinin, and A Jablonski. Surf. Interface Anal., 23:823, 1995.

[87] O A Baschenko, G V Machavariani, and V I Nefedov. J. Electron Spectrosc. Rel. Phen.,

34:305, 1984.

[88] M P Seah and R White. Surf. Interface Anal., 33:960, 2002.

[89] P Cumpson. J. Electron Spectrosc. Rel. Phen., 73:25, 1995.

[90] J Zemek, P Jiricek, S Hucek, A Jablonski, and B Lesiak. Surf. Sci., 473:8, 2001.

[91] ISO 18115-1 (International Organization for Standardization). Surface chemical analysis

vocabulary part 1, general terms and terms used in spectroscopy, 2013.

[92] W S M Werner, W H Gries, and H Störi. J. Vac. Sci. Technol., A9:21, 1991.

[93] C J Powell and A Jablonski. Surf. Interface Anal., 33:211, 2002.

SESSA 151
This publication is available free of charge from https://doi.org/10.6028/NIST.NSRDS.100-2023

[94] A Jablonski and C J Powell. Surf. Sci. Rep., 47:33, 2002.

[95] A Jablonski and C J Powell. J. Vac. Sci. Technol., 21:274, 2003.

[96] O K T Wu and E M Butler. J. Vac. Sci. Technol., 30(3):453, 1982.

[97] K T Wu, G G Peterson, W J LaRocca, and E M Butler. Appl. Surf.Sci., 11/12:118, 1982.

[98] S Brunauer, P H Emmet, and E Teller. J. Am. Chem. Soc., 60:309, 1938.

[99] B L Henke. Phys. Rev., A6:94, 1972.

[100] Online documentation for PGF and TikZ. https://www.ctan.org/pkg/pgf.

[101] M Chudzicki, W S M Werner, A G Shard, Y C Wang, D G Castner, and C J Powell. J. Chem.

Phys. C, 119(31):17687–17696, 2015.

SESSA 152