Stalled at " ==> Adding ECP gradient terms (computed numerically) <=="

Hi, I am running into an issue during the geometric optimization of a cationic transition metal complex using mixed basis sets from psi4. The process started well with both energy and wavefunction converged after 21 iterations, then in SCF grad process, it is stalled right after this line below:

==> Adding ECP gradient terms (computed numerically) <==

During the resource monitoring, the cpu usage remained pretty high while the memory usage stayed around 15G RAM for about three to four hours, then dropped to ~2G RAM and no changes. I don’t know if this is something to do with the incorrect input conditions I used or other issues. As a note, this exact transition metal complex worked in Gaussian before without a problem.

Thanks,

The input file is here:

memory 20 GB
basis mybas{
assign C 6-31+G*
assign N 6-31+G*
assign H 6-31+G**
assign IR lanl2dz
}

set{
basis mybas
reference rhf
opt_coordinates both
FREEZE_CORE True
maxiter 200
}

molecule {
1 1
C -1.45464 -2.41924 0.08583
C -0.71668 -1.29865 0.02439
C 0.76811 -1.28525 -0.03944
C 1.52848 -2.38928 -0.10461
N 1.36427 -0.00088 -0.06042
C 2.79119 0.16386 -0.26221
C 3.60141 -1.11082 -0.26792
C 3.00716 -2.32903 -0.20072
C -2.93701 -2.38680 0.19226
C -3.54661 -1.17701 0.26919
C -2.76237 0.11406 0.26480
N -1.33505 -0.02358 0.05514
H 3.24879 1.17101 -0.26481
C 3.76764 -3.67361 -0.23661
C -3.75505 -3.70101 0.23504
H -3.23672 1.11365 0.27887
C -3.43721 4.93371 0.60452
C -2.99737 4.67536 -0.70060
C -1.99142 3.72993 -0.92983
C -1.44817 3.03582 0.15348
C -1.85785 3.30376 1.46298
C -2.86432 4.25909 1.69058
C -1.13472 2.53482 2.51337
C -1.34956 2.66846 3.83590
N -0.17498 1.59296 2.03465
C 0.53044 0.71524 2.90601
C 0.36728 0.80873 4.23188
C -0.57853 1.82356 4.81199
C 3.42168 4.95368 -0.60628
C 2.97945 4.69671 0.69839
C 1.97533 3.74931 0.92722
C 1.43618 3.05224 -0.15653
C 1.84870 3.31823 -1.46510
C 2.85270 4.27594 -1.69246
C 1.13245 2.54259 -2.51479
C 1.34645 2.67612 -3.83750
N 0.17951 1.59440 -2.03515
C -0.52367 0.71458 -2.90598
C -0.36200 0.80832 -4.23195
C 0.58062 1.82551 -4.81284
Ir 0.00377 1.53351 0.00075
H -4.21946 5.66252 0.77499
H -3.44342 5.20292 -1.53384
H -1.66533 3.52134 -1.93849
H -3.21373 4.48883 2.68671
H -2.07212 3.37214 4.23010
H 1.22313 -0.01423 2.50648
H 0.92160 0.15310 4.89533
H -0.73771 1.91031 5.90674
H 4.20362 5.68287 -0.77622
H 3.42359 5.22545 1.53186
H 3.20462 4.50331 -2.68826
H 2.06402 3.38450 -4.23236
H -1.21438 -0.01676 -2.50643
H -0.91528 0.15114 -4.89480
H 0.73777 1.91312 -5.90780
H -4.62508 -1.10264 0.35060
H 4.67556 -1.00089 -0.34254
H -0.96549 -3.37097 0.06803
H 1.07831 -3.36446 -0.09478
C 5.30001 -3.50381 -0.31222
C 3.31677 -4.47201 -1.48223
C 3.44474 -4.48688 1.03955
C -2.86827 -4.97314 0.16970
C -4.71883 -3.75117 -0.96655
C -4.54748 -3.76451 1.55630
H -2.28503 -5.00829 -0.77681
H -3.48769 -5.89465 0.20770
H -2.16672 -5.01654 1.03210
H 3.53957 -3.89970 -2.40867
H 2.22835 -4.68859 -1.47128
H 3.84070 -5.44981 -1.53800
H 5.59299 -2.95477 -1.23228
H 5.79933 -4.49709 -0.33924
H 5.67915 -2.95799 0.57824
H -4.14558 -3.71730 -1.91910
H -5.42996 -2.90029 -0.95566
H -5.31208 -4.69144 -0.95309
H -3.85025 -3.72876 2.42220
H -5.13284 -4.70705 1.61944
H -5.25909 -2.91878 1.64748
H 3.76003 -3.92937 1.94736
H 3.97033 -5.46584 1.02670
H 2.36119 -4.70757 1.13435
H 1.64953 3.53942 1.93568
}
b3lyp_wfn= optimize(‘B3LYP’, return_wfn=True)

This is probably not an issue with your input file. With a system of this size, the ECP integrals need to be computed over 1000 times. This may simply be a slow process, but I’d need to investigate. We intend to overhaul the ECPs for version 1.5, making gradients with ECPs much faster.

Can I have a copy of your output file?

Thank you Jonathon. This is great to know. here is the output file.
Ir_complex2_1.out.txt (63.4 KB)

I can now conclusively say this is an issue with Psi and not with your input file. The numerical gradient requires 1032 different ECP integral computations. Each one times at around 250 seconds on my cluster. That translates to about 3 days.

The ECP integrals will be much, much faster once we make this integral update in 1.5. Until then, I’m afraid ECP gradients in Psi4 will just be painfully slow for systems with this many atoms.

1 Like

Thanks! Just curious to know how many num of threads you have used in your cluster?

I only used a single thread, for the express purpose of reproducing your output file. It says you used a single thread, as well.

Great! I will definitely be looking forward to the 1.5 version upgrade once it is available. do you happen to have a rough timeline about its status? Meanwhile, I will try the multi-thread to see if there is any marginal improvement.

First, we need to get 1.4 out. @loriab would have a better idea of what the timeline is for that, but we are currently in the stage of preparing our first feature-complete release candidate. I would guess another month for that.

After that, we’d like to get releases out every six months, after how long it has taken for us to mint 1.4. In terms of when the ECP changes would be done, the external ECP library already exists, but it needs to be connected to Psi. I believe this is an @andysim project, but I may be mistaken. He would be better able to talk about that.

1 Like

Thank you very much for the details. Really appreciated!