Thursday, 8 December 2011

Printing of unrestricted natural orbitals in Gaussian 09.

I recently had some serious trouble performing an analysis of the natural orbitals using Gaussian 09, so it seems wise to share what I found. By default this program suite does not save the orbitals to the checkpoint file, which is a problem if you want to visualise the orbitals in a program such as GaussviewMolden or Gabedit.

The method to place natural orbitals in a checkpoint file is somewhat opaque and requires the queing of multiple input decks. The first step is to converge a wavefunction and thus get the canonical orbitals, the second step is to generate the natural orbitals and save them to the checkpoint file. From here the checkpoint file can be formatted or just printed to an output file.

The gaussian website suggests a method which involves adding a second link with the Geom=AllCheck ChkBasis flags. These options instruct gaussian to read in all information from the checkpoint generated by the initial SCF. The guess(save,only,naturalorbitals) options instructs the calculation to read in and then overwrite the canonical orbitals in the checkpoint with the natural orbitals. The only flag suppresses the normal SCF procedure.

Below is an example input deck to get natural orbitals into the checkpoint file:
%chk=./test.chk
#P uM06/6-31g

hydrogen scf

0 1
H 0.00 0.00 1.06
H 0.00 0.00 0.00

--link1--
 %chk=./test.chk
# Guess=(read,Save,Only,NaturalOrbitals) Geom=AllCheck ChkBasis 

Printing the natural orbital coefficients to an output file:
%chk=./test.chk
#P uM06/6-31g GFINPUT IOP(6/7=3) guess=(read,only) Geom=AllCheck ChkBasis

The resulting output file will contain the natural orbital coefficients, which can be checked by insuring the eigenvalues are close to 2 for the core orbitals or 0 for the virtual orbitals. The printing deck requires the use of GFINPUT to make sure that basis set is placed in the output file so that visualiser programs can plot the orbitals. The coefficients alone do not provide information about the functions that the orbital space is constructed out of.


Issues

If your calculations terminate from errors reading in the orbitals using guess=read and/or chkbasis such as:

 MOs are not on the read-write file.

Or
Initial guess natural orbitals from previous density.
Operation on file out of range.

A way around this is to use the IOP(3/32=2) option, which instructs Gaussian to disable a check on the overlap matrix. My understanding of this error is that quantum chemistry programs will often check for linear dependency in the basis and try to truncate the expansion space and reduce computational waste. The above errors can be caused when the number of basis being read in is less than expected. In this case disabling the check should not cause an issue if the only thing being done is printing orbitals. However, I suggest caution if you wish to use these orbitals for anything other than just printing.




3 comments:

  1. I tried your suggestion for viewing the natural orbitals, but still I get the same error MOs are not on the read-write file.

    When i try using the #guess=(save,only, naturalorbitals)without "read" I could get an finshed output. But the natural orbitals when I view using gaussview doesnot make any sense to me. But getting the natural bond orbitals and viewing it in gaussview looks o.k.

    Can you please let me know if there is anyother way to get the naturalorbitals to the checkpoint file and view it.

    ReplyDelete
  2. Are the the eigenvalues of your output actually occupation values? (i.e 0,1 or 2)

    Look at the size of your checkpoint file to make sure it hasn't been corrupted.

    One silly question I must ask is that you are sure of the checkpoint file name? Normally when i see that issue it is down to a small typo in the %chk line.

    Simon

    ReplyDelete
  3. Hi

    Sorry for replying late. I could fix that problem.

    I feel you can help me in finding solution to another problem in CASSCF calculation using gaussian

    I am interested in using localized MO orbitals as my active space in CASSCF calculation. I can save the localized orbitals obtianed from HF calculation into the check point file. But when I start the CASSCF calculation with that checkpoint file I am not sure if the program takes the configuration space from the localized orbitals. What is the exact procedure to use the active space from localized orbitals in gaussian software

    The other question is how can the configuration of the active space choosen from localized orbitals correlate with the cannonical MO's because I feel ultimately the CASSCF calculation executes by using canonical orbitals.

    I would be glad if you can help me in this matter along with necessary keywords.

    with regards

    ReplyDelete