Page 1 of 1

LCALCEPS: apply field in only one direction

Posted: Mon Oct 28, 2024 8:11 pm
by ashwin_r

Is it possible to apply an electric field along just one chosen direction when calculating epsilon (with LCALCEPS)? One of my components of epsilon is not well converged in a calculation and I simply want to rerun that particular direction with a tighter tolerance. However, setting EFIELD_PEAD = 0.0 0.0 0.001, for example, will rerun all directions, that too by setting EFIELD_PEAD = 0.01 0.01 0.001 (0.01 being the default if a component is smaller than 1.e-5). I wouldn't be too bothered rerunning the redundant directions with a semi-local functional but this unnecessary computation with a hybrid functional eats up a lot of queue time.

Is there a tag that will let me do just one calculation with EFIELD_PEAD = 0.0 0.0 0.001 or is modifying pead.F the only workaround?


Re: LCALCEPS: apply field in only one direction

Posted: Tue Oct 29, 2024 3:50 pm
by jonathan_lahnsteiner2

Dear ashwin_r,

With LCALCEPS you switch on the computation of the dielectric tensor. This quantity will in general not be diagonal. Therefore you have to do the displacements in all directions in your calculation. Because of this it is not possible to do this with vasp INCAR tags. So if you would like to compute the displacements only in a single direction you would have to modify the source code. But there is no guarantee that this will give correct results.

All the best Jonathan