[ Overview | Obtaining ZMC | Links | Eric Chan ZMC page | Home ]


Conventional crystal structure refinement and solution relies on an analysis of the Bragg peaks, the sharp, well-defined scattering in a diffraction pattern. In doing this, the structure can be considered as an array of identical unit cells, and this reduces the 'solution' of the crystal structure to the determination of the unit cell contents.

In a disordered material, while the average unit cell does indeed obey the space group symmetry of the crystal structure, such that solving the asymmetric unit within the cell 'solves' the structure, this is not the case for a disordered material -- or even for what would generally be considered as an ordered material if considering instantaneous molecular and atomic motions.

Even an ordered crystal will show thermally induced vibrations of the atoms. If we could 'freeze' the crystal and look at the atoms, we would find that the space group symmetry is not obeyed. It is obeyed on average. In a disordered material it could be that the average occupation of a given site is 50% one type of atom and 50% another, in which case no site obeys the average symmetry.

What does this mean for analysis of diffuse scattering? It means that you can no longer consider all unit cells as identical. It means that you have to now work with an ensemble of unit cells big enough that averaging across it recovers the average and big enough that it can contain a statistically valid population of the local (short-range order) structures present in the crystal.

This means that analysis of diffuse scattering requires different tools from analysis of conventional Bragg scattering. ZMC is an attempt at a program to allow relatively ready implementation of a simulation of diffuse scattering from (particularly but not solely) molecular crystals. Eric Chan has prepared this flyer to show some of the details of the program, and I am very grateful to him. Further, he has developed a tutorial, available here, and it is really worth a look. His webpage is at and contains modified ZMC versions that may be of use.

Obtaining ZMC

ZMC is alpha software at best, and always will be; nothing about its performance is guaranteed nor promised. The code and binaries are licensed under the Academic Free License version 3.0; details in the files DISCLAIMER.txt and COPYRIGHT.txt (

Here is a bundle of statically-linked binaries for Linux, from April 2016 -- the real current version:

Static binaries for Linux.

Here is a bundle of statically-linked binaries for Windows (compiled using g95 on Win 7; I don't even know if it is 32 or 64 bit), from April 2016 -- the real current version, but not much tested:

Static binaries for Win.

Here is the current source code plus a simple Linux compile script -- package has transitions to gfortran, and all the most important binaries seem to work:


Refer to the older packages below for documentation, examples, and so on. Please also refer to this article and its associated deposited material, because it provides a complete working simulation.

Please note that this article was specifically published as Open Access in order to allow for anyone to make use of it.

Here are packages, older versions compiled for different systems: Despite my better judgement, I am putting it up here for download. You can download the current ZMC in the following formats:
Mac OS X

The README file for Windows is here. Be aware that there are many versions of Linux (and OS X is not known for its long term user support or version to version compatibility), so your best bet might well be to contact me about the source code. If you can get g95 working ( then the compile is pretty trivial (he says hopefully...).

While ZMC is relatively straightforward to use, and a great deal of work has been undertaken to give it a usable (if text file-based) interface, it is not yet 'production' software (and never will be). It is written in Fortran90 and uses a module library developed by Dr Aidan Heerdegen, and some components of the system have not been tested on various combinations of hardware and operating system. Currently binaries exist for g95 on Intel Macintosh (Mac OS X 10.6), Intel Fortran Compiler on Debian stable on Intel i7 (ie, most Intel-compatible) and Windows xp, and that is about it. So far, once the modules are ported, the main program seems to compile without problems, but I am not in a position to make a general distribution.

Further, there is no comprehensive manual, though it comes with an in-progress version of what will one day, time permitting, be a manual. The program contains some basic help options, and the distribution packages contain a (simple) simulation that should work out of the box, and the adumbral manual contains some code that might be useful also.

Some things to note: ZMC is essentially a program for displacive relaxation/equilibration of the model crystal. Any occupancy ordering needs to be done externally. The software needs a suite of toolbox programs, which also need to be bundled with any distribution. These include programs for working with crystal geometry, calculating diffraction patterns (DIFFUSE, Butler, B. D. & Welberry, T. R. (1992). J. Appl. Cryst. 25, 391--399), performing any occupancy simulations and so on.


ZMC is used and the method described in the following publications, amongst others:

This article and its associated deposited material: 'A Process for Modelling Diffuse Scattering from Disordered Molecular Crystals, Illustrated by Application to Monoclinic 9-Chloro-10-methylanthracene', Advances in Condensed Matter Physics, 2015 (2015), Article ID 878463, 7 pages, DOI:

D.J.Goossens, A.P.Heerdegen, E.J.Chan and T.R.Welberry, 'Monte Carlo Modelling of Diffuse Scattering from Single Crystals: The Program ZMC', Metallurgical and Materials Transactions A, 42A (2011) 23-31. DOI: 10.1007/s11661-010-0199-1. (PDF)

D.J.Goossens and T.R.Welberry, 'Diffuse Scattering from Molecular Crystals', chapter in Diffuse Scattering and the Fundamental Properties of Materials, edited by Rozaliya I. Barabash, Gene E. Ice and Patrice E.A. Turchi. Momentum Press, 2009. Print ISBN: 978-1-60650-000-2. E-book ISBN: 978-1-60650-002-6

E.J.Chan, T.R.Welberry, D.J.Goossens, A.P.Heerdegen, A.G.Beasley and P.J.Chupas, 'Single-crystal diffuse scattering studies on polymorphs of molecular crystals. I. The room-temperature polymorphs of the drug benzocaine', Acta Cryst. B65 (2009) 382-392.

D.J.Goossens, A.G.Beasley, T.R.Welberry, M. J. Gutmann and R.O.Piltz, 'Neutron diffuse scattering in deuterated para-terphenyl, C18D14', J. Phys.: Condens. Matt., 21 (2009) 124204.

D.J.Goossens and M.J.Gutmann, 'Revealing how interactions lead to ordering in para-terphenyl', Physical Review Letters, 102 (2009) 015505-1-4.

D.J.Goossens, A.P.Heerdegen, T.R.Welberry and A.G.Beasley, 'The Molecular Conformation of Ibuprofen, C13H18O2, Through X-ray Diffuse Scattering', International Journal of Pharmaceutics 343 (2007) 59-68.

D.J.Goossens, T.R.Welberry, A.P. Heerdegen and M.J. Gutmann, 'Simultaneous Fitting of X-ray and Neutron Diffuse Scattering Data', Acta Crystallographica A A63 (2007) 30-35.

Updated May 12, 2016

[ Overview | Obtaining ZMC | Links | Home ]