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
):
There’s other programs that print in ASCII but not exactly the FCIDUMP
format, for example:
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!
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
1
0
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
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP