esipy

Submodules

Package Contents

Classes

IndicatorsRest

IndicatorsUnrest

Initialize the indicators from Unrestricted calculations.

IndicatorsNatorb

Initialize the indicators from Natural Orbitals calculations.

ESI

Main class for the ESIpy code.

Functions

write_aoms(mol, mf, name, aom[, ring, partition])

Writes the input for the ESI-3D code from the AOMs.

read_aoms([path])

Reads the AOMs from ESIpy's writeaoms() method or from an AIMAll calculation.

compute_iring(arr, aom)

Calculation of the Iring aromaticity index.

sequential_mci(arr, aom, partition)

Computes the MCI sequentially by computing the Iring without storing the permutations.

multiprocessing_mci(arr, aom, ncores, partition)

Computes the MCI by generating all the permutations for a later distribution along the specified number of cores.

compute_av1245(arr, aom, partition)

Computes the AV1245 and AVmin indices. Not available for rings smaller than 6 members.

compute_pdi(arr, aom)

Computes the PDI for the given 6-membered ring connectivity. Only computed for rings n=6.

compute_flu(arr, molinfo, aom[, flurefs, partition])

Computes the FLU index.

compute_boa(arr, aom)

Computes the BOA and BOA_c indices.

compute_homer(arr, molinfo[, homerrefs])

Computes the HOMER index.

compute_homa(arr, molinfo[, homarefs])

Computes the HOMA index.

compute_bla(arr, molinfo)

Computes the BLA and BLA_c indices.

compute_iring_no(arr, aom)

Calculation of the Iring aromaticity index for correlated wavefunctions.

sequential_mci_no(arr, aom, partition)

Computes the MCI for correlated wavefunctions sequentially by computing the Iring without storing the permutations.

multiprocessing_mci_no(arr, aom, ncores, partition)

Computes the MCI for correlated wavefunctions by generating all the permutations for a later distribution along the specified number of cores.

compute_av1245_no(arr, aom, partition)

Computes the AV1245 and AVmin indices for correlated wavefunctions. Not available for rings smaller than 6 members.

compute_pdi_no(arr, aom)

Computes the PDI for the given 6-membered ring connectivity. Only computed for rings n=6.

compute_boa_no(arr, aom)

Computes the BOA and BOA_c indices for correlated wavefunctions.

make_aoms(mol, mf, partition[, myhf, save])

Build the Atomic Overlap Matrices (AOMs) in the Molecular Orbitals basis. If using Natural Orbitals,

mol_info([mol, mf, save, partition])

Obtains information from the molecule and the calculation to complement the main code function without requiring the 'mol' and 'mf' objects.

format_partition(partition)

Filters the 'partition' attribute for flexibility.

load_file(file)

Loads a variable from a file.

format_short_partition(partition)

Filters the short version of the 'partition' attribute.

wf_type(aom)

Checks the topology of the AOMs to obtain the type of wavefunction.

esipy.write_aoms(mol, mf, name, aom, ring=None, partition=None)[source]

Writes the input for the ESI-3D code from the AOMs.

Parameters
  • mol (PySCF instance) – Molecule object from PySCF.

  • mf (PySCF instance) – Calculation object from PySCF.

  • name (str) – Name of the calculation.

  • aom (list) – Concatenated list of Atomic Overlap Matrices (AOMs) in the MO basis.

  • ring (list of int, optional) – Connectivity of the atoms in the ring. Can be more than one ring as a list of lists.

  • partition (str, optional) – Partition scheme for the AOMs. Options are “mulliken”, “lowdin”, “meta_lowdin”, “nao”, “iao”.

Returns

None

Generates
  • A ‘_atomicfiles/’ directory with all the files created.

  • A ‘.int’ file for each atom with its corresponding AOM.

  • A ‘name.files’ file with a list of the names of the ‘.int’ files.

  • A ‘name.bad’ file with a standard input for the ESI-3D code.

  • For Natural Orbitals, a ‘name.wfx’ file with the occupancies for the ESI-3D code.

