7
$\begingroup$

I want to freeze some of the orbitals (e.g 1s orbital for all of the atoms in my molecule) in GAMESS-US, to save computation time. I guess I need to use $MOFRZ but I'm not sure how to. So far, I've created the input file as follows:

 $CONTRL SCFTYP=RHF CCTYP=CCSD(T) RUNTYP=ENERGY ICHARG=1
       UNITS=ANGS ISPHER=1 $END
!   
 $SCF DIIS=.TRUE. $END
 $GUESS GUESS=MOREAD NORB=69 $END
 $MOFRZ FRZ=.TRUE. IFRZ(1)=1,10,19,28 $END
!
 $SYSTEM MWORDS=1500 $END
!
  $VEC   
 1  1-9.95521651E-06-3.24237240E-06-5.54660060E-06-2.93436786E-04 1.30027027E-02
.
.
.
69 55-9.89984798E-03-1.24161440E-03-4.86737205E-04 2.96787026E-03-1.28394192E-03
69 56 1.26297389E-02-3.44011121E-02-9.31840053E-04-1.12673533E-03-2.64710788E-03
 $END
 $DATA
C1
.
.
.
 $END
 $BASIS
    GBASIS=KTZVP
 $END

When I run this input, I get the following error:

                   * * * * * WARNING * * * * *
 POSSIBLE LINEAR DEPENDENCE PROBLEMS DETECTED, INPUT QMTTOL= 1.0E-06,
 WITH     2 OVERLAP EIGENVALUES LYING BETWEEN 1.0E-05 AND QMTTOL.
 IF YOU EXPERIENCE SCF CONVERGENCE DIFFICULTIES WITH THE DENSITY ALMOST BUT
 NOT QUITE CONVERGED, YOU MAY NEED TO LOOSEN -QMTTOL- BY A FACTOR 5 TO 10.
 NO $VEC INPUT FOUND - STOP 

How can I solve my problem? Thanks in advance.

$\endgroup$

1 Answer 1

6
$\begingroup$

Firstly, the error NO $VEC INPUT FOUND means that GAMESS did not find molecular orbitals to read in. This is because you wrote two spaces before $VEC in the input file, i.e. $VEC. But it is supposed to be only 1 space, i.e. $VEC.

Secondly, I suggest that put the $VEC section into the final paragraph/section in the input file. This makes the input more readable since we should first know the coordinates and the basis set, and then we(or the program) determine the size of arrays to hold overlap integrals, molecular coefficients, etc. I'm not sure that whether the $VEC section can be put before coordinates and basis set.

Thirdly, frozen core is default for CCSD(T) in GAMESS. The default is the number of chemical core orbitals. For example, 1s for the oxygen atom. You can check the number of frozen orbitals in output via searching NUMBER OF FROZEN CORE MOS. If you do not want the default one, you can specify NCORE=n in $CCINP, where n is the number of frozen orbitals you want. Besides, you can freeze some highest virtual orbitals if you are an experienced user (NFZV=m in $CCINP, default is 0). As far as I know, $MOFRZ is used in RHF, ROHF and GVB (i.e. SCF-type jobs), but not in post-HF calculations.

If you want more customized frozen cores, I guess you should first run a HF calculation, visualize the occupied orbitals, alter/permute orbitals to make sure the orbitals to be frozen lies in the lowest occupied ones. In this case, you may still use NCORE=n since orbitals have been permuted as you wish.

$\endgroup$
2
  • $\begingroup$ Thank you so much for the detailed answer! This is a great explanation. I have a question to your answer if I would want to 2s2 orbital of CARBON11 atom in my input (so, a specific atom, not all carbons), should I do $MOFRZ in RHF and then move to Post-HF calculations? Because the 1s2 is already frozen from the default NCORE value. $\endgroup$
    – Alert
    Jul 21, 2022 at 8:17
  • $\begingroup$ Usually people do not freeze any orbital during the SCF procedure. I suggest not to use the $MOFRZ. It takes at least three steps to get what you want: (1) perform RHF and localize occupied orbitals (add LOCAL=POP in $CONTRL, specify $LOCAL FCORE=.F. $END); (2) visualize localized occupied orbitals and permute them(you'll need NORDER and IORDER in $GUESS); (3) read orbitals in, set NCORE properly, and perform CCSD(T). This may be a little troublesome so I suggest you try some small molecules (e.g. H2O) first. $\endgroup$
    – jxzou
    Jul 21, 2022 at 17:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .