Failed to restart to a variational PP job

Dear Q-Chem developers and users,
I want to restart a variational PP job using given files (xxx.in, 53.0, 169.0), here is the keyword section:

$rem
method ccvb
unrestricted false
basis gen
scf_guess read
scf_convergence 8
thresh 12
purecart 1111
sym_ignore true
mp2_restart_no_scf true
scf_algorithm diis
correlation ccvb
ccvb_guess 2
ccvb_method 4
gvb_n_pairs 2
gvb_restart true
gui = 2
mem_total 4000
$end

but I got the following error in the output

Using previous CCVB orbitals

 Q-Chem fatal error occurred in module /scratch/svnadmin/18824_zgan/qchem/libmdc/newfileman.C, line 293:

 Error reading in TMP file 949/0 (16)

The same error also occurs when I try to restart a real CCVB job (not variational PP). It seems that Q-Chem is trying to find a file named 949.0 and read amplitude information. But when a calculation is accomplished, I do not find 949.0 in the scratch directory. Can you tell me the details in 949.0, so that I can create one?

Theoretically, the amplitude information could be calculated from MO coefficients and 1e/2e integrals and thus there is no need to provide one such file. This is just GVB in Gaussian and GAMESS does. Is there any workaround to avoid creating the 949.0 file?

By the way, I’m using Q-Chem 5.0. If this is because my Q-Chem version is too old and it can be run successfully on your computers using newer Q-Chem, please also let me know.

Many thanks.

If you attach a complete input file (please use formatted text button </>), then I can try with latest Q-Chem. File 949.0 is labelled internally as “CCVB_AMPS”, and it looks like guess gets read from there, so this looks like a possible bug to me. You’re not going to be able to create it yourself so let’s see if this is still a bug.

Here is the complete input file

$comment
 file generated by fch2qchem utility of MOKIT
$end

$molecule
0 1
O           0.00000000         0.00000000         0.06200700
H           0.00000000        -0.78397600        -0.49205200
H           0.00000000         0.78397600        -0.49205200
$end

$rem
method ccvb
unrestricted false
basis gen
scf_guess read
scf_convergence 8
thresh 12
purecart 1111
sym_ignore true
mp2_restart_no_scf true
scf_algorithm diis
correlation ccvb
ccvb_guess 2
ccvb_method 4
gvb_n_pairs 2
gvb_restart true
gui = 2
mem_total 4000
$end

$basis
O  0
S   8   1.00
   1.17200000E+04   7.09645947E-04
   1.75900000E+03   5.46727229E-03
   4.00800000E+02   2.78231186E-02
   1.13700000E+02   1.04747740E-01
   3.70300000E+01   2.82920846E-01
   1.32700000E+01   4.48495239E-01
   5.02500000E+00   2.70816885E-01
   1.01300000E+00   1.54502916E-02
S   8   1.00
   1.17200000E+04  -3.14443412E-04
   1.75900000E+03  -2.48213768E-03
   4.00800000E+02  -1.23163554E-02
   1.13700000E+02  -5.05389173E-02
   3.70300000E+01  -1.39384903E-01
   1.32700000E+01  -3.25077495E-01
   5.02500000E+00  -2.29848308E-01
   1.01300000E+00   1.09537935E+00
S   1   1.00
   3.02300000E-01   1.00000000E+00
P   3   1.00
   1.77000000E+01   6.26791663E-02
   3.85400000E+00   3.33536566E-01
   1.04600000E+00   7.41239642E-01
P   1   1.00
   2.75300000E-01   1.00000000E+00
D   1   1.00
   1.18500000E+00   1.00000000E+00
****
H  0
S   3   1.00
   1.30100000E+01   3.34987264E-02
   1.96200000E+00   2.34800801E-01
   4.44600000E-01   8.13682958E-01
S   1   1.00
   1.22000000E-01   1.00000000E+00
P   1   1.00
   7.27000000E-01   1.00000000E+00
