Superflip is a computer program for application of the charge-flipping algorithm to structure solution of crystal structures from diffraction data. Superflip works in arbitrary dimension and can be therefore used for solution of normal periodic structures, modulated structures and also quasicrystals.

Superflip is written in Fortran 90 and it uses the mathematical library FFTW3 for making the fast Fourier transform. This library must be installed on your system if you want to compile the program from the source code. Superflip also makes use of the subroutine SGELSY (+ dependencies) from the mathematic library LAPACK. This routine is included in the installation package of Superflip, and the LAPACK library neednot be installed on your system. The program package contains the source code, the Makefile, sample input file and user manual.

If you want to use the precompiled executable, just download the appropriate file from the table below and follow the instructions. If you want to compile the program from the source code, please follow the notes in the user manual.

In the following table click download to download the particular item, or click instructions to view the instructions for installation:

complete package with source code, user manual and sample file
zipped exectutable for Windows
zipped executable for MacOS X
Sample input files

EDMA (Electron Density Map Analysis) is a program for analysis of discrete elecron density maps. It was developed at the University of Bayreuth for analysis of Maximum Entropy maps in arbitrary dimensions as a part of the program suite BayMEM. However, EDMA is also an excellent tool for analysis of other electron density maps, in particular of those obtained by Superflip. Therefore Prof. Sander van Smaalen kindly agreed to make EDMA available for public also separately from the rest of the BayMEM suite.

EDMA shares the file format and many keywords with Superflip and therefore it is practical to have only one input file for both Superflip and EDMA.

To download EDMA or its manual, click on the appropriate item in the following table:

complete package with source code and user manual
zipped exectutable for Windows
zipped executable for MacOS X
Sample input files

I am indebted to:
Michal Dusek, laureate of the "golden flipator" award, for his major help with producing the Windows version of Superflip.
Ivan Orlov for his assistance with setting up this web page
For users of Jana2000:
You can make your life much easier by preparing the input files for Superflip and EDMA in Jana2000 and import the result of Superflip and EDMA back to Jana2000. Here you can find out how. If you are not using Jana2000, have a look anyway, maybe you will want to give it a try!

Latest changes on this page
Note: if you wish to recieve an e-mail with notifications about the most important updates, please register for it by sending me an e-mail.

A page with sample input files for Superflip and EDMA has been added here and it contains input files for three structures - one periodic, one modulated and one from powder diffraction data. If you have a nice example, do not hesitate to share it with other users of Superflip! I will be pleased to include it.

Superflip can now perform also a low-density elimination method in addition to charge flipping. Both methods are closely related. See keyword perform for details.

A run-time interaction with superflip is now possible via a command file. It is possible to change the method to low-density elimination/charge flipping, change the values of delta and weakratio as well as to stop the iteration and write out the density at any moment of the iteration.

A possibility has been added to suppress the noise in the density after the convergence. The settings that are the best to achieve the convergence are not the best to obtain the most clear map. Therefore additional "polishing" cycles can be now performed to remove the noise from the converged map. This is especially useful, if there are light atoms next to heavy atoms in the structure. See keyword polish in the user manual.


EDMA can now quantitatively assign the maxima to atomic types according to composition given by user. With the new option the exported structure will quantitatively correspond to the desired chemical composition. The other options for handling composition remain preserved. See keywords composition and numberofatoms in the user manual to learn more about this option.


EDMA can now export the structure not only to the m40 format of Jana2000, but also to a CIF format or INS file of SHELX. For more information, see the keyword "export" in the user manual for EDMA. Please inform me if you encounter some problems with the export to CIF or SHELX, so that I can finetune these new tools!


A guide explaining step by step how to produce the input files for Superflip and EDMA with Jana2000 has been added to this webpage and can be found here.


EDMA can be downloaded from this site. EDMA is a tool for analysis of electron densities in arbitrary dimensions. For more information see above or see the user manual of EDMA.


A completely new symmetry-searching routine has been implemented in Superflip. It is much faster especially for low symmetries and for higher-dimensional densities. Should you face a problem with the symmetry search, please contact me. You can always use the old symmetry search by using the keyword searchsymmetry average old or searchsymmetry shift old.


New output format has been added, namely m80 format of Jana2000. It is an ASCII reflection list and can be used for making density sections by Jana2000. Keyword usephases has been updated, see manual. The alignment of the density with the reference file has been substantially improved and accelerated. The agreement factor expressing the match during the symmetry search was put onto absolute scale. The expected value for a random shift is now always 100%, reasonably good match for the right position of a symmetry element gives agreement factor below 30%.


The executable for Windows has been updated and from now on it should be always up-to-date with the other versions. It is a stand-alone executable which does not need any other library to run. Very special thanks to Michal Dusek who has undergone the calvary of finding out the compilation procedure.


Superflip can now repeat the calculation. One of the options is to repeat the calculation until convergence is detected. You can also let Superflip repeat the calculation indefinitely and save the densities with the best R-value. See keywords repeatmode and bestdensities in the manual.

The maximum number of cycles can be now entered also as a keyword in the input file.

The Windows executable has not been updated, but it will be updated soon!


The option "dataformat" has been added. This allows the user to define flexibly the format of the input data. Please study carefully the user manual, keyword dataformat, to get familiar with the change. Keyword datatype has been discarded, its functionality is replaced and extended by dataformat.

Keyword usephases allows the user to provide the starting phases for the charge-flipping iteration for all or (in combination with appropriate dataformat) some reflections. The previously used method to input the user-defined phases via a special value of randomseed has been discarded.

The handling of forbidden reflections has been changed. Previously, the program stopped when forbidden reflections were found in the reflection list. Now the program only writes out a warning, discards the reflections from the reflection list and continues.

The Windows executable has not been updated.


Optionn "terminal yes/no" added. This allows you to get an information about the progress of the iteration on the terminal.

Keyword datatype has been added allowing you to define, if the input data are amplitudes |F| (as was the only possibility up to now), or the intensities |F|^2. See user manual, keyword datatype for details.


This web page was open to public. The program package contains executables for Windows and Mac OS 10.4.

If you make use of charge flipping/Superflip for your research, please cite appropriate references from this list:
Original articles about charge flipping:

Oszlanyi G., Suto A. (2004): Ab initio structure solution by charge flipping, Acta Crystallogr. A60, 134-141, abstract

Oszlanyi G., Suto A. (2005): Ab initio structure solution by charge flipping. II. Use of weak reflections, Acta Crystallogr. A61, 147-152, abstract

Charge flipping in superspace:

Palatinus L. (2004): Ab initio determination of incommensurately modulated structures by charge flipping in superspace, Acta Crystallogr. A60, 604-610, electronic reprint

Low-density elimination method:

Shiono M., Woolfson M. M. (1992): Direct-space methods in phase extension and phase determination. I. Low-density elimination., Acta Crystallogr. A48, 451-456, abstract

The program Superflip:

Palatinus L., Chapuis G. (2006): Superflip - computer program for solution of crystal structures by charge flipping in arbitrary dimensions, http:/

The program EDMA:

van Smaalen S., Palatinus L., Schneider M. (2003): The Maximum Entropy Method in superspace, Acta Crystallogr. A59, 459-469, abstract

Charge flipping on powder diffraction data:

Baerlocher Ch., McCusker L. B., Palatinus L. (2007): Charge flipping combined with histogram matching to solve complex crystal structures from powder diffraction data, Z. Kristallogr. 222(2), 47-53, abstract and full text

Back to Superspace Corner of Laboratoire de Cristallographie

Please send all questions and comments to Lukas Palatinus

WOP!WEB Services for web sites... FREE!