horton_part.periodic.core module
Shared real-space engine for periodic stockholder partitioning.
- class InterpolatedProAtom(number, states)
Bases:
objectA Hirshfeld-I pro-atom interpolated between integer-charge states.
- __init__(number, states)
- cutoff(density_cutoff, include_inactive=False)
- evaluate(radii)
- interpolation_info(charge=None)
- property parameter_labels
- property parameters
- property population
- class LinearProAtom(shapes, coefficients, activation_scale)
Bases:
objectA nonnegative linear expansion in normalized radial shapes.
- __init__(shapes, coefficients, activation_scale)
- basis_values(radii)
- cutoff(density_cutoff, include_inactive=True)
- evaluate(radii)
- fit(density, radii, weights, threshold, maxiter, density_cutoff)
Fit nonnegative coefficients to an AIM density with a population constraint.
- fit_basis(density, basis, weights, threshold, maxiter, density_cutoff)
Fit coefficients using fixed basis functions already evaluated on a grid.
- property parameter_labels
- property parameters
- property population
- class MBISProAtom(number)
Bases:
objectMinimal Slater-shell pro-atom used by periodic MBIS.
- __init__(number)
- cutoff(density_cutoff, include_inactive=False)
- evaluate(radii)
- static evaluate_shell(population, exponent, radii)
Evaluate one normalized Slater shell.
- fit(density, radii, weights, threshold, density_cutoff)
- property parameter_labels
- property parameters
- property population
- static shell_cutoff(population, exponent, density_cutoff)
Return the fixed local-grid radius for one shell.
- static shell_derivatives(population, exponent, radii)
Return derivatives of one shell with respect to population and exponent.
- class PeriodicPartitionResult(method, charges, populations, grid_populations, model_charges, model_populations, parameters, parameter_labels, promolecule, aim_weights, iterations, converged, history, reconstruction_error, solver='fixed')
Bases:
objectResults returned by a periodic stockholder calculation.
- __init__(method, charges, populations, grid_populations, model_charges, model_populations, parameters, parameter_labels, promolecule, aim_weights, iterations, converged, history, reconstruction_error, solver='fixed')
-
aim_weights:
Optional[ndarray]
-
charges:
ndarray
-
converged:
bool
-
grid_populations:
ndarray
-
history:
ndarray
-
iterations:
int
-
method:
str
-
model_charges:
ndarray
-
model_populations:
ndarray
-
parameter_labels:
tuple
-
parameters:
tuple
-
populations:
ndarray
-
promolecule:
ndarray
-
reconstruction_error:
float
-
solver:
str= 'fixed'
- to_dict()
Return arrays suitable for an NPZ result file.
- class PeriodicStockholder(coordinates, numbers, grid, density, models, pseudo_numbers=None, density_cutoff=1e-10)
Bases:
objectCommon stockholder iteration on a grid supporting periodic local grids.
- __init__(coordinates, numbers, grid, density, models, pseudo_numbers=None, density_cutoff=1e-10)
- promolecule(include_inactive=False)
- run_fixed(method, return_weights=True)
- run_hirshfeld_i(threshold, maxiter, mixing=0.5, return_weights=True)
- run_iterative(method, threshold, inner_threshold, maxiter, inner_maxiter, linear, return_weights=True, solver='iterative')
- run_self_consistent_linear(method, threshold, maxiter, return_weights=True)
Optimize fixed-basis coefficients with the global SC fixed-point equations.
- run_self_consistent_mbis(threshold, maxiter, return_weights=True)
Optimize MBIS shell populations and exponents by moment updates.
- run_variational_linear(method, threshold, maxiter, return_weights=True)
Optimize all linear pro-atom coefficients through the global extended KLD.
- run_variational_mbis(threshold, maxiter, return_weights=True)
Optimize all MBIS shells globally on fixed per-shell local grids.
- stockholder_populations(promolecule)