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.
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).
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.
The basic references for critic2 are:
- A. Otero-de-la-Roza, E. R. Johnson and V. Luaña, Comput. Phys. Commun. 185, 1007-1018 (2014)
- A. Otero-de-la-Roza, M. A. Blanco, A. Martín Pendás and V. Luaña, Comput. Phys. Commun. 180, 157–166 (2009)
The output and the manual may contain additional references pertaining to methods employed by particular keywords.
Critic2 is made available under the GNU/GPL v3 license. See the LICENSE file in the root of the critic2 distribution for more details.