vibeqc.AtomicRadialGrid¶
- class vibeqc.AtomicRadialGrid(centre_bohr, r, w_r, angular_xyz, w_a, radial_alpha, lebedev_order)[source]¶
Bases:
objectPer-atom radial × Lebedev quadrature grid.
- Parameters:
- centre_bohr¶
(3,)Cartesian position of the atom this grid is centred on (bohr).- Type:
- r¶
(n_radial,)radial mesh in bohr (strictly positive).- Type:
- w_r¶
(n_radial,)radial weights such that∫_0^∞ f(r) r² dr ≈ Σ_k f(r_k) · w_k. Note: ther²Jacobian is already folded in;w_kalready carries it.- Type:
- angular_xyz¶
(n_angular, 3)Lebedev points on the unit sphere (unit-norm rows).- Type:
- w_a¶
(n_angular,)angular weights such that∫_S² g(Ω̂) dΩ̂ ≈ Σ_l g(Ω̂_l) · w_l,Σ_l w_l = 4π.- Type:
- radial_alpha¶
The Mura-Knowles
α(bohr) used to build the radial mesh. Carried for audit / reproduction.- Type:
- __init__(centre_bohr, r, w_r, angular_xyz, w_a, radial_alpha, lebedev_order)¶
Methods
__init__(centre_bohr, r, w_r, angular_xyz, ...)build(centre_bohr, *[, n_radial, alpha, ...])Build a Mura-Knowles × Lebedev grid centred on
centre_bohr.Return
(n_radial, n_angular, 3)Cartesian pointsr_k · Ω̂_l + R_atom.Return
(n_radial, n_angular)product weightsw_k · w_l.Return
(n_components, n_angular)real spherical harmonicsY_lmevaluated at this grid's Lebedev points.from_element(centre_bohr, Z, *[, n_radial, ...])Build with a per-element default
αfromdefault_alpha_for_element().integrate(values)Quadrature:
Σ_kl values[k, l] · w_k · w_l.Attributes
- cartesian_points()[source]¶
Return
(n_radial, n_angular, 3)Cartesian pointsr_k · Ω̂_l + R_atom.- Return type:
- combined_weights()[source]¶
Return
(n_radial, n_angular)product weightsw_k · w_l. The integral of a functionf(r, Ω̂)isΣ_kl f(r_k, Ω̂_l) · w_k · w_l.- Return type:
- integrate(values)[source]¶
Quadrature:
Σ_kl values[k, l] · w_k · w_l.valuesis(n_radial, n_angular)evaluated atcartesian_points().
- classmethod build(centre_bohr, *, n_radial=50, alpha=5.0, lebedev_order=17)[source]¶
Build a Mura-Knowles × Lebedev grid centred on
centre_bohr.- Parameters:
centre_bohr (ndarray) –
(3,)Cartesian atom position.n_radial (int) – Number of radial points (CP2K default 50, production 100+).
alpha (float) – Mura-Knowles radial scale (bohr). Use
default_alpha_for_element()for per-Z defaults.lebedev_order (int) – Lebedev algebraic order. 17 is sufficient for ℓ_max = 8 spherical harmonics — comfortably above the d / f level needed for typical GAPW projector multipoles.
- Return type:
- evaluate_real_spherical_harmonics(lmax)[source]¶
Return
(n_components, n_angular)real spherical harmonicsY_lmevaluated at this grid’s Lebedev points.Components are ordered by
multipole_index(l, m)— l = 0: (l=0, m=0); l = 1: (1, -1), (1, 0), (1, 1); …n_components = (lmax + 1) ** 2.
- classmethod from_element(centre_bohr, Z, *, n_radial=50, lebedev_order=17, quiet=False)[source]¶
Build with a per-element default
αfromdefault_alpha_for_element().Emits
GAPWExperimentalWarningto remind callers the M3b augmentation infrastructure is experimental.