chemtools.utils.wrappers.HortonMolecule

class chemtools.utils.wrappers.HortonMolecule(iodata)[source]

Molecule class from HORTON package.

Initialize class.

Parameters:iodata (horton.IOData) – An instance of horton.IOData object.
classmethod from_file(filename)[source]

Initialize class given a file.

Parameters:filename (str) – Path to molecule’s files.
nbasis

Number of basis functions.

nelectrons

Number of alpha and beta electrons.

homo_index

Index of alpha and beta HOMO orbital.

lumo_index

Index of alpha and beta LUMO orbital.

homo_energy

Energy of alpha and beta HOMO orbital.

lumo_energy

Energy of alpha and beta LUMO orbital.

orbital_occupation

Orbital occupation of alpha and beta electrons.

orbital_energy

Orbital energy of alpha and beta electrons.

orbital_coefficient

Orbital coefficient of alpha and beta electrons.

The alpha and beta orbital coefficients are each storied in a 2d-array in which the columns represent the basis coefficients of each molecular orbital.

compute_overlap()[source]

Return the overlap matrix of molecular orbitals.

compute_density_matrix_array(spin='ab')[source]

Return the density matrix array for the specified spin orbitals.

compute_molecular_orbital(points, spin, orbital_index=None, output=None)[source]

Return molecular orbitals evaluated on the given points for the spin orbitals.

Parameters:
  • points (ndarray) – The 2d-array containing the cartesian coordinates of points on which density is evaluated. It has a shape (n, 3) where n is the number of points.
  • spin (str) –

    The type of occupied spin orbitals.

    • ‘a’ or ‘alpha’: consider alpha electrons
    • ‘b’ or ‘beta’: consider beta electrons
  • orbital_index (sequence, default=None) – Sequence of integers representing the index of spin orbitals. Alpha and beta spin orbitals are each indexed from 1 to nbasis. If None, all occupied spin orbtails are included.
  • output (np.ndarray, default=None) – Array with shape (n, m) to store the output, where n in the number of points and m is the number of molecular orbitals. When None the array is allocated.
compute_density(points, spin='ab', orbital_index=None, output=None)[source]

Return electron density evaluated on the given points for the spin orbitals.

Parameters:
  • points (ndarray) – The 2d-array containing the cartesian coordinates of points on which density is evaluated. It has a shape (n, 3) where n is the number of points.
  • spin (str) –

    The type of occupied spin orbitals. By default, the alpha and beta electrons (i.e. alpha and beta occupied spin orbitals) are used for computing the electron density.

    • ‘a’ or ‘alpha’: consider alpha electrons
    • ‘b’ or ‘beta’: consider beta electrons
    • ‘ab’: consider alpha and beta electrons
  • orbital_index (sequence) – Sequence of integers representing the index of spin orbitals. Alpha and beta spin orbitals are each indexed from 1 to nbasis. If None, all occupied spin orbtails are included.
  • output (np.ndarray) – Array with shape (n,) to store the output, where n in the number of points. When None the array is allocated.
compute_gradient(points, spin='ab', orbital_index=None, output=None)[source]

Return gradient of electron density evaluated on the given points for the spin orbitals.

Parameters:
  • points (ndarray) – The 2d-array containing the cartesian coordinates of points on which density is evaluated. It has a shape (n, 3) where n is the number of points.
  • spin (str) –

    The type of occupied spin orbitals. By default, the alpha and beta electrons (i.e. alpha and beta occupied spin orbitals) are used for computing the electron density.

    • ‘a’ or ‘alpha’: consider alpha electrons
    • ‘b’ or ‘beta’: consider beta electrons
    • ‘ab’: consider alpha and beta electrons
  • orbital_index (sequence) – Sequence of integers representing the index of spin orbitals. Alpha and beta spin orbitals are each indexed from 1 to nbasis. If None, all occupied spin orbtails are included.
  • output (np.ndarray) – Array with shape (n, 3) to store the output, where n in the number of points. When None the array is allocated.