esipy.read_aoms(path='.')[source]

Reads the AOMs from ESIpy’s writeaoms() method or from an AIMAll calculation.

Parameters

path (str) – Path of the directory of the files.

Returns

The AOMs in ESIpy format stored in ‘ESI.aom’.

Return type

list

esipy.compute_iring(arr, aom)[source]

Calculation of the Iring aromaticity index.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • aom (list of matrices) – Specifies the Atomic Overlap Matrices (AOMs) in the MO basis.

Returns

The Iring for the given ring connectivity.

Return type

float

esipy.sequential_mci(arr, aom, partition)[source]

Computes the MCI sequentially by computing the Iring without storing the permutations. Default option if no number of cores is specified.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • aom (list of matrices) – Specifies the Atomic Overlap Matrices (AOMs) in the MO basis.

  • partition (str) – Specifies the atom-in-molecule partition scheme. Options include ‘mulliken’, ‘lowdin’, ‘meta_lowdin’, ‘nao’, and ‘iao’.

Returns

MCI value for the given ring.

Return type

float

esipy.multiprocessing_mci(arr, aom, ncores, partition)[source]

Computes the MCI by generating all the permutations for a later distribution along the specified number of cores.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • aom (list of matrices) – Specifies the Atomic Overlap Matrices (AOMs) in the MO basis.

  • ncores (int) – Specifies the number of cores for multi-processing MCI calculation.

  • partition (str) – Specifies the atom-in-molecule partition scheme. Options include ‘mulliken’, ‘lowdin’, ‘meta_lowdin’, ‘nao’, and ‘iao’.

Returns

MCI value for the given ring.

Return type

float

esipy.compute_av1245(arr, aom, partition)[source]

Computes the AV1245 and AVmin indices. Not available for rings smaller than 6 members.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • aom (list of matrices) – Specifies the Atomic Overlap Matrices (AOMs) in the MO basis.

  • partition (str) – Specifies the atom-in-molecule partition scheme. Options include ‘mulliken’, ‘lowdin’, ‘meta_lowdin’, ‘nao’, and ‘iao’.

Returns

The AV1245 index, the AVmin index, and each of the AV1245 in a list for the output, respectively.

Return type

tuple

esipy.compute_pdi(arr, aom)[source]

Computes the PDI for the given 6-membered ring connectivity. Only computed for rings n=6.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • aom (list of matrices) – Specifies the Atomic Overlap Matrices (AOMs) in the MO basis.

Returns

The PDI value and each of the DIs in para position.

Return type

tuple

esipy.compute_flu(arr, molinfo, aom, flurefs=None, partition=None)[source]

Computes the FLU index.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • molinfo (dict) – Contains the molecular information.

  • aom (list of matrices) – Specifies the Atomic Overlap Matrices (AOMs) in the MO basis.

  • flurefs (dict, optional) – User-provided references for the FLU index.

  • partition (str, optional) – Specifies the atom-in-molecule partition scheme. Options include ‘mulliken’, ‘lowdin’, ‘meta_lowdin’, ‘nao’, and ‘iao’.

Returns

The FLU value for the given ring connectivity.

Return type

float

esipy.compute_boa(arr, aom)[source]

Computes the BOA and BOA_c indices.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • aom (list of matrices) – Specifies the Atomic Overlap Matrices (AOMs) in the MO basis.

Returns

Contains the BOA and the BOA_c indices, respectively.

Return type

tuple

esipy.compute_homer(arr, molinfo, homerrefs=None)[source]

Computes the HOMER index.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • molinfo (dict) – Contains the molecular information.

  • homerrefs (dict, optional) – User-provided references for the HOMER index.

Returns

HOMER value for the given ring connectivity.

Return type

float

esipy.compute_homa(arr, molinfo, homarefs=None)[source]

