SCF calculations of an optimized geometry is slow to converge

Hi, everyone!

I’m interested in knowing why an SCF calculation for my system is slow to converge when the system itself was optimized using a high level method and a large basis set. The system in question is a molecule that is interacting with a Zn2+ ion.
I hope it’s not against the forum policy to post inputs and snippet results as I think I should be detailed in explaining what’s happening. Kindly find the input for the optimization calculation below for clarity:

#! Optimization of dimer b3lyp-d/quad zeta with diffuse and polarization

set_num_threads(8)

molecule {
2 1
--        
0 1
S        3.9850041190      1.7475301917     -0.1954783522                 
O        4.1932869082      1.7659313800      1.5064078660                 
O        5.3009547141      2.2352305701     -1.1827981411                 
O        2.4631929821      1.5248049343     -0.9516507767                 
C       -2.8731149350     -0.5684502801      0.5725428690                 
C       -4.0896556319     -0.7180563519     -0.3586099991                 
C       -1.5561262291     -0.8834079246     -0.1582708978                 
C       -5.4059608460     -0.4117836361      0.3785907810                 
C       -0.3437899300     -0.7365903296      0.7780077229                 
C       -6.6256497183     -0.5800970287     -0.5448878418                 
C        0.9722090029     -1.0539977649      0.0488187326                 
C       -7.9399726807     -0.2746319122      0.1943260327                 
C        2.1941637808     -0.7656488287      0.9418442604                 
C       -9.1590633540     -0.4526448306     -0.7259386774                 
C        3.4981447121     -1.0642555071      0.2211539598                 
C      -10.4684106102     -0.1445804956      0.0160550780                 
C        4.3829091816     -0.0564081829     -0.2909681019                 
C      -11.6831647552     -0.3234689137     -0.8934457025                 
C        3.8383268419     -2.4245785135      0.0719660467                 
C        5.5793338877     -0.4875799161     -0.9163926008                 
C        5.0223334372     -2.8060904030     -0.5526549257                 
C        5.8895204514     -1.8398901393     -1.0423655431                 
H       -2.8359296824      0.4734001219      0.9609218947                 
H       -2.9847109482     -1.2654878965      1.4315975645                 
H       -3.9818507060     -0.0210221275     -1.2188154215                 
H       -4.1231030736     -1.7598641657     -0.7462018320                 
H       -1.5914422253     -1.9221244876     -0.5524202252                 
H       -1.4398545575     -0.1812511319     -1.0141272562                 
H       -5.5084814147     -1.1036954677      1.2433492177                 
H       -5.3765864332      0.6327571618      0.7596970344                 
H       -0.3127093799      0.3103104440      1.1530566240                 
H       -0.4503287204     -1.4234531946      1.6460438291                 
H       -6.6552000374     -1.6261068593     -0.9218511659                 
H       -6.5269553796      0.1090262261     -1.4122428002                 
H        0.9700993694     -2.1139159094     -0.2838332862                 
H        1.0359640066     -0.4156804009     -0.8550884309                 
H       -7.9147482622      0.7728642057      0.5675955123                 
H       -8.0390314418     -0.9607142444      1.0642515114                 
H        2.1470896941      0.2909185261      1.2631482411                 
H        2.1497643917     -1.3749544844      1.8738568266                 
H       -9.0650142439      0.2318032788     -1.5976538877                 
H       -9.1888132260     -1.5010197877     -1.0965965739                 
H      -10.5742122355     -0.8265242532      0.8877822672                 
H      -10.4516028715      0.9042891580      0.3844769508                 
H      -12.6109155763     -0.0927479887     -0.3273989031                 
H      -11.6214770360      0.3633599334     -1.7643290328                 
H      -11.7444021763     -1.3708372128     -1.2585735364                 
H        3.1857469455     -3.2005841869      0.4545620884                 
H        6.3001070506      0.2002457244     -1.3266206808                 
H        5.2716475911     -3.8548336970     -0.6550158206                 
H        6.8098380439     -2.1378883093     -1.5288485220                 
Na       5.6120705484      3.2174854309      1.7005216289   
--
2 1
Zn       3.4730119981      3.9307810064     -0.1230901354                   
}

# both molecules are singlets, but one has charge

set optking { opt_coordinates = cartesian }

set {
maxiter 500
basis def2-QZVPPD
scf_type df
guess sad
# basis_guess def2-SV(P)
reference uks
}

optimize('b3lyp-d')

So, I used the optimized geometry from that, which is the following:

