McMaille version 4.00 is distributed under the GNU Public Licence conditions.
The zipped package contains the executable for Windows 95/98/NT/XP,
as well as the FORTRAN source codes (quite short and documented) for both
the single and the multi processor machines, and some examples described
Get it : McMaille-v4.zip
The compiler used for building the executable was Intel Visual Fortran
9.1. The parallelized version is realized by using OpenMP
The package MvMaille-V4.zip contains mainly :
McMaille.exe : executable
for MS Windows, single processor
McMaille.for : the
FORTRAN source code
: the GNU Public License (GPL)
PMcMaille.zip : contains the executable
for the multi core processors
(named McMaille.exe) and a DLL named libguide40.dll
which has to be installed in the same directory. The corresponding
source code McMaille.for with OpenMP directives is also there.
McMaille-v4.html : the complete manual
short-manual.html : a short manual version for the automated
: copy of the McMaille publication
benchmarks.pdf : copy of the benchmarks
: various classical test files
benchmarks.zip : more test files (benchmarks)
: more test files (from the 'Structure Determination
by Powder Diffractometry Round Robin 2')
cub.hkl, hex.hkl, rho.hkl, tet.hkl, ort.hkl, mon.hkl, tri.hkl
: the prepared lists of hkl Miller indices which have
to be installed in the same directory as the McMaille.exe program
: figure called by the McMaille-v4.html file (the manual)
: icon file, if you wish to put it as a shortcut on the screen
McM-large.gif : same image
as the icon above, slightly larger
: figure showing the display of a .prf file by WinPLOTR
More about the .hkl files :
You should absolutely let the cub.hkl, hex.hkl, rho.hkl, tet.hkl, ort.hkl,
mon.hkl, tri.hkl files in the same directory as McMaille.exe as well as
your parameters .dat files. These .hkl files contain a list of predetermined
Miller indices ordered according to a cell having a, b, c, parameters close
to each other.
In case of successful use, please cite the paper :
A. Le Bail, Powder Diffraction 19 (2004) 249-254.
(included into the package)
See comparisons of indexing software including McMaille :
J. Bergmann, A. Le Bail, R. Shirley and V. Zlokazov, Z. Kristallogr.
219 (2004) 783-790.
(included into the package)
Visit the Indexing Benchmarks Web page at :
The manual : McMaille-v4.html included in the package is also available
or at http://www.cristal.org/mcmaille/
Running McMaille (by either clicking on McMaille.exe and giving the
entry file name - no extension - or in a DOS box by typing "McMaille name"
) requires a parameters data file. A typical data file (should be named
name.dat, name being your choice) follows :
Typical name.dat input file :
1.54056 0.0 -3 Wavelength, Zeropoint, Ngrid
!!! A line starting by ! is ignored
11.180 345. 2-theta (or d(A)), Intensity
12.217 1120. Etc
15.835 124. 20 couples of positions and
18.709 455. intensities. You may put more
Etc but only 20 will be used.
Line 1 :
Title : for your problem identification.
Line 2 :
Wavelength : your experiment wavelength.
If you used CuKalpha, you should have stripped alpha2 before peak positions
hunting. If you try to index large cells (proteins, etc), then consider
to divide the wavelength by 5 or 10, so that you will obtain cell parameters
divided by 5 or 10 as well.
Zeropoint : your powder pattern zeropoint
(global value including the zero due to the diffractometer and the zero
due to sample misplacement - will be added to the data). It is recommended
to have a standard compound mixed with your sample or to apply the harmonics
method for zeropoint estimation.
Ngrid : code for the process to be applied
Ngrid = 3 : black box mode - Monte Carlo on all symmetries (recommended)
Ngrid = -3 : as above but without triclinic search
Ngrid = 4 : black box mode - Monte Carlo on all symmetries + grid
Next lines :
2-theta (or d(A)) and intensities couples of values.
The test for identification of 2-theta or d(A) values is made by the
difference between the second and the first value. So, be careful to have
a list of increasing values for 2-theta and decreasing for d(A) values.
Even if you use d values, you are requested to choose a wavelength (because
McMaille intrinsically works on 2-theta values, it will change your d into
2-theta according to that wavelength). If you wish to divide the wavelength
for indexing large cells (see above), use only 2-theta values.
McMaille produces 4 or 5 types of output files :
name.imp containing the details of the calculations
and a final sorted summary.
There are 2 verbosity levels, low and large. The large verbosity is
obtained by entering a negative wavelength (of which of course the
sign is then immediately changed). See the bottom of the .imp file
where a few propositions of most plausible cells ar listed. If you
wish for more info, see lists ordered by F(20), M(20), or the
Rp-based McMaille special FoM (Figure of Merit), etc.
name.ckm containing an ordered total list of the "best
cells" for the CHEKCELL
program. Note that the special Rp-based McMaille FoM is calculated
as the inverse of Rp multiplied by adequate factors depending on the
Bravais lattice and the symmetry... A Rp-based McMaille FoM
close to 50 or larger may indicate the correct cell (Rp < 10%).
Depending on the cell proposals, partial lists are also built ;
name_cub.ckm : cubic
name_rho.ckm : rhombohedral
name_hex.ckm : hexagonal/trigonal
name_tet.ckm : tetragonal
name_ort.ckm : orthorhombic
name_mon.ckm : monoclinic
name_tri.ckm : triclinic
name_two.ckm : two phases mode output (manual mode)
name.mcm containing an ordered list of the "best cells" for
name.prf containing the "best profile" result
(with lowest Rp), to be seen by the
WINPLOTR program. For this calculation, Gaussian peak shape is
used, having FWHM = W / 2, where W is the mean columnar width
above (given that it is recommended to use W = 2 * FWHM as a
minimum). The calculated pattern is obtained after 4 Le Bail fit
name-new.dat produced only for NGRID=3 or 4 (black box mode),
control parameters for new searches with NGRID = 2 in cubic
The screen output delivers for each symmetry examined the first cell
and then all the proposals which will correspond to a Rp decrease.
that the true cell may not appear here if a false one having a smaller
is encountered before it. Anyway, the screen output will give you an
idea of the
smaller Rp attainable. Then look at the bottom of the name.imp file
and at the
various sorted lists of cells.
This black box mode (NGRID = 3 or -3) should solve simple cases. If
not, use the manual modes (NGRID
= 0, 1 or 2). Use preferably the parallelized version for Core duo (= dual
core) or quad core processors (respectively 1.8 or 3.8 times faster than
using a single processor with same frequency).
For recognizing the very best
solution in a black box mode output, you have to find, in principle, the
cell proposal corresponding to the largest FoM (or smallest Rp) with highest
symmetry and smallest volume, indexing the largest number of peaks. Not
always an easy task... so, open your eyes ! Then check your choice(s) by
applying the Chekcell program on the .ckm global or partial lists and finally
by whole pattern fitting by the Pawley or Le Bail methods (Fullprof, Gsas,
Rietica, Maud, etc, etc).
NOTE : pressing the K keystroke (capital letter - for Kill) will
stop the program a few seconds later (or minutes...), saving the current
Armel Le Bail
- November 2006