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 /><div><br /></div><div>PBE:</div><div>Final value of function 0.1530340305<br /></div><div> Reference configuration 1 Method number 1<br /> L N Occupation Eigenvalue [eV] dE [eV] dCharge <br /> 0 1 2.00 -9.2192459546 VA 0.000325[ 0] 0.008127[26]<br /> 0 2 0.00 0.8396512255 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.2353950765 U2 -0.055747[ 0] 0.006591[ 0]<br /> 2 1 0.00 2.2546328512 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 /></div><div><br /></div><div>SCAN:</div><div>Final value of function 587.1874144433<br /></div><div> Reference configuration 1 Method number 1<br /> L N Occupation Eigenvalue [eV] dE [eV] dCharge <br /> 0 1 2.00 -9.2169294346 VA 0.002641[ 2] 0.006948[ 0]<br /> 0 2 0.00 0.8283557076 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 /></div><div><br /></div><div>and SCAN (2nd local contraction):</div><div>Final value of function 2.2705690182<br /></div><div> Reference configuration 1 Method number 1<br /> L N Occupation Eigenvalue [eV] dE [eV] dCharge <br /> 0 1 2.00 -9.2192585449 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.2546302822 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 /></div><div><br /></div><div>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?</div><div><br /></div><div>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?</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/0ade320f-1a54-439a-8c59-12c0d916f1c6n%40googlegroups.com?utm_medium=email&utm_source=footer">https://groups.google.com/d/msgid/cp2k/0ade320f-1a54-439a-8c59-12c0d916f1c6n%40googlegroups.com</a>.<br />