geom = psi4.geometry("""
2 1
    S            3.691592181079     1.045529796041     0.438604633103
    O            3.541481915892     1.209652609225     1.878132736683
    O            4.861740319586     1.769502464398    -0.066283240269
    O            2.446534573903     1.494263869452    -0.295728929209
    C           -3.398986350701    -1.049879235358     0.805468402569
    C           -4.596341024186    -1.248061153617    -0.144232465459
    C           -2.087015828839    -1.301758920470     0.041406548169
    C           -5.895069776288    -0.965442567837     0.644580812758
    C           -0.884532775597    -1.139375625846     0.980380041836
    C           -7.081543874581    -1.165614119500    -0.331766871472
    C            0.429158223201    -1.387889246436     0.235444642647
    C           -8.370059057679    -0.852733513607     0.476909824474
    C            1.635179063533    -1.302380053198     1.207051672359
    C           -9.549993928040    -1.044368456867    -0.505951446607
    C            2.909751057812    -1.622750365424     0.487051942736
    C          -10.850886123937    -0.720893905999     0.287577006062
    C            3.864003145052    -0.680179284982     0.056059202783
    C          -12.032420204375    -0.900671413588    -0.676049255631
    C            3.163540142727    -2.966370815367     0.170382303622
    C            4.999775136938    -1.058461614007    -0.651324464979
    C            4.292967599201    -3.357693908108    -0.529114478068
    C            5.213902038328    -2.403243582741    -0.949206854386
    H           -3.406335424835    -0.035620269450     1.206338366688
    H           -3.476229063539    -1.738987441013     1.647064168575
    H           -4.520085264342    -0.567918738736    -0.992324469303
    H           -4.605949408194    -2.267719279915    -0.528253340089
    H           -2.093391145635    -2.309472367355    -0.377296549043
    H           -2.008682012276    -0.602633212533    -0.793199431898
    H           -5.982543316629    -1.648322144934     1.488026604897
    H           -5.889717860831     0.054477355988     1.025758089674
    H           -0.881049106485    -0.135917887623     1.410919078210
    H           -0.972726714436    -1.844287111473     1.809532785822
    H           -7.103181036909    -2.189230715964    -0.700263233090
    H           -6.994157924607    -0.489542510306    -1.180000159205
    H            0.409625804237    -2.374631303126    -0.229150842881
    H            0.557904399161    -0.654552330603    -0.562008991552
    H           -8.345783300562     0.169863134709     0.847781842653
    H           -8.462577704485    -1.531519476742     1.322141775479
    H            1.655058534294    -0.322188933400     1.673582857981
    H            1.484321679350    -2.038670560521     1.997661914959
    H           -9.455829262088    -0.370711319039    -1.355870631065
    H           -9.581632238293    -2.068302389032    -0.873932222475
    H          -10.935095370346    -1.394395780349     1.138851076193
    H          -10.804850405376     0.300722416715     0.661340199985
    H          -12.945757599076    -0.671618974015    -0.114384693157
    H          -11.967371255460    -0.219412278388    -1.523035612203
    H          -12.099612227869    -1.923410888518    -1.043502018142
    H            2.448855152313    -3.710220253737     0.494851242312
    H            5.715212396337    -0.313912368877    -0.964851020613
    H            4.458137574225    -4.402974601337    -0.746450855203
    H            6.095999014670    -2.695246174986    -1.499779434233
    Na           5.567285215970     2.399943070327     2.193759087524
    Zn           2.501951984597     2.818011352358    -1.739867362110
""")

for energy calculations using the following settings:

# establishing list of methods
methods = ['pbe','b97-d','b3lyp','b3lyp-d']

# establishing karslruhe set
basis_sets = ['cc-pvtz','aug-cc-pvtz','def2-TZVPD','def2-TZVPPD']

# define calculation function
def b3lyp(basis, method, num_threads=4):
    psi4.set_options({
        'maxiter':500,
        'reference':'uks',
        'basis':basis,
        'scf_type':'df',
        'guess':'sad',
        'basis_guess':'def2-SV(P)'
    })
    psi4.set_num_threads(num_threads)
    ener = psi4.energy(method, molecule = geom)
    return ener

ener_dict={}
for xc in methods:
    ener_dict[xc]=[]
    for bs in basis_sets:
        energy=b3lyp(basis = bs, method = xc, num_threads=8)
        ener_dict[xc].append(energy)
        pass
    pass

While the Delta E gets progressively smaller, it takes very small steps in doing so. For example, this is a snippet from the first round of the for loop (i.e. using pbe/cc-pvtz):

   @DF-UKS iter 363: -3265.06150783944668    1.06693e-08   1.03369e-03 DIIS
   @DF-UKS iter 364: -3265.06150784973761   -1.02909e-08   1.03369e-03 DIIS
   @DF-UKS iter 365: -3265.06150783980956    9.92804e-09   1.03369e-03 DIIS
   @DF-UKS iter 366: -3265.06150784938291   -9.57334e-09   1.03369e-03 DIIS
   @DF-UKS iter 367: -3265.06150784014790    9.23501e-09   1.03369e-03 DIIS
   @DF-UKS iter 368: -3265.06150784905822   -8.91032e-09   1.03369e-03 DIIS
   @DF-UKS iter 369: -3265.06150784046895    8.58927e-09   1.03369e-03 DIIS
   @DF-UKS iter 370: -3265.06150784875445   -8.28550e-09   1.03369e-03 DIIS
   @DF-UKS iter 371: -3265.06150784076272    7.99173e-09   1.03369e-03 DIIS
   @DF-UKS iter 372: -3265.06150784846704   -7.70433e-09   1.03369e-03 DIIS
   @DF-UKS iter 373: -3265.06150784103556    7.43148e-09   1.03369e-03 DIIS
   @DF-UKS iter 374: -3265.06150784820602   -7.17046e-09   1.03369e-03 DIIS
   @DF-UKS iter 375: -3265.06150784128931    6.91671e-09   1.03369e-03 DIIS
   @DF-UKS iter 376: -3265.06150784796318   -6.67387e-09   1.03369e-03 DIIS
   @DF-UKS iter 377: -3265.06150784152305    6.44013e-09   1.03369e-03 DIIS
   @DF-UKS iter 378: -3265.06150784773490   -6.21185e-09   1.03369e-03 DIIS
   @DF-UKS iter 379: -3265.06150784174406    5.99084e-09   1.03369e-03 DIIS
   @DF-UKS iter 380: -3265.06150784752026   -5.77620e-09   1.03369e-03 DIIS
   @DF-UKS iter 381: -3265.06150784194961    5.57066e-09   1.03369e-03 DIIS
   @DF-UKS iter 382: -3265.06150784732472   -5.37511e-09   1.03369e-03 DIIS
   @DF-UKS iter 383: -3265.06150784214333    5.18139e-09   1.03369e-03 DIIS
   @DF-UKS iter 384: -3265.06150784714100   -4.99767e-09   1.03369e-03 DIIS
   @DF-UKS iter 385: -3265.06150784231795    4.82305e-09   1.03369e-03 DIIS
   @DF-UKS iter 386: -3265.06150784697002   -4.65207e-09   1.03369e-03 DIIS
   @DF-UKS iter 387: -3265.06150784247984    4.49018e-09   1.03369e-03 DIIS
   @DF-UKS iter 388: -3265.06150784681449   -4.33465e-09   1.03369e-03 DIIS
   @DF-UKS iter 389: -3265.06150784263355    4.18095e-09   1.03369e-03 DIIS
   @DF-UKS iter 390: -3265.06150784666715   -4.03361e-09   1.03369e-03 DIIS
   @DF-UKS iter 391: -3265.06150784277906    3.88809e-09   1.03369e-03 DIIS
   @DF-UKS iter 392: -3265.06150784652527   -3.74621e-09   1.03369e-03 DIIS
   @DF-UKS iter 393: -3265.06150784291094    3.61433e-09   1.03369e-03 DIIS
   @DF-UKS iter 394: -3265.06150784639703   -3.48609e-09   1.03369e-03 DIIS
   @DF-UKS iter 395: -3265.06150784303554    3.36149e-09   1.03369e-03 DIIS
   @DF-UKS iter 396: -3265.06150784627880   -3.24326e-09   1.03369e-03 DIIS
   @DF-UKS iter 397: -3265.06150784314650    3.13230e-09   1.03369e-03 DIIS
   @DF-UKS iter 398: -3265.06150784616602   -3.01952e-09   1.03369e-03 DIIS
   @DF-UKS iter 399: -3265.06150784325655    2.90947e-09   1.03369e-03 DIIS
   @DF-UKS iter 400: -3265.06150784606507   -2.80852e-09   1.03369e-03 DIIS
   @DF-UKS iter 401: -3265.06150784335114    2.71393e-09   1.03369e-03 DIIS
   @DF-UKS iter 402: -3265.06150784596684   -2.61571e-09   1.03369e-03 DIIS
   @DF-UKS iter 403: -3265.06150784344936    2.51748e-09   1.03369e-03 DIIS
   @DF-UKS iter 404: -3265.06150784587680   -2.42744e-09   1.03369e-03 DIIS
   @DF-UKS iter 405: -3265.06150784353486    2.34195e-09   1.03369e-03 DIIS

