Models¶
Element¶
- class Element(**kwargs)[source]¶
Chemical element.
For full list of available data with references see Data and data acess for documentation on accessing data.
- Parameters:
abundance_crust (float) – Abundance in the earth’s crust in mg/kg
abundance_sea (float) – Abundance in the seas in mg/L
annotation (str) – Annotations regarding the data
atomic_number (int) – Atomic number
atomic_radius (float) – Atomic radius in pm
atomic_radius_rahm (float) – Atomic radius by Rahm et al. in pm
atomic_volume (float) – Atomic volume in cm3/mol
atomic_weight (float) – Relative atomic weight as the ratio of the average mass of atoms of the element to 1/12 of the mass of an atom of 12C
block (str) – Block in periodic table, s, p, d, f
boiling_point (float) – Boiling temperature in K
c6 (float) – C_6 dispersion coefficient in a.u. from X. Chu & A. Dalgarno, J. Chem. Phys., 121(9), 4083-4088 (2004) doi:10.1063/1.1779576, and the value for Hydrogen was taken from K. T. Tang, J. M. Norbeck and P. R. Certain, J. Chem. Phys. 64, 3063 (1976), doi:10.1063/1.432569
c6_gb (float) – C_6 dispersion coefficient in a.u. from Gould, T., & Bučko, T. (2016). JCTC, 12(8), 3603-3613. http://doi.org/10.1021/acs.jctc.6b00361
cas (str) – Chemical Abstracts Service identifier
covalent_radius_bragg (float) – Covalent radius in pm from
covalent_radius_cordero (float) – Covalent radius in pm from Cordero, B., Gómez, V., Platero-Prats, A. E., Revés, M., Echeverría, J., Cremades, E., … Alvarez, S. (2008). Covalent radii revisited. Dalton Transactions, (21), 2832. doi:10.1039/b801115j
covalent_radius_pyykko (float) – Single bond covalent radius in pm Pyykkö, P., & Atsumi, M. (2009). Molecular Single-Bond Covalent Radii for Elements 1-118. Chemistry - A European Journal, 15(1), 186-197. doi:10.1002/chem.200800987
covalent_radius_pyykko_double (float) – Double bond covalent radius in pm from P. Pyykkö et al.
covalent_radius_pyykko_triple (float) – Triple bond covalent radius in pm from P. Pyykkö et al.
cpk_color (str) – CPK color of the atom in HEX, see http://jmol.sourceforge.net/jscolors/#color_U
density (float) – Density at 295K in g/cm3
description (str) – Short description of the element
dipole_polarizability (float) – Dipole polarizability in atomic units
dipole_polarizability_unc (float) – Uncertainty of the dipole polarizability
discoverers (str) – The discoverers of the element
discovery_location (str) – The location where the element was discovered
discovery_year (int) – The year the element was discovered
electron_affinity (float) – Electron affinity in eV
electrophilicity (float) – Parr’s electrophilicity index
econf (str) – Ground state electron configuration
evaporation_heat (float) – Evaporation heat in kJ/mol
fusion_heat (float) – Fusion heat in kJ/mol
gas_basicity (float) – Gas basicity
geochemical_class (str) – Geochemical classification of the elements
glawe_number (int) – Glawe number (scale)
goldschmidt_class (str) – Goldschmidt classification of the elements
group_id (int) – Group number
heat_of_formation (float) – Heat of formation in kJ/mol
inchi (str) – International Chemical Identifier
is_monoisotopic (bool) – A flag marking if the element is monoisotopic
jmol_color (str) – Color of the atom as used in Jmol, in HEX, see http://jmol.sourceforge.net/jscolors/#color_U
lattice_constant (float) – Lattice constant in ang
lattice_structure (str) – Lattice structure code
mass (float) – Relative atomic mass. Ratio of the average mass of atoms of the element to 1/12 of the mass of an atom of 12C
mendeleev_number (int) – Mendeleev number
melting_point (float) – Melting temperature in K
metallic_radius (float) – Single-bond metallic radius or metallic radius, have been calculated by Pauling using interatomic distances and an equation relating such distances with bond number
metallic_radius_c12 (float) – Metallic radius obtained by Pauling with an assumed number of nearest neighbors equal to 12
molar_heat_capacity (flaot) – Molar heat capacity in J/mol K
molcas_gv_color (str) – Color of an atom in HEX from MOLCAS GV http://www.molcas.org/GV/
name (str) – Name in English
name_origin (str) – Origin of the name
nist_webbook_url (str) – URL for the NIST Chemistry WebBook
period (int) – Period in periodic table
pettifor_number (int) – Pettifor scale
proton_affinity (float) – Proton affinity
series (int) – Index to chemical series
sources (str) – Sources of the element
specific_heat_capacity (float) – Specific heat in J/g K @ 20 C
symbol (str) – Chemical symbol
thermal_conductivity (float) – Thermal conductivity in @/m K @25 C
uses (str) – Uses of the element
vdw_radius (float) – Van der Waals radius in pm from W. M. Haynes, Handbook of Chemistry and Physics 95th Edition, CRC Press, New York, 2014, ISBN-10: 1482208679, ISBN-13: 978-1482208672.
vdw_radius_bondi (float) – Van der Waals radius according to Bondi in pm
vdw_radius_truhlar (float) – Van der Waals radius according to Truhlar in pm
vdw_radius_rt (float) – Van der Waals radius according to Rowland and Taylor in pm
vdw_radius_batsanov (float) – Van der Waals radius according to Batsanov in pm
vdw_radius_dreiding (float) – Van der Waals radius from the DREIDING force field in pm
vdw_radius_uff (float) – Van der Waals radius from the UFF in pm
vdw_radius_mm3 (float) – Van der Waals radius from MM3 in pm
oxistates (list) – Oxidation states
ionenergies (dict) – Ionization energies in eV parsed from http://physics.nist.gov/cgi-bin/ASD/ie.pl on April 13, 2015
- covalent_radius¶
Return the default covalent radius which is covalent_radius_pyykko
- electronegativity(scale: str = 'pauling', **kwargs) float [source]¶
Calculate the electronegativity using one of the methods
- Parameters:
scale – Name of the electronegativity scale, one of
kwargs – keyword arguments that are passed to compute a specific electronegativity
- electronegativity_allred_rochow(radius='covalent_radius_pyykko') float [source]¶
Allred-Rochow’s electronegativity
- electronegativity_cottrell_sutton(radius='covalent_radius_pyykko') float [source]¶
Cottrell-Sutton’s electronegativity
- electronegativity_li_xue(charge: int = 1, radius: str = 'crystal_radius') Dict[Tuple[str, str], float] [source]¶
Calculate the electronegativity of an atom according to the definition of Li and Xue
- Parameters:
charge – charge of the ion
radius – type of radius to be used in the calculation, either crystal_radius as recommended in the paper or ionic_radius
- Returns:
- dictionary with electronegativities as values and
coordination string as keys or tuple of coordination and spin if the ion is LS or HS
- Return type:
out (dict)
- electronegativity_martynov_batsanov() float [source]¶
Calculates the electronegativity value according to Martynov and Batsanov as the average of the ionization energies of the valence electrons
\[\chi_{MB} = \sqrt{\frac{1}{n_{v}}\sum^{n_{v}}_{k=1} I_{k}}\]where:
\(n_{v}\) is the number of valence electrons
\(I_{k}\) is the \(k\) th ionization potential.
- electronegativity_mulliken(charge: int = 0) float [source]¶
Return the absolute electronegativity (Mulliken scale).
- Parameters:
charge – charge of the ion
The value of electonegativity is calculated as:
\[\]chi = frac{I + A}{2}
where:
\(I\) is the ionization energy,
\(A\) is the electron affinity
- electronegativity_sanderson(radius='covalent_radius_pyykko') float [source]¶
Sanderson electronegativity
- Parameters:
radius – radius to use in the calculation
- electronegativity_scales(name: str = None) Callable | List[str] [source]¶
Available electronegativity scales
- electrons¶
Return the number of electrons.
- electrophilicity() float | None [source]¶
Calculate electrophilicity index
\[\omega = \frac{\mu}{2\eta}\]
- hardness(charge: int = 0) float | None [source]¶
Return the absolute hardness, calculated as
- Parameters:
charge – Charge of the cation for which the hardness will be calculated. Defaultf to 0.
\[\eta = \frac{IE - EA}{2}\]where:
\(IE\) is the ionization energy,
\(EA\) is the electron affinity
- inchi¶
International Chemical Identifier.
See: https://en.wikipedia.org/wiki/International_Chemical_Identifier
- mass¶
Return the atomic_weight if defined or mass number otherwise.
- oxidation_states(category: str = 'main') List[int] [source]¶
Utility method for accessing oxidation states.
- Parameters:
category (str) – Category of oxidation state, Either - main - for main, most common, oxidataion states - extended - for less common oxidation states - all - all oxidation states
- protons¶
Return the number of protons.
- softness(charge: int = 0) float | None [source]¶
Return the absolute softness.
- Parameters:
charge – Charge of the cation for which the hardness will be calculated
\[S = \frac{1}{2\eta}\]where :
\(\eta\) is the absolute hardness
- specific_heat¶
Alias for specific_heat_capacity for backwards compatibility
- zeff(n: int = None, o: str = None, method: str = 'slater', alle: bool = False) float | None [source]¶
Return the effective nuclear charge for
(n, s)
- Parameters:
method –
Method to calculate the screening constant, the choices are
- slater, for Slater’s method as in Slater, J. C. (1930).
Atomic Shielding Constants. Physical Review, 36(1), 57–64. doi:10.1103/PhysRev.36.57
- clementi for values of screening constants from Clementi, E.,
& Raimondi, D. L. (1963). Atomic Screening Constants from SCF Functions. The Journal of Chemical Physics, 38(11), 2686. doi:10.1063/1.1733573 and Clementi, E. (1967). Atomic Screening Constants from SCF Functions. II. Atoms with 37 to 86 Electrons. The Journal of Chemical Physics, 47(4), 1300. doi:10.1063/1.1712084
n – Principal quantum number
o – Orbital label, (s, p, d, …)
alle – Use all the valence electrons, i.e. calculate screening for an extra electron when method=’slater’, if method=’clementi’ this option is ignored
Ion¶
IonicRadius¶
- class IonicRadius(**kwargs)[source]¶
Effective ionic radii and crystal radii in pm retrieved from [1].
- Parameters:
atomic_number (int) – Atomic number
charge (int) – Charge of the ion
econf (str) – Electronic configuration of the ion
coordination (str) – Type of coordination
spin (str) – Spin state: HS - high spin, LS - low spin
crystal_radius (float) – Crystal radius in pm
ionic_radius (float) – Ionic radius in pm
origin (str) – Source of the data
most_reliable (bool) – Most reliable value (see reference)
IonizationEnergy¶
Isotope¶
- class Isotope(**kwargs)[source]¶
- Parameters:
abundance (float) – Abundance of the isotope
abundance_uncertainty (float) – Abundance uncertainty
atomic_number (int) – Atomic number
discovery_year (int) – Year the isotope was discovered
g_factor (float) – Dimensionless magnetic moment
g_factor_uncertainty (float) – Uncertainty for the g_factor
half_life (float) – Half life time
half_life_uncertainty (float) – Uncertainty for the half_life
half_life_unit (str) – Unit for the half life time
is_radioactive (bool) – A flag marking wheather the isotope is radioactive
mass (float) – Mass of the isotope
mass_number (int) – Mass number of the isotope
mass_uncertainty (float) – Uncertainty of the mass value
parity (str) – Parity, if present, it can be either + or -
quadrupole_moment (float) – Quadrupole moment
quadrupole_moment_uncertainty (float) – Uncertainty for the quadrupole_moment
spin (str) – Nuclear spin
- is_stable¶
Flag to indicate whether the isotope is stable
ScreeningConstant¶
- class ScreeningConstant(**kwargs)[source]¶
Nuclear screening constants from Clementi, E., & Raimondi, D. L. (1963). Atomic Screening Constants from SCF Functions. The Journal of Chemical Physics, 38(11), 2686. doi:10.1063/1.1733573 and Clementi, E. (1967). Atomic Screening Constants from SCF Functions. II. Atoms with 37 to 86 Electrons. The Journal of Chemical Physics, 47(4), 1300. doi:10.1063/1.1712084
- Args::
atomic_number (int): Atomic number n (int): Principal quantum number s (str): Subshell label, (s, p, d, …) screening (float): Screening constant
Series¶
- class Series(**kwargs)[source]¶
Name of the series in the periodic table.
- Parameters:
name (str) – Name of the series
color (str) – The HEX representation of a color of the series, the colors were obtained from ColorBrewer the qualitative 10-class paired colormap
Group¶
OxidationState¶
ElectronicConfiguration¶
- class ElectronicConfiguration(conf: str | Dict = None, atomre: str = None, shellre: str = None)[source]¶
Electronic configuration handler
- property conf: OrderedDict¶
Return the configuration
- get_largest_core() Tuple [source]¶
Find the largest noble gas core possible for the current configuration and return the symbol of the corresponding noble gas element.
- get_valence()[source]¶
Find the valence configuration i.e. remove the largest noble gas core from the current configuration and return the result.
- max_l(n: int) int [source]¶
Return the largest value of azimutal quantum number for a given value of principal quantum number
- Parameters:
n – int Principal quantum number
- Returns:
- int
Azimutal quantum number
- Return type:
l
- nvalence(block: str, period: int, method: str = None) int [source]¶
Return the number of valence electrons
- parse(string: str) None [source]¶
Parse a
string
with electronic configuration into anOrderedDict
representation
- slater_screening(n: int, o: str, alle: bool = False)[source]¶
Calculate the screening constant using the approach introduced by Slater in Slater, J. C. (1930). Atomic Shielding Constants. Physical Review, 36(1), 57-64. doi:10.1103/PhysRev.36.57
- Parameters:
n – int Principal quantum number
o – str orbtial label, (s, p, d, …)
alle – bool Use all the valence electrons, i.e. calculate screening for an extra electron
- spin_occupations()[source]¶
For each subshell calculate the number of alpha, beta electrons, electron pairs and unpaired electrons