
                    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.

 The Fortran-90 variant is applicable for the closed-shell (RHF) case only!
 ***************************************************************************

 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 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-mails: mayer@chemres.hu, 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.)


 

