molfoundry.AtomId#
- class molfoundry.AtomId#
Identifies a chemical element and exposes its data from the shared
Atomtable.Construct one by symbol or by atomic number:
carbon = AtomId.bySymbol("C") carbon = AtomId.byId(6) print(carbon.protons, carbon.valenceElectrons, carbon.orbitalNames)
AtomIdis also whatVertex.atomIdreturns. An AtomId that comes from a non-atom vertex (e.g. an electron), an unknown symbol, or an unknown atomic number is invalid:validisFalse,idis available, and every element property raisesLogicError.- static bySymbol(symbol)#
Look up an element by symbol (e.g.
"C"). Invalid if unknown.
- static byId(id)#
Look up an element by atomic number / id (e.g.
6-> carbon). Invalid if no element has that atomic number.
- property principalQuantumNumber: int#
The principal quantum number of the atom (highest principal shell).
Note: This strictly follows the Aufbau prediction and may deviate from some experimental results.
- property valenceElectrons: int#
Number of valence electrons determined by the Aufbau prediction (electrons in the highest principal shell).
Note: This strictly follows the Aufbau prediction and may deviate from some experimental results.
- property orbitals: List[List[int]]#
one inner list per occupied orbital, each entry a 1 (single electron) or 2 (pair).
Note: This strictly follows the Aufbau prediction and may deviate from some experimental results.
- Type:
Electron occupancy per orbital, in fill order
- property orbitalNames: List[str]#
Orbital names with occupancy, e.g.
["1s2", "2s2", "2p2"].Note: This strictly follows the Aufbau prediction and may deviate from some experimental results.
- property isotopicMasses: Dict[int, float]#
Mapping of mass number to isotopic mass. Empty when untabulated. Data is based on https://ciaaw.org/atomic-masses.htm