LCALCEPS: apply field in only one direction

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


Moderators: Global Moderator, Moderator

Post Reply
Message
Author
ashwin_r
Newbie
Newbie
Posts: 7
Joined: Sat Nov 16, 2019 8:58 pm

LCALCEPS: apply field in only one direction

#1 Post by ashwin_r » Mon Oct 28, 2024 8:11 pm

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?


jonathan_lahnsteiner2
Global Moderator
Global Moderator
Posts: 215
Joined: Fri Jul 01, 2022 2:17 pm

Re: LCALCEPS: apply field in only one direction

#2 Post by jonathan_lahnsteiner2 » Tue Oct 29, 2024 3:50 pm

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


Post Reply