Calculating eigenvectors for the dielectric tensor of Hafnia

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

Moderators: mverstra, joaocarloscabreu

Locked
qwin
Posts: 5
Joined: Wed Sep 16, 2020 10:29 am
Location: Switzerland

Calculating eigenvectors for the dielectric tensor of Hafnia

Post by qwin » Fri Oct 23, 2020 9:29 am

Hello
I want to find the eigenvectors, the full dielectric (also the relaxed ion part) and piezoelectric tensor of Hafnia . So I followed the DFPT RF2 tutorial.

first I generate a set of k points (kpt.in) like it is explained in the tutorial. I used these points for the new input file (kpt2.in), but here i get the following error message:


--- !ERROR
message: |
The file ./tmp/kpt2_o_DS1_WFK cannot be used to start the
present calculation. It was asked that the wavefunctions be accurate, but
at least one of the k points could not be generated from a symmetrical one.
dksqmax= 7.611730E-05
Action: check your wf file and k point input variables
(e.g. kptopt or shiftk might be wrong in the present dataset or the preparatory one.
src_file: inwffil.F90
src_line: 417

I cannot understand what I should change for the kptopt or the shiftk. In the next steps I want to use the dieflag, piezoflag and the eivec.

I work with PAW's, so my input file for kpt2.in looks like the following:

kpt.in
./out/kpt.out
./tmp/tmp_kpti
./tmp/tmp_kpto
./tmp/tmp_kpt
./ps/Hf.LDA_PW-JTH.xml
./ps/O.LDA_PW-JTH.xml


Can somebody explain me what is wrong in the file?
Thanks a lot!
Attachments
kpt.in
Input to create a set of k-points
(1.41 KiB) Downloaded 316 times
kpt.out
output with k-points
(14.26 KiB) Downloaded 313 times
kpt2.in
generate derivative databases
(5.92 KiB) Downloaded 337 times

ebousquet
Posts: 469
Joined: Tue Apr 19, 2011 11:13 am
Location: University of Liege, Belgium

Re: Calculating eigenvectors for the dielectric tensor of Hafnia

Post by ebousquet » Fri Oct 23, 2020 8:56 pm

Dear qwin,
At which dataset do you have this error message?
A question: do you only want to compute dielectric constant and piezoelectric tensor? If so, they are only qpt=Gamma (0 0 0) point properties such that you do not need all these different qpt phonons to be calculated.
Best wishes,
Eric

qwin
Posts: 5
Joined: Wed Sep 16, 2020 10:29 am
Location: Switzerland

Re: Calculating eigenvectors for the dielectric tensor of Hafnia

Post by qwin » Mon Oct 26, 2020 11:01 am

Thank you Eric for your fast answer!

My main goal is to find the full dielectric tensor(purley electronic contribution + contribution from the phonon modes) and the full piezoelectric tensor. And more for interests it would be nice to generate also the phonon band structure.

If i compare my result to other papers, I just found just the optical or purely electronic part of the dielectric tensor
So I thought i would try calculating it with help of the RF2-tutorial and set the dieflag = 3.

But It does not work. I generated 65 k points, I think I did it like the tutorial told it, but i just can generate {DS1_DDB, DS3_DDB, DS4_DDB, DS5_DDB , DS6_DDB, DS7_DDB} (I expected 65 DDB files), afterwards it aborts. So kpt2.in generates just 6 files. I still merged them and tried to calculate the dielectric tensor, But than i get the message:

Information is missing in the DDB.
The dynamical matrix number 8 cannot be built,

Could you may give me a hint, what the best way is to calculate the full tensors.

Thanks many time for you help!

ebousquet
Posts: 469
Joined: Tue Apr 19, 2011 11:13 am
Location: University of Liege, Belgium

Re: Calculating eigenvectors for the dielectric tensor of Hafnia

Post by ebousquet » Mon Nov 02, 2020 8:43 am

Dear qwin,
OK, this means that you should at least get the epsilon (elec and total) and piezo tensor right now with only Gamma point (if you forget about the phonon dispersion)?
Regarding the phonon dispersion, I think you mist one point is that Abinit can use interpolation of phonon dispersion between DFPT calculated points (very useful for insulator to reduce the number of DFPT calculations). The interpolation is done with anaddb on a grid of q-point that has "brav"(https://docs.abinit.org/variables/anaddb/#brav) possibilities. The grid of DFPT should correspond to the ngqpt grid (2 2 2 or 4 4 4 or etc) with or without a shift (nqshft).
In your case you can set brav to 1 and ngqpt to 2 2 2 (and no shift) to start with such that you need only Gamma and zone boundary points, which is already a good start. You can go to 4 4 4 to improve the interpolation but you don't need to do all qpt points with DFPT... (see section 4 of the RF2 tuto for the details).
Best wishes,
Eric

qwin
Posts: 5
Joined: Wed Sep 16, 2020 10:29 am
Location: Switzerland

Re: Calculating eigenvectors for the dielectric tensor of Hafnia

Post by qwin » Fri Nov 06, 2020 11:35 am

Hello Eric

Thank you for your helpful answers!

I think I need also to calculate the uniaxial and shear strain to find the whole dielectrical tensor. I am not sure if I did it correctly:

Now I generate another dataset for the strain:

#DS 4 Strain Pertubation of Q=0
#*************************************************
qpt4 0.00000000E+00 0.00000000E+00 0.00000000E+00

getddk4 2 #from the ddk part
getwfk4 1 #from the ground state data set
kptopt4 2
rfstrs4 3 #now i want uniaxial and shear stress
rfphon4 1
rfatpol4 1 12
rfdir4 1 1 1
tolvrs4 1.0d-8

So at the end I have 11 Datasets:
  • DS 1: Ground State
  • DS 2 : Response function calculation of d/dk wave function (at Q=0)
  • DS 3 : Response function calculation of Q=0 phonons and electric field pert.
  • DS 4: Strain Pertubation of Q=0
  • DS 5-11: Dynamical Matrix at wavevectors other than Gamma
Than i will merge DS 3 - DS 11 (so also with the strain DS).
And than I can calculate the full dielectric tensor with

!Flags
dieflag 4
elaflag 3
instrflag 1
!Wavevector grid number 1
brav 1
ngqpt 2 2 2

Kind Regards
Qwin

qwin
Posts: 5
Joined: Wed Sep 16, 2020 10:29 am
Location: Switzerland

Re: Calculating eigenvectors for the dielectric tensor of Hafnia

Post by qwin » Mon Nov 09, 2020 9:34 am

Also with this new Database where i calculate the strain I could not calculate the full dielectric tensor. Sadly I have no further idea how to get more than the optical part.

mpi_rank: 0
message: |

matrginv : BUG -
The matrix that has been passed in argument of this subroutine
is probably either singular or nearly singular.
The LAPACK routine dgetrf failed.
Action: Contact ABINIT group



if I set dieflag 3, I get:


--- !ERROR
src_file: m_ddb_diel.F90
src_line: 368
mpi_rank: 0
message: |
The lowest mode appears to be a "true" negative mode,
and not an acoustic mode. This precludes the computation
of the frequency-dependent dielectric tensor.
Action : likely there is no action to be taken, although you,
could try to raise your convergence parameters (ecut and k-points).
For your information, here are the four lowest frequencies :
-6.86186463E-04 -4.51226777E-04 -1.12986344E-06 -8.52060867E-07
...
Kind regards
Attachments
die1_strainpertubation.in
(4.47 KiB) Downloaded 337 times
die_wS3.in
(200 Bytes) Downloaded 298 times
die_wS4.in
(84 Bytes) Downloaded 324 times

ebousquet
Posts: 469
Joined: Tue Apr 19, 2011 11:13 am
Location: University of Liege, Belgium

Re: Calculating eigenvectors for the dielectric tensor of Hafnia

Post by ebousquet » Thu Nov 12, 2020 12:24 pm

Dear Qwin,
The last error message you report is quite clear I think: you have an unstable phonon mode at Gamma (probably polar) such that the dielectric is not defined.
It is possible that the space group in which you are running corresponds to a high-symmetry phase which is not stable and you'll not be able to compute the dielectric constant of this phase due to the presence of unstable modes.
But the unstable phonons could be an artefact of the numerical calculation if you did not impose the acoustic sum rules, did you set asr flag in your input (I do not see it)?
Best wishes,
Eric

Locked