compute_hessian(points, spin='ab', orbital_index=None, output=None)[source]

Return hessian of electron density evaluated on the given points for the spin orbitals.

Parameters:
  • points (ndarray) – The 2d-array containing the cartesian coordinates of points on which density is evaluated. It has a shape (n, 3) where n is the number of points.
  • spin (str) –

    The type of occupied spin orbitals. By default, the alpha and beta electrons (i.e. alpha and beta occupied spin orbitals) are used for computing the electron density.

    • ‘a’ or ‘alpha’: consider alpha electrons
    • ‘b’ or ‘beta’: consider beta electrons
    • ‘ab’: consider alpha and beta electrons
  • orbital_index (sequence) – Sequence of integers representing the index of spin orbitals. Alpha and beta spin orbitals are each indexed from 1 to nbasis. If None, all occupied spin orbtails are included.
  • output (np.ndarray) – Array with shape (n, 6) to store the output, where n in the number of points. When None the array is allocated.
compute_esp(points, spin='ab', orbital_index=None, output=None, charges=None)[source]

Return the molecular electrostatic potential on the given points for the specified spin.

The molecular electrostatic potential at point \(\mathbf{r}\) is caused by the electron density \(\rho\) of the specified spin orbitals and set of point charges \(\{q_A\}_{A=1}^{N_\text{atoms}}\) placed at the position of the nuclei. i.e,

\[V \left(\mathbf{r}\right) = \sum_{A=1}^{N_\text{atoms}} \frac{q_A}{\rvert \mathbf{R}_A - \mathbf{r} \lvert} - \int \frac{\rho \left(\mathbf{r}'\right)}{\rvert \mathbf{r}' - \mathbf{r} \lvert} d\mathbf{r}'\]
Parameters:
  • points (ndarray) – The 2d-array containing the cartesian coordinates of points on which density is evaluated. It has a shape (n, 3) where n is the number of points.
  • spin (str, default='ab') –

    The type of occupied spin orbitals. By default, the alpha and beta electrons (i.e. alpha and beta occupied spin orbitals) are used for computing the electron density.

    • ‘a’ or ‘alpha’: consider alpha electrons
    • ‘b’ or ‘beta’: consider beta electrons
    • ‘ab’: consider alpha and beta electrons
  • orbital_index (sequence, default=None) – Sequence of integers representing the index of spin orbitals. Alpha and beta spin orbitals are each indexed from 1 to nbasis. If None, all occupied spin orbtails are included.
  • output (np.ndarray, default=None) – Array with shape (n,) to store the output, where n in the number of points. When None the array is allocated.
  • charges (np.ndarray, default=None) – Array with shape (n,) representing the point charges at the position of the nuclei. When None, the pseudo numbers are used.
compute_kinetic_energy_density(points, spin='ab', orbital_index=None, output=None)[source]

Return positive definite kinetic energy density on the given points for the specified spin.

Positive definite kinetic energy density is defined as,

\[\tau \left(\mathbf{r}\right) = \sum_i^N n_i \frac{1}{2} \rvert \nabla \phi_i \left(\mathbf{r}\right) \lvert^2\]
Parameters:
  • points (ndarray) – The 2d-array containing the cartesian coordinates of points on which density is evaluated. It has a shape (n, 3) where n is the number of points.
  • spin (str) –

    The type of occupied spin orbitals. By default, the alpha and beta electrons (i.e. alpha and beta occupied spin orbitals) are used for computing the electron density.

    • ‘a’ or ‘alpha’: consider alpha electrons
    • ‘b’ or ‘beta’: consider beta electrons
    • ‘ab’: consider alpha and beta electrons
  • orbital_index (sequence) – Sequence of integers representing the index of spin orbitals. Alpha and beta spin orbitals are each indexed from 1 to nbasis. If None, all occupied spin orbtails are included.
  • output (np.ndarray) – Array with shape (n,) to store the output, where n in the number of points. When None the array is allocated.