Is slow convergence to be expected due to the workflow, resultant geometry, choice of method, basis set, or any other calculation settings? What changes can I make to the calculation so that it converges faster? I would really appreciate input/suggestions from more experienced Psi4 users.

Thank you very much in advance! I hope y’all have a good day.

We encourage people to provide their input files and relevant parts of the output, so thanks for that. We also prefer examples that strip out the unimportant parts as much as possible. Which basis set and functional combination is causing the issue?

What version of Psi4 are you using?

Thanks for the input, Dr. Misiewicz! I’ll try and do better with the stripping for further posts.

The combination in question is pbe/cc-pvtz. I’m using Psi4 version 1.5, and it was a specific build that solved angular momentum issues discussed in a previous post.
EDIT: I used basis_guess : def2-svp, so the combination was pbe/def2-sv(p). Furthermore, I also tried to up the iterations to 1000 and even then it did not converge. Here are some relevant snippets:

    Name: DEF2-SV(P)
    Role: ORBITAL
    Keyword: BASIS
    atoms 1     entry S          line   326 file /home/adhyatma/psi4conda/envs/psi4_1.5/share/psi4/basis/def2-sv_p_.gbs 
    atoms 2-4   entry O          line   128 file /home/adhyatma/psi4conda/envs/psi4_1.5/share/psi4/basis/def2-sv_p_.gbs 
    atoms 5-22  entry C          line    88 file /home/adhyatma/psi4conda/envs/psi4_1.5/share/psi4/basis/def2-sv_p_.gbs 
    atoms 23-51 entry H          line    15 file /home/adhyatma/psi4conda/envs/psi4_1.5/share/psi4/basis/def2-sv_p_.gbs 
    atoms 52    entry NA         line   188 file /home/adhyatma/psi4conda/envs/psi4_1.5/share/psi4/basis/def2-sv_p_.gbs 
    atoms 53    entry ZN         line   846 file /home/adhyatma/psi4conda/envs/psi4_1.5/share/psi4/basis/def2-sv_p_.gbs 
...
  ==> DFT Potential <==

   => Composite Functional: PBE <= 

    PBE GGA Exchange-Correlation Functional

    J.P. Perdew et. al., Phys. Rev. Lett., 77(18), 3865-3868, 1996
...
   @DF-UKS iter  32: -3265.05761768215962    1.60584e-02   1.00317e-03 DIIS
   @DF-UKS iter  33: -3265.08264670634344   -2.50290e-02   9.60217e-04 DIIS
   @DF-UKS iter  34: -3265.07084815900089    1.17985e-02   9.77088e-04 DIIS
   @DF-UKS iter  35: -3265.30469408711633   -2.33846e-01   5.15115e-04 DIIS
   @DF-UKS iter  36: -3265.07170782193043    2.32986e-01   1.01434e-03 DIIS
   @DF-UKS iter  37: -3265.06329221379929    8.41561e-03   1.02710e-03 DIIS
   @DF-UKS iter  38: -3265.06568918930770   -2.39698e-03   1.02564e-03 DIIS
   @DF-UKS iter  39: -3265.06223048741413    3.45870e-03   1.03078e-03 DIIS
   @DF-UKS iter  40: -3265.06386121152354   -1.63072e-03   1.02931e-03 DIIS
   @DF-UKS iter  41: -3265.06165336829145    2.20784e-03   1.03246e-03 DIIS
...
   @DF-UKS iter 998: -3265.06150554236046    2.72848e-12   1.03370e-03 DIIS
   @DF-UKS iter 999: -3265.06150554236137   -9.09495e-13   1.03370e-03 DIIS
   @DF-UKS iter 1000: -3265.06150554236319   -1.81899e-12   1.03370e-03 DIIS

PsiException: Could not converge SCF iterations in 1000 iterations.

As is shown, the RMS started to stagnate and never declined beyond ~1.03078e-03 DIIS.
Also, here’s my conda list below:

# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main  
_openmp_mutex             5.1                       1_gnu  
ambit                     0.5.1                hbe8a562_1    psi4
attrs                     22.1.0           py39h06a4308_0  
blas                      1.0                         mkl  
bottleneck                1.3.5            py39h7deecbd_0  
ca-certificates           2023.01.10           h06a4308_0  
certifi                   2022.12.7        py39h06a4308_0  
chemps2                   1.8.10               hbe8a562_0    psi4
dftd3                     3.2.1                h84218bc_2    psi4
dkh                       1.2                  h173d85e_2    psi4
flit-core                 3.6.0              pyhd3eb1b0_0  
gau2grid                  2.0.7                hd18ef5c_0    psi4
gcp                       2.0.2                he991be0_2    psi4
gdma                      2.2.6                h0e1e685_6    psi4
hdf5                      1.10.6               h3ffc7dd_1  
importlib-metadata        4.11.3           py39h06a4308_0  
importlib_metadata        4.11.3               hd3eb1b0_0  
importlib_resources       5.2.0              pyhd3eb1b0_1  
intel-openmp              2021.4.0          h06a4308_3561  
ld_impl_linux-64          2.38                 h1181459_1  
libffi                    3.4.2                h6a678d5_6  
libgcc-ng                 11.2.0               h1234567_1  
libgfortran-ng            11.2.0               h00389a5_1  
libgfortran5              11.2.0               h1234567_1  
libgomp                   11.2.0               h1234567_1  
libint2                   2.6.0                hc9558a2_9    psi4
libstdcxx-ng              11.2.0               h1234567_1  
libxc                     5.2.3                hfebba4c_0    psi4
mkl                       2021.4.0           h06a4308_640  
mkl-service               2.4.0            py39h7f8727e_0  
mkl_fft                   1.3.1            py39hd3c417c_0  
mkl_random                1.2.2            py39h51133e4_0  
more-itertools            8.12.0             pyhd3eb1b0_0  
ncurses                   6.4                  h6a678d5_0  
networkx                  2.8.4            py39h06a4308_0  
numexpr                   2.8.4            py39he184ba9_0  
numpy                     1.23.5           py39h14f4228_0  
numpy-base                1.23.5           py39h31eccc5_0  
openssl                   1.1.1t               h7f8727e_0  
packaging                 22.0             py39h06a4308_0  
pandas                    1.5.3            py39h417a72b_0  
pcmsolver                 1.2.1.1          py39h6d17ec8_2    psi4
pint                      0.17               pyhd8ed1ab_0    psi4
pip                       22.3.1           py39h06a4308_0  
pluggy                    0.13.1           py39h06a4308_0  
psi4                      1.5+e9f4d6d      py39hbf93d9d_0    psi4
psutil                    5.9.0            py39h5eee18b_0  
py                        1.11.0             pyhd3eb1b0_0  
py-cpuinfo                8.0.0              pyhd3eb1b0_1  
pydantic                  1.10.2           py39h5eee18b_0  
pytest                    5.4.3            py39h06a4308_0  
python                    3.9.16               h7a1cb2a_0  
python-dateutil           2.8.2              pyhd3eb1b0_0  
pytz                      2022.7           py39h06a4308_0  
pyyaml                    6.0              py39h5eee18b_1  
qcelemental               0.25.1             pyhd8ed1ab_1    psi4
qcengine                  0.26.0             pyhd8ed1ab_0    psi4
readline                  8.2                  h5eee18b_0  
setuptools                65.6.3           py39h06a4308_0  
simint                    0.7                  h642920c_1    psi4
six                       1.16.0             pyhd3eb1b0_1  
sqlite                    3.40.1               h5082296_0  
tk                        8.6.12               h1ccaba5_0  
typing-extensions         4.4.0            py39h06a4308_0  
typing_extensions         4.4.0            py39h06a4308_0  
tzdata                    2022g                h04d1e81_0  
wcwidth                   0.2.5              pyhd3eb1b0_0  
wheel                     0.38.4           py39h06a4308_0  
xz                        5.2.10               h5eee18b_1  
yaml                      0.2.5                h7b6447c_0  
zipp                      3.11.0           py39h06a4308_0  
zlib                      1.2.13               h5eee18b_0 

Hope it clears things up and please let me know if you require any other info.

Cheers.

Please update to psi4 v1.7 (latest release) and check if the problems persist.

Thanks for the tips, Dr. Kruse!

After running the script using the latest version of Psi4, it still fails to converge after 1000 iterations.
Below is the conda list of the conda environment with updated Psi4:

# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main  
_openmp_mutex             5.1                       1_gnu  
ambit                     0.6              py38h53dec33_2    psi4
anyio                     3.6.2                    pypi_0    pypi
apptools                  5.2.0                    pypi_0    pypi
argon2-cffi               21.3.0                   pypi_0    pypi
argon2-cffi-bindings      21.2.0                   pypi_0    pypi
arrow                     1.2.3                    pypi_0    pypi
ase                       3.22.1                   pypi_0    pypi
asttokens                 2.2.1                    pypi_0    pypi
astunparse                1.6.3                    pypi_0    pypi
asyml-utilities           0.0.2                    pypi_0    pypi
attrs                     22.1.0           py38h06a4308_0  
backcall                  0.2.0                    pypi_0    pypi
beautifulsoup4            4.11.2                   pypi_0    pypi
blas                      1.0                         mkl  
bleach                    6.0.0                    pypi_0    pypi
bottleneck                1.3.5            py38h7deecbd_0  
brotli                    1.0.9                h5eee18b_7  
brotli-bin                1.0.9                h5eee18b_7  
brotlipy                  0.7.0           py38h27cfd23_1003  
ca-certificates           2023.01.10           h06a4308_0  
certifi                   2022.12.7        py38h06a4308_0  
cffi                      1.15.1           py38h5eee18b_3  
charset-normalizer        2.0.4              pyhd3eb1b0_0  
chemps2                   1.8.11               hbe8a562_0    psi4
comm                      0.1.2                    pypi_0    pypi
conda                     23.1.0           py38h06a4308_0  
conda-package-handling    1.9.0            py38h5eee18b_1  
configobj                 5.0.8                    pypi_0    pypi
contourpy                 1.0.5            py38hdb19cb5_0  
cryptography              38.0.1           py38h9ce1e76_0  
cycler                    0.11.0             pyhd3eb1b0_0  
dbus                      1.13.18              hb2f20db_0  
debugpy                   1.6.6                    pypi_0    pypi
decorator                 5.1.1                    pypi_0    pypi
defusedxml                0.7.1                    pypi_0    pypi
dftd3                     3.2.1                h84218bc_2    psi4
dftd4                     v3.3.0           py38h758d17c_2    psi4
dkh                       1.2                  h173d85e_2    psi4
envisage                  6.1.1                    pypi_0    pypi
executing                 1.2.0                    pypi_0    pypi
expat                     2.4.9                h6a678d5_0  
fastjsonschema            2.16.2                   pypi_0    pypi
flit-core                 3.6.0              pyhd3eb1b0_0  
fockci                    0.2.0              pyh681c21d_0    psi4
fontconfig                2.14.1               h52c9d5c_1  
fonttools                 4.25.0             pyhd3eb1b0_0  
fqdn                      1.5.1                    pypi_0    pypi
freetype                  2.12.1               h4a9f257_0  
funcsigs                  1.0.2                    pypi_0    pypi
gau2grid                  2.0.7                hd18ef5c_0    psi4
gcp                       2.0.2                he991be0_2    psi4
gdma                      2.2.6                h0e1e685_6    psi4
giflib                    5.2.1                h5eee18b_2  
gitdb                     4.0.10                   pypi_0    pypi
gitpython                 3.1.31                   pypi_0    pypi
glib                      2.69.1               he621ea3_2  
gst-plugins-base          1.14.0               h8213a91_2  
gstreamer                 1.14.0               h28cd5cc_2  
hdf5                      1.10.6               hb1b8bf9_0  
icu                       58.2                 he6710b0_3  
idna                      3.4              py38h06a4308_0  
importlib-metadata        4.11.3           py38h06a4308_0  
importlib_metadata        4.11.3               hd3eb1b0_0  
importlib_resources       5.2.0              pyhd3eb1b0_1  
iniconfig                 1.1.1              pyhd3eb1b0_0  
intel-openmp              2021.4.0          h06a4308_3561  
ipykernel                 6.21.2                   pypi_0    pypi
ipython                   8.10.0                   pypi_0    pypi
ipython-genutils          0.2.0                    pypi_0    pypi
ipywidgets                8.0.4                    pypi_0    pypi
isoduration               20.11.0                  pypi_0    pypi
jedi                      0.18.2                   pypi_0    pypi
jinja2                    3.1.2                    pypi_0    pypi
jpeg                      9e                   h7f8727e_0  
jsonpickle                3.0.1                    pypi_0    pypi
jsonpointer               2.3                      pypi_0    pypi
jsonschema                4.17.3                   pypi_0    pypi
jupyter                   1.0.0                    pypi_0    pypi
jupyter-client            8.0.3                    pypi_0    pypi
jupyter-console           6.6.0                    pypi_0    pypi
jupyter-core              5.2.0                    pypi_0    pypi
jupyter-events            0.6.3                    pypi_0    pypi
jupyter-server            2.3.0                    pypi_0    pypi
jupyter-server-terminals  0.4.4                    pypi_0    pypi
jupyterlab-pygments       0.2.2                    pypi_0    pypi
jupyterlab-widgets        3.0.5                    pypi_0    pypi
kiwisolver                1.4.4            py38h6a678d5_0  
krb5                      1.19.4               h568e23c_0  
lcms2                     2.12                 h3be6417_0  
ld_impl_linux-64          2.38                 h1181459_1  
lerc                      3.0                  h295c915_0  
libbrotlicommon           1.0.9                h5eee18b_7  
libbrotlidec              1.0.9                h5eee18b_7  
libbrotlienc              1.0.9                h5eee18b_7  
libclang                  10.0.1          default_hb85057a_2  
libdeflate                1.8                  h7f8727e_5  
libecpint                 1.0.7                hfebba4c_0    psi4
libedit                   3.1.20221030         h5eee18b_0  
libefp                    1.5.0                h117b10a_4    psi4
libevent                  2.1.12               h8f2d780_0  
libffi                    3.4.2                h6a678d5_6  
libgcc-ng                 11.2.0               h1234567_1  
libgfortran-ng            7.5.0               ha8ba4b0_17  
libgfortran4              7.5.0               ha8ba4b0_17  
libgomp                   11.2.0               h1234567_1  
libint2                   2.7.1               h2fe1556_15    psi4
libllvm10                 10.0.1               hbcb73fb_5  
libpng                    1.6.37               hbc83047_0  
libpq                     12.9                 h16c4e8d_3  
libstdcxx-ng              11.2.0               h1234567_1  
libtiff                   4.5.0                hecacb30_0  
libuuid                   1.41.5               h5eee18b_0  
libwebp                   1.2.4                h11a3e52_0  
libwebp-base              1.2.4                h5eee18b_0  
libxc                     5.2.3                hfebba4c_0    psi4
libxcb                    1.15                 h7f8727e_0  
libxkbcommon              1.0.1                hfa300c1_0  
libxml2                   2.9.14               h74e7548_0  
libxslt                   1.1.35               h4e12654_0  
lz4-c                     1.9.4                h6a678d5_0  
markupsafe                2.1.2                    pypi_0    pypi
matplotlib                3.6.2            py38h06a4308_0  
matplotlib-base           3.6.2            py38h945d387_0  
matplotlib-inline         0.1.6                    pypi_0    pypi
mayavi                    4.8.1                    pypi_0    pypi
mistune                   2.0.5                    pypi_0    pypi
mkl                       2021.4.0           h06a4308_640  
mkl-service               2.4.0            py38h7f8727e_0  
mkl_fft                   1.3.1            py38hd3c417c_0  
mkl_random                1.2.2            py38h51133e4_0  
moly                      0.2.1                    pypi_0    pypi
mp2d                      1.1.0                hfd86e86_0    psi4
msgpack-python            1.0.3            py38hd09550d_0  
munkres                   1.1.4                      py_0  
mypy-extensions           1.0.0                    pypi_0    pypi
nbclassic                 0.5.2                    pypi_0    pypi
nbclient                  0.7.2                    pypi_0    pypi
nbconvert                 7.2.9                    pypi_0    pypi
nbformat                  5.7.3                    pypi_0    pypi
ncurses                   6.3                  h5eee18b_3  
nest-asyncio              1.5.6                    pypi_0    pypi
networkx                  2.8.4            py38h06a4308_0  
notebook                  6.5.2                    pypi_0    pypi
notebook-shim             0.2.2                    pypi_0    pypi
nspr                      4.33                 h295c915_0  
nss                       3.74                 h0370c37_0  
numexpr                   2.8.4            py38he184ba9_0  
numpy                     1.22.4                   pypi_0    pypi
openssl                   1.1.1t               h7f8727e_0  
opt-einsum                3.3.0                    pypi_0    pypi
optking                   0.2.1              pyhbc12335_1    psi4
packaging                 21.3               pyhd3eb1b0_0  
pandas                    1.5.2            py38h417a72b_0  
pandocfilters             1.5.0                    pypi_0    pypi
parso                     0.8.3                    pypi_0    pypi
pcmsolver                 1.2.1.1          py38h92d4acf_3    psi4
pcre                      8.45                 h295c915_0  
pexpect                   4.8.0                    pypi_0    pypi
pickleshare               0.7.5                    pypi_0    pypi
pillow                    9.3.0            py38h6a678d5_2  
pint                      0.17               pyhd8ed1ab_0    psi4
pip                       22.3.1           py38h06a4308_0  
pkgutil-resolve-name      1.3.10                   pypi_0    pypi
platformdirs              3.0.0                    pypi_0    pypi
plotly                    5.13.0                   pypi_0    pypi
pluggy                    1.0.0            py38h06a4308_1  
ply                       3.11                     py38_0  
prometheus-client         0.16.0                   pypi_0    pypi
prompt-toolkit            3.0.36                   pypi_0    pypi
psi4                      1.7+6ce35a5      py38hcfdb6ef_1    psi4
psi4-rt                   1.7              py38hf2a028a_0    psi4
psutil                    5.9.0            py38h5eee18b_0  
ptyprocess                0.7.0                    pypi_0    pypi
pure-eval                 0.2.2                    pypi_0    pypi
py                        1.11.0             pyhd3eb1b0_0  
py-cpuinfo                8.0.0              pyhd3eb1b0_1  
pycosat                   0.6.4            py38h5eee18b_0  
pycparser                 2.21               pyhd3eb1b0_0  
pydantic                  1.10.2           py38h5eee18b_0  
pyface                    7.4.4                    pypi_0    pypi
pygments                  2.14.0                   pypi_0    pypi
pylibefp                  0.6.1+cfbbac8    py38h4467fa1_4    psi4
pyopenssl                 22.0.0             pyhd3eb1b0_0  
pyparsing                 3.0.9            py38h06a4308_0  
pyqt                      5.15.7           py38h6a678d5_1  
pyqt5-sip                 12.11.0          py38h6a678d5_1  
pyrsistent                0.19.3                   pypi_0    pypi
pysocks                   1.7.1            py38h06a4308_0  
pytest                    7.1.2            py38h06a4308_0  
python                    3.8.15               h7a1cb2a_2  
python-dateutil           2.8.2              pyhd3eb1b0_0  
python-json-logger        2.0.6                    pypi_0    pypi
pytz                      2022.7           py38h06a4308_0  
pyyaml                    6.0              py38h5eee18b_1  
pyzmq                     25.0.0                   pypi_0    pypi
qcelemental               0.25.1             pyhd8ed1ab_1    psi4
qcengine                  0.26.0             pyhd8ed1ab_0    psi4
qt-main                   5.15.2               h327a75a_7  
qt-webengine              5.15.9               hd2b0992_4  
qtconsole                 5.4.0                    pypi_0    pypi
qtpy                      2.3.0                    pypi_0    pypi
qtwebkit                  5.212                h4eab89a_4  
readline                  8.2                  h5eee18b_0  
requests                  2.28.1           py38h06a4308_0  
resp                      1.0                pyh31278eb_0    psi4
rfc3339-validator         0.1.4                    pypi_0    pypi
rfc3986-validator         0.1.1                    pypi_0    pypi
ruamel.yaml               0.17.21          py38h5eee18b_0  
ruamel.yaml.clib          0.2.6            py38h5eee18b_1  
scipy                     1.7.1            py38h292c36d_2  
semver                    2.13.0                   pypi_0    pypi
send2trash                1.8.0                    pypi_0    pypi
setuptools                65.5.0           py38h06a4308_0  
simint                    0.7                  h642920c_1    psi4
sip                       6.6.2            py38h6a678d5_0  
six                       1.16.0             pyhd3eb1b0_1  
smart-open                6.3.0                    pypi_0    pypi
smmap                     5.0.0                    pypi_0    pypi
sniffio                   1.3.0                    pypi_0    pypi
snsmp2                    1.0.4              pyh0d22f2f_1    psi4
sortedcontainers          2.4.0                    pypi_0    pypi
soupsieve                 2.4                      pypi_0    pypi
sqlite                    3.40.0               h5082296_0  
stack-data                0.6.2                    pypi_0    pypi
tenacity                  8.2.1                    pypi_0    pypi
terminado                 0.17.1                   pypi_0    pypi
tinycss2                  1.2.1                    pypi_0    pypi
tk                        8.6.12               h1ccaba5_0  
toml                      0.10.2             pyhd3eb1b0_0  
tomli                     2.0.1            py38h06a4308_0  
toolz                     0.12.0           py38h06a4308_0  
tornado                   6.2              py38h5eee18b_0  
tqdm                      4.64.1           py38h06a4308_0  
traitlets                 5.9.0                    pypi_0    pypi
traits                    6.4.1                    pypi_0    pypi
traitsui                  7.4.3                    pypi_0    pypi
typed-ast                 1.5.4                    pypi_0    pypi
typed-astunparse          2.1.4                    pypi_0    pypi
typing-extensions         4.4.0            py38h06a4308_0  
typing-inspect            0.8.0                    pypi_0    pypi
typing_extensions         4.4.0            py38h06a4308_0  
uri-template              1.2.0                    pypi_0    pypi
urllib3                   1.26.13          py38h06a4308_0  
v2rdm_casscf              0.9             py38h04109d6_13    psi4
version-query             1.2.0                    pypi_0    pypi
vtk                       9.2.6                    pypi_0    pypi
wcwidth                   0.2.6                    pypi_0    pypi
webcolors                 1.12                     pypi_0    pypi
webencodings              0.5.1                    pypi_0    pypi
websocket-client          1.5.1                    pypi_0    pypi
wheel                     0.37.1             pyhd3eb1b0_0  
widgetsnbextension        4.0.5                    pypi_0    pypi
xz                        5.2.8                h5eee18b_0  
yaml                      0.2.5                h7b6447c_0  
zipp                      3.8.0            py38h06a4308_0  
zlib                      1.2.13               h5eee18b_0  
zstd                      1.5.2                ha4553b6_0  