Computes the HOMA index.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • molinfo (dict) – Contains the molecular information.

  • homarefs (dict, optional) – User-provided references for the HOMA index.

Returns

HOMA value for the given ring connectivity.

Return type

float

esipy.compute_bla(arr, molinfo)[source]

Computes the BLA and BLA_c indices.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • molinfo (dict) – Contains the molecular information.

Returns

Contains the BLA and the BLA_c indices, respectively.

Return type

tuple

esipy.compute_iring_no(arr, aom)[source]

Calculation of the Iring aromaticity index for correlated wavefunctions.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • aom (list of matrices) – Specifies the Atomic Overlap Matrices (AOMs) in the MO basis.

Returns

The Iring for the given ring connectivity.

Return type

float

esipy.sequential_mci_no(arr, aom, partition)[source]

Computes the MCI for correlated wavefunctions sequentially by computing the Iring without storing the permutations. Default option if no number of cores is specified.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • aom (list of matrices) – Specifies the Atomic Overlap Matrices (AOMs) in the MO basis.

  • partition (str) – Specifies the atom-in-molecule partition scheme. Options include ‘mulliken’, ‘lowdin’, ‘meta_lowdin’, ‘nao’, and ‘iao’.

Returns

MCI value for the given ring.

Return type

float

esipy.multiprocessing_mci_no(arr, aom, ncores, partition)[source]

Computes the MCI for correlated wavefunctions by generating all the permutations for a later distribution along the specified number of cores.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • aom (list of matrices) – Specifies the Atomic Overlap Matrices (AOMs) in the MO basis.

  • ncores (int) – Specifies the number of cores for multi-processing MCI calculation.

  • partition (str) – Specifies the atom-in-molecule partition scheme. Options include ‘mulliken’, ‘lowdin’, ‘meta_lowdin’, ‘nao’, and ‘iao’.

Returns

MCI value for the given ring.

Return type

float

esipy.compute_av1245_no(arr, aom, partition)[source]

Computes the AV1245 and AVmin indices for correlated wavefunctions. Not available for rings smaller than 6 members.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • aom (list of matrices) – Specifies the Atomic Overlap Matrices (AOMs) in the MO basis.

  • partition (str) – Specifies the atom-in-molecule partition scheme. Options include ‘mulliken’, ‘lowdin’, ‘meta_lowdin’, ‘nao’, and ‘iao’.

Returns

The AV1245 index, the AVmin index, and each of the AV1245 in a list for the output, respectively.

Return type

tuple

esipy.compute_pdi_no(arr, aom)[source]

Computes the PDI for the given 6-membered ring connectivity. Only computed for rings n=6.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • aom (list of matrices) – Specifies the Atomic Overlap Matrices (AOMs) in the MO basis.

Returns

The PDI value and each of the DIs in para position.

Return type

tuple

esipy.compute_boa_no(arr, aom)[source]

Computes the BOA and BOA_c indices for correlated wavefunctions.

Parameters
  • arr (list of int) – Contains the indices defining the ring connectivity.

  • aom (list of matrices) – Specifies the Atomic Overlap Matrices (AOMs) in the MO basis.

Returns

Contains the BOA and the BOA_c indices, respectively.

Return type

tuple

esipy.make_aoms(mol, mf, partition, myhf=None, save=None)[source]

Build the Atomic Overlap Matrices (AOMs) in the Molecular Orbitals basis. If using Natural Orbitals, the HF instance is required as the reference to build the IAO transformation matrix.

Parameters
  • mol (pyscf.gto.Mole) – PySCF Mole object.

  • mf (pyscf.scf.hf.SCF) – PySCF SCF object.

  • partition (str) – String with the name of the partition.

  • myhf (pyscf.scf.hf.SCF, optional) – PySCF SCF object. Required if using Natural Orbitals.

  • save (str, optional) – String with the name of the file to save the AOMs.

Returns

