Crystallography in Avogadro2

Hi everyone,

I’ve got the crystallography features nearly completed in Avogadro 2 in my spg branch on Github ( and I just wanted to give you guys an update on what I’ve been up to.

Below are menu entries for the features that I have working. Each new feature in the Crystal and Build menus is available through Avogadro::Core::CrystalTools. The qtplugins just pass pointers to molecules and unitcells around. I will probably add a command line tool in the near future for many of these features.

The “Set Space Group” dialog is not yet completed. I have the back-end routines, but I haven’t gotten the UI finished. I’m using this CrystalMaker snapshot as a guide ( There are some tricky things with QColumnView I haven’t worked out yet. If you guys have an example I can work from that would be greatly appreciated.

As in Avogadro1 many of the crystallography features require spglib. For now I have just copied the full spglib repo into the avogadrolibs/thirdparty directory and soft-linked it into avogadrolibs/avogadro/core directory so I can get it to build easily for me. Do you guys have a tutorial for using the CMake thirdparty features? I wasn’t able to make much use of it at the moment.

–>Wrap Atoms to Unit Cell
–>Rotate to Standard Orientation
–>Scale Cell Volume
–>Reduce Cell (Niggli)
–>Set Space Group…
–>Fill Unit Cell
–>Perceive Space Group
–>Reduce to asymmetric cell
–>Reduce to primitive lattice
–>Symmetrize Crystal

–>Build Super Cell…
–>Build Slab…


Albert DeFusco, Ph.D.
Research Assistant Professor
Technical Director, Center for Simulation and Modeling
University of Pittsburgh
Pittsburgh, PA 15260