Atom utilities#
pasted._atoms#
Atomic data (Z → symbol mapping, Pyykkö covalent radii) and all input-parsing / validation helpers that do not depend on numpy.
- pasted._atoms.PAULING_EN_FALLBACK: float = 1.0#
Fallback Pauling electronegativity for elements without a literature value (any symbol not in the table; Kr/Xe/other noble gases have explicit entries).
- pasted._atoms.cov_radius_ang(sym: str) float[source]#
Return the Pyykkö single-bond covalent radius in Å for sym.
For Z > 86 the same-group nearest lighter element is used as a proxy (e.g. Fr → Cs, U → Nd, Rf → Hf).
- pasted._atoms.default_element_pool() list[str][source]#
Return all supported element symbols (Z = 1–106), sorted by Z.
- pasted._atoms.parse_element_spec(spec: str) list[str][source]#
Parse an atomic-number spec string into a sorted list of element symbols.
Syntax#
"1-30"Z = 1 through 30"6,7,8"Z = 6, 7, 8"1-10,26,28"Z = 1–10 plus Z = 26 and 28- raises ValueError:
On malformed input or unsupported Z values.
- pasted._atoms.parse_filter(f: str) tuple[str, float, float][source]#
Parse
"METRIC:MIN:MAX"→(metric, lo, hi).Use
"-"for an open bound.- Raises:
ValueError – On unknown metric or malformed string.
- pasted._atoms.parse_int_range(s: str) tuple[int, int][source]#
Parse
"MIN:MAX"→(int, int)with MIN ≥ 1 and MIN ≤ MAX.
- pasted._atoms.parse_lo_hi(s: str, name: str = 'range') tuple[float, float][source]#
Parse
"LO:HI"→(float, float).
- pasted._atoms.pauling_electronegativity(sym: str) float[source]#
Return the Pauling electronegativity for element sym.
Values follow Pauling (1960) with IUPAC 2016 updates. Noble gases with no known compounds (He, Ne, Ar, Rn) are assigned 4.0 to model complete resistance to electron donation. Kr (≈ 3.0) and Xe (≈ 2.6) use literature estimates from the Allen / Allred-Rochow scale, reflecting their known tendency to form compounds (KrF₂, XeF₂, etc.). Any symbol not in the table returns
PAULING_EN_FALLBACK(1.0).- Parameters:
sym – Element symbol (case-sensitive, e.g.
"Fe").- Returns:
Pauling electronegativity. Noble gases return 4.0; any other element without a value returns 1.0.
- Return type:
- pasted._atoms.validate_charge_mult(atoms_list: list[str], charge: int, mult: int) tuple[bool, str][source]#
Check electron count and spin-parity for atoms_list.
- Returns:
ok is
Truewhen both conditions pass.- Return type:
(ok, message)
Electronegativity data#
- pasted._atoms.pauling_electronegativity(sym: str) float[source]#
Return the Pauling electronegativity for element sym.
Values follow Pauling (1960) with IUPAC 2016 updates. Noble gases with no known compounds (He, Ne, Ar, Rn) are assigned 4.0 to model complete resistance to electron donation. Kr (≈ 3.0) and Xe (≈ 2.6) use literature estimates from the Allen / Allred-Rochow scale, reflecting their known tendency to form compounds (KrF₂, XeF₂, etc.). Any symbol not in the table returns
PAULING_EN_FALLBACK(1.0).- Parameters:
sym – Element symbol (case-sensitive, e.g.
"Fe").- Returns:
Pauling electronegativity. Noble gases return 4.0; any other element without a value returns 1.0.
- Return type: