## Software

# 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.

# 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.

# 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.

# NAMD

NAMD is a parallel molecular dynamics code designed for high-performance simulations of large biomolecular systems.

# nanoMAD

NanoMAD stands for Multiwavelength Anomalous Diffraction for Nano-structures: it is a command-line tool to analyze x-ray diffraction data collected at several wavelengths around one element's absorption edge, and extract the partial structure factor for the resonant atom.

# NeXpy

NeXpy provides a high-level python interface to NeXus data contained within a simple GUI. It is designed to provide an intuitive interactive toolbox allowing users both to access existing NeXus files and to create new NeXus-conforming data structures without expert knowledge of the file format. The underlying Python API for reading and writing NeXus files is provided by the nexusformat package, which is also described here.

# Nexus - Nuclear Elastic X-ray scattering Universal Software

The Nuclear Elastic X-ray scattering Universal Software (NEXUS) is a Python package for simulating and fitting of Moessbauer spectra, nuclear resonant scattering (NRS) data, pure electronic X-ray reflectivities (XRR), nuclear X-ray reflectivities, polarization dependent electronic scattering.