[CP2K:2238] Re: handling periodic images
Noam Bernstein
noam.be... at gmail.com
Fri Aug 21 21:29:17 UTC 2009
n Fri, Aug 21, 2009 at 4:55 PM, Teodoro Laino<teodor... at gmail.com> wrote:
> Dear Noam,
>
> there are a couple of things wrong in your input file:
> -) unit of CUTOFF are in Hartree (not eV)
> -) you need to converge to more than just 1.0E-6 if you want to do
> finite difference with a dx of 1.0E-3
>
> most important is that you have the keyword: CENTER_COORDINATE in every
> input file. This keyword will translate
> every geometry to the center of the box. Since PW codes are not
> translational invariant you'll get different forces when you will
> compare the analytical Vs numerical.
> Try to switch off the center_coordinate.
Hi Teo - thanks for the quick response. The bottom line is that you're right
about CENTER_COORDINATES. Removing that fixed the problem. I didn't
need to touch the convergence tolerance, though. Here's the result (with
the same convergence criterion as before, but without centering):
../process_all_xyz 11 12 box_8_8_8
11 0 box_8_8_8 f.\hat{dp} 0.0007721037 -(Ep-Em)/|dp| 0.000771581117910813
11 1 box_8_8_8 f.\hat{dp} -0.0064369363 -(Ep-Em)/|dp| -0.00643904197064808
11 2 box_8_8_8 f.\hat{dp} -0.0068540747 -(Ep-Em)/|dp| -0.00685700573433824
12 0 box_8_8_8 f.\hat{dp} 0.0011342877 -(Ep-Em)/|dp| 0.00113359872976174
12 1 box_8_8_8 f.\hat{dp} 0.0064706031 -(Ep-Em)/|dp| 0.00646781710957682
12 2 box_8_8_8 f.\hat{dp} 0.0019181963 -(Ep-Em)/|dp| 0.00191588646932878
hawk-0 318 : ../process_all_xyz 11 12 box_8_12_12
11 0 box_8_12_12 f.\hat{dp} -0.0005467245 -(Ep-Em)/|dp| -0.000546320300707084
11 1 box_8_12_12 f.\hat{dp} 0.0002155302 -(Ep-Em)/|dp| 0.000214977070938967
11 2 box_8_12_12 f.\hat{dp} -0.0015471253 -(Ep-Em)/|dp| -0.00154726514157424
12 0 box_8_12_12 f.\hat{dp} 0.0041081388 -(Ep-Em)/|dp| 0.00410629187691448
12 1 box_8_12_12 f.\hat{dp} 0.002757396 -(Ep-Em)/|dp| 0.00275542665487852
12 2 box_8_12_12 f.\hat{dp} -0.0032569809 -(Ep-Em)/|dp| -0.00325580051743943
I don't really understand the behavior, though. The problem happens when
you move an extremal atom, and the CENTER_COORDINATES stuff
translates your entire molecule. But how come it's sensitive to that, but not
to displacements of atoms that are deeper in the molecule? Is it just
that if the whole system is translated, every atom moves a little bit, and
the errors add up?
I also disagree about PW codes not being translationally invariant.
Plane waves are translationally invariant by construction. But pretty much
all real codes do some stuff on a real space grid, and that breaks
translation invariance.
In any case, problem solved.
Noam
More information about the CP2K-user
mailing list