[CP2K-user] Electric dipole calculated using traditional operator depends on reference point for neutral periodic systems

Matt W mattwa... at gmail.com
Tue Nov 6 13:29:42 UTC 2018


Hi,

when you set the reference point very close to the boundary the molecule 
ends up split across the cell causing the observed dipole.

If you just vary the X value of the ref you'll see nothing changes. If you 
shift the Y or Z then there will be a jump when an atom gets split across 
the cell. E.g.

      &MOMENTS MEDIUM
        PERIODIC .FALSE.
        REFERENCE USER_DEFINED
        REFERENCE_POINT [angstrom] 0 6 1.1
      &END MOMENTS

will be funny, but

      &MOMENTS MEDIUM
        PERIODIC .FALSE.
        REFERENCE USER_DEFINED
        REFERENCE_POINT [angstrom] 0 6 1.2
      &END MOMENTS

will basically be well behaved.

There is a small shift as well as some of the smeared out density gets 
split too, but that is less noticable and gives the gradient you see at the 
edges.

If you run a slab and have the reference point in the centre of the 
non-periodic direction I think all should be well.

Matt

On Tuesday, November 6, 2018 at 10:53:11 AM UTC, S. Heidrich wrote:
>
> Hello,
>
> I would like to calculate the dipole of a slab with periodic boundary 
> conditions along the surface plane and no periodicity perpendicular to the 
> surface (so obviously only the dipole component in the latter direction is 
> well-defined). From the discussion in 
> https://groups.google.com/forum/#!topic/cp2k/SXhr0b6QGQk I gather that 
> this should be possible in CP2K using the wavelet poisson solver and 
> "traditional" dipole operator if one is only interested in the component in 
> the aperiodic direction (as I am), or alternatively using the Berry phase 
> method. The latter is not an option for me, as my system absolutely 
> requires smearing to get a converged ground state.
>
> To test whether this works in principle, I calculated the dipole of a 
> small molecule with known dipole value (ozone, ~0.53 Debye), "pretending" 
> it's a slab (XZ periodicity) and putting it in the center of the box. This 
> seems to more or less reproduce the correct dipole value just fine as long 
> as the reference point is near the molecule (or, equivalently, near the 
> center), but if one sets the reference point near the corners of the box, 
> there are huge "jumps" in the calculated dipole to unrealistic values:
>
> [image: dipole_reference_point_dependence.png]
>
> I'm just wondering if this is a bug or if I am doing something wrong, 
> since as far as I know, the dipole calculated using the "traditional" 
> operator should never depend on the reference point for a neutral system. 
> In this case, it's obvious what the correct value is and that the other 
> ones should just be disregarded, but if I want to apply this as a general 
> method, it's a bit worrying that it can be so totally off depending on 
> something that shouldn't matter. It's also not clear where the reference 
> point should be in order to produce "good" results (always just the center 
> of the box?).
>
> As an aside, this also happens with e.g. XYZ periodicity instead of XZ and 
> any Poisson solver I tried. Turning off periodicity altogether, on the 
> other hand, fixes the issue, but of course that's not an option once I move 
> on to actual slabs.
>
> A minimal example input file is attached, one just needs to adjust the 
> basis set and potential paths and then vary the reference point to 
> reproduce this. I'm running CP2K version 6.1.
>
> Thank you in advance for any help and suggestions!
>
> Kind regards
> Shahri
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20181106/6ab729d5/attachment.htm>


More information about the CP2K-user mailing list