The FCIDUMP
format was created by Peter Knowles and Nick Handy circa 1989 and now allows many electronic structure software packages to interact with each other.
For example imagine we want to calculate the 1- and 2-electron integrals with OpenMOLCAS (likely the fastest and most general open-source software for calculating integrals) then run a rather special electronic structure method like FCIQMC with those integrals (FCIQMC is best done with the NECI software written mainly by the people that invented and developed FCIQMC). In this case the integrals will be calculated in OpenMOLCAS, printed to an FCIDUMP
file, then the software NECI will read the integrals from that file.
The following programs are able to interact with FCIDUMP
files in some way:
- MOLPRO (can read and write)
- PySCF (can read and write)
- (Open)MOLCAS (can write)
- ARROW (can read and modify)
- DALTON (can write)
- DIRAC (can write)
- GAMESS (can write, with a plug-in)
- DICE (can read and maybe modify)
- BLOCK (can read and maybe modify)
- CheMPS2 (can read and maybe modify)
- xacc (can read)
- anymore you wish to add
The following can interact with the standard FCIDUMP
format of 1989, but can also support generalizations of it:
- NECI (can read, and modify standard
FCIDUMP
files, and can write some 3-body integrals) - BAGEL (can write complex-valued integrals for 4-component relativistic calculations)
- HANDE (can include more 1-electron integrals, including orbital energies, can list UHF/RHF)
- Psi4 (supports the generalized format of HANDE)
For some of these programs, like MOLPRO, FCIDUMP
format is supported natively and it's quite straightforward to figure out how to read/write FCIDUMP
files, by browsing the software's manual. However other programs need an extra plug-in, and/or have some caveats, and/or require slightly non-trivial work to grease the wheels to support FCIDUMP
formatted integrals, and/or the support is not explained in the manual. In these cases, how does one read or write integrals in FCIDUMP
format?
(Please write only one answer per software package).