chemtools.toolbox.motbased.MOTBasedTool

class chemtools.toolbox.motbased.MOTBasedTool(molecule)[source]

Molecular Orbital Theory Based Descriptive Tools.

Initialize class from Molecule instance.

Parameters:molecule (Molecule) – An instance of Molecule class.
classmethod from_molecule(molecule)[source]

Initialize class from Molecule instance.

Parameters:molecule (Molecule) – An instance of Molecule class.
classmethod from_file(fname)[source]

Initialize class from wave-function file.

Parameters:fname (str) – Path to molecule’s wave-function file.
coordinates

Cartesian coordinates of atomic centers.

numbers

Atomic number of atomic centers.

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_density_matrix(spin='ab')[source]

Compute the density matrix array for the specified spin orbitals.

Parameters:
  • spin (str, optional) – The type of occupied spin orbitals. Options are “a” (for alpha), “b” (for beta), and “ab” (for alpha + beta).
  • index (sequence of int, optional) – Sequence of integers representing the occupied spin orbitals which are indexed from 1 to nbasis. If None, all orbitals of the given spin(s) are included.
compute_orbital_expression(points, spin='ab', index=None)[source]

Return molecular orbitals.

Parameters:
  • points (ndarray) – Cartesian coordinates of N points given as a 2D-array with (N, 3) shape.
  • spin (str, optional) – Type of occupied spin orbitals which can be either “a” (for alpha), “b” (for beta), and “ab” (for alpha + beta).
  • index (sequence of int, optional) – Sequence of integers representing the occupied spin orbitals which are indexed from 1 to nbasis. If None, all orbitals of the given spin(s) are included.
compute_density(points, spin='ab', index=None)[source]

Return electron density.

Parameters:
  • points (ndarray) – Cartesian coordinates of N points given as a 2D-array with (N, 3) shape.
  • spin (str, optional) – Type of occupied spin orbitals which can be either “a” (for alpha), “b” (for beta), and “ab” (for alpha + beta).
  • index (sequence of int, optional) – Sequence of integers representing the occupied spin orbitals which are indexed from 1 to nbasis. If None, all orbitals of the given spin(s) are included.
compute_charges(scheme='mulliken')[source]

Return the partial charges at each atom using the given population analysis method.

Parameters:scheme ({"lowdin", "mulliken"}) – Type of population analysis. Default is Mulliken population analysis.
Returns:populations – Number of electrons in each atom according the population analysis.
Return type:np.ndarray(N,)
generate_scripts(fname, spin='a', index=None, isosurf=0.05, grid=None)[source]

Generate VMD script(s) and cube file(s) to visualize MO iso-surface of given orbitals.

Parameters:
  • fname (str) – A string representing the path to a fname of generated files. The VMD script and cube file will be named fname_mo{index}.vmd and fname_mo{index}.cube, respectively.
  • spin (str, optional) – The type of occupied spin orbitals. Choose either ‘a’ or ‘b’.
  • index (int, optional) – Integer representing the index of spin orbital to visualize. Spin orbitals are each indexed from 1 to nbasis. If None, files for visualizing all orbitals are generated.
  • isosurf (float, optional) – Value of MO iso-surface used in VMD script.
  • grid (UniformGrid, optional) – Instance of UniformGrid used for computation and generating cube file(s). If None, a cubic grid is constructed from molecule with spacing=0.2 & extension=5.0.