Printing hessian and delocalized internal coordinates

I am using Qchem 6.0 and I want to print out the hessian and delocalized internal coordinates for my system and this is the input I am currently using,

$rem
JOBTYPE=OPT
METHOD=MP2
BASIS=6-31G*
MEM_TOTAL=10240
SCF_CONVERGENCE=8
NO_REORIENT=TRUE
SYM_IGNORE=TRUE
GEOM_OPT_DRIVER = OPTIMIZE
GEOM_OPT_PRINT = 6
$end

It uses the OPTIMIZE driver for optimization and I wanted to ask if I can do the same with the new LIBOPT3 driver? I tested my job with the PRINT_LEVEL=10 option but it did not print the hessian.

Another question I have is how to print the hessian (in ASCII or binary) from a frequency calculation? The $rem I tried is as follows, and it does not print the hessian.

$rem
JOBTYPE FREQ
METHOD B3LYP
BASIS 6-31G*
$end

In older versions of Q-Chem the Hessian is printed automatically but in newer versions that is suppressed unless you set VIBMAN_PRINT = 4 (or higher). Then you should get the Hessian in mass-weighted Cartesians.

Thank you for the answer but I should have specified in the original question that I need the Hessian in internal coordinates, which is what the GEOM_OPT_PRINT = 6 seems to print.

Regarding the generation of the internal coordinates, it is printed as:

Primitive Stretches:                                                     
         2    1     
... 
Primitive Bends:
         2    1    3
...

etc. Is there a way to print out the actual values of the bonds, angles, and dihedrals after optimization? It is trivial to calculate these values (in postprocessing) but I want to know if there is a way to print them in the output file?

I’m not sure what format you are expecting but I think the answer is “no”. Below the section that you’ve highlighted, you should see eigenvectors of B*B^t, where B is the Wilson B matrix (Cartesian-to-internal transformation). Those eigenvectors are the delocalized internal coordinates.

After some trial and error with different keywords, I found that GEOM_PRINT=TRUE prints the geometric information after optimization, which is what I need.

-----------------------------------------------------------------
   Geometric Parameters (Bond Distances, Bond Angles,Torsion Angles)
  -----------------------------------------------------------------

   R(1,2)   =  1.02236
   R(1,3)   =  1.46955
...
   A(1,3,4)    = 110.63855
   A(1,3,5)    = 107.56975
...
   D(1,3,4,5)     = -117.25934
   D(1,3,5,4)     =  119.23792

Although, this keyword prints out bonding information between unconnected atoms, i.e., bond length not present in the internal coordinates. I am guessing there is a threshold under which all atom distances are printed.

Okay good. That is in the manual, as it turns out, although it was unknown to me. (VIBMAN_PRINT >= 4 for Hessian is also in the manual.)

I am a bit confused on the cartesian to internal transformations. For example, this is the input I’m using

$molecule
0 1
C        -0.0271465742    0.0023262137   -0.0014675850
H        -0.4971883597    0.9290468313    0.3440552189
H        -0.3406686937   -0.8030066651    0.6698901799
H        -0.3938070007   -0.2141676025   -1.0072179800
C         1.4862839731    0.1399707909   -0.0195120254
H         1.8658170034    0.3465063759    0.9914241161
H         1.9511768015   -0.7878799502   -0.3601820798
O         1.9285196425    1.1360509819   -0.9430485555
H         1.5650120685    1.9851531629   -0.6409413537
$end

$rem
JOBTYPE=OPT
METHOD=MP2
BASIS=6-31G*
MEM_TOTAL=10240
SCF_CONVERGENCE=8
NO_REORIENT=TRUE
SYM_IGNORE=TRUE
GEOM_OPT_DRIVER = OPTIMIZE
GEOM_OPT_PRINT = 7
GEOM_PRINT=TRUE
$end

What I need is the Hessian in redundant primitive coordinates (shape should be 33 x 33), but I cannot find any such matrix in the output.

The initial B matrix is 27 x 33 but it is transformed into non-redundant B matrix and it’s shape changes to 27 x 21 and it’s the same for the inverse B matrix.

The Hessian matrix that is being printed is 21 x 21, which is in the non-redundant internals. How can I get the Hessian in the full span of primitive internal coordinates?