标题: SCF convergence error in the determination of the excited state energy [打印本页] 作者Author: Makhvela 时间: 2025-11-8 11:35 标题: SCF convergence error in the determination of the excited state energy Hello, I faced SCF convergence error in the determination of the excited state energy. How can I solve this convergence error? thank you 作者Author: sobereva 时间: 2025-11-8 23:55
Please upload output file so that current convergence status can be understood by others.作者Author: Makhvela 时间: 2025-11-10 10:31
The output file is heavy. I am trying to upload it, but it didn't upload. 作者Author: zjxitcc 时间: 2025-11-11 14:40 本帖最后由 zjxitcc 于 2025-11-11 15:13 编辑
SF-TDA, MRSF-TDA, SA-SF-TDA methods are usually based on the ROKS (restricted open-shell Kohn-Sham, also called RODFT) reference wave function. But ROKS is often very difficult to be converged. The SCF algorithm in GAMESS is not as robust as that in mainstream/popular quantum chemistry (QC) programs, which makes the ROKS calculation even harder.
I wrote a tutorial (in Chinese) which aims to solve this problem thoroughly. The idea is to separate the target calculation into two steps: (i) ROKS calculation, (ii) SF-/MRSF-/SA-SF-/TDA calculation. We can use one QC program (which has very robust ROKS code, e.g. PySCF/ORCA/Gaussian) to perform the ROKS calculation, and use another program (GAMESS/OpenQP/Q-Chem, etc) to perform the desired spin-flip calculation. A combination of two programs makes the whole calculation more efficient and fewer SCF convergence faliures.
I'll take your molecule as an example. Firstly, we write/create the following Python script `Cz2BP_MRSFt_PBE0.py`
This python script says that firstly the ROKS PBE0 calculation would be performed, secondly check the ROKS wave function stability and try to find a lower solution (in an iterative way) if the ROKS wave function is not stable. Thirdly, export/punch stable ROKS wave function and create GAMESS MRSF-TDA input file called `Cz2BP_MRSFt_PBE0.inp`. Here py2gms is a function from MOKIT, which is able to (correctly) transform MOs from PySCF to GAMESS. You can find Cartesian coordinates, basis set data (def-TZVP), MRSF keywords, MO coefficients are well written in .inp
Note that `DFTTYP=BHHLYP` is written in the .inp file by default since the BHandHLYP is the most frequently used functional in spin-flip calculations. Since you use PBE0, we need to modify it into `DFTTYP=PBE0`. Usually the SCF iteration in GAMESS would be converged in 1~2 cycles when we apply this trick. And the program immediately moves forward to the MRSF calculation. There are some rare cases that the energy goes higher or oscillating even if the initial ROKS energy is already the lowest. We can add the keyword `MOM=.T.` if such case happens. Finally we can submit the GAMESS job, e.g.
Many people who want to perform spin-flip calculations encountered such problem and solve it successfully by using this trick. Maybe you can, or you have solved this problem by using other techniques, but I want to remind you that this molecule has two different ROKS solutions
converged SCF energy = -1843.27474917186
converged SCF energy = -1843.28312805381
复制代码
This 1st solution is energetically higher and not stable (which means it is a saddle point in the wave function parameter space), while the 2nd solution is stable and energetically favorable.
By the way, if you did not use MOKIT and PySCF before, but now are williing to have a try, you can simply run