Advanced Photon Source

An Office of Science National User Facility


This project supports crystallographic determination of the atomic arrangement from any type of x-ray or neutron from diffraction measurements as well as materials characterization, such as lattice parameters and microstructure and texture. GSAS and EXPGUI are arguably the most widely used computational tools in materials crystallographic analysis, but are nearing the end of their support lifetimes. GSAS-II provides in a single program capabilities that would otherwise require a wide range of tools, plus many innovative concepts. All codes run on Windows, Linux and Mac OS X. These packages are used for structural characterization from single-crystal and/or powder diffraction data for all scales of problems. GSAS-II extends this to small-angle scattering and parametric studies.


GSAS (General Structure Analysis System) partnered with its user interface, EXPGUI, are very widely used software packages for the refinement of crystallographic structure models from x-ray or neutron diffraction data, which may be from single-crystal or powder samples; and can be from time-of –flight or constant-wavelength sources.  They are typically used for crystallographic analysis, quantitative phase determination, texture mapping, stress-strain measurements and other related types of materials characterization.


GSAS-II calibration resultGSAS-II extends the capabilities of GSAS and EXPGUI, to provide the capabilities needed for all aspects of data analysis, from the as-collected data through final publication, by adding features not in GSAS such as: area-detector data calibration and reduction, powder diffraction indexing, structure solution, as well as extensive result visualization tools.

GSAS-II is written in a modern programming language (Python) and is designed to modern crystallographic analysis, where changes in structure are determined as a function of environmental conditions, where dozens to thousands of datasets are collected on a single sample and can fit user-supplied equations of state for parametric studies.It also can be used for small-angle scattering analysis.

The GSAS-II program has recently been expanded to include pretty much all the functionality of GSAS, except that at present only GSAS provides computation of magnetic scattering, However, unlike GSAS, GSAS-II has no limitations (other than available computer memory) for the number of phases or datasets that may be handled in a single project. While mostly used for materials characterization, GSAS and GSAS-II are the only programs that have been used to determine macromolecular (protein) structures from powder diffraction data.

Distribution & Impact

contour plot of sequential powder diffraction dataGSAS-II is open-source program provided with all source code and executables to run on all common platforms (see platform-specific installation instructions for Windows, Linux and Mac OS X.)

EXPGUI is open source but GSAS source code is made available only upon special request. Installation list may be found on the EXPGUI home page.

GSAS-II has only recently reached a level appropriate for routine adoption. GSAS citations are tracked only by Google Scholar, while EXPGUI use (which represents a subset of GSAS use) is tracked by the Web of Science as well. EXPGUI is cited approximately 400 times per year, with ~10% of that use coming from APS experiments and another ~10% of that coming from other BES-SUF facilities.


Funding Source

Work on GSAS & EXPGUI has been supported by Los Alamos, Argonne and NIST over several decades.

GSAS-II has been produced using operational funding from the APS (contract DE-AC02-06CH11357) and the Neutron Sciences Directorate at Oak Ridge National Laboratory (DE-AC05-00OR22725)

Please cite (GSAS-II)

Toby, B. H., and Von Dreele, R. B. (2013). "GSAS-II: The Genesis of a Modern Open-Source All-Purpose Crystallography Software Package," Journal of Applied Crystallography 46, 544-549. doi:10.1107/S0021889813003531

Please cite (GSAS & EXPGUI)

Larson, A. C., and Von Dreele, R. B. (1986-2004). Report LAUR 86-748. Los Alamos National Laboratory. (Google Scholar: 6158 citations, 10/30/14) (download)

Toby, B. H. (2001). "EXPGUI, a Graphical User Interface for GSAS," Journal of Applied Crystallography 34, 210-213. (Web of Science: 2670 citations, 10/30/14) doi:10.1107/S0021889801002242

Related Publications
Von Dreele, R. B. (2014). "Small Angle Scattering Data Analysis in GSAS-II," J. Appl. Crystallogr. 47, 1784-1789. doi:10.1107/S1600576714018366

Toby, B. H., and Von Dreele, R. B. (2014). "What’s new in GSAS-II," Powder Diffraction 29(4), in press. doi:10.1017/S0885715614000736

Immediate GSAS-II development goals include
  • Improve documentation and tutorial examples
  • Improve distribution packaging and installation instructions
  • Correct code to function with new releases of operating systems and Python distributions
  • Extend space group treatment to 3+1 dimensional modulated structures; compute and fit modulated diffraction intensities
  • Implement magnetic scattering refinement for commensurate and incommensurate models
  • Implement heterogeneous parametric refinements
  • Develop parametric restraints methodology
  • Extend command-logging to full GUI
  • Extend small-angle scattering implementation to neutrons
  • Develop methodology specific to third-generation TOF instrumentation
  • Generalize image import routines
  • Reorganize distribution of tutorials and example datasets to reduce installation footprint
  • Implement treatment of single crystal diffraction data from twinned crystals
  • Extend constraints to add parameter offsets; review input after each change for problems
Potential longer-term GSAS-II goals include
  • API for non-interactive project editing
  • Fitting of other types of physical measurements
  • Local structure modeling
  • Distributed computing
  • Creation of technical manual creation and instructional materials
  • Fundamental parameters profile generation
  • Maximum entropy Fourier maps
GSAS and EXPGUI development

GSAS and EXPGUI are no longer being developed, but "bug reports" (usually user errors) and questions related to installation problems are answered.