For RESTRICTED calculations, a list with each of the AOMs. For UNRESTRICTED calculations, a list with the alpha and beta AOMs, as [aom_alpha, aom_beta]. For NATURAL ORBITALS calculations, a list with the AOMs and the Natural Orbitals occupation numbers, as [aom, occ].

Return type

list

esipy.mol_info(mol=None, mf=None, save=None, partition=None)[source]

Obtains information from the molecule and the calculation to complement the main code function without requiring the ‘mol’ and ‘mf’ objects.

Parameters
  • mol (pyscf.gto.Mole) – PySCF Mole object.

  • mf (pyscf.scf.hf.SCF) – PySCF SCF object.

  • save (str) – String with the name of the file to save the information.

  • partition (str) – String with the name of the partition.

Returns

Dictionary with the information of the molecule and the calculation.

Return type

dict

esipy.format_partition(partition)[source]

Filters the ‘partition’ attribute for flexibility.

Parameters

partition (str) – String with the name of the partition.

Returns

String with the standard partition name for ESIpy.

Return type

str

esipy.load_file(file)[source]

Loads a variable from a file.

Parameters

file (str) – Contains the name or the path containing the variable.

Returns

The file loaded.

Return type

object

esipy.format_short_partition(partition)[source]

Filters the short version of the ‘partition’ attribute.

Parameters

partition (str) – String with the name of the partition.

Returns

String with the short version of the partition scheme.

Return type

str

esipy.wf_type(aom)[source]

Checks the topology of the AOMs to obtain the type of wavefunction.

Parameters

aom (list of matrices) – The Atomic Overlap Matrices (AOMs) in the MO basis.

Returns

A string with the type of wave function (‘rest’, ‘unrest’ or ‘no’).

Return type

str

class esipy.IndicatorsRest(aom=None, rings=None, mol=None, mf=None, myhf=None, partition=None, mci=None, av1245=None, flurefs=None, homarefs=None, homerrefs=None, connectivity=None, geom=None, molinfo=None, ncores=1)[source]
property iring[source]

Compute the Iring value.

Returns

The Iring value :rtype: float

property mci[source]

Compute the MCI value.

Returns

The MCI value

Return type

float

property av1245[source]

Get the AV1245 value.

Returns

The AV1245 value.

Return type

float

property avmin[source]

Get the AVmin value.

Returns

The AVmin value.

Return type

float

property av1245_list[source]

Get the list of 4c-MCIs that form the AV1245.

Returns

The list of 4c-MCIs that form the AV1245.

Return type

numpy.ndarray

property pdi[source]

Get the PDI value.

Returns

The PDI value.

Return type

float

property pdi_list[source]

Get the list of the DIs (1-4, 2-5, 3-6).

Returns

The list of the DI values that form PDI.

Return type

numpy.ndarray

property flu[source]

Compute the FLU value.

Returns

The FLU value.

Return type

float

property boa[source]

Get the BOA value.

Returns

The BOA value.

Return type

float

property boa_c[source]

Get the BOA_c value.

Returns

The BOA_c value.

Return type

float

property homer[source]

Compute the HOMER value.

Returns

The HOMER value.

Return type

float

property homa[source]

Get the HOMA value.

Returns

The HOMA value.

Return type

float

property en[source]

Get the EN value.

Returns

The EN value.

Return type

float

property geo[source]

Get the GEO value.

Returns

The GEO value.

Return type

float

property bla[source]

Get the BLA value.

Returns

The BLA value.

Return type

float

property bla_c[source]

Get the BLA_c value.

Returns

The BLA_c value.

Return type

float

property homer[source]

Get the HOMER value.

Returns

The HOMER value.

Return type

float

_av()[source]

Compute the AV1245, AVmin and the list of the 4c-MCIs.

Returns

Tuple containing the AV1245, AVmin and the list of the 4c-MCIs.

Return type

tuple

_pdi()[source]

