Au pseudopotential and basis set refinement for range separated functional

161 views
Skip to first unread message

Vladislav Sláma

unread,
Aug 14, 2024, 8:37:11 AM8/14/24
to cp2k

Hello,

I would like to use wB97XD functional (or some other range-separated one) with Au atoms for which I would like to fit pseudopotential and DZVP basis set. With pseudopotential I tried to follow what I have found in the test folder and started from the PBE pseudopotential parameters.

1) I would like to ask you if the input for the pseudopotential parameters fitting with wB97XD is reasonable, because I’ve never done such calculations?

2) What would be the correct strategy to get the DZVP basis set for the Au atoms with fitted pseudopotential? The only calculation I managed to run successfully (not sure if it is correct) was to fit the GAUSSIAN basis set. However, for the CONTRACTED_GTO calculation always failed, sometimes without specifying the error. Could you please suggest me how to do this calculation? I’ve never needed to fit my own basis and pseudopotential so any suggestion or advice is greatly appreciated.

I’m including the input and output files in the attachment and below also the input for the GAUSSIAN basis set generation.

Best wishes and thank you for your help,

Vladislav


Input I used for GAUSSIAN basis set fitting:

 &GLOBAL
  PROGRAM_NAME ATOM
&END GLOBAL
&ATOM
  ELEMENT Au
  RUN_TYPE BASIS_OPTIMIZATION
  ELECTRON_CONFIGURATION  CORE 5d10 6s1
  CORE [Xe] 4f14
  MAX_ANGULAR_MOMENTUM 3
  COULOMB_INTEGRALS ANALYTIC
  EXCHANGE_INTEGRALS NUMERIC
  &METHOD
     METHOD_TYPE  KOHN-SHAM
     RELATIVISTIC DKH(3)
     &XC
        &XC_FUNCTIONAL
           &HYB_GGA_XC_WB97X_D
           &END  HYB_GGA_XC_WB97X_D
        &END XC_FUNCTIONAL
        &HF
          FRACTION 1.000
          &SCREENING
            EPS_SCHWARZ 1.0E-14
            SCREEN_ON_INITIAL_P TRUE
          &END
          &INTERACTION_POTENTIAL
             POTENTIAL_TYPE MIX_CL
             SCALE_COULOMB   0.22036
             SCALE_LONGRANGE 0.77964
             OMEGA 0.20
          &END
          &MEMORY
            MAX_MEMORY 4000
            EPS_STORAGE_SCALING 0.1
          &END
        &END
     &END XC
  &END METHOD
  &OPTIMIZATION
    MAX_ITER 500
    EPS_SCF 1.e-08
  &END
  &PP_BASIS
      NUM_GTO  6 6 6
      S_EXPONENTS 3.73260507 1.83419039 0.80906390 0.34515101 0.13836655 0.04967010
      P_EXPONENTS 3.73260507 1.83419039 0.80906390 0.34515101 0.13836655 0.04967010
      D_EXPONENTS 3.73260507 1.83419039 0.80906390 0.34515101 0.13836655 0.04967010
     EPS_EIGENVALUE 1.E-14
  &END PP_BASIS
  &POTENTIAL
    PSEUDO_TYPE GTH
    &GTH_POTENTIAL
    1    0   10    0
    0.59017106458211       1   11.68962795194189
       3
    0.52046766556862       2    2.20132630023183   -1.04609353504732
                                                    2.87007982647554
    0.63876105996853       2    0.42941169563709   -0.86977143557004
                                                    2.07606707053651
    0.44087154543382       2   -4.71769832312536    0.72776406084227
                                                   -1.72921082494821
    &END
  &END POTENTIAL
  &POWELL
     ACCURACY 1.e-8
     STEP_SIZE 0.3
  &END POWELL
&END ATOM

Au_PSEUDO-wB97XD-q11.inp
OPT_BASIS
GTH-PARAMETER
Au_PSEUDO-wB97XD-q11.out
Au_BASIS-wB97XD-q11.inp
Au_BASIS-wB97XD-q11.out

Frederick Stein

unread,
Aug 14, 2024, 12:03:21 PM8/14/24
to cp2k
Dear Vladislav,
Generally, pseudopotentials optimized for hybrid functionals are a good first guess. I implemented pseudopotential optimization with the longrange-operator some years ago and optimized it for a few elements. IIRC, the relevant keywords are here:
- ATOM%USE_GAUSS_HERMITE (better convergence) and ATOM%GRID_POINTS_GH to tune the accuracy of the longrange operator
- ATOM%EXCHANGE_INTEGRALS requires the default NUMERIC (analytic integrals are not available for the longrange operator)
- HF%SCREENING and HF%MEMORY are ignored (the sections were just copied from the original HF section)
- check convergence of EPS_SCF and GRID_POINTS keywords and the ACCURACY keyword in the POWELL section
- The assignment of orbitals to occupied/semicore/core must be correct
Consult the regtests ATOM/regtest-pseudo/C-rsPBE-* for further reference (regtests are supposed to run fast).
HTH,
Frederick

Vladislav Sláma

