Wrong sign on piezeo d33 for barium titanate?

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

Moderators: mverstra, joaocarloscabreu

Locked
johnbrehm
Posts: 12
Joined: Mon Sep 25, 2017 9:30 pm

Wrong sign on piezeo d33 for barium titanate?

Post by johnbrehm » Fri Apr 13, 2018 9:49 pm

I used DFPT to calculate the piezoresponse for barium titanate -- a simple 5 atom unit cell.
Calculation ran quickly and without incident.

BUT.... I get a negative value for d33 (-97). See the matrix below. The magnitude is correct. BUT the sign
is wrong: BTO is not a negative piezo mat'l.

Or is it the case that abinit reports the signs "oppositely"?

Piezoelectric d tensor (relaxed ion) (unit:pc/N)

-96.67275336 42.33753525 42.06348693
41.86155809 -97.07601604 42.22293861
41.73607024 41.79187521 -97.16557179
12.81189036 -10.81879086 -12.15171696
-10.65680069 12.87695345 -12.30689921
-10.70041572 -12.17815700 12.86743783

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

Re: Wrong sign on piezeo d33 for barium titanate?

Post by ebousquet » Wed Apr 18, 2018 10:06 pm

Dear John,
I didn't pay attention to the sign before but if it looks opposite sign this might be related to bad convergence of the cell parameter, did you check how much pressure/stress you have in the reference ground state calculation?
Best wishes,
Eric

johnbrehm
Posts: 12
Joined: Mon Sep 25, 2017 9:30 pm

Re: Wrong sign on piezeo d33 for barium titanate?

Post by johnbrehm » Thu Apr 19, 2018 9:22 pm

Thanks for your response.
Generally, I relax to a very small force, in this case :
max grad (force/stress) = 9.9119E-10 < tolmxf= 1.1000E-09 ha/bohr (free atoms)

Now, I am doing the R3mR phase of BaTiO3.
My relaxation yields the following which I carry all the way through to my phonon calc:
angdeg 8.97097924798673E+01 8.97087625785993E+01 8.97087950415756E+01
acell 7.69474233303469E+00 7.69372630864900E+00 7.69375849530342E+00
xred
-2.62152986528374E-03 -3.19046534588350E-03 -3.17144822412366E-03
4.83162648179077E-01 4.82631707831462E-01 4.82649520029828E-01
5.13368876766669E-01 5.12762392699501E-01 2.33746696455553E-02
2.40206560451921E-02 5.12743909756820E-01 5.12764100890483E-01
5.13369478890975E-01 2.33525070206667E-02 5.12783193516920E-01

Now I'm happy w/ my phonons: just 3 small neg acoustic (ie ok to assume stability and that they are == 0).
My freqs:
Phonon frequencies in cm-1 :
-3.122730E-02 -3.047196E-02 -2.813969E-02 1.540257E+02 1.540479E+02
1.572867E+02 2.587439E+02 2.591972E+02 2.649299E+02 2.884651E+02
2.884911E+02 3.072457E+02 4.568146E+02 4.568986E+02 5.329090E+02

Now, I am told my experimenters that the d33 for BTO is positive at ~100.
But I am getting a negative.
(the symmetries look ok, yes?)
Piezoelectric d tensor (relaxed ion) (unit:pc/N)

-96.67275336 42.33753525 42.06348693
41.86155809 -97.07601604 42.22293861
41.73607024 41.79187521 -97.16557179
12.81189036 -10.81879086 -12.15171696
-10.65680069 12.87695345 -12.30689921
-10.70041572 -12.17815700 12.86743783

Could the small negative inconsequential acoustic phonons be causing the issue?
I do get a warning sign right above my d tensor output:
ddb_piezo : WARNING -
Acoustic sum rule violation met : the eigenvalues of accoustic mode
are too large at Gamma point
Increase cutoff energy or k-points sampling.
The three eigenvalues are: 2.040229E-04 -6.580335E-04 -5.443626E-05


If so, how can I zero them out?

tnx,
JB

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

