## Software

# H5Web

H5Web is a web-based HDF5 file viewer with NeXus support. It allows for the browsing and inspecting of the hierarchical structure of HDF5 files, as well as visualising their datasets as basic plots (1D, 2D). With H5Web, our intent is to provide synchrotron users with an easy-to-use application and to make open-source components available for other similar web applications. H5Web is built with React, a front-end web development library. It supports the exploration of HDF5 files, requested from a separate back-end for modularity (e.g. HSDS, Jupyter, etc.), and the visualisation of datasets using performant WebGL-based visualisations.

# ICSD

Inorganic Crystal Structure Database, containing about 185,000 peer-reviewed data entries of inorganic and related structures, including their atomic coordinates dating back to 1913. It is produced cooperatively by FIZ Karlsruhe and the National Institute of Standards and Technology (NIST).

# iFit

The iFit library (pronounce [eye-fit]) is a set of methods to load, analyse, plot, fit and optimize models, and export results. iFit is based on Matlab, but can also be launched without Matlab license (stand-alone version).Matlab It does not currently include advanced graphical user interfaces (GUI), and rather focuses on doing the math right. Any text file can be imported straight away, and a set of binary files are supported. Any data dimensionality can be handled, including event based data sets (even though not all methods do work for these). Any model can be assembled for fitting data sets. Last, a number of routines are dedicated to the analyses of S(q,w) and S(alpha,beta). More advanced features include the full automation to compute phonon dispersions in materials, using DFT codes such as ABINIT, ELK, VASP, QuantumEspresso, GPAW and more (Models/sqw_phonons). The software can also compute the neutron TAS resolution function (4D) and fits to experimental data with full resolution convolution (ResLibCal). An interface for McStas and McXtrace is also available to automate and optimize instrument simulations.

# LAMP

LAMP (Large Array Manipulation Program) is designed for the treatment of data obtained from neutron scattering experiments at the Institut Laue-Langevin. However, LAMP is now a more general purpose application which can be seen as a GUI-laboratory for data analysis based on the IDL language.

# MagDraw

Magnetic Editor Cell Constructor

# MANTID

The Mantid project provides a framework that supports high-performance computing and visualisation of materials science data. Mantid has been created to manipulate and analyse neutron scattering and muon spectroscopy data, but could be applied to many other techniques.

# Materials Studio

Materials Studio is a modeling and simulation environment designed to allow to predict and understand the relationships of a material’s atomic and molecular structure with its properties and behavior. With it one can construct, manipulate and view models of molecules, crystalline materials, surfaces, polymers, and mesoscale structures. Materials Studio includes quantum, atomistic (or “classical”), mesoscale, and statistical methods that enable one to evaluate materials at various particle sizes and time scales. It also includes tools for evaluating crystal structure and crystal growth.

# MAUD

Materials Analysis Using Diffraction: A Rietveld extended program to perform combined analyses. It can be used to fit diffraction, fluorescence and reflectivity data using X-ray, neutron, TOF or electrons

# McStas

A neutron ray-trace simulation package. McStas is a general tool for simulating neutron scattering instruments and experiments.

# McStasScript

McStasScript is a python API for the popular neutron scattering instrument simulation tool McStas. The python API allows users to construct instrument objects describing the desired beam line, run simulations and plot the results. All data is available as bumpy arrays.

# McXtrace

Monte Carlo Xray Tracing. Allows simulation of X-ray beam lines, as well as sample simulations in so-called virtual experiments.

# MDANSE

MDANSE (Molecular Dynamics Analysis for Neutron Scattering Experiments) is a python application designed for computing properties that can be directly compared with neutron scattering experiments such as the coherent and incoherent intermediate scattering functions and their Fourier transforms, the elastic incoherent structure factor, the static coherent structure factor or the radial distribution function. Moreover, it can also compute quantities such as the mean-square displacement, the velocity autocorrelation function as well as its Fourier Transform (the so-called vibrational density of states) enlarging the scope of the program to a broader range of physico-chemical properties. Most of MDANSE calculations can be applied to the whole system or to arbitrary subsets that can be defined in the graphical interface while less common selections can be specified via the command-line interface. MDANSE is written in Python and currently works on Linux/debian, MacOS and Windows.

# MOLDY

Moldy is a C program for performing molecular-dynamics simulations of solids and liquids using periodic boundary conditions. The model system is completely specified in a run-time input file and may contain atoms, molecules or ions in any mixture. Molecules or molecular ions are treated in the rigid-molecule approximation and their rotational motion is modeled using quaternion methods. The equations of motion are integrated using a modified form of the Beeman algorithm. Simulations may be performed in the usual NVE ensemble or in isobaric and/or isothermal ensembles. Potential functions of the Lennard–Jones, 6-exp and MCY forms are supported and the code is structured to give an straightforward interface to add a new functional form. The Ewald method is used to calculate long-ranged electrostatic forces.

# MOSFLM

Mosflm can process diffraction images from a wide range of detectors and produces, as output, an MTZ file of reflection indices with their intensities and standard deviations (and other parameters). This MTZ file is passed onto other programs of the CCP4 program suite (SORTMTZ, SCALA, TRUNCATE) for further data reduction.

# MXAN

MXAN performs a quantitative analysis of the XANES energy range. This is based on a comparison between experimental data and many theoretical spectra that are calculated by varying selected structural parameters of an initial putative structure, i.e. a well defined initial geometrical configurations around the absorber. Hundreds of different geometrical configurations are needed to obtain the best fit of the experimental data. The calculations are performed in the energy space without involving any Fourier transform algorithm; polarized spectra can be easily analysed because the calculations are performed within the full multiple scattering approach. Recently, MXAN has been developed in the framework of the multiple scattering theory and successfully applied to the analysis of several system, both in solid and liquid state. The MXAN procedure,encompasses also the phenomenological broadening and the electronic charge fitting.