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. Deprecated.
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
en_allen (float) – ELectronegativity by Allen
en_ghosh (float) – Electronegativity by Ghosh
en_miedema (float) – Electronegativity by Miedema
en_pauling (float) – Electronegativity by Pauling
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
- property annotation¶
Temporary property before before removing annotation
- property boiling_point: float | None¶
Proxy for boiling point from the
PhaseTransition
object.For elements with a single allotrope return the boiling point, for elements with multiple allotropes where the boiling points are equal return the boiling point, otherwise return None.
- covalent_radius¶
Return the default covalent radius i.e.
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.
0. (Default is)
\[\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¶
Alias for
atomic_weight
.
- property melting_point: float | None¶
Proxy for melting point from the
PhaseTransition
object.For elements with a single allotrope return the melting point, for elements with multiple allotropes where the melting points are equal return the melting point, otherwise return None.
- 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
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
Group¶
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¶
- class IonizationEnergy(**kwargs)[source]¶
Ionization energies of an element
- Parameters:
atomic_number (int) – Atomic number
ionization_energy (float) – Ionization energy in eV
energy (float) – alias for ionization_energy
ground_configuration (str) – Ground state electronic configuration
ground_level (str) – Term symbol and J value for the largest component in the calculated eigenvector of the ground level.
ground_shells (str) – Ground state shells
ion_charge (int) – Charge of the ion, i.e. the degree of ionization with respect to neutral atom
degree (int) – Degree of ionization, equal to ion_charge + 1.
ionized_level (str) – Configuration, term, and J value corresponding to the ground state of the next ion
is_semi_empirical (bool) – Flag indicating that the energy is determined by interpolation, extrapolation, or other semi-empirical procedure relying on some known experimental values.
is_theoretical (bool) – Flag indicating that the energy have been determined from an ab-initio calculation, or are otherwise not derived from evaluated experimental data
isoelectonic_sequence (str) – Isoelectronic sequence
references (str) – References
species_name (str) – Name of the species
uncertainty (float) – Uncertainty in the ionization energy
Data parsed from http://physics.nist.gov/cgi-bin/ASD/ie.pl on October 19, 2024.
- degree¶
ion_charge + 1 provided for backwards compatibility
- energy¶
Alias for ionization_energy for backwards compatibility
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
IsotopeDecayMode¶
- class IsotopeDecayMode(**kwargs)[source]¶
- Parameters:
mode (str) – ASCII symbol for the decay mode
relation (str) – one of =, ~, <, > marking the intensity value
intensity (float) – intensity value
is_allowed_not_observed (bool) – if True it means that the decay mode is energetically allowed, but not experimentally observed
is_observed_intensity_unknown (bool) – if True it means that the decay mode is observed, but its intensity is not experimentally known
OxidationState¶
ScatteringFactor¶
- class ScatteringFactor(**kwargs)[source]¶
Atomic scattering factors
- Parameters:
\(f_1\) and \(f_2\) are the atomic (forward) scattering factors. There are 500+ points on a uniform logarithmic mesh with points added 0.1 eV above and below “sharp” absorption edges. (Note: below 29 eV \(f_1\) is set equal to -9999.) The tabulated values of \(f_1\) contain a relativistic, energy independent, correction given by, \(Z^{*} = Z - (Z/82.5)^{2.37}\).
The atomic photoabsorption cross section, \(\mu_a\), may be readily obtained from the values of \(f_2\) using the relation,
\[\mu_a = 2 \cdot r_0 \cdot \lambda \cdot f_2\]where \(r_0\) is the classical electron radius, and \(\lambda\) is the wavelength.
The index of refraction for a material with N atoms per unit volume is calculated by,
\[n = 1 - N \cdot r_0 \cdot \lambda^2 \cdot (f_1 + i f_2)/(2\cdot\pi).\]These (semi-empirical) atomic scattering factors are based upon photoabsorption measurements of elements in their elemental state. The basic assumption is that condensed matter may be modeled as a collection of non-interacting atoms. This assumption is in general a good one for energies sufficiently far from absorption thresholds. In the threshold regions, the specific chemical state is important and direct experimental measurements must be made.
These tables are based on a compilation of the available experimental measurements and theoretical calculations. For many elements there is little or no published data and in such cases it was necessary to rely on theoretical calculations and interpolations across Z. In order to improve the accuracy in the future considerably more experimental measurements are needed.
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
PhaseTransition¶
- class PhaseTransition(**kwargs)[source]¶
Phase Transition Conditions
- Parameters:
atomic_number (int) – Atomic number
boiling_point (float) – Boiling point in K
melting_point (float) – Melting points in K
critical_temperature (float) – Critical temperature in K
critical_pressure (float) – Critical pressure in MPa
triple_point_temperature (float) – Temperature in K of the triple point
triple_point_pressure (float) – Pressure in kPa of the triple point
alotrope (str) – Allotrope
PropertyMetadata¶
- class PropertyMetadata(**kwargs)[source]¶
Metadata for properties of elements and isotopes.
- Parameters:
annotations (str) – Additional information about the property.
attribute_name (str) – Name of the attribute of the ORM class.
category (str) – Category of the property.
citation_keys (str) – Comma separated list of citation keys. See references.bib for full bibliography.
class_name (str) – Name of the ORM class.
column_name (str) – Name of the column in the database.
description (str) – Description of the property.
table_name (str) – Name of the table in the database.
unit (str) – Unit of the property.
value_origin (ValueOrigin) – Origin of the value, either stored or computed.