Re: Wrong sign on piezeo d33 for barium titanate?

Post by ebousquet » Fri Apr 20, 2018 10:50 pm

Dear John,
tolmxf = 10E-9 should indeed be low enough. However, there are some subtleties that I would like to check with you.
I think your phonons are quite good, I expect more a problem related to a possible stress residual. Could you tell me more about your procedure to do all the calculations? Do you read the WFK from your relaxation run or do you run a single point energy to deeply relax the WFK before feeding it to the DFPT calculations? If this is what you have done, could check what are the values of the stress tensor at the end of the single point energy? The idea is to be sure that the low stress you have at the end of the relaxation run is well reproduced when you make the single point energy.
Let me know,
Eric

johnbrehm
Posts: 12
Joined: Mon Sep 25, 2017 9:30 pm

Re: Wrong sign on piezeo d33 for barium titanate?

Post by johnbrehm » Mon Apr 23, 2018 6:42 pm

Hi.

1. I take my relaxed structure and put it into the following script to get my WFK:
iscf 17
ntime 500
nstep 500
ecutsm 0.5

tolvrs 1.0d-18

optforces 1
rfasr 1

ixc 11
ecut 25.0
diemac 9.0
diemix 0.6
dilatmx 1.2
strprecon 0.5

chkprim 0

kptopt 1
ngkpt 8 8 8
nshiftk 1
shiftk 0.5 0.5 0.5

I carry the WFK outputted from this step all the way forward.

