3.9.4. horton.part.hirshfeld_i – Iterative Hirshfeld (HI) partitioning

class horton.part.hirshfeld_i.HirshfeldIWPart(coordinates, numbers, pseudo_numbers, grid, moldens, proatomdb, spindens=None, local=True, lmax=3, threshold=1e-06, maxiter=500)

Bases: horton.part.hirshfeld_i.HirshfeldIMixin, horton.part.hirshfeld.HirshfeldWPart

Arguments: (that are not defined in WPart)

proatomdb
In instance of ProAtomDB that contains all the reference atomic densities.

Optional arguments: (that are not defined in WPart)

threshold
The procedure is considered to be converged when the maximum change of the charges between two iterations drops below this threshold.
maxiter
The maximum number of iterations. If no convergence is reached in the end, no warning is given.
__getitem__(key)
__init__(coordinates, numbers, pseudo_numbers, grid, moldens, proatomdb, spindens=None, local=True, lmax=3, threshold=1e-06, maxiter=500)

Arguments: (that are not defined in WPart)

proatomdb
In instance of ProAtomDB that contains all the reference atomic densities.

Optional arguments: (that are not defined in WPart)

threshold
The procedure is considered to be converged when the maximum change of the charges between two iterations drops below this threshold.
maxiter
The maximum number of iterations. If no convergence is reached in the end, no warning is given.
clear()

Discard all cached results, e.g. because wfn changed

compute_change(propars1, propars2)

Compute the difference between an old and a new proatoms

compute_pseudo_population(index)
do_all()

Computes all properties and return a list of their keys.

do_charges()
do_density_decomposition()
do_dispersion()
do_hartree_decomposition()
do_moments()
do_partitioning()
do_populations()
do_prosplines()
do_spin_charges()
eval_proatom(index, output, grid)
eval_spline(index, spline, output, grid, label='noname')
fix_proatom_rho(index, rho, deriv)

Check if the radial density for the proatom is correct and fix as needed.

Arguments:

index
The atom for which this proatom rho is created.
rho
The radial density
deriv
the derivative of the radial density or None.
get_grid(index=None)

Return an integration grid

Optional arguments:

index
The index of the atom. If not given, a grid for the entire system is returned. If self.local is False, a full system grid is always returned.
get_interpolation_info(i, charges=None)
get_isolated(index, charge, grid)
get_memory_estimates()
get_moldens(index=None, output=None)
get_proatom_rho(index, charges=None)
get_proatom_spline(index, *args, **kwargs)
get_rgrid(index)
get_somefn(index, spline, key, label, grid)
get_spindens(index=None, output=None)
get_wcor(index)

Return the weight corrections on a grid

See get_grid for the meaning of the optional arguments

to_atomic_grid(index, data)
update_at_weights()

Updates the at_weights arrays in the case (and all related arrays)

update_pro(index, proatdens, promoldens)
cache
coordinates
grid
linear = False
lmax
local
name = 'hi'
natom
numbers
options = ['lmax', 'threshold', 'maxiter']
proatomdb
pseudo_numbers