ESIpy from a FCHK file

ESIpy can read a FCHK file to get the wavefunction information generated by Gaussian.

Note

This feature is currently only available in the version installed via the GitHub repository. It is not yet available in the PyPI (pip) release. Also, other softwares that generate FCHK files may work, but they have not been tested yet, and will be considered in future releases. Refer to the Installation page for instructions on how to install ESIpy from the GitHub repository.

Basic Usage

To use this feature, the user must create a simple input file. We suggest using the extension .hs (Hilbert-space) for these input files.

Once the input file is created, you can run the calculation using the esipy command-line tool which is available after installation:

esipy benzene.hs > benzene.esi

It is recommended to redirect the output to a file with the .esi extension.

Input Keywords

Input file

ESIpy can read the wavefunction from three different sources: from a FCHK file, from the _atomicfiles directory coming from softwares such as AIMAll, or from .aoms and .molinfo files generated by ESIpy itself.

  • $READFCHK: Path to the FCHK file.

  • $READINT: Path to the directory containing the atomic files (e.g., from AIMAll).

  • $READAOM: Title of the calculation to read the .aoms and .molinfo files.

Ring

The rings can also be defined in various ways: they can be defined manually, or using ESIpy’s ring-finding algorithm.

  • $RING: Each line corresponds to a ring, and the atom indices are separated by spaces.

  • $FINDRINGS: If this keyword is present, ESIpy will search for all the rings in the molecule using its ring-finding algorithm.

The ring-finding algorithm looks for all the closed circuits within a minimum and maximum length, defined by the $MAXLEN and $MINLEN keywords. Also, no ring can be specified, which in that case will only compute population analyses and delocalization indices.

Partition

The partition schemes are defined using the $PARTITION keyword, which can take the following values:

  • MULLIKEN

  • LOWDIN

  • META-LOWDIN

  • NAO

  • IAO

  • QTAIM: Only available if reading from atomic files.

  • ALL: Mulliken, Löwdin, Meta-Löwdin, NAO, and IAO.

  • ROBUST: Meta-Löwdin, NAO, and IAO.

More than one partition can be specified at a time, in different lines.

Additional keywords

  • $SAVE: Title of the calculation to save the generated .aoms and .molinfo files.

  • $WRITEAOMS: Title of the calculation to write the AOMs in AIMAll format.

  • $FLUREFS: A list of reference indices to compute the FLU index, following the ring connectivity.

  • $NCORES: Number of CPU cores to use for the MCI calculation.

  • $MCI: Explicitly compute the MCI index.

  • $NOMCI: Do not compute the MCI index.

  • $AV1245: Explicitly compute the AV1245 index.

  • $FRAGMENTS: Define fragments for the computation of the delocalization indices. The structure is Number of fragments,

Number of atoms in fragment 1, Atom indices in fragment 1, Number of atoms in fragment 2, Atom indices in fragment 2, etc.

Example input file

In the following, we provide a set of input files using the previous tools.

The most basic input file, where the rings are defined manually and the density matrix is read from a FCHK file:

$READFCHK
benzene.fchk
$RINGS
1 2 3 4 5 6
$PARTITION
NAO

The ring-finding algorithm can be used to automatically find all the rings in a molecule.

$READFCHK
naphthalene.fchk
$FINDRINGS
$MINLEN
6
$MAXLEN
10
$PARTITION
ROBUST
$NCORES
4
$SAVE

To read the .aoms and .molinfo files generated by ESIpy in the previous input, the following input file can be used:

$READAOMS
naphthalene
$PARTITION
ROBUST
$FINDRINGS
$MINLEN
6
$MAXLEN
10

Finally, to read the Atomic Overlap Matrices from AIMAll, the following input file can be used:

$READINT
benzene
$RINGS
1 2 3 4 5 6
$PARTITION
QTAIM

In this case, it will look at the working directory for a folder named benzene_atomicfiles/ containing the atomic files.