2. Then I use the following script: (For brevity, I won't repeat the lines that remain the same from Step #1)
irdwfk 1
iscf -3 #this option is needed for ddk
kptopt 2 #use time-reversal symmetry only for k points
nqpt 1 #one wave vector will be specified
qpt 0 0 0 #need to specify gamma point
rfelfd 2 #set for ddk wf's only
rfdir 1 1 1 #full set of directions needed
tolwfr 1.0d-20 #only wf convergence can be monitored here

I carry the WFK from Step #1 forward, and the POT, DEN, and 1WF files to the next step

3. Then I use the following script:
irdwfk 1
irdddk 1
# Set 3 : response-function calculations for all needed perturbations

kptopt 2 #use time-reversal symmetry only for k points
nqpt 1
qpt 0 0 0
rfphon 1 #do atomic displacement perturbation
rfatpol 1 5 #do for all atoms
rfstrs 3 #do strain perturbation
rfdir 1 1 1 #the full set of directions is needed
tolvrs 1.0d-10 #need reasonable convergence of 1st-order quantities

I carry the DDB output file forward to the next step:

4. calculate using anaddb the piezo and elastic matrices:
elaflag 3 !the flag for the elastic constant
piezoflag 4 !the flag for the piezoelectric constant
instrflag 1 !the flag for the internal strain tensor

!the effective charge part
chneut 1 !enforce Born effective charge neutrality



Hope this helps....
And thanks for helping,
Sincerely,
JB

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

Re: Wrong sign on piezeo d33 for barium titanate?

Post by ebousquet » Tue Apr 24, 2018 10:56 pm

Dear John,
In the relaxation part you used dilatmx=1.2, meaning you allow your cell parameters to vary up to 20% during the relaxation. This is way too large because this is not only putting a cutoff on a maximum cell relaxation, it also affects the number of plane waves associated to the smearing ectusm. It is usually not advised to use a too big dilatmx, good values are 1.01 to 1.05. If you need larger cell variation than that, it is better to re-start the relaxation with a smaller dilatmx before using it in production.
A second source of problem could be the fft grid used during the relaxation and the one used for the DFPT. Could you grep ngfft on your relaxation output file and from the DFPT one to see how different hey are?
If you want to be sure that you have a very low stress before submitting a DFPT with strain, I advise to run an additional single point energy (which will not contain dilatmx) between the relaxation and the DFPT to check if at the end of this single point energy your stress is indeed smaller than your criterion.
Another point is that your ecut is probably too small if you are using norm conserving pseudopotentials.
Best wishes,
Eric

johnbrehm
Posts: 12
Joined: Mon Sep 25, 2017 9:30 pm

Re: Wrong sign on piezeo d33 for barium titanate?

Post by johnbrehm » Thu Apr 26, 2018 5:25 pm

Hi.
1. So I went back and re-did the relaxation and all subsequent steps using dilatmx = 1.05. (the coordinates and unti cell hardly changed from above) Now:
angdeg 8.97097924575023E+01 8.97087625111718E+01 8.97087949482604E+01
acell 7.69474239743554E+00 7.69372635585211E+00 7.69375849953607E+00
xred
-2.62153216634391E-03 -3.19046846693157E-03 -3.17144964847317E-03
4.83162643344307E-01 4.82631705864719E-01 4.82649520828301E-01
5.13368879031026E-01 5.12762393662150E-01 2.33746698818551E-02
2.40206595542330E-02 5.12743910859072E-01 5.12764101732073E-01
5.13369480253405E-01 2.33525100435541E-02 5.12783193064905E-01


2. But I am going to keep ecut = 25 Ha. That's 630 eV and should be plenty. As well, the pseudopotentials for Ba Ti and O were created using OPIUM with a cutoff of 50 Ry == 25 Ha. so, higher ecut would be a waste.

3. After calculating tolvrs 1.0d-18 to get my wavefunctions I am going to carry all the way through, I checked the forces. They look small enough to me:

cartesian forces (eV/Angstrom) at end:
1 0.00000001176386 0.00000000658114 0.00000002773515
2 0.00000002923212 -0.00000002886986 0.00000001343850
3 -0.00000001803495 0.00000001929577 -0.00000001692103
4 0.00000000620216 -0.00000001448164 -0.00000002482140
5 -0.00000002916319 0.00000001747459 0.00000000056878

4. I re-did the piezo calc and got nearly the same result:
Piezoelectric d tensor (relaxed ion) (unit:pc/N)

-99.21722479 43.69982131 43.44737868
43.11027711 -99.83572939 43.58344987
43.01462023 43.14316204 -99.95854063
13.25659289 -11.03021478 -12.40701734
-10.82679806 13.34379211 -12.56756209
-10.87544926 -12.43468055 13.33757956
My phonons still had the small negative acoustic values, but were close to what I had before too:
Phonon frequencies in cm-1 :
-3.122730E-02 -3.047196E-02 -2.813969E-02 1.540257E+02 1.540479E+02
1.572867E+02 2.587439E+02 2.591972E+02 2.649299E+02 2.884651E+02
2.884911E+02 3.072457E+02 4.568146E+02 4.568986E+02 5.329090E+02

So, I am left with the same problwm of a negative d33. Perhaps the experimenters are wrong and it is not positive as they say, but is negative?

Or could it be something else?

tnx,
jb

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

Re: Wrong sign on piezeo d33 for barium titanate?

Post by ebousquet » Fri Apr 27, 2018 6:42 pm

Hi John,
I'm quite surprised that 25 Ha was OK for such a calculation in BTO, though I have to admit that your results look OK in view of the small variation by the reduction of dilatmx. If you want to be sure, you could make a test at 2 other ecut, like 30 and 35 to see if you have a variation of your response. In any case, it is always advised to test the convergence of the physical properties you want to calculate versus the kpts/ecut because the convergence might be reached at different values for each property (for ex phonon can be well converged but not the elasticity). This is why I advise you check how your piezo tensor vary with at least 3 different ecut to know if you are really converged or not.
Be careful that looking at the pseudo cutoff is OK for isolated atom or single atom metal crystal, but once you play with oxides, you often have to go with higher cutoff. I don't know if the OPIUM pseudo have been improved in the mean time, but I did some BaTiO3 calculations with these pseudos several years ago and never got convergence of BTO for cutoff lower than 35/40 Ha.
If it appears that everything is OK in your calculations, then check also previous calculations of the piezo response in BTO to see how they are. As you said, you can also questioned the reported sign in the reference you mention.
All the best,
Eric

Locked