Here’s the final 20 iterations using said version of Psi4:

   @DF-UKS iter 981: -3265.29347068146308   -5.38430e-02   6.03424e-04 DIIS/ADIIS
   @DF-UKS iter 982: -3265.02719534160315    2.66275e-01   1.07519e-03 DIIS/ADIIS
   @DF-UKS iter 983: -3265.04195971894296   -1.47644e-02   1.07906e-03 DIIS/ADIIS
   @DF-UKS iter 984: -3265.04813878724599   -6.17907e-03   1.04619e-03 DIIS/ADIIS
   @DF-UKS iter 985: -3265.05070187107322   -2.56308e-03   1.03743e-03 DIIS/ADIIS
   @DF-UKS iter 986: -3265.03274896340190    1.79529e-02   1.08049e-03 DIIS/ADIIS
   @DF-UKS iter 987: -3265.03105582994613    1.69313e-03   1.08522e-03 DIIS/ADIIS
   @DF-UKS iter 988: -3264.99901208946540    3.20437e-02   1.16597e-03 DIIS/ADIIS
   @DF-UKS iter 989: -3265.00713503807856   -8.12295e-03   1.15611e-03 DIIS/ADIIS
   @DF-UKS iter 990: -3265.08494036573575   -7.78053e-02   1.03909e-03 DIIS/ADIIS
   @DF-UKS iter 991: -3265.05406174445216    3.08786e-02   1.06491e-03 DIIS/ADIIS
   @DF-UKS iter 992: -3264.96902231059994    8.50394e-02   1.85040e-03 DIIS/ADIIS
   @DF-UKS iter 993: -3265.23747933971754   -2.68457e-01   9.07097e-04 DIIS/ADIIS
   @DF-UKS iter 994: -3265.29514967680916   -5.76703e-02   6.21670e-04 DIIS/ADIIS
   @DF-UKS iter 995: -3265.19095658019432    1.04193e-01   8.86708e-04 DIIS/ADIIS
   @DF-UKS iter 996: -3265.29491830191182   -1.03962e-01   5.97070e-04 DIIS/ADIIS
   @DF-UKS iter 997: -3265.01791278968631    2.77006e-01   1.08939e-03 DIIS/ADIIS
   @DF-UKS iter 998: -3265.00649438199616    1.14184e-02   1.12760e-03 DIIS/ADIIS
   @DF-UKS iter 999: -3265.02555786051380   -1.90635e-02   1.08632e-03 DIIS/ADIIS
   @DF-UKS iter 1000: -3264.99390243687230    3.16554e-02   1.15699e-03 DIIS/ADIIS