Compute the PDI.

Returns

The PDI value.

Return type

float

_boa()[source]

Compute the BOA and BOA_c values.

Returns

The BOA and BOA_c values.

Return type

tuple

_homa()[source]

Compute the HOMA and the EN and GEO components.

Returns

The HOMA, EN and GEO values.

Return type

tuple

_bla()[source]

Compute the BLA and BLA_c values.

Returns

The BLA and BLA_c values.

Return type

tuple

class esipy.IndicatorsUnrest(aom=None, rings=None, mol=None, mf=None, myhf=None, partition=None, mci=None, av1245=None, flurefs=None, homarefs=None, homerrefs=None, connectivity=None, geom=None, molinfo=None, ncores=1)[source]

Initialize the indicators from Unrestricted calculations.

Parameters
  • aom (concatenated list) – Atomic Overlap Matrices (AOMs) in the MO basis.

  • rings (list) – List of indices of the atoms in the ring connectivity. Can be a list of lists.

  • mol (optional, obj) – Molecule object “mol” from PySCF.

  • mf (optional, obj) – Calculation object “mf” from PySCF.

  • partition (optional, str) – Type of Hilbert-space partition scheme. Options are ‘mulliken’, ‘lowdin’, ‘meta_lowdin’, ‘nao’ and ‘iao’.

  • mci (optional, boolean) – Whether to compute the MCI.

  • av1245 (optional, boolean) – Whether to compute the AV1245.

  • flurefs (optional, dict) – Custom FLU references.

  • homarefs (optional, dict) – Custom HOMA references: “n_opt”, “c”, “r1”.

  • homerrefs (optional, dict) – Custom HOMER references: “alpha” and “r_opt” .

  • connectivity (optional, list) – Symbols of the ring connectivity as in “rings”.

  • geom (optional, list of lists) – Geometry of the molecule as in mol.atom_coords().

  • molinfo (optional, dict) – Information about the molecule and calculation.

  • ncores (optional, int) – Number of cores to use for the MCI calculation. Default is 1.

property iring[source]

Get the Iring value.

Returns

The Iring value.

Return type

float

property iring_alpha[source]

Get the Iring_alpha value.

Returns

The Iring_alpha value.

Return type

float

property iring_beta[source]

Get the Iring_beta value.

Returns

The Iring_beta value.

Return type

float

property mci[source]

Get the MCI value.

Returns

The MCI value.

Return type

float

property mci_alpha[source]

Get the MCI_alpha value.

Returns

The MCI_alpha value.

Return type

float

property mci_beta[source]

Get the MCI_beta value.

Returns

The MCI_beta value.

Return type

float

property av1245[source]

Get the AV1245 value.

Returns

The AV1245 value.

Return type

float

property av1245_alpha[source]

Get the AV1245_alpha value.

Returns

The AV1245_alpha value.

Return type

float

property av1245_beta[source]

Get the AV1245_beta value.

Returns

The AV1245_beta value.

Return type

float

property avmin[source]

Get the AVmin value.

Returns

The AVmin value.

Return type

float

property avmin_alpha[source]

Get the AVmin_alpha value.

Returns

The AVmin_alpha value.

Return type

float

property avmin_beta[source]

Get the AVmin_beta value.

Returns

The AVmin_beta value.

Return type

float

property av1245_list[source]

Get the list of 4c-MCIs that form the AV1245.

Returns

The list of 4c-MCIs that form the AV1245.

Return type

numpy.ndarray

property av1245_list_alpha[source]

Get the list of 4c-MCIs that form the AV1245_alpha.

Returns

The list of 4c-MCIs that form the AV1245_alpha.

Return type

numpy.ndarray

property av1245_list_beta[source]

Get the list of 4c-MCIs that form the AV1245_beta.

Returns

The list of 4c-MCIs that form the AV1245_beta.

Return type

numpy.ndarray

property pdi[source]

Get the PDI value.

