Skip to content

Analysis of quantum chemical interactions in molecules and solids.

License

Notifications You must be signed in to change notification settings

aoterodelaroza/critic2

Repository files navigation

critic2 logo

Critic2 is a program for the manipulation and analysis of structural and chemical information in molecules and solids. It can be used to:

  • Read, transform, and create molecular and crystal structures in a variety of file formats.

  • Carry out crystallographic computations (atomic environments, coordination numbers, structural comparison,...).

  • Read, analyze, manipulate, combine, and create scalar fields such as the electron density or the ELF.

  • Carry out calculations using Bader's atoms in molecules theory (finding critical points, integrating atomic basins, plotting gradient path manifolds,...).

  • Apply chemical bonding analysis tools: non-covalent interaction (NCI) plots, ELF plots, and others.

Critic2 provides an abstraction layer on top of the underlying quantum chemical calculation because it interfaces with many electronic structure programs: WIEN2k, elk, PI, Quantum ESPRESSO, abinit, VASP, DFTB+, Gaussian, psi4, siesta, and many more.

Compilation and installation

Critic2 can be compiled on Linux and macOS. For this, you will need a Fortran and a C compiler, and the cmake build system. Detailed installation instructions can be found in the manual. Critic2 uses some fairly modern Fortran features, which may not be implemented on all current Fortran compilers. Please, check out the relevant section of the manual to see if your compiler is listed.

Critic2 is parallelized for shared-memory architectures (unless specifically deactivated during the build process). You change the number of parallel threads by setting the OMP_NUM_THREADS environment variable.

The environment variable CRITIC_HOME is necessary if critic2 was not installed with make install. It must point to the root directory of the distribution:

export CRITIC_HOME=/home/alberto/programs/critic2dir

This variable is necessary for critic2 to find the atomic densities, the cif dictionary, and other data. These data should be in ${CRITIC_HOME}/dat/.

Lastly, a number of external libraries can be used to extend critic2's capabilities, including readline (shell-like features in the critic2 command line), Libxc (exchange-correlation energies and potentials), NLOPT (variable-cell comparison between crystal structures), and Libcint (molecular integrals).

Using critic2

All of critic2's features are documented in the reference manual. For a text version of the manual, please clone the repository. Some examples are provided in the examples section of the documentation.

References and citation

The basic references for critic2 are:

The output and the manual may contain additional references pertaining to methods employed by particular keywords.

License

Critic2 is made available under the GNU/GPL v3 license. See the LICENSE file in the root of the critic2 distribution for more details.