## Software

# PyMca

X-ray Fluorescence Toolkit (visualization and analysis of energy-dispersive X-ray fluorescence data). . The program allows both interactive and batch processing of large data sets and is particularly well suited for X-ray imaging. Its implementation of a complete description of the M shell is particularly helpful for analysis of data collected at low energies. It features, among many other things, the fundamental parameters method

# PyNX

Python toolkit for accelerated Nano-structures Crystallography and Coherent X-ray Imaging techniques. The software included in this package can be used for: 1. the computing of X-ray scattering using graphical processing units 2. X-ray wavefield propagation (from near to far field) 3. simulation and GPU-accelerated analysis of experiments using the ptychography and coherent diffraction imaging techniques See the full documentation at: http://ftp.esrf.fr/pub/scisoft/PyNX/doc/

# Quantum Espresso

Quantum ESPRESSO (QE) is an integrated suite of Open-Source computer codes for ab initio quantum chemistry methods of electronic-structure calculations and materials modeling at the nanoscale. It is based on density functional theory, density functional perturbation theory, plane wave basisi sets, and pseudopotentials. The core plane wave DFT functions of QE are provided by the PWscf (Plane-Wave Self-Consistent Field) component,

# Quanty

Quanty is a script language which allows the user to program quantum mechanical problems in second quantization and when possible solve these. It can be used in quantum chemistry as post Hartree-Fock or in one of the LDA++ schemes. (self consistent field, configuration interaction, coupled cluster, restricted active space, ...) The idea of Quanty is that the user can focus on the model and its physical or chemical meaning. Quanty takes care of the mathematics.

# REFTIM

The program REFTIM calculates and fits the time spectra of nuclear resonant reflectivity, delayed and prompt reflectivity curves and the corresponding conversion electron Mössbauer spectra (CEMS) for any multilayer structure containing 57Fe, 151Eu, 149Sm, 119Sn or other isotopes if they have M1 Mössbauer transition. The experimental details of the nuclear resonance scattering technique with synchrotron radiation are described in the ID18 beamline Web pages.

# RFit2000

RFIT2000 fits X-ray and neutron reflectivity data. The search of global minima is done via successive descent from local minima. This method can be treated as a two stage loop repeated consequently. The first stage is the local minimization with the ?2 -like criterion and the second one is the descent from the most recent local minimum. Reflectivity curve is calculated with one of the methods: Kinematic, Parratt and Matrix. Matrix method works faster for films modeled with multiple repetion of one identcal structural units. Film structure is represented with the box model. Each box is characterized with the scattering density (Re and Im), thickness and roughness of the top interface.

# ROD

ROD is a program that can be used to do a refinement of a surface structure using surface X-ray diffraction data. All main features one encounters on surfaces, like roughness, relaxations, reconstructions and multiple domains, are taken into account. The most essential part of ROD is the calculation of the structure factor of the surface. ROD is complemented by two utilities: ANA and AVE: ANA can be used to integrate scans and to convert these into structure factors, while AVE can sort and average data, determine agreement factors and produce a data file for the program ROD.

# SASfit

SASfit has been written for analyzing and plotting small angle scattering data. It can calculate integral structural parameters like radius of gyration, scattering invariant, Porod constant. Furthermore it can fit size distributions together with several form factors including different structure factors. Additionally an algorithm has been implemented, which allows to simultaneously fit several scattering curves with a common set of (global) parameters. This last option is especially important in contrast variation experiments or measurements with polarised neutrons. The global fit helps to determine fit parameters unambiguously which by analyzing a single curve would be otherwise strongly correlated.

# SasView

SasView is a Small Angle Scattering (SAS) analysis package for the analysis of 1D and 2D scattering data directly in inverse space. The focus was originally on neutron data (SANS) but has been used for X-ray’s as well and includes a tool for determining a slit resolution for the SAXSess instrument. SansView also includes PrView to invert SAS data to P(r), a resolution calculator, and a scattering length density calculator among others tools. A simple plugin mechanism is available for users to add custom models.

# Savu

Savu is a Python package to assist with the processing and reconstruction of parallel-beam tomography data. The project originated in the Data Analysis Group at the Diamond Light Source (UK synchrotron) to address the growing, and increasingly complex, needs of the tomography community. Designed to allow greater flexibility in tomography data processing, Savu is capable of processing N-dimensional full-field tomography and mapping tomography data, along with concurrent processing of multiple datasets such as those collected as part of a multi-modal setup. Savu process lists, tailored to a specific experiment and passed to the framework at runtime along with the data, detail the processing steps that are required. A Savu process list is created using the Savu configurator tool, which stacks together plugins chosen from a repository. Each plugin performs a specific independent task, such as correction, filtering, reconstruction. For a list of available plugins see plugin API. Savu is currently in use across the tomography beamlines at Diamond to reconstruct both full-field tomography data and multi-modal, mapping tomography data.

# SAXSutilities

Matlab based graphical user interfaces for the online processing and analysis of Small Angle X-ray Scattering data. In particular: -online treatment and fitting of SAXS data -averaging, background subtraction, normalization of ASCII data, etc. -processing of 2D SAXS images -averaging, subtraction, etc. of EDF images

# SHARP/autoSHARP

SHARP is a computer program for macromolecular crystallography. It operates on reduced, merged and scaled data from SIR(AS), MIR(AS) and MAD experiments, refines the heavy-atom model, helps detect minor or disordered sites using likelihood-based residual maps, and calculates phase probability distributions for all reflections in the data set. autoSHARP is an automated structure solution system - from merged data to automatic model building (uses SHARP as phasing engine).

# SHELX

SHELX is a set of programs for the determination of small (SM) and macromolecular (MM) crystal structures by single crystal X-ray and neutron diffraction. In the program suite: SHELXT extracts the Laue group, cell dimensions and types of element present , solves the structure using data expanded to space group P1, and then uses the P1 phases to find the space group. SHELXS solves small (up to about 100 unique non-hydrogen atom) structures by direct methods. it is based on the classical tangent formula of Karle and Hauptman, but uses phase annealing and includes information from the weak reflections via the negative quartets. etc. etc,-> refer to the SHELX home page

# silx

The silx project aims at providing a collection of Python packages to support the development of data assessment, reduction and analysis applications at synchrotron radiation facilities. The purpose is to deliver reading/writing of different file formats, data reduction routines and a set of Qt widgets to browse and visualize data.

# SPR-KKR

The SPRKKR band structure package allows to calculate the electronic structure of arbitrary 3-D periodic systems, including systems with chemical disorder. The treatment of 2-D periodic systems (e.g. surfaces) can be done at the moment only by using an auxiliary system having three dimensional periodicity or by making use of the cluster approximation. The electronic structure calculation can be done in a non-relativistic, scalar-relativistic as well as fully relativistic mode. In the scalar-relativistic mode paramagnetic as well as spin-polarized systems can be treated, including non-collinear spin structures and arbitrary spin spirals. In the fully relativistic mode, paramagnetic as well as spin-polarized systems with an arbitrary spin configuration can be dealt with. On the basis of the electronic structure calculation, many different properties can be investigated with a strong emphasize on response functions and spectroscopic properties.