chemtools.wrappers.grid.MolecularGrid

class chemtools.wrappers.grid.MolecularGrid(coordinates, numbers, pseudo_numbers, specification='medium', k=3, rotate=False)[source]

Becke-Lebedev molecular grid for numerical integrations.

Initialize class.

Parameters:
  • coordinates (np.ndarray, shape=(M, 3)) – Cartesian coordinates of M atoms in the molecule.
  • numbers (np.ndarray, shape=(M,)) – Atomic number of M atoms in the molecule.
  • pseudo_numbers (np.ndarray, shape=(M,)) – Pseudo-number of M atoms in the molecule.
  • specification (str, optional) – Specification of grid. Either choose from [‘coarse’, ‘medium’, ‘fine’, ‘veryfine’, ‘ultrafine’, ‘insane’] or provide a string of ‘rname:rmin:rmax:nrad:nang’ format. Here ‘rname’ denotes the type of radial grid and can be chosen from [‘linear’, ‘exp’, ‘power’], ‘rmin’ and ‘rmax’ specify the first and last radial grid points in angstrom, ‘nrad’ specify the number of radial grid points, and ‘nang’ specify the number of angular Lebedev-Laikov grid. The ‘nang’ can be chosen from (6, 14, 26, 38, 50, 74, 86, 110, 146, 170, 194, 230, 266, 302, 350, 434, 590, 770, 974, 1202, 1454, 1730, 2030, 2354, 2702, 3074, 3470, 3890, 4334, 4802, 5294, 5810).
  • k (int, optional) – The order of the switching function in Becke’s weighting scheme.
  • rotate (bool, optional) – Whether to randomly rotate spherical grids.
classmethod from_molecule(molecule, specification='medium', k=3, rotate=False)[source]

Initialize the class given an instance of Molecule.

Parameters:
  • molecule (instance of Molecule) – Instance of Molecule class.
  • specification (str, optional) – Specification of grid. Either choose from [‘coarse’, ‘medium’, ‘fine’, ‘veryfine’, ‘ultrafine’, ‘insane’] or provide a string of ‘rname:rmin:rmax:nrad:nang’ format. Here ‘rname’ denotes the type of radial grid and can be chosen from [‘linear’, ‘exp’, ‘power’], ‘rmin’ and ‘rmax’ specify the first and last radial grid points in angstrom, ‘nrad’ specify the number of radial grid points, and ‘nang’ specify the number of angular Lebedev-Laikov grid. The ‘nang’ can be chosen from (6, 14, 26, 38, 50, 74, 86, 110, 146, 170, 194, 230, 266, 302, 350, 434, 590, 770, 974, 1202, 1454, 1730, 2030, 2354, 2702, 3074, 3470, 3890, 4334, 4802, 5294, 5810).
  • k (int, optional) – The order of the switching function in Becke’s weighting scheme.
  • rotate (bool, optional) – Whether to randomly rotate spherical grids.
classmethod from_file(fname, specification='medium', k=3, rotate=False)[source]

Initialize the class given an instance of Molecule.

Parameters:
  • fname (str) – Path to molecule’s files.
  • specification (str, optional) – Specification of grid. Either choose from [‘coarse’, ‘medium’, ‘fine’, ‘veryfine’, ‘ultrafine’, ‘insane’] or provide a string of ‘rname:rmin:rmax:nrad:nang’ format. Here ‘rname’ denotes the type of radial grid and can be chosen from [‘linear’, ‘exp’, ‘power’], ‘rmin’ and ‘rmax’ specify the first and last radial grid points in angstrom, ‘nrad’ specify the number of radial grid points, and ‘nang’ specify the number of angular Lebedev-Laikov grid. The ‘nang’ can be chosen from (6, 14, 26, 38, 50, 74, 86, 110, 146, 170, 194, 230, 266, 302, 350, 434, 590, 770, 974, 1202, 1454, 1730, 2030, 2354, 2702, 3074, 3470, 3890, 4334, 4802, 5294, 5810).
  • k (int, optional) – The order of the switching function in Becke’s weighting scheme.
  • rotate (bool, optional) – Whether to randomly rotate spherical grids.
coordinates

Cartesian coordinates of atomic centers.

numbers

Atomic number of atomic centers.

pseudo_numbers

Pseudo atomic number of atomic centers.

npoints

Number of grid points.

points

Cartesian coordinates of grid points.

weights

Integration weight of grid points.

integrate(value)[source]

Integrate the property evaluated on the grid points.

Parameters:value (np.ndarray) – Property value evaluated on the grid points.
compute_spherical_average(value)[source]

Compute spherical average of given value evaluated on the grid points.

Note: This method only works for atomic systems with one nuclear center.

Parameters:value (np.ndarray) – Property value evaluated on the grid points.