

This note concerns the 2DHF program that has been prepared for
publication in CPC to update its previous version published in 1996
and available through the CPC Library. The program has been constantly
changed/improved over the years and made available through the web
site http://staff.csc.fi/~laaksone/Num2d.html. It is now two years
since the last update and the time is ripe for another one.

The present version of the program had its code overhauled with
corrections/modification introduced in dozens of places in hope that
accuracy, functionality and readability of the program would be
improved. 

These are some of the changes that have been introduced since the last
update (January 2001) of the program:

- It is possible to use the program for the calculation of electrical
  properties by means of the finite electric field method (Perl
  scripts has been added to ease extraction of the data from output
  files in order to calculate polarizabilities and
  hyperpolarizabilities).

- The rate of convergence of the SCF/SOR iterations is very much
  dependent on the values of the overrelaxation parameters for
  orbitals and potentials. Due to a semi-empirical formula it is now
  possible to set automatically the overrelaxation parameter for
  relaxation of Coulomb and exchange potentials to a near optimal
  value. This value can be also use as a rough indicator of the
  overrelaxation parameter for the relaxation of orbitals. Since for
  large systems some 90% of the CPU goes into relaxation of the
  potentials a proper choice of the relaxation parameter can speedup
  calculations substantially (some calculations performed so far
  indicate that a speedup by the factor of 3-5 can be expected).

- Evaluation of boundary conditions for potentials have been modified
  resulting in a higher accuracy of solutions for a given value of the
  practical infinity.

- The grid specification has been simplified. Now one only needs to
  define the number of grid point in nu variable and the value of the
  practical infinity. The number of grid points in mu variable is
  calculated so as to make the discretization errors in these
  variables comparable.

- The compilation/installation process has been simplified by
  controlling it through a new Makefile (checked with GNU Make,
  version 3.79.1, and GNU bash, version 2.05b.0(1)) which allows to
  set/change easily all the required variables and update the source
  files and the executable accordingly (there is no need to use a
  separate 'make_sources.2dhf file).

- 'make all64' can be used to prepare a version of the program suitable
  for a 64-bit computers (see ./Perl_scripts/Change32_2_64.pl script).


Jacek Kobus 17/01/2003

