We present in this article a new and considerably faster version of the edf Fortran 77/90 code that replaces the old one (Francisco et al., 2008). In the new version, given an N-electron molecule and an exhaustive, fuzzy, or orbital-based partition of the physical space R3 into m domains, the probabilities p(S) of all possible distributions S={n1,n2,…,nm} of the N electrons (n1+n2+⋯+nm=N) into m real space domains are computed. The set {p(S)} defines the electron number distribution function (EDF) of the molecule for this specific space partition. The molecule may be described by either a single- or a multi-determinant wavefunction Ψ(1,N). Both spin-resolved and spin-unresolved EDFs are determined. Isopycnic orbital localizations of the natural molecular orbitals (MOs) can be optionally performed to make the use of the core approximation possible. This explicitly eliminates from the calculation those MOs strongly that are localized over one of the m domains, considerably speeding up the process. An optional approximation consisting of assuming that localized MOs are orthogonal to each other in all the domains is shown to give reasonably accurate results and further accelerates the calculation. The new edf code does also allows for the computation of a single probability p(n1,n2,…,nm) instead of the full EDF. Finally, this new version computes multiple-domain covariances of electron populations, particularly relevant for chemical bonding theory. Program summary/new version program summaryProgram title: edfCatalogue identifier: AEAJ_v2_0Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AEAJ_v2_0.htmlProgram obtainable from: CPC Program Library, Queen’s University, Belfast, N. IrelandLicensing provisions: Standard CPC licence, http://cpc.cs.qub.ac.uk/licence/licence.htmlNo. of lines in distributed program, including test data, etc.: 16847No. of bytes in distributed program, including test data, etc.: 206274Distribution format: tar.gzProgramming language: Fortran 77/90.Computer: 2.80 GHz Intel Pentium IV CPU.Operating system: GNU/Linux.RAM: DynamicClassification: 2.7.External routines: mklDoes the new version supersede the previous version?: YesCatalogue identifier of the previous version: AEAJ_v1_0Journal reference of the previous version: Comput. Phys. Comm. 178 (2008) 621Nature of problem: Given an N-electron molecule described by a single- or multi-determinant wavefunction Ψ(1,N), and a partition of the physical space R3 into m domains Ω1,Ω2,…,Ωm, edf computes the probabilities p(S) of having exactly n1,n2,…, and nm electrons in Ω1,Ω2,…,, and Ωm, respectively, for all possible distributions S≡{n1,n2,…,nm}, being n1,n2,…, and nm integer numbers.Solution method: Given a wavefunction Ψ(1,N)=∑rMcrΨr(1,N), where the Ψr’s are Slater determinants Ψr=det[X1r,…,XNr], and calling (Skrs)ij the overlap integral within the domain Ωk between Xir and Xjs, edf finds all the p(S)’s using a three-step procedure: (1)For each (r,s) pair, solve the linear system ∑{nσi}t1n1σt2n2σ…tmnmσprs({niσ})=det[∑k=1mtkSkrs] in the unknowns prs(niσ), where σ=(α,β), {nσi}(i=1,2,…,m) are the integer electronic populations with spin σ of the domains Ω1,Ω2,…,Ωm, tm=1, and t1,…,tm−1 are arbitrary real numbers,(2)Compute the spin-resolved probabilities p({nα;nβ})≡p({ip})=∑r,sMcrcsprs({niα})prs({niβ}), and(3)obtain the p(S)’s by adding up the p({ip})’s with niα+niβ=niReasons for new version: Dynamic memory allocation instead of static memory allocation is used throughout. Further partitions of the 3D space have been added. Thanks to the change in the algorithm used to solve the problem, the new version is 1–2 orders of magnitude faster than the previous one and can deal with molecules having a greater number of electrons. Approximate calculations as well as exact ones are possible in the new version by making use of the core–valence separability.Summary of revisions: Most data structures are stored in dynamic memory. The basic algorithm has been changed to ensure a much faster computation of the probabilities p(S). Algorithms to obtain the latter in an approximate manner, as well as using different partitions of the 3D space have been included.Restrictions: The number of {niσ} sets in Eq. 1, i.e. the dimension of the linear system to be solved, grows very fast with m and N. This dimension is much smaller than in the previous version of edf but, even so, this restricts the applicability of the method to relatively small systems, unless some drastic approximations are used (excluding, for instance, a large part of the electrons of the system from the calculation).Running time: 0.016 and 0.004 s for the test examples 1 and 2, respectively. However, running times are very variable depending on the molecule, the type of the wavefunction (single- or multi-determinant), the number of fragments (m). etc.
Read full abstract