next up previous
Next: FORTRAN-90 version Up: FORTRAN source file Previous: FORTRAN source file


Library subroutines

The code HFODD requires an external subroutine which diagonalizes complex hermitian matrices. Version (v1.60r), see II, has been prepared with an interface to the NAGLIB subroutine F02AXE, and version (v1.75r), see III, with an interface to the LAPACK subroutine ZHPEV, which can be downloaded (with dependencies) from
http://netlib2.cs.utk.edu/cgi-bin/netlibfiles.pl?filename=/lapack/complex16/zhpev.f
In the present version (v2.07f) both these interfaces remain supported, and can be activated as described in II and III, respectively.

In addition, in version (v2.07f) we have implemented interface to the LAPACK subroutine ZHPEVX, which can be downloaded (with dependencies) from
http://netlib2.cs.utk.edu/cgi-bin/netlibfiles.pl?filename=/lapack/complex16/zhpevx.f
This subroutine finds not all, but only the lowest eigenvectors, and hence performs calculations in less CPU time; the gain is particularly significant for large HO bases. Numbers of eigenvectors to be found are defined by the size of the HO phasespace, see keyword PHASESPACE in Sec. III-3.1.

Subroutine ZHPEVX and its dependencies are in the REAL*8/COMPLEX*16 version, and should be compiled without promoting real numbers to the double precision. On the other hand, the code HFODD itself does require compilation with an option promoting to double precision. Therefore, the code and the ZHPEVX package should be compiled separately, and then should be linked together.

In order to activate the interface to the LAPACK ZHPEVX subroutine, the following modifications of the code HFODD (v2.07f) have to be made:

  1. Change everywhere the value of parameter I_CRAY=1 into I_CRAY=0.

  2. Change everywhere the value of parameter IZHPEV=0 into IZHPEV=2.

  3. If your compiler does not support undefined externals, or subroutines called with different parameters, remove calls to subroutines CGEMM, F02AXE, and ZHPEV.


next up previous
Next: FORTRAN-90 version Up: FORTRAN source file Previous: FORTRAN source file
Jacek Dobaczewski 2004-01-06