Returns

The PDI value.

Return type

float

property pdi_alpha[source]

Get the PDI_alpha value.

Returns

The PDI_alpha value.

Return type

float

property pdi_beta[source]

Get the PDI_beta value.

Returns

The PDI_beta value.

Return type

float

property pdi_list[source]

Get the list of the DIs (1-4, 2-5, 3-6).

Returns

The list of the DI values that form PDI.

Return type

numpy.ndarray

property pdi_list_alpha[source]

Get the list of the alpha component of the DIs (1-4, 2-5, 3-6).

Returns

The list of the alpha component of the DI values that form PDI.

Return type

numpy.ndarray

property pdi_list_beta[source]

Get the list of the beta component of the DIs (1-4, 2-5, 3-6).

Returns

The list of the beta component of the DI values that form PDI.

Return type

numpy.ndarray

property flu[source]

Get the FLU value.

Returns

The FLU value.

Return type

float

property flu_alpha[source]

Get the FLU_alpha value.

Returns

The FLU_alpha value.

Return type

float

property flu_beta[source]

Get the FLU_beta value.

Returns

The FLU_beta value.

Return type

float

property boa[source]

Get the BOA value.

Returns

The BOA value.

Return type

float

property boa_alpha[source]

Get the BOA_alpha value.

Returns

The BOA_alpha value.

Return type

float

property boa_beta[source]

Get the BOA_beta value.

Returns

The BOA_beta value

Return type

float

property boa_c[source]

Get the BOA_c value.

Returns

The BOA_c value.

Return type

float

property boa_c_alpha[source]

Get the BOA_c_alpha value.

Returns

The BOA_c_alpha value.

Return type

float

property boa_c_beta[source]

Get the BOA_c_beta value.

Returns

The BOA_c_beta value.

Return type

float

property homa[source]

Get the HOMA value.

Returns

The HOMA value.

Return type

float

property en[source]

Get the EN value.

Returns

The EN value.

Return type

float

property geo[source]

Get the GEO value.

Returns

The GEO value.

Return type

float

property homer[source]

Get the HOMER value.

Returns

The HOMER value.

Return type

float

property bla[source]

Get the BLA value.

Returns

The BLA value.

Return type

float

property bla_c[source]

Get the BLA_c value.

Returns

The BLA_c value.

Return type

float

_irings()[source]

Compute the Iring and their alpha and beta components.

Returns

The Iring, Iring_alpha and Iring_beta.

Return type

tuple

_mcis()[source]
Compute the MCI values for alpha and beta components. Different algorithms are used depending on

the number of cores.

Returns

The MCI values for alpha and beta components.

Return type

tuple

_avs()[source]

Compute the AV1245, AVmin and the list of the 4c-MCIs for alpha and beta components.

Returns

The AV1245, AVmin and the list of the 4c-MCIs for alpha and beta components.

Return type

tuple

_pdis()[source]

Compute the PDI values for alpha and beta components.

Returns

The PDI values for alpha and beta components.

Return type

tuple

_flus()[source]

Compute the FLU values for alpha and beta components.

Returns

The FLU values for alpha and beta components.

Return type

tuple

_boas()[source]

Compute the BOA and BOA_c values for alpha and beta components.

Returns

The BOA and BOA_c values for alpha and beta components.

Return type

tuple

_homas()[source]

Compute the HOMA and the EN and GEO components.

Returns

The HOMA, EN and GEO values.

Return type

tuple

_blas()[source]

Compute the BLA and BLA_c values.

Returns

The BLA and BLA_c values.

Return type

tuple

class esipy.IndicatorsNatorb(aom=None, rings=None, mol=None, mf=None, myhf=None, partition=None, mci=None, av1245=None, flurefs=None, homarefs=None, homerrefs=None, connectivity=None, geom=None, molinfo=None, ncores=1)[source]

Initialize the indicators from Natural Orbitals calculations.

Parameters
  • aom (concatenated list) – Atomic Overlap Matrices (AOMs) in the MO basis.

  • rings (list) – List of indices of the atoms in the ring connectivity. Can be a list of lists.

  • mol (optional, obj) – Molecule object “mol” from PySCF.

  • mf (optional, obj) – Calculation object “mf” from PySCF.

  • myhf (optional, obj) – Reference RHF object for IAO-Natural Orbitals calculation.

  • partition (optional, str) – Type of Hilbert-space partition scheme. Options are ‘mulliken’, ‘lowdin’, ‘meta_lowdin’, ‘nao’ and ‘iao’.

  • mci (optional, boolean) – Whether to compute the MCI.

  • av1245 (optional, boolean) – Whether to compute the AV1245.

  • flurefs (optional, dict) – Custom FLU references.

  • homarefs (optional, dict) – Custom HOMA references: “n_opt”, “c”, “r1”.

  • homerrefs (optional, dict) – Custom HOMER references: “alpha” and “r_opt” .

  • connectivity (optional, list) – Symbols of the ring connectivity as in “rings”.

  • geom (optional, list of lists) – Geometry of the molecule as in mol.atom_coords().

  • molinfo (optional, dict) – Information about the molecule and calculation.

  • ncores (optional, int) – Number of cores to use for the MCI calculation. Default is 1.

property iring[source]

Compute the Iring value.

Returns

The Iring value.

Return type

float

property mci[source]

Compute the MCI value.

Returns

The MCI value.

Return type

float

property av1245[source]

Get the AV1245 value.

Returns

The AV1245 value

Return type

float

property avmin[source]

Get the AVmin value.

Returns

The AVmin value.

Return type

float

property av1245_list[source]

Get the list of 4c-MCIs that form the AV1245.

Returns

The list of 4c-MCIs that form the AV1245.

Return type

numpy.ndarray

property pdi[source]

Get the PDI value.

Returns

The PDI value.

Return type

float

property pdi_list[source]

Get the list of the DIs (1-4, 2-5, 3-6).

Returns

The list of the DI values that form PDI.

Return type

numpy.ndarray

property flu[source]

Compute the FLU value.

Returns

The FLU value.

Return type

float

property boa[source]

Get the BOA value.

Returns

The BOA value.

Return type

float

property boa_c[source]

Get the BOA_c value.

Returns

The BOA_c value.

Return type

float

property homer[source]

Compute the HOMER value.

Returns

The HOMER value.

Return type

float

property homa[source]

Get the HOMA value.

Returns

The HOMA value.

Return type

float

property en[source]

Get the EN value.

Returns

The EN value.

Return type

float

property geo[source]

Get the GEO value.

Returns

The GEO value.

Return type

float

property bla[source]

Get the BLA value.

Returns

The BLA value.

Return type

float

property bla_c[source]

Get the BLA_c value.

Returns

The BLA_c value.

Return type

float

_av_no()[source]

Compute the AV1245, AVmin and the list of the 4c-MCIs.

Returns

List containing the AV1245, AVmin and the list of the 4c-MCIs.

Return type

list

_pdi_no()[source]

Compute the PDI.

Returns

The PDI value.

Return type

float

_boa_no()[source]

Compute the BOA and BOA_c values.

Returns

The BOA and BOA_c values.

Return type

tuple

_homas()[source]

Compute the HOMA and the EN and GEO components.

Returns

The HOMA, EN and GEO values.

Return type

tuple

_blas()[source]

Compute the BLA and BLA_c values.

Returns

The BLA and BLA_c values.

Return type

tuple

class esipy.ESI(aom=None, rings=None, mol=None, mf=None, myhf=None, partition=None, mci=None, av1245=None, flurefs=None, homarefs=None, homerrefs=None, connectivity=None, geom=None, molinfo=None, ncores=1, saveaoms=None, savemolinfo=None, name='calc', readpath='.', read=False)[source]

