4.7 Article

DensToolKit: A comprehensive open-source package for analyzing the electron density and its derivative scalar and vector fields

Journal

COMPUTER PHYSICS COMMUNICATIONS
Volume 196, Issue -, Pages 362-371

Publisher

ELSEVIER
DOI: 10.1016/j.cpc.2015.07.005

Keywords

Electron density; Quantum Theory of Atoms in Molecules; Spatial grids; Momentum space; Reactivity indices; Reduced density matrix of order one

Funding

  1. International Centre for Theoretical Physics
  2. Benemerita Universidad Autonoma de Puebla (BUAP-VIEP) [HEPJ-NAT15-I]

Ask authors/readers for more resources

DensToolKit is a suite of cross-platform, optionally parallelized, programs for analyzing the molecular electron density (p) and several fields derived from it. Scalar and vector fields, such as the gradient of the electron density (del rho), electron localization function (ELF) and its gradient, localized orbital locator (LOL), region of slow electrons (RoSE), reduced density gradient, localized electrons detector (LED), information entropy, molecular electrostatic potential, kinetic energy densities K and G, among others, can be evaluated on zero, one, two, and three dimensional grids. The suite includes a program for searching critical points and bond paths of the electron density, under the framework of Quantum Theory of Atoms in Molecules. DensToolKit also evaluates the momentum space electron density on spatial grids, and the reduced density matrix of order one along lines joining two arbitrary atoms of a molecule. The source code is distributed under the GNU-GPLv3 license, and we release the code with the intent of establishing an open-source collaborative project. The style of DensToolKit's code follows some of the guidelines of an object-oriented program. This allows us to supply the user with a simple manner for easily implement new scalar or vector fields, provided they are derived from any of the fields already implemented in the code. In this paper, we present some of the most salient features of the programs contained in the suite, some examples of how to run them, and the mathematical definitions of the implemented fields along with hints of how we optimized their evaluation. We benchmarked our suite against both a freely-available program and a commercial package. Speed-ups of similar to 2x, and up to 12x were obtained using a non-parallel compilation of DensToolKit for the evaluation of fields. DensToolKit takes similar times for finding critical points, compared to a commercial package. Finally, we present some perspectives for the future development and growth of the suite. Program summary Program title: DensToolKit Catalogue identifier: AEXI_v1_0 Program summary RL:http://cpc.cs.qub.ac.uk/summaries/AEXI_v1_0.html Program obtainable from: CPC Program Library, Queen's University, Belfast, N. Ireland Licensing provisions: GNU, General Public License, version 3 No. of lines in distributed program, including test data, etc.: 142037 No. of bytes in distributed program, including test data, etc.: 5517409 Distribution format: tar.gz Programming language: C++, bash. Computer: Any. Operating system: Linux, MacOSX, Windows (cygwin). RAM: The memory requirements grow quadratically with the number of primitives describing the wavefunction. A wavefunction with 1,500 primitives uses similar to 17MB, and 2GB RAM are enough to process wavefunctions of around 10,000 primitives. A few more MB may be needed by some of the most demanding programs of the package if the number of primitives is large. Classification: 6.5, 7.3, 16, 16.1. External routines: (optional) gnuplot, povray, epstool, Graphics-Magick, epstopdf Nature of problem: The study of the electron density of molecules, some reactivity indices, and the topology of the electron density can be used to analyze the chemical nature, stability and reactivity of those molecules. Furthermore, the study of the electron density and functionals of it may help us in gaining a better understanding of the chemical bond. Reactivity indices and the molecular topological properties may also aid in molecular design. Solution method: The suite provides several programs in order to compute scalar and vector fields derivatives of the electron density. Those fields are obtained from a wavefunction file, which is in turn obtained from programs such as Nwchem, MolPro, etc. The functions, whereby the fields are computed, are implemented following mathematically standard but computationally optimized and parallelized algorithms built upon the Density Matrix. The suite provides several small but efficient programs, easily scriptable, for evaluation of the fields upon spatial grids. Regarding the topology analysis, the suite uses the algorithm proposed by Popelier, which uses the eigen-values of the Hessian of the electron density for locating the critical points. Bond paths are traced using a fifth-order Runge-Kutta-Dormand-Prince algorithm. Optional visualization of the produced data can be carried out by scripts generated by the suite, which can be parsed later to gnuplot, or povray. In addition, DensToolKit provides an open door for the user to program new scalar or vector fields, with almost complete functionality for evaluating such fields upon the same spatial grids as those implemented for the fields already provided in the suite. Restrictions: Wavefunctions with more than 99 nuclei must be input in wfx format. In the current version, wavefunctions that use pseudopotentials must have only one Additional Electron Density Function (EDF) entry in the wfx file, which in this case is the only accepted input format, and pseudopotential support is provided only in non-parallel compilation. Additional comments: A simple method for implementing new indices (derived from any of the implemented fields) is provided. In this manner, the final user may easily program his/her own scalar or vector field with a few code lines. Running time: Strongly dependent on the number of primitives used for approximating the wavefunction (similar to N-p(2)). It also depends on the evaluated number of points and type of field. Wavefunctions comprised of 1,500 primitives may take several hours to complete, while small molecules described by two or three hundred primitives take a few seconds. Typical running times are at least as fast as the times taken by some commercial or freely available codes. In many cases, the programs perform the computations with a speed-up of 2x (with respect to other available programs), and in some cases 10 x speed-ups or more can be attained. (C) 2015 Elsevier B.V. All rights reserved.

Authors

I am an author on this paper
Click your name to claim this paper and add it to your profile.

Reviews

Primary Rating

4.7
Not enough ratings

Secondary Ratings

Novelty
-
Significance
-
Scientific rigor
-
Rate this paper

Recommended

No Data Available
No Data Available