unread,
Aug 15, 2024, 4:50:43 AM8/15/24
to cp2k
Dear Frederick,
Thank you very much for your suggestions regarding the pseudopotential. Indeed, I copied the XC section from my testing calculations with the pseudopotentials and basis optimized for the PBE0 without any big changes. I'll try to look more into  ATOM%USE_GAUSS_HERMITE and ATOM%GRID_POINTS_GH options to refine the pseudopotential even more. In general do you think that the pseudopotentials and basis optimized for hybrid functionals (for example PBE0) should be also good enough to be used with the range separated hybrid functionals? I did some calculations of the excited states of a small gold nanoparticle functionalized with one photoactive biomolecule (with linker long enough tot to have charge transfer between them) and I see quite large mixing between the gold and molecular excitations. I wanted to be sure that the mixing is the real effect or just an artifact originating from the improper pseudopotential and basis for the range separated functional. This was my original motivation for the fitting.
I would like to ask you one more question related to the basis set fitting. Is the correct procedure to fit the GAUSSIAN orbitals and then do the contraction to DZVP basis with some other code, or is it possible to do it directly also in CP2K within the ATOM code and obtain coefficients and exponents of the contracted basis?

Thank you again for your insight. Best wishes,
Vladislav

Dne středa 14. srpna 2024 v 18:03:21 UTC+2 uživatel Frederick Stein napsal:

Frederick Stein

unread,
Aug 15, 2024, 5:31:14 AM8/15/24
to cp2k
Dear Vladislav,
If the basis set is large enough, it does not matter for what functional it has been optimized. This does not apply to pseudopotentials. Those optimized for PBE0 may work in case of standard elements (HCNO) but not necessarily for transition metals. In case of an optimization, they should be a reasonable first guess. Try to optimize them and compare the results.
I have no experience in creating basis sets with the atom code. Please consult Jürg Hutter, he is the most experience here regarding basis set and pseudopotential optimizations (compare his extensive collection of self-optimized basis sets and pseudopotentials https://github.com/juerghutter/BASIS and https://github.com/juerghutter/GTH). I do have some experience with optimizing basis sets using a script provided by CP2K (https://github.com/cp2k/cp2k/tree/master/tools/scriptmini) to optimize correlation consistent basis sets.
Best,
Frederick

Vladislav Sláma

unread,
Aug 15, 2024, 6:24:00 AM8/15/24
to cp2k
Dear Frederick,
Thank you again for your very helpful insight. It starts to come together now. I've checked the excited state properties for few smaller bio-molecules with different approaches and also with different software packages and I was getting reasonable results (with the PBE0 pseudopotential). However, I haven't done the same for the gold and I was blindly assuming that the pseudopotential will be good as well. I'll repeat the calculations with the new generated pseudopotential for the specific range separated functional I use to check the effects.
Thank you also for the links concerning the basis set fitting. I'll take a look at them.

Best wishes,
Vladislav

Dne čtvrtek 15. srpna 2024 v 11:31:14 UTC+2 uživatel Frederick Stein napsal:

Jürg Hutter

unread,
Aug 15, 2024, 7:28:38 AM8/15/24
to cp...@googlegroups.com
Hi
I have attached an input file for the PP optimization that uses the UZH protocol.
The parameters are almost converged (I run a couple of rounds, starting from the PBE0 values).
I usually restart the optimization and change the parameters
STEP_SIZE 0.002
MAX_INIT 5
MAX_FUN 100
STEP_SIZE_SCALING 0.95
until convergence is reached. Starting with large values for STEP_SIZE and small values for MAX_FUN (many restarts
within one run).

For the basis sets, you have many options and it really depends on what you want to do.
There is also no single solution, it's a matter of taste.
In CP2K you can either use the atom code or the full molecular optimizer.
Atomic optimization is fast (first optimize the exponents, then generate the contraction).
MOLOPT basis sets (molecular optimization) takes longer and needs more complex inputs.
Example for both schemes can be found in my github repository.

regards
JH

________________________________________
From: cp...@googlegroups.com <cp...@googlegroups.com> on behalf of Vladislav Sláma <sla...@gmail.com>
Sent: Wednesday, August 14, 2024 2:37 PM
To: cp2k
Subject: [CP2K:20567] Au pseudopotential and basis set refinement for range separated functional
--
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<mailto:cp2k+uns...@googlegroups.com>.
To view this discussion on the web visit https://groups.google.com/d/msgid/cp2k/779505a6-1e5d-4ee5-ac01-d3b2ae0afbfdn%40googlegroups.com<https://groups.google.com/d/msgid/cp2k/779505a6-1e5d-4ee5-ac01-d3b2ae0afbfdn%40googlegroups.com?utm_medium=email&utm_source=footer>.
Au.inp

Vladislav Sláma

unread,
Aug 15, 2024, 9:15:51 AM8/15/24
to cp2k
Dear Jürg,
Thank you for the input file for the pseudopotential optimization and for the explanation. I'll try this approach and test the new potential on smaller gold clusters and keep you updated.

Best wishes,
Vladislav
Dne čtvrtek 15. srpna 2024 v 13:28:38 UTC+2 uživatel Jürg Hutter napsal:
Reply all
Reply to author
Forward
0 new messages