[CP2K-user] [CP2K:21447] Questions regarding pseudopotential and basis set generation.
Michael LaCount
lacount.mi at gmail.com
Tue May 6 21:04:26 UTC 2025
I have been working on generating a 3 valence electron Gallium
pseudopotential and basis (for r2SCAN). Acknowledging that pseudizing the
d-electrons is questionable, it may become necessary for what I am trying
to do.
I was tempted to email Jürg Hutter directly, but am posting it here in case
it is of use to future users.
With regards to the ATOM code, I tried a few variations in optimizing the
pseudopotential based on the PBE pseudopotential, SCAN pseudopotential and
SCAN but with an additional local contraction term. I understand that the
optimization is 90% trial and error with the POWELL settings (STEP_SIZE,
STEP_SIZE_SCALING, MAX_INIT, and MAX_FUN). What is not clear to me though
is how to evaluate whether I have made a good or bad pseudopotential. From
my runs I have 3 candidates:
PBE:
Final value of function 0.1530340305
Reference configuration 1 Method number
1
L N Occupation Eigenvalue [eV] dE [eV]
dCharge
0 1 2.00 -9.2192459546 VA 0.000325[ 0]
0.008127[26]
0 2 0.00 0.8396512255 U1 -0.007898[ 8]
0.001720[ X]
0 3 0.00 6.5350291666 U2 -0.076920[ 0]
0.008006[ 0]
1 1 1.00 -2.5060816724 VA 0.000353[ 0]
0.006282[15]
1 2 0.00 2.3918661427 U1 -0.001140[ X]
0.001833[ X]
1 3 0.00 9.2353950765 U2 -0.055747[ 0]
0.006591[ 0]
2 1 0.00 2.2546328512 U1 0.003031[ 0]
0.004738[ 0]
2 2 0.00 6.4400471697 U2 -0.069520[ 0]
0.011434[ 0]
3 1 0.00 4.2413610819 U1 0.014969[50]
-0.000072[ X]
s-states N= 1 Wavefunction at r=0:
0.005050[ 0]
s-states N= 2 Wavefunction at r=0:
0.016265[ 0]
s-states N= 3 Wavefunction at r=0:
0.032084[ 0]
Number of target values reached: 4
of 15
SCAN:
Final value of function 587.1874144433
Reference configuration 1 Method number
1
L N Occupation Eigenvalue [eV] dE [eV]
dCharge
0 1 2.00 -9.2169294346 VA 0.002641[ 2]
0.006948[ 0]
0 2 0.00 0.8283557076 U1 -0.019194[ 0]
0.002138[ X]
0 3 0.00 6.5240034385 U2 -0.087945[ 0]
0.008142[ 0]
1 1 1.00 -2.4873044888 VA 0.019130[98]
0.000623[ 0]
1 2 0.00 2.3990344827 U1 0.006028[ 0]
0.001717[ X]
1 3 0.00 9.2663576926 U2 -0.024784[ X]
0.006565[ 0]
2 1 0.00 2.2541499839 U1 0.002548[ X]
0.001125[ X]
2 2 0.00 6.4898896260 U2 -0.019678[ X]
0.004534[ 0]
3 1 0.00 4.2330247834 U1 0.006633[ 0]
-0.000068[ X]
s-states N= 1 Wavefunction at r=0:
0.010116[ 0]
s-states N= 2 Wavefunction at r=0:
0.018885[ 0]
s-states N= 3 Wavefunction at r=0:
0.036626[ 0]
Number of target values reached: 7
of 15
and SCAN (2nd local contraction):
Final value of function 2.2705690182
Reference configuration 1 Method number
1
L N Occupation Eigenvalue [eV] dE [eV]
dCharge
0 1 2.00 -9.2192585449 VA 0.000312[ 0]
0.007863[49]
0 2 0.00 0.8401648110 U1 -0.007385[ 3]
0.001685[ X]
0 3 0.00 6.5372420030 U2 -0.074707[ 0]
0.007822[ 0]
1 1 1.00 -2.5061070718 VA 0.000328[ 0]
0.006045[28]
1 2 0.00 2.3923327908 U1 -0.000674[ X]
0.001777[ X]
1 3 0.00 9.2375753924 U2 -0.053566[ 0]
0.006499[ 0]
2 1 0.00 2.2546302822 U1 0.003028[ 0]
0.004673[ 0]
2 2 0.00 6.4410410581 U2 -0.068526[ 0]
0.011278[ 0]
3 1 0.00 4.2412241163 U1 0.014832[20]
-0.000072[ X]
s-states N= 1 Wavefunction at r=0:
0.003682[ 0]
s-states N= 2 Wavefunction at r=0:
0.015481[ 0]
s-states N= 3 Wavefunction at r=0:
0.030640[ 0]
Number of target values reached: 4
of 15
Some of these might be improved with more iterations, but I am unsure how I
should evaluate each of the pseudopotentials against the others. Is it
better to have a lower "Final value of function", or to have a greater
number of target values reached. Is there a rule of thumb for knowing when
I have reached a reasonable PP?
Next, I have a small question about the generation of MOLOPT style basis
sets. I have gone through Jürg Hutter's github and get 90% of the workflow
for that. I just don't quite understand the uncontracted basis set
generation. I can use the ATOM code to generate an uncontracted 'complete'
basis set, but the results seem very dependent on the initial guess. Is
there a general rule for how many basis functions I should use and/or the
range of the exponential terms? Other than taking more time, can I just
make an overkill basis (something like 12 functions per orbital type with
value ranging from 100 to .01) set for the purposes of making the final
basis?
--
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+unsubscribe at googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/cp2k/0ade320f-1a54-439a-8c59-12c0d916f1c6n%40googlegroups.com.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cp2k.org/archives/cp2k-user/attachments/20250506/483ac660/attachment.htm>
More information about the CP2K-user
mailing list