# chemtools.wrappers.molecule.Molecule¶

class chemtools.wrappers.molecule.Molecule(iodata, wavefunction=False)[source]

Molecule class from HORTON package.

Initialize class.

Parameters: iodata (horton.IOData) – An instance of horton.IOData object.
classmethod from_file(fname, wavefunction=False)[source]

Initialize class given a file.

Parameters: fname (str) – Path to molecule’s files.
coordinates

Cartesian coordinates of atomic centers.

numbers

Atomic number of atomic centers.

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_orbital_overlap()[source]

Return the overlap matrix of molecular orbitals.

compute_density_matrix(spin='ab')[source]

Return the density matrix array for the specified spin orbitals.

compute_molecular_orbital(points, spin, 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 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 orbitals 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', 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 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 orbitals 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', 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 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 orbitals 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', 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 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 orbitals 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', 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 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 orbitals 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_ked(points, spin='ab', 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 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 orbitals 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_megga(points, spin='ab', index=None)[source]

Return electron density, gradient, laplacian & kinetic energy density.

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 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 orbitals are included.