Debyer and companion programs analyze and manipulate atomistic models. In particular, debyer can calculate powder diffraction pattern of virtual sample using the Debye scattering formula. This project used to be hosted at google code.
is kept in doc/ and can be read at http://debyer.readthedocs.org/
When installing from git, you must have
gengetopt, and run first:
The rest of the build procedure is:
./configure CFLAGS="-O3 -ffast-math" [MORE OPTIONS] make sudo make install
Zlib and bzlib libraries are optional prerequisites.
If you don't have them installed, use
--without-bzlib options, respectively -- the programs will work fine,
just won't be able to read
make command builds
debyer and a few programs with
names staring with
make install copies the programs to PREFIX/bin
/usr/local unless set explicitly with
A few configure options have been introduced to speed up Debyer.
Defaults are: OpenMP, double precision and
-O2 -g compiler flags.
If your compiler has option
-ffast-math, adding it to
is safe and makes the program notably faster.
--disable-openmpbuilds serial version
--enable-mpibuilds parallel version using MPI (not OpenMP) and LDFLAGS turns on OpenMP-based parallelization
--enable-singleuses single precision (double precision is default)
CFLAGS-- Debyer includes both C++ and C code. The computationally intensive part happens to be written in C, so
CFLAGSmatters more than
CFLAGS="-O3 -ffast-math -march=native"should give good results.
If Debyer is compiled with OpenMP, environment variable
can be used to control the number of threads.
you may compile Debyer without autotools and make, directly calling your compiler:
cd debyer c++ -O3 -ffast-math -fopenmp -o debyer cmdline.c debyer.c atomtables.c \ main.cc lineio.cc fileio.cc -lm
Other programs can also be compiled this way, for instance:
c++ -O3 -o dbr_conv conv.cc debyer.c lineio.cc fileio.cc atomtables.c -lm