PsiException: Could not converge SCF iterations in 1000 iterations.

I suppose it did somewhat better, seeing how the RMS is not stuck at the same number, and the energies aren’t exactly oscillating between a value with progressively smaller Delta E. For reference, here’s the final 20 iterations using Psi4 version 1.5:

   @DF-UKS iter 981: -3265.06150554236228   -2.72848e-12   1.03370e-03 DIIS
   @DF-UKS iter 982: -3265.06150554236228    0.00000e+00   1.03370e-03 DIIS
   @DF-UKS iter 983: -3265.06150554236319   -9.09495e-13   1.03370e-03 DIIS
   @DF-UKS iter 984: -3265.06150554236046    2.72848e-12   1.03370e-03 DIIS
   @DF-UKS iter 985: -3265.06150554236137   -9.09495e-13   1.03370e-03 DIIS
   @DF-UKS iter 986: -3265.06150554236046    9.09495e-13   1.03370e-03 DIIS
   @DF-UKS iter 987: -3265.06150554236228   -1.81899e-12   1.03370e-03 DIIS
   @DF-UKS iter 988: -3265.06150554236137    9.09495e-13   1.03370e-03 DIIS
   @DF-UKS iter 989: -3265.06150554236410   -2.72848e-12   1.03370e-03 DIIS
   @DF-UKS iter 990: -3265.06150554236137    2.72848e-12   1.03370e-03 DIIS
   @DF-UKS iter 991: -3265.06150554236137    0.00000e+00   1.03370e-03 DIIS
   @DF-UKS iter 992: -3265.06150554236319   -1.81899e-12   1.03370e-03 DIIS
   @DF-UKS iter 993: -3265.06150554236046    2.72848e-12   1.03370e-03 DIIS
   @DF-UKS iter 994: -3265.06150554236228   -1.81899e-12   1.03370e-03 DIIS
   @DF-UKS iter 995: -3265.06150554236046    1.81899e-12   1.03370e-03 DIIS
   @DF-UKS iter 996: -3265.06150554236046    0.00000e+00   1.03370e-03 DIIS
   @DF-UKS iter 997: -3265.06150554236319   -2.72848e-12   1.03370e-03 DIIS
   @DF-UKS iter 998: -3265.06150554236046    2.72848e-12   1.03370e-03 DIIS
   @DF-UKS iter 999: -3265.06150554236137   -9.09495e-13   1.03370e-03 DIIS
   @DF-UKS iter 1000: -3265.06150554236319   -1.81899e-12   1.03370e-03 DIIS

