Program ENP-FUZZY, Version 1.00 ------------------------------- This program performs "fuzzy atoms" energy partitioning (decomposition the molecular SCF energy into sum of atomic and diatomic energy components), according to I. Mayer and P. Salvador, to be published Cite this program as: --------------------- I. Mayer and P. Salvador, Program "ENP-FUZZY", Version 1.00, Girona, October 2003. ------------------------------------------------------------------------------- There are two gzipped tars - one with Fortran-77 code another with a Fortran-90 variant. Both tars contain the respective "Makefile"-s, too. Both variants use dynamic memory allocation. For that reason the Fortran-77 version may be refused by some old compilers. (It is accepted e.g. by the gnu-Fortran g77, by the actual PGF Fortran-77 etc. For IBM machines the respective additional option of the LINK command is described in Makefile of the Fortran-77 variant as a comment. The Fortran-90 variant is applicable for the closed-shell (RHF) case only! ************************************************************************** ------------------------------------------------------------------------------- The program has been written by using parts of the program APOST by I. Mayer and A. Hamza, Budapest, 2000-2003. The numerical integration utilizes the subroutines for Lebedev quadrature downloaded from CCL. The appropriate reference is: V.I. Lebedev, and D.N. Laikov, Doklady Mathematics, 59, No. 3, 477 (1999) We are extremely grateful for the possibility of using these routines! e-mail: pedro.salvador@udg.es ------------------------------------------------------------------------------- USAGE: The main input of the program is the "Formatted checkpoint file" generated in a Gaussian run. To generate it, include in the Gaussian input the keyword FormCheck. (It can also be generated by the "formchk" utility from the binary checkpoint file.) The most detailed invocation of the program is with arguments as "enpart file-name Nrad Nang" (Default values are provided for all parameters, see below.) "file-name" is the actual name of the input, Nrad and Nang are the number of radial and angular grid points (per atom) used in the numerical integration. The program looks for the Gaussian formatted checkpoint file named "file-name.fchk" and the file "file-name.inp" for the specification of the atoms to be investigated. (sample files h2o.fchk and h2o.inp are provided). If there is no file "file-name.fchk" (or it is in error) or its name is replaced by an "%" in the calling command (e.g. "enpart % 50 146"), then the programs looks for the formatted checkpoint file with the name "Test.FChk" (the default name used by Gaussian) and the file "enpart.inp", for the specification of the atoms. Specification of what atoms to be investigated (file "file-name.inp" or "enpart.inp"): First line: the number of atoms to be investigated Second line: list of the atoms to be investigated. If no "file-name.inp" (or "enpart.inp") is present, or it is in error, then the calculation will be performed for *all atoms and pairs of atoms*. If no grid points are specified in the calling command, then the program looks for a Fortran file "60" (fort.60, ftn60..., depending on the system) which should be formatted (non-binary) and contain two integers Nrad and Nang. In the case if the number of grid points is not specified (neither the argument are given nor file "60" is present) then the default grid is used: Nrad=40, Nang=146. The simplest usage: "enpart" Then the Gaussian formatted checkpoint file "Test.FChk" will be processed. If no files "enpart.inp" and Fortran "60" have been prepared, then all atoms will be processed and the default grid will be used. ------------------------------------------------------------------------------- Remark on THE POSSIBILITY OF USING DIFFERENT WEIGHT FUNCTIONS: The present program uses the weight functions of the different atoms in different points of space according to the scheme which was originally proposed by Becke for doing effective numerical integrations (A. D. Becke, J. Chem. Phys. 88, 2547, 1988). This function is calculated by the function "wat" (see file wat.f), by using the atomic radii specified in subroutine "prepar" (see file prepar.f) and calling different functions in wat.f. One may replace this function "wat" by his own weight function by writing an appropriate "function wat(ii,x,y,z)" instead to ours. (The first argument is the atom for which the weight function is calculated, the remaining ones are the Cartesian laboratory coordinates of an arbitrary point in space.) This function should be non-negative, and in every point of space the weight functions of the different atoms should sum to 1. (The above conditions in LaTeX notations: w_A(x,y,z) \ge 0 and \sum_A w_A(x,y,z) \equiv 1.)