K-Points and Extrapolation

845 views
Skip to first unread message

M. Brehm

unread,
Aug 22, 2018, 7:40:58 AM8/22/18
to cp2k

Dear community,

since a few years, CP2k supports K points in DFT calculations, which is a very useful feature. All of the REGTESTs which invlove K points use "EXTRAPOLATION USE_GUESS". For single-point calculations, this is not a problem. However, for geometry optimizations or molecular dynamics runs, this means that the initial guess is performed in every geometry step, and the previous optimized wave function is not at all considered.

In very simple test cases, it is easy to reach SCF convergence from the initial guess. However, in realistic solid state systems (such as semiconductors), it can be very hard to converge a wave function from the initial guess. This can involve hundreds of SCF cycles, and can even require manual switching of the level of theory (e.g., pre-converge the wave function with PBE, then use this as a starting point for PBE0). If the initial guess is performed in every geometry step, such systems often cannot be treated at all...

I had a short look in the source code, and saw that two other EXTRAPOLATION methods are allowed in combination with K points, namely "LINEAR_P" and "USE_PREV_RHO_R". However, with the first one, I obtain a SEGFAULT every time in geometry optimization, and with the second one, the SCF convergence is even worse than with using the initial guess.

So here are my two questions:

(*) Are these two extrapolation methods supposed to work with K points? Maybe I am just doing something wrong, or there is a small bug which could be fixed.

(*) If not: Would it be possible to implement a method to just use the last converged wave function for new geometry steps? No sophisticated extrapolation scheme is required. It would be a huge gain if it would be possible to simply copy the last converged wave function. From my (very limited) understanding of the K point implementation in CP2k, this should not be too hard to implement...

Thank you in advance and with best regards,
Martin

hut...@chem.uzh.ch

unread,
Aug 23, 2018, 4:01:54 AM8/23/18
to cp...@googlegroups.com
Hi

yes, this is an issue that hasn't been looked into since the
early implementation of k-points. There is no deep reason why
one couldn't use other scheme, but it needs some additional programming.
I put it on the todo list.

regards

Juerg
--------------------------------------------------------------
Juerg Hutter Phone : ++41 44 635 4491
Institut für Chemie C FAX : ++41 44 635 6838
Universität Zürich E-mail: hut...@chem.uzh.ch
Winterthurerstrasse 190
CH-8057 Zürich, Switzerland
---------------------------------------------------------------

-----cp...@googlegroups.com wrote: -----
To: "cp2k" <cp...@googlegroups.com>
From: "M. Brehm"
Sent by: cp...@googlegroups.com
Date: 08/22/2018 01:41PM
Subject: [CP2K:10666] K-Points and Extrapolation
--
You received this message because you are subscribed to the Google Groups "cp2k" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cp2k+uns...@googlegroups.com.
To post to this group, send email to cp...@googlegroups.com.
Visit this group at https://groups.google.com/group/cp2k.
For more options, visit https://groups.google.com/d/optout.

M. Brehm

unread,
Aug 23, 2018, 5:26:54 AM8/23/18
to cp2k
Hi Juerg,

thanks a lot!

Best regards,
Martin

M. Brehm

unread,
Sep 15, 2018, 6:13:57 AM9/15/18
to cp2k
Hi Juerg,

I noticed that you recently implemented several extrapolation methods for use with K points. I was curious and set up a small example calculation. I adapted the regtest "QS/regtest-kp-1/c_2.inp": I increased the cutoff to a reasonable value, switched to Broyden Mixing, moved one of the carbon atoms a little off its lattice position, and made a geometry optimization (with 4 steps) out of it.

Please find attached my test input file as "c_2.inp". For my tests, I used the current CP2k trunk version.

I tried the four allowed values LINEAR_P, USE_GUESS, USE_PREV_P, and USE_PREV_RHO_R as choices for EXTRAPOLATION. Please see attached the four log files which resulted from these four runs.

It seems that all three "true" extrapolation methods do not work as expected. The quality of the extrapolated initial wave function is a lot poorer than the initial guess, with "convergence" values in the order of 20 - 200.

I would be grateful if somebody would have a look what goes wrong in this example.

Thanks and with best regards,
Martin

c_2.inp
use_guess.out
linear_p.out
use_prev_p.out
use_prev_rho_r.out

hut...@chem.uzh.ch

unread,
Sep 18, 2018, 7:50:46 AM9/18/18
to cp...@googlegroups.com
Hi Martin

thank you for pointing out these problems. Unfortunately,
it is more complex than I originally anticipated. I will have
to think and work some more on this.

regards

Juerg
--------------------------------------------------------------
Juerg Hutter Phone : ++41 44 635 4491
Institut für Chemie C FAX : ++41 44 635 6838
Universität Zürich E-mail: hut...@chem.uzh.ch
Winterthurerstrasse 190
CH-8057 Zürich, Switzerland
---------------------------------------------------------------

-----cp...@googlegroups.com wrote: -----
To: "cp2k" <cp...@googlegroups.com>
From: "M. Brehm"
Sent by: cp...@googlegroups.com
Date: 09/15/2018 12:14PM
Subject: [CP2K:10736] Re: K-Points and Extrapolation
--
You received this message because you are subscribed to the Google Groups "cp2k" group.
To unsubscribe from this group and stop receiving emails from it, send an email to cp2k+uns...@googlegroups.com.
To post to this group, send email to cp...@googlegroups.com.
Visit this group at https://groups.google.com/group/cp2k.
For more options, visit https://groups.google.com/d/optout.


[attachment "c_2.inp" removed by Jürg Hutter/at/UZH]
[attachment "use_guess.out" removed by Jürg Hutter/at/UZH]
[attachment "linear_p.out" removed by Jürg Hutter/at/UZH]
[attachment "use_prev_p.out" removed by Jürg Hutter/at/UZH]
[attachment "use_prev_rho_r.out" removed by Jürg Hutter/at/UZH]
Reply all
Reply to author
Forward
0 new messages