PsiException: Could not converge SCF iterations in 1000 iterations.

It’s interesting because the geometry in question was optimized using Psi4 version 1.5. I just noticed how the SCF iterator managed to reach Delta E = 0.00000e+00 in a couple iterations when doing the calculations using version 1.5. I am quite stumped as to why this is happening, and I’m really open to any suggestions on what to do in resolving this convergence issue.

Thank you in advance!

I’d like to look into this, but my cluster is down for maintenance indefinitely, so there’s not much more I can do with a system of this size. My instinct is to tweak the option DIIS_MAX_VECS.

We have an alternate SCF convergence algorithm, SOSCF, that is newly working for GGAs since the latest release, but for a system of this size, that would be a very slow algorithm. We would also like to implement an SCF convergence algorithm called Geometric Direct Minimization, but that needs to wait on some other code to finish.

Thanks for the insights! I’ll try tinkering with some of the options and see how they end up. I’ll be sure to come back with an update once I find a working solution.

Hi, everyone!

I’d like to give an update on the convergence of this system’s calculations. I tried varying a lot of the parameters and ended up varying the methods and basis sets. I finally ended up with a calculation that converged (in a fairly short time, too), and here are the settings:

(defining molecule)
# both molecules are singlets, but one has charge

set {
maxiter 500
basis def2-QZVPD
scf_type df
guess sad
reference uks
# diis_max_vecs 15
# damping_percentage 40
# scf_initial_accelerator none
}

energy('b3lyp-d')

This combination of b3lyp-d/def2-qzvpd ended up giving the following SCF iterations:

   @DF-UKS iter  19: -3269.05180805080909    1.29833e-02   4.29145e-05 DIIS
   @DF-UKS iter  20: -3269.04964248518445    2.16557e-03   4.67994e-05 DIIS
   @DF-UKS iter  21: -3269.06342225191929   -1.37798e-02   1.61606e-05 DIIS
   @DF-UKS iter  22: -3269.06502616092075   -1.60391e-03   6.57074e-06 DIIS
   @DF-UKS iter  23: -3269.06485175775560    1.74403e-04   7.93541e-06 DIIS
   @DF-UKS iter  24: -3269.06533460918035   -4.82851e-04   8.98162e-07 DIIS
   @DF-UKS iter  25: -3269.06531936565807    1.52435e-05   1.67508e-06 DIIS
   @DF-UKS iter  26: -3269.06533794805000   -1.85824e-05   5.57331e-07 DIIS
   @DF-UKS iter  27: -3269.06534033641765   -2.38837e-06   4.47643e-08 DIIS
   @DF-UKS iter  28: -3269.06534032662421    9.79344e-09   5.26265e-08 DIIS
  Energy and wave function converged.

To be fair, this is almost the combination that was used during the optimization (b3lyp-d/def2-qzvppd).

I tried doing an energy calculation using b3lyp/def2-tzvpd, and here are the results:

   @DF-UKS iter  71: -3268.85442895655069    1.52402e-05   2.32890e-06 DIIS
   @DF-UKS iter  72: -3268.85440969716274    1.92594e-05   2.82726e-06 DIIS
   @DF-UKS iter  73: -3268.85440883120646    8.65956e-07   2.91132e-06 DIIS
   @DF-UKS iter  74: -3268.85442139639144   -1.25652e-05   1.04475e-06 DIIS
   @DF-UKS iter  75: -3268.85441951082430    1.88557e-06   1.43925e-06 DIIS
   @DF-UKS iter  76: -3268.85442249485732   -2.98403e-06   4.52538e-07 DIIS
   @DF-UKS iter  77: -3268.85442283920929   -3.44352e-07   8.15053e-08 DIIS
  Energy and wave function converged.

Convergence was also reached using this combination!

I’d love some insight as to how this is be the case. Could it be smaller basis sets and lower level theory methods just could not adequately describe the system being studied?

Thank you in advance!

The main issue is that older versions of Psi4 simply did not have good enough SCF convergence algorithms.

1 Like

I see. Thanks for the insight, Dr. Lehtola! I’ll close this discussion soon. Thanks for the help, everyone.

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.