how to set PHON_DIELECTRIC and PHON_BORN_CHARGES

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


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
zhenkun_yuan
Newbie
Newbie
Posts: 3
Joined: Mon Nov 14, 2022 8:43 pm

how to set PHON_DIELECTRIC and PHON_BORN_CHARGES

#1 Post by zhenkun_yuan » Fri Jun 13, 2025 8:18 pm

Dear developers and users, I performed DFTPT calculations and obtained the following information on dielectric tensor and Born charges:

MACROSCOPIC STATIC DIELECTRIC TENSOR (including local field effects in DFT)
------------------------------------------------------
21.913543 0.000000 0.000000
0.000000 21.913543 0.000000
0.000000 -0.000000 14.361070
------------------------------------------------------

BORN EFFECTIVE CHARGES (including local field effects) (in |e|, cummulative output)
---------------------------------------------------------------------------------
ion 1
1 2.62969 0.00000 -0.00000
2 0.00000 2.62969 0.00000
3 0.00000 -0.00000 3.10787
ion 2
1 2.19979 0.00000 0.00000
2 0.00000 2.19979 0.00000
3 0.00000 0.00000 1.88332
ion 3
1 2.19979 0.00000 0.00000
2 0.00000 2.19979 0.00000
3 0.00000 0.00000 1.88332
ion 4
1 -3.51463 -0.00000 0.00000
2 -0.00000 -3.51463 0.00000
3 0.00000 -0.00000 -3.43725
ion 5
1 -3.51463 -0.00000 0.00000
2 -0.00000 -3.51463 0.00000
3 0.00000 -0.00000 -3.43725

I would like to use these information to set PHON_DIELECTRIC and PHON_BORN_CHARGES for non-analytic corrections. However, there is kind of confusion. Is the blow setting correct?

PHON_DIELECTRIC = 21.913543 0.000000 0.000000 0.000000 21.913543 0.000000 0.000000 -0.000000 14.361070

I learned there is a Voigt order:

PHON_DIELECTRIC = ε_xx ε_yy ε_zz ε_xy ε_xz ε_yz

Thanks!


pedro_melo
Global Moderator
Global Moderator
Posts: 197
Joined: Thu Nov 03, 2022 1:03 pm

Re: how to set PHON_DIELECTRIC and PHON_BORN_CHARGES

#2 Post by pedro_melo » Mon Jun 16, 2025 9:11 am

Dear zhenkun_yuan,

The output for the macroscopic dielectric tensor is given in this order
xx xy xz
yx yy yz
zx zy zz

So if I am not mistaken the correct input for your INCAR should be

PHON_DIELECTRIC = 21.913543 21.913543 14.361070 0.000000 0.000000 0.000000

Let me know if this solves the issue. Kind regards,
Pedro


zhenkun_yuan
Newbie
Newbie
Posts: 3
Joined: Mon Nov 14, 2022 8:43 pm

Re: how to set PHON_DIELECTRIC and PHON_BORN_CHARGES

#3 Post by zhenkun_yuan » Mon Jun 16, 2025 1:54 pm

Thank you very much, Pedro! This is very helpful. I did not know the PHON_DIELECTRIC should be set in such a way.
Is there any doc/link that help on setting PHON_DIELECTRIC and PHON_BORN_CHARGES?

Best
Zhenkun


pedro_melo
Global Moderator
Global Moderator
Posts: 197
Joined: Thu Nov 03, 2022 1:03 pm

Re: how to set PHON_DIELECTRIC and PHON_BORN_CHARGES

#4 Post by pedro_melo » Wed Jun 18, 2025 12:51 pm

Dear Zhenkun,

My apologies, I read your message and replied without checking the correct way to set up the PHON_DIELECTRIC and PHON_BORN_CHARGES. PHON_DIELECTRIC is a 3x3 matrix and should be supplied as follows

Code: Select all

PHON_DIELECTRIC = xx xy xz yx yy yz zx zy zz

, which is how it is written to the OUTCAR in your previous run.

For PHON_BORN_CHARGES the syntax is the same, but now you have one 3x3 matrix per atom, so it will be

Code: Select all

PHON_BORN_CHARGES = xx_1 xy_1 xz_1 yx_1 yy_1 yz_1 zx_1 zy_1 zz_1 ... xx_N xy_N xz_N yx_N yy_N yz_N zx_N zy_N zz_N

Again, my apologies for the confusion. Let me know if this solves your issue. Kind regards,
Pedro


Post Reply