Dear Jibiao,

If you would like to use modern theory of polarization (MTP) version of
applying the electric field and reach 1 Ry a.u., then you can do this
gradually. So converge 0.1 a.u., keep the wave functions, and use them as
initial guess to 0.2 a.u.. Repeat with steps of 0.1 a.u. until you reach 1

An alternative would be using a classical saw-tooth potential to apply the
field using tefield tag (instead of lelfield). This may be a bit easier to
converge. I would experiment with both approaches.

The classical saw-tooth implementation allows smearing, whereas MTP
implementation does not. But you do not really need smearing for isolated
molecules, you can use fixed occupations or even occupations read from
input file. See example05 of PW examples.

If you, however, insist on applying smearing with MTP, you can comment out
the places in the PW/src files where there is an If statement to check that
this is an insulator (i.e. fixed occupations) and recompile the code.  You
need to check this carefully on your own. The key idea is that smearing is
sometimes useful with insulators and there is no harm in applying it with
MTP as long as the final solution remains an insulator. But at the time
when MTP was implemented in PWscf it was thought that smearing immediately
implies a metal which is of course problematic for MTP.  Again, I do not
recommend this option unless you really need it and you make sure that
things work consistently.

Pw_forum mailing list

Reply via email to