Page 1 of 1

EFIELD_PEAD value limit

Posted: Wed Jul 05, 2023 4:56 pm
by sijia_ke
Dear admin people,

I have tested different EFIELD_PEAD for applying a finite electric field to obtain static dielectric tensor and happened to find that values that are smaller than 0.0001 can not be correctly read in. If such values are entered, the electric field value would be automatically set to 0.01 (default value). For example, I have attached two calculations (in separated folders in the zip) for TiO2 at EFIELD_PEAD=3*0.01 (default) and EFIELD_PEAD=3*0.00001. You can see from the process that the induced electronic polarizations are the same for both cases, while induced polarization should scale with the applied electric field. Different versions of VASP (6.3.2 and 6.2.1) have been tested and both of them have this issue. (I only attached 6.3.2 one). I also tried EFIELD_PEAD= 1.0E-5 1.0E-5 1.0E-5, this issue still exists. I understand it is unusual to apply an electric field that is too small, but the acceptable range of EFIELD_PEAD is not stated in vaspwiki https://www.vasp.at/wiki/index.php/EFIELD_PEAD. Please let me know what you think of this. Thank you.


Sincerely,
Sijia
PhD student in Neaton group,
University of California at Berkeley

Re: EFIELD_PEAD value limit

Posted: Thu Jul 06, 2023 5:27 pm
by jonathan_lahnsteiner2
Dear sijia_ke,

You are right when using EFIELD_PEAD in combination with LCALCEPS the EFIELD_PEAD will be overwritten with the default value
if the value is less than 1E-5. But this is not a bug this is how the code should behave.
If you want to apply electric fields smaller than this threshold you can in principle try to comment out the lines in the file pead.F
routine where the threshold is checked

Code: Select all

IF (LPEAD_CALC_EPS()) THEN
    DO I=1,3
        IF (ABS(EFIELD_PEAD(I))<1E-5_q) EFIELD_PEAD(I)=0.01_q
    ENDDO
ENDIF
and then recompile vasp. But when doing so you should do careful testing to check if the code still works properly.

And I completely agree that the vasp wiki should mention this minimum value check. We will change this soon. Thank you for reporting the missing comment on the vasp wiki.
If you have further questions don't hesitate to contact us.

All the best

Jonathan