****
H  0
S   3   1.00
   1.30100000E+01   3.34987264E-02
   1.96200000E+00   2.34800801E-01
   4.44600000E-01   8.13682958E-01
S   1   1.00
   1.22000000E-01   1.00000000E+00
P   1   1.00
   7.27000000E-01   1.00000000E+00
****
$end

But it need to be run along with files 53.0 and 169.0 (in which GVB initial guess orbitals are stored). It seems that these files cannot be uploaded onto this forum, so I put them here. If you cannot download the .zip package, please let me know.

Thanks for your help.

Can you just give me the input for the initial job used to generate the GVB guess orbitals? Then I can run both and we don’t need to transfer binary scratch files.

I’m sorry that the initial job is not performed by Q-Chem. It is performed by MOKIT (using Gaussian program and mokit code). After the xxx.fch file is obtained, the fch2qchem utility is used to convert xxx.fch into Q-Chem files (xxx.in, 53.0, 169.0). This procedure works normally and correctly for HF, DFT and PP jobs in Q-Chem, but failed for variational PP(i.e. GVB) and CCVB jobs.

Although I cannot provide such a Q-Chem input, I can describe this procedure as close as possible: firstly the RHF calculation is performed; secondly the occupied MOs are localized and then two O-H bonding orbitals are permuted into HOMO-1 and HOMO positions; thirdly the virtual MOs are localized and then two O-H anti-bonding orbitals are permuted into LUMO and LUMO+1 positions. This leads to a GVB(2) active space, i.e. 2 pairs of active orbitals.

To use the ccvb_guess 2 option, gvb_restart should be set to false, and the “mp2_restart_no_scf true” specification won’t take effect unless gen_scfman is set to false. So, these 2 changes are necessary:

gvb_restart false
gen_scfman false

In this context, gvb_restart would be for restarting from a previous CCVB-type calculation. The ccvb_guess 2 option expects that a coupled-cluster-form PP wavefunction has been previously computed, so make sure your starting 53.0, etc. files are consistent with this.

I tried your above calculation, but starting with a CC PP calculation, and the variational PP calculation converges on the first cycle, and for the 2 tandem calculations I get:

GVB Converged: 14 -76.0477130608937
CCVB Converged: 1 -76.0477128978

By the way, this implementation uses the valence-bond form for the PP wavefunction, i.e. 2 generally non-orthogonal localized orbitals per pair (and combined with a 2-electron singlet spin coupling). The 2nd orbital is a rotation of the first orbital and its orthogonal complement orbital within the pair space; the 949.0 file contains the single angle for each pair’s rotation.

Your help is greatly appreciated! It works (with my provided 53.0, and 169.0 is not needed). The obtained energies are

Q-Chem projection-equation PP: -76.06726237 a.u.
Q-Chem variational PP: -76.06726078 a.u.
GAMESS GVB: -76.06726079 a.u.

these values are very reasonable. -76.04771 a.u. is a higher energy solution which deviates from the solution containing two O-H bonds, but this is out of the scope of this issue since I only care about how to run a variational PP successfully here.

There is one tiny question remains to be solved for me: I’ve checked the obtained orbitals in Q-Chem generated .Fchk file, and these MOs are orthonormal. So for your words “The 2nd orbital is a rotation of the first orbital and its orthogonal complement orbital within the pair space”, I need some time to figure out its meaning. Maybe these orbitals happen to be orthonormal.

After any CCVB calculation, the orbitals in 53.0 should be orthonormal within the alpha and beta spaces, but not necessarily between these 2 spaces. This is similar to the usual spin-unrestricted situation, except here the alpha and beta orbitals are “strongly orthogonal”, meaning any orbitals (alpha or beta) in different pairs are orthogonal, but the alpha and beta orbital within one pair are not. The beta orbitals in 53.0 are obtained from the rotation I described above. Thus, an active beta orbital is a rotation of its alpha counterpart and 1 alpha virtual orbital, the one associated with the same pair; the 2 alpha orbitals here are orthogonal.