Main class for the ESIpy code.

Attributes: aom (concatenated list): Atomic Overlap Matrices (AOMs) in the MO basis. rings (list): List of indices of the atoms in the ring connectivity. Can be a list of lists. mol (optional, obj): Molecule object “mol” from PySCF. mf (optional, obj): Calculation object “mf” from PySCF. myhf (optional, obj): Reference RHF object for IAO-Natural Orbitals calculation. partition (optional, str): Type of Hilbert-space partition scheme.

Options are ‘mulliken’, ‘lowdin’, ‘meta_lowdin’, ‘nao’ and ‘iao’.

mci (optional, boolean): Whether to compute the MCI. av1245 (optional, boolean): Whether to compute the AV1245. flurefs (optional, dict): Custom FLU references. homarefs (optional, dict): Custom HOMA references: “n_opt”, “c”, “r1”. homerrefs (optional, dict): Custom HOMER references: “alpha” and “r_opt” . connectivity (optional, list): Symbols of the ring connectivity as in “rings”. geom (optional, list of lists): Geometry of the molecule as in mol.atom_coords(). molinfo (optional, dict): Information about the molecule and calculation. ncores (optional, int): Number of cores to use for the MCI calculation. Default is 1. saveaoms (optional): Name where to save the AOMs in binary. savemolinfo (optional): Name where to save the molecular information dictionary in binary. name (optional, str): Name of the calculation. Default is ‘calc’. readpath (optional, str): Path to read the AOMs. Default is ‘.’. indicators (obj): Object containing the indicators of the calculation. Generated in the initialization.

Methods: readaoms(): Reads the AOMs from a directory in AIMAll and ESIpy format. writeaoms(): Writes ESIpy’s AOMs in AIMAll format. print(): Prints the output for the main ESIpy functions.

property aom[source]

Get the Atomic Overlap Matrices (AOMs) in the MO basis. If not provided, it will compute them. If set as a string, it will read the AOMs from the directory. Can be saved in a file with the saveaoms attribute.

Returns

The AOMs in the MO basis.

Return type

list

property molinfo[source]

Get the information about the molecule and calculation. If not provided, it will compute it. If set as a string, it will read the information from the directory. Can be saved in a file with the savemolinfo attribute.

Returns

Information about the molecule and calculation.

Return type

dict

property partition[source]

Get the partition scheme for the Hilbert-space. Options are ‘mulliken’, ‘lowdin’, ‘meta_lowdin’, ‘nao’ and ‘iao’. Some variations of these names are also available.

Returns

The partition scheme for the Hilbert-space calculation.

Return type

str

property mci[source]

Whether to compute the MCI. If not provided, it will compute it if the number of rings is less than 12.

Returns

Whether to compute the MCI.

Return type

boolean

property av1245[source]

Whether to compute the AV1245. If not provided, it will compute it if the number of rings is greater than 9.

Returns

Whether to compute the AV1245.

Return type

boolean

readaoms()[source]

Reads the AOMs from a directory in AIMAll and ESIpy format. Overwrites ‘ESI.aom’ variable. By default, it will read the AOMs from the working directory. If the ‘readpath’ attribute is set, it will read from that directory.

Returns

The AOMs in the MO basis, overwriting the aom variable.

Return type

list

writeaoms()[source]

Writes ESIpy’s AOMs in AIMAll format in the working directory.

Generates:
  • A ‘_atomicfiles/’ directory with all the files created.

  • A ‘.int’ file for each atom with its corresponding AOM.

  • A ‘name.files’ with a list of the names of the ‘.int’ files.

  • A ‘name.bad’ with a standard input for the ESI-3D code.

  • For Natural Orbitals, a ‘name.wfx’ with the occupancies for the ESI-3D code.

print()[source]

Main output for ESIpy. Population analysis, localization and delocalization indices and electronic (and geometric) aromaticity indicators.