McMaille V4.00

Short Manual - Black Box Mode

McMaille is a program for indexing powder patterns by Monte Carlo and grid search (maille in french = cell in english). The necessary data file is quite simple in automated black box mode :


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

Get it :

The compiler used for building the executable was Intel Visual Fortran 9.1. The parallelized version is realized by using OpenMP directives. 

The package contains mainly :

  McMaille.exe      : executable for MS Windows, single processor
  McMaille.for       : the FORTRAN source code
  license.html         : the GNU Public License (GPL)     : 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 "black-box mode

  McMaille.pdf        : copy of the McMaille publication
  benchmarks.pdf    : copy of the benchmarks publication                : various classical test files    : 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 
 window.jpg           : figure called by the McMaille-v4.html file (the manual)
 McM-ico.ico         : 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
 example.gif           : 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 at :
         or at

Input file

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 :

Sr2Cr2O7                       Title
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 search

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.

Output files

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 CRYSFIRE.
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), containing 
                  control parameters for new searches with NGRID = 2 in cubic 

The screen output delivers for each symmetry examined the first cell proposal,
and then all the proposals which will correspond to a Rp decrease. This means
that the true cell may not appear here if a false one having a smaller Rp value
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 results.

Armel Le Bail    -  November 2006