## Software

# easyDiffraction

easyDiffraction is scientific software for modelling and analysis of neutron diffraction data, i.e., simulation of diffraction pattern based on structural model and refinement of its parameters. easyDiffraction is similar to crystallographic programs like FullProf, Jana, GSAS, ShelX, etc. However, unlike them, easyDiffraction is based on external crystallographic libraries, such as CrysPy to cover different functionality aspects within a single intuitive and user-friendly graphical interface.

# EXtra-data

A Python library for accessing and inspecting data in European XFEL's HDF5 files. European XFEL saves data in multiple HDF5 files with a moderately complex structure. EXtra-data aims to provide a simple interface to access data from a run directory, and conveniently work it in popular Python libraries such as Dask, Xarray and pandas.

# EXtra-geom

Python tools to work with geometry information for multi-module detectors at European XFEL, and to use assemble detector data into images.

# FabIO

FabIO is a Python library for reading and handling data from 2-D X-ray detectors. FabIO provides a function for reading any image and returning a FabioImage object which contains both metadata (header information) and raw data. All FabioImage objects offer additional methods to extract information about the image and open other detector images from the same data series.

# FDMNES

The aim of the FDMNES project is to supply to the community a user friendly code to simulate x-ray spectroscopies, linked to the real absorption (XANES, XMCD) or resonant scattering (RXD) of the synchrotron radiation. This ab initio approach, wants to eliminate all the methodological parameters. First mainly mono-electronic, using the functionnal density theory (DFT), it includes now multi-electronics advances with the use of the time dependant DFT (TD-DFT) for a better taking into account of the excited states linked to the photon-matter interaction. It includes also the Hubbard correction (LDA+U) for a better description of the so called correlated materials.

# FEFF9

Condensed matter code for modelling x-ray and electron spectroscopies and materials properties. FEFF is an automated program for ab initio multiple scattering calculations of X-ray Absorption Fine Structure (XAFS), X-ray Absorption Near-Edge Structure (XANES) and various other spectra for clusters of atoms. The code yields scattering amplitudes and phases used in many modern XAFS analysis codes, as well as various other properties. in FEFF9 there are several new spectroscopies which can be calculated with FEFF 9, including electron energy loss spectra (EELS) and non-resonant inelastic x-ray scattering (NRIXS). In addition, there are a variety of improvements. These include; (1) ab initio Debye-Waller factors; (2) improved treatment of inelastic losses; (3) an improved treatment of the core-hole interaction; and (4) more accurate treatment of crystalline systems with k-space calculation of the Green's function. FEFF9 comes with the JFEFF GUI.

# FIT2D

FIT2D is a general purpose 1 and 2 dimensional data analysis program. It is used for both interactive and "batch" data processing, and is used for different purposes. Calibration and correction of detector distortions is one of the main uses of FIT2D. Difficult data analysis problems may be tackled using fitting of user specified models. To enable model fitting to be performed on a wide variety of input data, many other more basic data analysis operations are also available. A wide variety of performant graphical display methods are available.

# Fox/ObjCryst++

The FOX program was made for ab initio crystal structure solution from diffraction data (mostly powder diffraction data). Its most interesting features for ab initio structure determination are: * a versatile description of the crystal contents: either isolated atoms , molecules described using a bond length, bond angles and dihedral angles, and polyhedra for inorganic compounds. You can describe your structure by using any combination of groups of atoms, using a chemist's or crystallographer knowledge about the connectivity in your sample to constrain possible solutions.. * an automatic correction for special positions and shared atoms between polyhedra, suitable for global optimization algorithms. * the ability to use simultaneously multiple powder patterns (X-rays, neutrons), as well as single crystal data (e.g. extracted from a powder pattern) * smart global optimization algorithms which can get out of false minima. * a graphical interface (see the screenshots) with a 3D crystal structure view, with live updates during the optimization process.

# freeart

ART algorithms for fluorescence and transmission tomography reconstructions. Fluorescence absorption for the incoming and outgoing beams are taken into account.

# freesas

Small angle scattering tools … but unlike most others, free and written in Python. The FreeSAS tool suite is licensed under the MIT license.

