lda+paw phonon mode anot consistent from v-7.10.5 to v-8.0.8  [SOLVED]

Phonons, DFPT, electron-phonon, electric-field response, mechanical response…

Moderators: mverstra, joaocarloscabreu

Locked
bmatt
Posts: 24
Joined: Tue Aug 27, 2013 9:46 pm

lda+paw phonon mode anot consistent from v-7.10.5 to v-8.0.8  [SOLVED]

Post by bmatt » Wed Jul 20, 2016 7:36 pm

Hello abinitors,
I am calculating response at Gamma to get an IR spectrum using LDA+PAW in abinit-8.0.8
* Ti_1.0N_1.0 is fine during all calcs, the problem occurs when doing TiN_0.75X_0.25
* the calculated frequencies (with an E-field perturbation rfelfd = 2 or 3) are garbage, where 50% of the optical modes are at ~-2000.0 cm-1 (obviously wrong.
* when using abinit-7.10.5 (just to calculate the modes without an E-field perturbation rfelfd = 0) the frequencies are good. When performing the same calculation with abinit-8.0.8, they are back to being very bad.
* everything is fine when running LDA+nC or PBE+NC for each calculation type

looking to get an infrared spectrum using anaddb, so just getting the modes with v-7.10.5 is not helpful, so I need v-8.0.8 to apply the E-field (rfelfd=2 or 3) using paw

User avatar
torrent
Posts: 127
Joined: Fri Aug 14, 2009 7:40 pm

Re: lda+paw phonon mode anot consistent from v-7.10.5 to v-8

Post by torrent » Thu Jul 21, 2016 6:55 pm

Dear bmatt,

It's difficult to help you without an input file, showing that 7.10.5 and 8.0.8 give different results.
Marc Torrent
CEA - Bruyères-le-Chatel
France

bmatt
Posts: 24
Joined: Tue Aug 27, 2013 9:46 pm

Re: lda+paw phonon mode anot consistent from v-7.10.5 to v-8

Post by bmatt » Fri Jul 22, 2016 12:48 am

Here are the 4 output files that shows my problem...
ir-eos_LDApaw8-TiN-X.out is the pure TiN (a metal) with no problems
v7 = v-7.10.5 and v8 = v-8.0.8

ir-eos_LDApaw8-TiNB.out is the issue where the formula is Ti_4N_3B_1
v7 = v-7.10.5 and v8 = v-8.0.8
* did not apply the rfelfd = 3 for v8 calc just to show my point
Attachments
ir-eos_LDApaw8-TiNB-v7.out
(624.36 KiB) Downloaded 477 times
ir-eos_LDApaw8-TiNB-v8.out
(289.77 KiB) Downloaded 460 times
ir-eos_LDApaw8-TiN-v7.out
(531.79 KiB) Downloaded 444 times
ir-eos_LDApaw8-TiN-v8.out
(397.9 KiB) Downloaded 476 times

User avatar
torrent
Posts: 127
Joined: Fri Aug 14, 2009 7:40 pm

Re: lda+paw phonon mode anot consistent from v-7.10.5 to v-8

Post by torrent » Sat Jul 23, 2016 12:15 am

Ok, found!
it seems that you have identified a (recently introduced) bug. Thanks!

First of all, I guess you could explain some differences between version 7.10.5 and version 8.0.8 version. The main one is that the default value for tsmear (smearing temperature) has changed: from 0.0.4 Ha to 0.0.1 Ha.
This explains the differences for the datasets 1 and 2 in your case. Note also that, for the v7.10.5, your value of nband is too low (the last band is still occupied). With the new value of tsmear (v8.0.8), this is OK.

Then, thanks to your example files, I have found the origin of the inconsistency beween 7.10.5 and 8.0.8.
This will be corrected in the next version.

In the meanwhile, if you want to apply the correction now, just apply the following patch to the src/66_nonlocal/nonlop.F90 file (one line to change):

Code: Select all

-- src/66_nonlocal/nonlop.F90   2016-07-22 23:57:35.000000000 +0200
***************
*** 545,551 ****
     ABI_ALLOCATE(enl_,(dimenl1,1,hamk%nspinor**2))
     do ispden=1,hamk%nspinor**2
       if (dimenl2==hamk%natom) then
!        enl_(:,1,ispden)=enl_ptr(:,iatm,ispden)
       else if (dimenl2==hamk%ntypat) then
         enl_(:,1,ispden)=enl_ptr(:,itypat,ispden)
       else
--- 545,551 ----
     ABI_ALLOCATE(enl_,(dimenl1,1,hamk%nspinor**2))
     do ispden=1,hamk%nspinor**2
       if (dimenl2==hamk%natom) then
!        enl_(:,1,ispden)=enl_ptr(:,iatom_only_,ispden)
       else if (dimenl2==hamk%ntypat) then
         enl_(:,1,ispden)=enl_ptr(:,itypat,ispden)
       else
Marc Torrent
CEA - Bruyères-le-Chatel
France

gonze
Posts: 412
Joined: Fri Aug 14, 2009 8:29 pm

Re: lda+paw phonon mode anot consistent from v-7.10.5 to v-8

Post by gonze » Mon Aug 08, 2016 8:27 am

Dear all,

The bug fix posted by Marc is OK for PAW, but introduces another bug for norm-conserving pseudos.
Actually, Marc has introduced the correct bug fix in ABINITv8.0.8b, available (soon) on the
abinit Web site. There are two lines to modify :

if (dimenl2==hamk%natom .and.hamk%usepaw==1) then
enl_(:,1,ispden)=enl_ptr(:,iatom_only_,ispden)

Best wishes,
Xavier

Locked