I've done some more work and have made a pseudopotential and basis for Ga-q3 for PBE and r2SCAN (r2SCAN basis is still in progress). The PBE as far as I can tell looks good, however I'd welcome a second opinion:<div><br /></div><div> Reference configuration          1               Method number                1<br />    L    N    Occupation      Eigenvalue [eV]           dE [eV]          dCharge<br />    0    1          2.00        -8.9070605411 VA   0.000151[ X]    -0.000937[ 3]<br />    0    2          0.00         0.2814465422 U1  -0.000229[ X]     0.000607[ X]<br />    0    3          0.00         5.9015708838 U2  -0.014841[ X]     0.003233[ 0]<br />    1    1          1.00        -2.5412387531 VA   0.000300[ X]    -0.000789[ 2]<br />    1    2          0.00         1.9032645357 U1   0.000696[ X]     0.000142[ X]<br />    1    3          0.00         8.3552326430 U2  -0.008647[ X]     0.002687[ 0]<br />    2    1          0.00         1.7060736638 U1  -0.000850[ X]     0.000903[ X]<br />    2    2          0.00         5.8730820280 U2  -0.021470[ X]     0.006085[ 0]<br />    3    1          0.00         3.7199308846 U1   0.001920[ X]    -0.000056[ X]<br />    s-states N=    1                   Wavefunction at r=0:        -0.005687[ 0]<br />    s-states N=    2                   Wavefunction at r=0:         0.011672[ 0]<br />    s-states N=    3                   Wavefunction at r=0:         0.024741[ 0]<br /><br /> Number of target values reached:                                      13 of  15<br /><br />After creating a basis set I did a small test. My target system is c-GaN, so I did a geometry optimization using Ga-q13 and my new Ga-q3 for a GaN molecule, I also did an energy calculation of Ga, N, Ga3+ and N3-. Combined I looked at the equilibrium bond length, ionization energy of Ga -> Ga3+, and the energy to break the bond (creating either atoms or ions).</div><div>Using TZV2P sized basis sets I get:</div><div><span style="white-space: pre;">             </span><span style="white-space: pre;">   </span><span style="white-space: pre;">   </span><span style="white-space: pre;">   </span><span style="white-space: pre;">   </span> q13<span style="white-space: pre;">      </span><span style="white-space: pre;">   </span><span style="white-space: pre;">   </span>q3</div><div>Bond-length<span style="white-space: pre;">       </span><span style="white-space: pre;">   </span><span style="white-space: pre;">   </span><span style="white-space: pre;">   </span> 1.707428637<span style="white-space: pre;">      </span>1.682732901</div><div>Ga-ionization<span style="white-space: pre;">    </span><span style="white-space: pre;">   </span><span style="white-space: pre;">   </span> 1.804359228<span style="white-space: pre;">      </span>1.766611429</div><div>Bond-Strength (to ions)<span style="white-space: pre;">  </span>-2.544873412<span style="white-space: pre;">       </span>-2.505056579<br />Bond-Strength (to atoms)<span style="white-space: pre;">   </span>-0.047600299<span style="white-space: pre;">       </span>-0.045531265</div><div><br />Using DZVP sized basis sets I get similar results. Setting aside the actual numbers I get, the results seem reasonably in agreement considering I pseudized the d-electrons (I'm aware that this is a large approximation so I shouldn't expect perfect agreement).</div><div><br />The r2SCAN I'm less happy with, I tried adding an extra coefficient to the potential for both the local and d nonlocal terms (1 3 2 2 total coefficients i.e. the 2nd column in the pseudopotential). I've tried everything I can think of to further optimize the function but can't get it to improve further. Maybe more coefficients could improve it further, but I'm not sure which to increase.</div><div><br /></div><div> Reference configuration          1               Method number                1<br />    L    N    Occupation      Eigenvalue [eV]           dE [eV]          dCharge<br />    0    1          2.00        -9.2192607955 VA   0.000310[ 0]     0.007449[62]<br />    0    2          0.00         0.8410517459 U1  -0.006498[ 2]     0.001620[ X]<br />    0    3          0.00         6.5410088683 U2  -0.070940[ 0]     0.007503[ 0]<br />    1    1          1.00        -2.5061195817 VA   0.000315[ 0]     0.005716[36]<br />    1    2          0.00         2.3929875226 U1  -0.000019[ X]     0.001701[ X]<br />    1    3          0.00         9.2406249709 U2  -0.050517[ 0]     0.006367[ 0]<br />    2    1          0.00         2.2546026016 U1   0.003000[ X]     0.002766[ 0]<br />    2    2          0.00         6.4924159716 U2  -0.017151[ X]    -0.004616[ 0]<br />    s-states N=    1                   Wavefunction at r=0:         0.000646[ 0]<br />    s-states N=    2                   Wavefunction at r=0:         0.013822[ 0]<br />    s-states N=    3                   Wavefunction at r=0:         0.027648[ 0]<br /><br /> Number of target values reached:                                       5 of  13<br /><div><div dir="auto"><br /></div><div dir="auto">After I make a matching basis I plan to do the same tests with this PP, but I think it may be insufficiently accurate. Any further ideas on how to improve this would be welcomed.<br /></div></div></div><br /><div><div dir="auto">On Wednesday, May 7, 2025 at 8:04:38 AM UTC-7 Jürg Hutter wrote:<br /></div><blockquote style="margin: 0px 0px 0px 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi
<br />
<br />final evaluation of PP can only be done on your target systems.
<br />
<br />During PP optimization I would go for low functional values with a special look at the
<br />values for the orbital energies (valence orbitals, semicore orbitals, virtual orbitals, in that order).
<br />You can find those values for all the PP in the POTENTIAL_UZH file as a reference.
<br />
<br />In this specific case I would aim for near perfect values for all orbital energies (VA and U1).
<br />U1 for s will be hardest to get down. dCharge values will be hard to get and will probably
<br />dominate the function value in the end.
<br />
<br />For the reference basis in the MOLOPT procedure I would go for an optimized Geometrical basis.
<br />You can get those easily with the atom code (don't use a confinement potential). Play with the number
<br />of primitives until you get a 'converged' energy.
<br />
<br />regards
<br />JH
<br />
<br />________________________________________
<br />From: <a href="" rel="nofollow">cp...@googlegroups.com</a> <<a href="" rel="nofollow">cp...@googlegroups.com</a>> on behalf of Michael LaCount<br />Sent: Tuesday, May 6, 2025 11:04 PM
<br />To: cp2k
<br />Subject: [CP2K:21447] Questions regarding pseudopotential and basis set generation.
<br />
<br />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.
<br />
<br />I was tempted to email Jürg Hutter directly, but am posting it here in case it is of use to future users.
<br />
<br />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:
<br />
<br />PBE:
<br />Final value of function                                    0.1530340305
<br /> Reference configuration          1               Method number                1
<br />    L    N    Occupation      Eigenvalue [eV]           dE [eV]          dCharge
<br />    0    1          2.00        -9.<a value="+12192459546" target="_blank" rel="nofollow">2192459546</a> VA   0.000325[ 0]     0.008127[26]
<br />    0    2          0.00         0.<a value="+18396512255" target="_blank" rel="nofollow">8396512255</a> U1  -0.007898[ 8]     0.001720[ X]
<br />    0    3          0.00         6.5350291666 U2  -0.076920[ 0]     0.008006[ 0]
<br />    1    1          1.00        -2.5060816724 VA   0.000353[ 0]     0.006282[15]
<br />    1    2          0.00         2.3918661427 U1  -0.001140[ X]     0.001833[ X]
<br />    1    3          0.00         9.<a value="+12353950765" target="_blank" rel="nofollow">2353950765</a> U2  -0.055747[ 0]     0.006591[ 0]
<br />    2    1          0.00         2.<a value="+12546328512" target="_blank" rel="nofollow">2546328512</a> U1   0.003031[ 0]     0.004738[ 0]
<br />    2    2          0.00         6.4400471697 U2  -0.069520[ 0]     0.011434[ 0]
<br />    3    1          0.00         4.2413610819 U1   0.014969[50]    -0.000072[ X]
<br />    s-states N=    1                   Wavefunction at r=0:         0.005050[ 0]
<br />    s-states N=    2                   Wavefunction at r=0:         0.016265[ 0]
<br />    s-states N=    3                   Wavefunction at r=0:         0.032084[ 0]
<br />
<br /> Number of target values reached:                                       4 of  15
<br />
<br />SCAN:
<br />Final value of function                                  587.1874144433
<br /> Reference configuration          1               Method number                1
<br />    L    N    Occupation      Eigenvalue [eV]           dE [eV]          dCharge
<br />    0    1          2.00        -9.<a value="+12169294346" target="_blank" rel="nofollow">2169294346</a> VA   0.002641[ 2]     0.006948[ 0]
<br />    0    2          0.00         0.<a value="+18283557076" target="_blank" rel="nofollow">8283557076</a> U1  -0.019194[ 0]     0.002138[ X]
<br />    0    3          0.00         6.5240034385 U2  -0.087945[ 0]     0.008142[ 0]
<br />    1    1          1.00        -2.4873044888 VA   0.019130[98]     0.000623[ 0]
<br />    1    2          0.00         2.3990344827 U1   0.006028[ 0]     0.001717[ X]
<br />    1    3          0.00         9.2663576926 U2  -0.024784[ X]     0.006565[ 0]
<br />    2    1          0.00         2.2541499839 U1   0.002548[ X]     0.001125[ X]
<br />    2    2          0.00         6.4898896260 U2  -0.019678[ X]     0.004534[ 0]
<br />    3    1          0.00         4.2330247834 U1   0.006633[ 0]    -0.000068[ X]
<br />    s-states N=    1                   Wavefunction at r=0:         0.010116[ 0]
<br />    s-states N=    2                   Wavefunction at r=0:         0.018885[ 0]
<br />    s-states N=    3                   Wavefunction at r=0:         0.036626[ 0]
<br />
<br /> Number of target values reached:                                       7 of  15
<br />
<br />and SCAN (2nd local contraction):
<br />Final value of function                                    2.<a value="+12705690182" target="_blank" rel="nofollow">2705690182</a>
<br /> Reference configuration          1               Method number                1
<br />    L    N    Occupation      Eigenvalue [eV]           dE [eV]          dCharge
<br />    0    1          2.00        -9.<a value="+12192585449" target="_blank" rel="nofollow">2192585449</a> VA   0.000312[ 0]     0.007863[49]
<br />    0    2          0.00         0.8401648110 U1  -0.007385[ 3]     0.001685[ X]
<br />    0    3          0.00         6.5372420030 U2  -0.074707[ 0]     0.007822[ 0]
<br />    1    1          1.00        -2.5061070718 VA   0.000328[ 0]     0.006045[28]
<br />    1    2          0.00         2.3923327908 U1  -0.000674[ X]     0.001777[ X]
<br />    1    3          0.00         9.2375753924 U2  -0.053566[ 0]     0.006499[ 0]
<br />    2    1          0.00         2.<a value="+12546302822" target="_blank" rel="nofollow">2546302822</a> U1   0.003028[ 0]     0.004673[ 0]
<br />    2    2          0.00         6.4410410581 U2  -0.068526[ 0]     0.011278[ 0]
<br />    3    1          0.00         4.2412241163 U1   0.014832[20]    -0.000072[ X]
<br />    s-states N=    1                   Wavefunction at r=0:         0.003682[ 0]
<br />    s-states N=    2                   Wavefunction at r=0:         0.015481[ 0]
<br />    s-states N=    3                   Wavefunction at r=0:         0.030640[ 0]
<br />
<br /> Number of target values reached:                                       4 of  15
<br />
<br />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?
<br />
<br />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?
<br />
<br />--
<br />You received this message because you are subscribed to the Google Groups "cp2k" group.
<br />To unsubscribe from this group and stop receiving emails from it, send an email to <a href="" rel="nofollow">cp2k+uns...@googlegroups.com</a><mailto:<a href="" rel="nofollow">cp2k+uns...@googlegroups.com</a>>.
<br />To view this discussion visit <a href="https://groups.google.com/d/msgid/cp2k/0ade320f-1a54-439a-8c59-12c0d916f1c6n%40googlegroups.com" target="_blank" rel="nofollow">https://groups.google.com/d/msgid/cp2k/0ade320f-1a54-439a-8c59-12c0d916f1c6n%40googlegroups.com</a><<a href="https://groups.google.com/d/msgid/cp2k/0ade320f-1a54-439a-8c59-12c0d916f1c6n%40googlegroups.com?utm_medium=email&utm_source=footer" target="_blank" rel="nofollow">https://groups.google.com/d/msgid/cp2k/0ade320f-1a54-439a-8c59-12c0d916f1c6n%40googlegroups.com?utm_medium=email&utm_source=footer</a>>.
<br /></blockquote></div>

<p></p>

-- <br />
You received this message because you are subscribed to the Google Groups "cp2k" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an email to <a href="mailto:cp2k+unsubscribe@googlegroups.com">cp2k+unsubscribe@googlegroups.com</a>.<br />
To view this discussion visit <a href="https://groups.google.com/d/msgid/cp2k/5a2bfe4b-25d4-4d23-8307-76104a6a5167n%40googlegroups.com?utm_medium=email&utm_source=footer">https://groups.google.com/d/msgid/cp2k/5a2bfe4b-25d4-4d23-8307-76104a6a5167n%40googlegroups.com</a>.<br />