# GENFIT (and SASMOL)

GENFIT is a software tool for analysing small-angle scattering (SAS) data from X-ray (SAXS) or neutron (SANS) experiments. It reads in a set of one-dimensional scattering curves and fits them using different kinds of models. SAS curves calculated from a model can be smeared to allow for the instrumental resolution. The user can fit the experimental data selecting one or more models from a list including more than 30 models, starting from simple asymptotic behaviours (Guinier's law, Porod's law, etc.) down to complete atomic structures. Some models, which are defined in terms of both form and structure factors, take into account the interactions between particles in solution. GENFIT is able to simultaneously fit more SAS curves via a unique model or a mixture of models. In the latter case, some specific model parameters can be shared by any selection of the experimental curves. Model parameters can be related to the experimental chemical-physical conditions (temperature, pressure, concentration, pH, etc.) by means of link functions, which can be freely defined by the user. On the other hand, GENFIT can be used to generate theoretical SAS curves from a given model and/or from the knowledge of the species in solution. It can hence be a useful instrument to find the optimum experimental conditions for a planned SAS experiment. GENFIT is written in Fortran. Versions 2.0 and higher make use of a graphical user interface (GUI) to manage input files and execute the calculations.

# GNXAS

The GNXAS package is a computer code for EXAFS data analysis based on multiple-scattering (MS) calculations and a rigorous fitting procedure of the raw experimental data. The main characteristic of the software are: + atomic phase shifts calculations in the muffin-tin approximation based on atom self-consistent relativistic calculations. Account for the neighbors is taken. + Inclusion of inelastic losses through complex Hedin-Lundqvist potential. + Calculation of MS signals associated with two, three, and four atom configurations using advanced algorithms. Use of an advanced fitting procedure that allows: + to fit simultaneously any number of spectra containing any number of edges, + to use directly the raw data without any pre-analysis, + to account for complex background multi-electron excitation features, + to use various model peaks for the pair, triplet and quadruplet distribution functions, including non Gaussian models and extreme cases. In all cases absolute parameters can be fitted, - to treat liquid phase or disordered systems and extract reliable g(r) functions in the short range, - to perform a rigorous statistical error analysis and plot two-dimensional correlation maps, - to provide a flexible scientific tool for EXAFS data analysis where the user has access to every stage of the calculation. - full modularity that makes easy to interface parts of the GNXAS software with other available software.

# Grasp

"GRASansP" is a MatlabTM script application designed for the graphical inspection, analysis and reduction of multi-detector data produced by the Small-Angle Neutron Scattering (SANS) instruments of the Institut Laue-Langevin (ILL). GRASansP deals with many of the diverse requirements for analysis and reduction of SANS data using a general set of tools and reduction algorithms. Data from the two ILL SANS instruments, D11 and D22, as well as SANS instruments at some other neutron sources, are currently catered for in the GRASansP package. In principle the architecture and coding of GRASansP combined with the matrix handling abilities, graphics and other advantages of the Matlab™ environment should allow continued development of this software and be able to provide more general aspects of multi-detector and complex data set handling. The drive for producing such a suite of software came from the overwhelming need for a modern, complete and general-purpose package to deal with typical procedures required for analysis of two-dimensional SANS multidetector data. By it’s very nature, two-dimensional data is often best appreciated in a graphical form. The birth of GRASansP came from the need for graphical inspection and ability to be able to quickly process and extract the scattered intensity, I(q), as a function of position on the multidetector (qx,qy) or as a function of sample environment conditions from a series of many measurement runs (e.g. temperature sweep, rocking curve etc.). This, combined with an interest in scientific software development and the abilities of the Matlab™ environment have brought GRASansP into it’s present state.

# GROMACS

GROMACS (GROningen MAchine for Chemical Simulations) is a molecular dynamics and energy minimization package mainly designed to simulate the Newtonian equations of motion for systems with hundreds to millions of particles, typically of proteins, lipids and nucleic acids. GROMACS can run on CPUs and GPUs.

# h5glance

H5Glance lets you conveniently explore HDF5 files in the terminal or an HTML interface, including in Jupyter notebooks.