Direct Gaussian .fchk orbital display vs cubegen MO cube in Avogadro2

Hello,

I’m quite new here., but a longtime fan of the software. I recently noticed that orbitals displayed directly from a Gaussian .fchk file in Avogadro2 do not always match the corresponding Gaussian cubegen orbital cube generated from the same .fchk (especially noticeable for small isovalues such as 0.0001).

A reproducible example is CO.

Gaussian input:

%chk=co.chk
%mem=4GB
%nprocshared=8
#p rhf/cc-pVDZ scf=tight

CO RHF/cc-pVDZ single-point

0 1
C   0.000000   0.000000   0.000000
O   0.000000   0.000000   1.128000

Then I run:

g16 < co.gjf > co.log
formchk co.chk co.fchk
cubegen 0 MO=1 co.fchk co_mo1.cube 0 h

What I compare:

  • open co.fchk in Avogadro2 and Analyse → Create Surface → Molecular Orbital → MO 1 → Isosurface Value: 0.0001 → Calculate.

  • open co_mo1.cube in Avogadro2 and Analyse → Create Surface → From File → Cube 1 → Isosurface Value: 0.0001 → Calculate.

What I expected:

  • these should match apart from a possible overall sign flip, since both should come from the same wavefunction and same orbital

What I observe:

  • the shape looks noticeably different

  • the discrepancy is much larger than expected from numerical issues.

  • I have also noticed similar behavior with other systems / basis sets with varying degrees of discrepancy.

For reference, I am attaching:

  • a screenshot of MO 1 shown directly from co.fchk (left)

  • a screenshot of co_mo1.cube shown at the same isovalue (right)

Avogadro Version: 2.0.0

So, I wanted to ask:

  • Is this expected?

  • Does Avogadro2 reconstruct orbitals from .fchk differently from Gaussian cubegen?

  • Or should these really match?

If needed, I can also provide the .fchk file or any other information needed.

Thanks.

It would help to see the screenshots and have the fchk file, yes.

We don’t have Gaussian’s code so obviously I can’t comment on how cubegen works.

co_hf.fchk (109.8 KB)
Thanks a lot for the prompt response.

I’m attaching the .fchk file for reference, and I have also added the screenshots to the original post. Sorry for missing them earlier.

From a previous post, I understood that Avogadro2 uses the Flying Edges algorithm to extract an isosurface from a .cube file, which already contains scalar values on a 3D grid.

So I wanted to ask specifically about the .fchk case:
when Avogadro2 displays an orbital directly from an .fchk file, does it first evaluate the orbital on an internal 3D grid and then run the isosurface extraction on that grid, or is the direct .fchk rendering done through a different pipeline?

Thanks again.

Yes. You’re showing MO 1 with a very small isovalue. Is there a reason for such a small isovalue? Is there a reason to be looking at a core orbital like this?