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.


Magnetic Editor Cell Constructor


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.


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


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


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


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 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 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 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 is a parallel molecular dynamics code designed for high-performance simulations of large biomolecular systems.


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.


Historically it is the job of the Control Client (CC) to write the data recorded during the experiment (this is true at least for low rate data-sources). However, with the appearance of complex data formats like Nexus the IO code becomes more complex. To cope with this complexity, NexDaTaS has been developed jointly by PNI-HDRI and PaNdata to provide an easy to use interface between the NeXus data integration and the control system. NexDaTaS is realized as a Tango server which allows to store NeXuS Data in H5 files. The server provides storing data from other Tango devices, various databases as well as passed by a user client via JSON strings.


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.