[CP2K-user] piezoelectric constants
Pierre-André Cazade
pierre.a... at gmail.com
Wed Sep 4 10:14:50 UTC 2019
Dear CP2K users,
I am trying to use CP2K to compute piezoelectric constants for systems too
large to be treated with VASP for example. Unfortunately, CP2K does not
come with an routine to do so, therefore I have to do it myself. I am using
finite differences to estimate dn_i/dE_j term where n stands for strain and
E for electric field. I am using the PERIODIC_EFIELD routine to try to
achieve that. However, it does not work. In the finite difference approach,
one applies a perturbation "h" to a function in an incremental way and
collects the values f(x-3h), f(x-2h), f(x-h), f(x+h), f(x+2h), f(x+3h). To
get the +/-, I change the direction of the field using the POLARISATION
keyword. For example, POLARISATION -1.0 0.0 0.0 for a field pointing in the
reverse direction of the x-axis and POLARISATION 1.0 0.0 0.0 to point in
the same direction as the x-axis. I get the h, 2h, 3h by increasing the
INTENSITY accordingly. The problem is I get the same response whether the
field is positive or negative, it is only sensitive to the INTENSITY.
Consequently, I get 0 for all my constants. VASP uses, to my understanding,
the same procedure and yields excellent results for beta glycine which is
the test case I am toying with. In a desperate attempt, I even change the
sign of the INTENSITY. I wonder if there is a bug as changing the sign in
POLARISATION does not seem to actually change the direction of the electric
field. Has anyone ever encountered this issue? If anyone knows how to
compute piezoelectric constants and elastic constants with CP2K, I would be
grateful for their help.
Best regards,
Pierre
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20190904/97ea89ee/attachment.htm>
More information about the CP2K-user
mailing list