[Pw_forum] bfgs optimization not going anywhere

Tone Kokalj tone.kokalj at ijs.si
Thu Nov 26 13:58:07 CET 2015


On Thu, 2015-11-26 at 07:24 +0100, Matej Huš wrote:
> Found the culprit!
> When I turned off the dipole correction, the system converged.

Your vacuum thickness was indeed much too thin for the dipole
correction. I am surprised that you even achieved the SCF convergence.

Roughly, the vacuum thickness should be cca. doubled when using dipole
correction, because you need a thick enough vacuum layer from the top
of the slab to the dipole layer and from the dipole layer to the bottom
of the adjacent slab. 

As a bare minimum: at least 6 Angstroms + dipole-layer (eopreg) + 6
Angstroms. But it would be better and safer to use even larger vacuum
thickness, say, 8A + eopreg + 8A.

It is a very good exercise to monitor, at least, the SCF energy as a
function of vacuum thickness with the dipole correction to get the
feeling of how much vacuum is needed in this case. Here take caution
about the molecule: a taller (bigger) molecule will require larger
separation between adjacent slabs than a short (small) molecule (by
slab I mean just a metal-slab w/o molecule). You should also have some
safe margin, e.g., if molecule rotates from parallel to perpendicular
orientation ...


Best regards, Tone



PS: one more remark: you have used the opposite slab orientation as
conventionally used, i.e., typically the molecule is put on top of the
slab. Of course, the results do not depend on this choice, but you may
face some problems to describe the results, because the jargon used in
the surface science assumes the molecule above the surface (i.e. on top
of the slab). For example, "atom moves up" would mean away from the
surface ...

-- 
Anton Kokalj
J. Stefan Institute, Jamova 39, 1000 Ljubljana, Slovenia 
(tel: +386-1-477-3523 // fax:+386-1-477-3822)

Please, if possible, avoid sending me Word or PowerPoint attachments.
See:  http://www.gnu.org/philosophy/no-word-attachments.html





More information about the users mailing list