For software that does not support FCIDUMP format, what format is used and how can we get the software to interact with FCIDUMP integrals?

Matter Modeling Asked on December 22, 2021

Complementary to this question: How do the various programs read or write integrals in FCIDUMP format? which attempts to list all electronic structure packages that support the FCIDUMP format for 1- and 2-electron integrals, I wonder which programs do not support FCIDUMP files, how such programs store their integrals, and what ways (if any) exist to get around the lack of support for for FCIDUMP files?

There’s some programs that print integrals in binary format only (rather than in the ASCII format of FCIDUMP):

  • ORCA
  • anything else you may add

There’s other programs that print in ASCII but not exactly the FCIDUMP format, for example:

  • MRCC
  • anything else you may add

I will answer below about how one can "hack" MRCC to read FCIDUMP formatted integrals, and I am very curious to see how it can be done for other programs!

2 Answers

GAMESS(US) has this facility implemented, but this feature may not be available in the public release.

Answered by Dipayan Datta on December 22, 2021


MRCC stores 1- and 2-electron integrals in an ASCII file called fort.55 which is formatted very similarly to FCIDUMP.

The fort.55 file stores the integral values and integral indices in exactly the same way as in FCIDUMP, but has a different header. One has to delete the header of the FCIDUMP file and replace it with something like this (here my example is for the frozen-core carbon atom with an aug-cc-pVDZ basis set):

                    22                     4
                     1                     2                     3
                     5                     1                     2
                     3                     5                     1
                     4                     6                     7
                     1                     2                     3
                     5                     1                     1
                     4                     6                     7
  0.43849259240468241305E+00   1   1   2   2
  0.43849259240468135834E+00   1   1   3   3
  0.48783372394503787817E+00   2   2   3   3
  0.51270165447111978874E-01   1   2   2   5

In the fort.55 header shown above, the 22 is the number of spatial orbitals, the 4 is the number of correlated electrons, and the 22 following numbers are the irreps for the spatial orbitals (in this case the carbon atom is being treated with $D_{2h}$ and you can use my Quantum Chemistry Cheat Sheet to convert between the numbering conventions of some of the most popular quantum chemistry codes (for example my cheat sheet tells you that the $B_{1u}$ irrep is 5 in MOLPRO but 6 in MRCC).

Once you have converted your FCIDUMP file into a fort.55 file, you now have to "trick" MRCC into reading it (because by default MRCC is not meant to be reading in other program's integrals except in the specific cases where an interface has been written to communicate with a program).

This can be done by using the keyword iface=cfour, which makes MRCC think that it's getting a fort.55 file printed from the CFOUR-MRCC interface, when really it came from an FCIDUMP!

Answered by Nike Dattani on December 22, 2021

Add your own answers!

Related Questions

Ask a Question

Get help from others!

© 2023 All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP