GULP source files for getting eigenvalues and eigenvectors

Dear Prof. Julian,

I have been trying to get eigenvectors from Atomic Simulation Enviornment (ASE) which matches exactly with the eigenvectors coming from GULP(lattice dynamics software,FORTRAN).

GULP produces eigenvectors(it uses LAPACK pacakge).I need to get the same eigenvectors but with ASE(it does not have scipy at its backend,and so no LAPACK).
I am using the same k-points in GULP as well as ASE softwares)

But when I include scipy.eigh for solving the eigenvectors in ASE, the eigenvectors do not match with the GULP’s eigenvectors (although the dynamical matrix is matching for both).

(1)ASE uses “finite-displacement method where the derivatives of the total energy and effective potential are obtained from finite-difference approximations”. Does GULP also uses the same technique?

(a)If yes,then could you tell me the:

(i) Series of **source files** name used to reach the eigenvector and eigenvalues (where LAPACK and EISPACK libraries are called in order to calculate eigenvalue and eigenvectors)?
(ii) The *finite displacement value* to be input (eg. *delta = 0.05 Angs* in ASE)

(b) If no, then the approach used?

(FORTRAN is new to me and so was difficult to traceback inside GULP software as to which LAPACK function is being called).

Could you please help me out.

Thanks in advance.

Here are the answers to your questions:
(1) By default GULP doesn’t use finite differences except for a few models like ReaxFF for example. Use of finite differences can be forced by specifying a finite difference interval with the “finite” option and adding the “numerical” keyword.
NB: No files are written out since everything is done in memory and this would be for gamma only.
(b)GULP uses analytic second derivatives wherever possible, which is why there is no need for finite differences.

As to why eigenvectors might be different, there are different conventions in reporting eigenvectors depending as to whether you use the direct solutions from the eigensolver or change the mass weighting/phase factors. All depends on what you plan to do with them afterwards.

1 Like