Main Page| Staff| Publications| Research| Events| Didactic Activities

bopcalc: a highly-efficient code for evaluating
bond-orientational order parameters

1. What is it for?

The bopcalc program calculates bond-orientational order parameters (BOPs) and is used for structure analysis of atom configurations obtained from molecular dynamics (MD) and Monte Carlo (MC) simulations. It allows one to perform accurate, fast and fully-automated analysis of local particle arrangements that are present in the simulated system.

In particular, this program allows to:
  • calculate local BOPs of individual atoms,
  • calculate global BOPs of the entire sample,
  • compute distributions of BOPs (system- and time-averaged),
  • classify local atomic structure and quantify the occurrence of different crystalline phases.
This program supports the ".xyz" file format so it can be used in combination with many existing MD/MC codes. It also supports trajectory files produced by the popular molecular dynamics simulator LAMMPS, both of text-based (".lammpstrj") and binary (".lammpstrjbin").

2. Licensing

This program is made freely avaiable under the GNU GPL v3 license. In order to read more about the Licensing Conditions please visit:
In fact, this program is an implementation of the method introduced by the paper:
S. Winczewski, J. Dziedzic, J. Rybicki,
A highly-efficient technique for evaluating bond-orientational order parameters,
If you use this code to generate publishable results, please cite it.

You should also cite the original paper where the bond-orientational order parameters were proposed:
P. J. Steinhardt, D. R. Nelson, M. Ronchetti,
Bond-orientational order in liquids and glasses,
Phys. Rev. B 28, 784 (1983).

3. Installation and running

The archive containing the bopcalc program can be downloaded from here.

The downloaded .tar.gz archive can be extracted using the command:
tar -xzf bopcalc_v100.tar.gz
This will create a new subdirectory that contains the program. Now, you will need to compile the program. This can be done in just two, very simple steps.

At first, navigate to the /src directory. This can be done by issuing the command:
cd bopcalc_v100/src
The /src directory contains source files of the program. It also contains sample makefile. In order to compile the program issue the following command:
make -f Makefile.linux
This will start the compilation process which should take just a while. After successfull compilation you should see the following information on the screen:
bopcalc - compilation completed successfully
and a new file named bopcalc should be created in the /src directory. This is the executable file of the bopcalc program.

Now, you can run the program by issuing the command:
As you can see, the bopcalc program expects that you will provide an appropriate input file (and specify its name):
./bopcalc [input_file]
The input file is used to define the parameters of the computations. Some sample input files are located in the /examples directory. The format of the input file is described in details in the user manual which can be found in /doc/usrman.pdf.

4. Contact

If you have any questions or suggestions regarding this program please contact me (Szymon Winczewski) at:
wisnia (at)

Last modified 23.03.2015