Hessian disappeared from OUTCAR

Queries about input and output files, running specific calculations, etc.


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
alex
Hero Member
Hero Member
Posts: 585
Joined: Tue Nov 16, 2004 2:21 pm
License Nr.: 5-67
Location: Germany

Hessian disappeared from OUTCAR

#1 Post by alex » Thu Jun 22, 2023 1:49 pm

Hi there,

after some time I'm in need of the Hesse matrix (=second derivative matrix) after frequency calculation, but it seems to have been lost from VASP5 to 6. However, it is plotted to vasprun.xml.
So I just wonder if there is some magic switch to plot it into OUTCAR again?

An example is attached (H2)

Thanks,

Alex
You do not have the required permissions to view the files attached to this post.

fabien_tran1
Global Moderator
Global Moderator
Posts: 418
Joined: Mon Sep 13, 2021 11:02 am

Re: Hessian disappeared from OUTCAR

#2 Post by fabien_tran1 » Thu Jun 22, 2023 4:08 pm

Hi,

In finite_diff.F there are lines that were commented (already in 2012 at the time of vasp.5.3.x) for the case IBRION=6:

! clumsy and unreadable output (write eigenvectors to vasprun.xml instead)
! IF (IU6>=0) THEN
! WRITE (IU6,*)
! WRITE (IU6,*) 'SECOND DERIVATIVES (NOT SYMMETRIZED)'
! WRITE (IU6,*) '------------------------------------'
! CALL PRINT_SECOND_DERIV(NIONS,DOF,SECOND_DERIV,T_INFO%LSFOR,T_INFO%LSDYN,IU6)
! END IF

The first line seems to give the reason. A solution would be to reactivate these lines and compare the results to what is in vasprun.xml (they may slightly differ due to symmetrization). An alternative is to use the computationally more involved IBRION=5 (no symmetry applied).

alex
Hero Member
Hero Member
Posts: 585
Joined: Tue Nov 16, 2004 2:21 pm
License Nr.: 5-67
Location: Germany

Re: Hessian disappeared from OUTCAR

#3 Post by alex » Fri Jun 23, 2023 2:55 pm

Hi Fabian,

thanks a lot for clarification!

Cheers,

alex

alex
Hero Member
Hero Member
Posts: 585
Joined: Tue Nov 16, 2004 2:21 pm
License Nr.: 5-67
Location: Germany

Re: Hessian disappeared from OUTCAR

#4 Post by alex » Tue Jun 27, 2023 10:52 am

Hello again,

I'm somehow stuck with the transformation of the units of the 'hessian' section in vasprun.xml to that in OUTCAR 'SECOND DERIVATIVE'.
Any advice is very much welcome!

Thanks a lot,

alex

fabien_tran1
Global Moderator
Global Moderator
Posts: 418
Joined: Mon Sep 13, 2021 11:02 am

Re: Hessian disappeared from OUTCAR

#5 Post by fabien_tran1 » Tue Jun 27, 2023 1:10 pm

Hi,

From "SECOND DERIVATIVE" in OUTCAR to "hessian" in vasprun.xml three transformations are done (see finite_diff.F):

1) Symmetrization, which should have a small influence:

Code: Select all

      DO N=1,DOF
        DO M=N+1,DOF
          X=0.5_q*(SECOND_DERIV(N,M)+SECOND_DERIV(M,N))
          !WRITE(0,*) N,M,SECOND_DERIV(N,M),SECOND_DERIV(M,N),X
          SECOND_DERIV(N,M)=X
          SECOND_DERIV(M,N)=X
          !WRITE(0,*) N,M,SECOND_DERIV(N,M),SECOND_DERIV(M,N),X
        END DO
      END DO
2) Calculation of Hessian, where MASSES are POMASS read from POTCAR:

Code: Select all

      ! Compute Hessian (mass normalized force-constants)
      N=1
      DO I=1,NTYP
        DO J=1,NITYP(I)
          DO K=1,3
            CALL FIND_DOF_INDEX(NIONS,LSFOR,LSDYN,K,N,M)
            IF (M>0) SECOND_DERIV(:,M)=SECOND_DERIV(:,M)/SQRT(MASSES(I))
            IF (M>0) SECOND_DERIV(M,:)=SECOND_DERIV(M,:)/SQRT(MASSES(I))
          END DO
          N=N+1
        END DO
      END DO
3) Unit conversion, which should correspond to 244.4001408103826:

Code: Select all

      CALL XML_ARRAY_REAL(CONVERT_FREQUENCY(EIGENVECTORS, UNIT_INTERNAL, UNIT_HZ, 2._q) * 1E-24_q)

alex
Hero Member
Hero Member
Posts: 585
Joined: Tue Nov 16, 2004 2:21 pm
License Nr.: 5-67
Location: Germany

Re: Hessian disappeared from OUTCAR

#6 Post by alex » Tue Jun 27, 2023 3:05 pm

Thanks Fabien, I missed the part with the masses. :-(

Post Reply