3.12.6. horton.part.iterstock – Iterative Stockholder Analysis (ISA) partitioning

class horton.part.iterstock.IterativeProatomMixin
compute_change(propars1, propars2)

Compute the difference between an old and a new proatoms

do_partitioning(instance)
class horton.part.iterstock.IterativeStockholderWPart(coordinates, numbers, pseudo_numbers, grid, moldens, spindens=None, lmax=3, threshold=1e-06, maxiter=500)

Bases: horton.part.iterstock.IterativeProatomMixin, horton.part.stockholder.StockholderWPart

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. Reduce the CPU cost at the expense of more memory consumption.
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(instance)
do_density_decomposition(instance)
do_hartree_decomposition(instance)
do_moments(instance)
do_partitioning(instance)
do_populations(instance)
do_prosplines()
do_spin_charges(instance)
eval_proatom(index, output, grid=None)
eval_spline(index, spline, output, grid=None, 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_memory_estimates()
get_moldens(index=None, output=None)
get_proatom_rho(index, propars=None)
get_proatom_spline(index, *args, **kwargs)
get_rgrid(index)
get_spindens(index=None, output=None)
get_wcor(index)
to_atomic_grid(index, data)
update_at_weights()
update_pro(index, proatdens, promoldens)
cache
coordinates
grid
linear = False
lmax
local
name = 'is'
natom
numbers
options = ['lmax', 'threshold', 'maxiter']
pseudo_numbers