pymatgen.core.periodic_table module¶
-
class
DummySpecie(symbol=u'X', oxidation_state=0, properties=None)[source]¶ Bases:
pymatgen.core.periodic_table.SpecieA special specie for representing non-traditional elements or species. For example, representation of vacancies (charged or otherwise), or special sites, etc.
Parameters: - symbol (str) – An assigned symbol for the dummy specie. Strict rules are applied to the choice of the symbol. The dummy symbol cannot have any part of first two letters that will constitute an Element symbol. Otherwise, a composition may be parsed wrongly. E.g., “X” is fine, but “Vac” is not because Vac contains V, a valid Element.
- oxidation_state (float) – Oxidation state for dummy specie. Defaults to zero.
-
symbol¶ Symbol for the DummySpecie.
-
oxi_state¶ Oxidation state associated with Specie.
-
Z¶ DummySpecie is always assigned an atomic number equal to the hash number of the symbol. Obviously, it makes no sense whatsoever to use the atomic number of a Dummy specie for anything scientific. The purpose of this is to ensure that for most use cases, a DummySpecie behaves no differently from an Element or Specie.
-
X¶ DummySpecie is always assigned an electronegativity of 0.
-
X DummySpecie is always assigned an electronegativity of 0. The effect of this is that DummySpecie are always sorted in front of actual Specie.
-
Z DummySpecie is always assigned an atomic number equal to the hash of the symbol. The expectation is that someone would be an actual dummy to use atomic numbers for a Dummy specie.
-
static
from_string(species_string)[source]¶ Returns a Dummy from a string representation.
Parameters: species_string (str) – A string representation of a dummy species, e.g., “X2+”, “X3+”. Returns: A DummySpecie object. Raises: ValueError if species_string cannot be intepreted.
-
oxi_state Oxidation state associated with DummySpecie
-
classmethod
safe_from_composition(comp, oxidation_state=0)[source]¶ Returns a DummySpecie object that can be safely used with (i.e. not present in) a given composition
-
symbol
-
class
Element(symbol)[source]¶ Bases:
enum.EnumBasic immutable element object with all relevant properties. Only one instance of Element for each symbol is stored after creation, ensuring that a particular element behaves like a singleton. For all attributes, missing data (i.e., data for which is not available) is represented by a None unless otherwise stated.
Parameters: symbol (str) – Element symbol, e.g., “H”, “Fe” -
Z¶ Atomic number
-
symbol¶ Element symbol
-
X¶ Pauling electronegativity. Elements without an electronegativity number are assigned a value of zero by default.
-
number¶ Alternative attribute for atomic number
-
max_oxidation_state¶ Maximum oxidation state for element
-
min_oxidation_state¶ Minimum oxidation state for element
-
oxidation_states¶ Tuple of all known oxidation states
-
common_oxidation_states¶ Tuple of all common oxidation states
-
full_electronic_structure¶ Full electronic structure as tuple. E.g., The electronic structure for Fe is represented as: [(1, “s”, 2), (2, “s”, 2), (2, “p”, 6), (3, “s”, 2), (3, “p”, 6), (3, “d”, 6), (4, “s”, 2)]
-
row¶ Returns the periodic table row of the element.
-
group¶ Returns the periodic table group of the element.
-
block¶ Return the block character “s,p,d,f”
-
is_noble_gas¶ True if element is noble gas.
-
is_transition_metal¶ True if element is a transition metal.
-
is_post_transition_metal¶ True if element is a post transition metal.
-
is_rare_earth_metal¶ True if element is a rare earth metal.
-
is_metalloid¶ True if element is a metalloid.
-
is_alkali¶ True if element is an alkali metal.
-
is_alkaline¶ True if element is an alkaline earth metal (group II).
-
is_halogen¶ True if element is a halogen.
-
is_lanthanoid¶ True if element is a lanthanoid.
-
is_actinoid¶ True if element is a actinoid.
-
long_name¶ Long name for element. E.g., “Hydrogen”.
-
atomic_mass¶ Atomic mass for the element.
-
atomic_radius¶ Atomic radius for the element. This is the empirical value. Data is obtained from http://en.wikipedia.org/wiki/Atomic_radii_of_the_elements_(data_page).
-
atomic_radius_calculated¶ Calculated atomic radius for the element. This is the empirical value. Data is obtained from http://en.wikipedia.org/wiki/Atomic_radii_of_the_elements_(data_page).
-
van_der_waals_radius¶ Van der Waals radius for the element. This is the empirical value. Data is obtained from http://en.wikipedia.org/wiki/Atomic_radii_of_the_elements_(data_page).
-
mendeleev_no¶ Mendeleev number
-
electrical_resistivity¶ Electrical resistivity
-
velocity_of_sound¶ Velocity of sound
-
reflectivity¶ Reflectivity
-
refractive_index¶ Refractice index
-
poissons_ratio¶ Poisson’s ratio
-
molar_volume¶ Molar volume
-
electronic_structure¶ Electronic structure. Simplified form with HTML formatting. E.g., The electronic structure for Fe is represented as [Ar].3d<sup>6</sup>.4s<sup>2</sup>
-
atomic_orbitals¶ Atomic Orbitals. Energy of the atomic orbitals as a dict. E.g., The orbitals energies in eV are represented as {‘1s’: -1.0, ‘2s’: -0.1} Data is obtained from https://www.nist.gov/pml/data/atomic-reference-data-electronic-structure-calculations The LDA values for neutral atoms are used
-
thermal_conductivity¶ Thermal conductivity
-
boiling_point¶ Boiling point
-
melting_point¶ Melting point
-
critical_temperature¶ Critical temperature
-
superconduction_temperature¶ Superconduction temperature
-
liquid_range¶ Liquid range
-
bulk_modulus¶ Bulk modulus
-
youngs_modulus¶ Young’s modulus
-
brinell_hardness¶ Brinell hardness
-
rigidity_modulus¶ Rigidity modulus
-
mineral_hardness¶ Mineral hardness
-
vickers_hardness¶ Vicker’s hardness
-
density_of_solid¶ Density of solid phase
-
coefficient_of_linear_thermal_expansion¶ Coefficient of linear thermal expansion
-
average_ionic_radius¶ Average ionic radius for element in ang. The average is taken over all oxidation states of the element for which data is present.
-
ionic_radii¶ All ionic radii of the element as a dict of {oxidation state: ionic radii}. Radii are given in ang.
-
Ac= u'Ac'¶
-
Ag= u'Ag'¶
-
Al= u'Al'¶
-
Am= u'Am'¶
-
Ar= u'Ar'¶
-
As= u'As'¶
-
At= u'At'¶
-
Au= u'Au'¶
-
B= u'B'¶
-
Ba= u'Ba'¶
-
Be= u'Be'¶
-
Bi= u'Bi'¶
-
Bk= u'Bk'¶
-
Br= u'Br'¶
-
C= u'C'¶
-
Ca= u'Ca'¶
-
Cd= u'Cd'¶
-
Ce= u'Ce'¶
-
Cf= u'Cf'¶
-
Cl= u'Cl'¶
-
Cm= u'Cm'¶
-
Co= u'Co'¶
-
Cr= u'Cr'¶
-
Cs= u'Cs'¶
-
Cu= u'Cu'¶
-
Dy= u'Dy'¶
-
Er= u'Er'¶
-
Es= u'Es'¶
-
Eu= u'Eu'¶
-
F= u'F'¶
-
Fe= u'Fe'¶
-
Fm= u'Fm'¶
-
Fr= u'Fr'¶
-
Ga= u'Ga'¶
-
Gd= u'Gd'¶
-
Ge= u'Ge'¶
-
H= u'H'¶
-
He= u'He'¶
-
Hf= u'Hf'¶
-
Hg= u'Hg'¶
-
Ho= u'Ho'¶
-
I= u'I'¶
-
In= u'In'¶
-
Ir= u'Ir'¶
-
K= u'K'¶
-
Kr= u'Kr'¶
-
La= u'La'¶
-
Li= u'Li'¶
-
Lr= u'Lr'¶
-
Lu= u'Lu'¶
-
Md= u'Md'¶
-
Mg= u'Mg'¶
-
Mn= u'Mn'¶
-
Mo= u'Mo'¶
-
N= u'N'¶
-
Na= u'Na'¶
-
Nb= u'Nb'¶
-
Nd= u'Nd'¶
-
Ne= u'Ne'¶
-
Ni= u'Ni'¶
-
No= u'No'¶
-
Np= u'Np'¶
-
O= u'O'¶
-
Os= u'Os'¶
-
P= u'P'¶
-
Pa= u'Pa'¶
-
Pb= u'Pb'¶
-
Pd= u'Pd'¶
-
Pm= u'Pm'¶
-
Po= u'Po'¶
-
Pr= u'Pr'¶
-
Pt= u'Pt'¶
-
Pu= u'Pu'¶
-
Ra= u'Ra'¶
-
Rb= u'Rb'¶
-
Re= u'Re'¶
-
Rh= u'Rh'¶
-
Rn= u'Rn'¶
-
Ru= u'Ru'¶
-
S= u'S'¶
-
Sb= u'Sb'¶
-
Sc= u'Sc'¶
-
Se= u'Se'¶
-
Si= u'Si'¶
-
Sm= u'Sm'¶
-
Sn= u'Sn'¶
-
Sr= u'Sr'¶
-
Ta= u'Ta'¶
-
Tb= u'Tb'¶
-
Tc= u'Tc'¶
-
Te= u'Te'¶
-
Th= u'Th'¶
-
Ti= u'Ti'¶
-
Tl= u'Tl'¶
-
Tm= u'Tm'¶
-
U= u'U'¶
-
V= u'V'¶
-
W= u'W'¶
-
X
-
Xe= u'Xe'¶
-
Y= u'Y'¶
-
Yb= u'Yb'¶
-
Zn= u'Zn'¶
-
Zr= u'Zr'¶
-
as_dict()[source]¶ Makes Element obey the general json interface used in pymatgen for easier serialization.
-
average_ionic_radius
-
block Return the block character “s,p,d,f”
-
common_oxidation_states Tuple of all known oxidation states
-
data¶ Returns dict of data for element.
-
full_electronic_structure Full electronic structure as tuple. E.g., The electronic structure for Fe is represented as: [(1, “s”, 2), (2, “s”, 2), (2, “p”, 6), (3, “s”, 2), (3, “p”, 6), (3, “d”, 6), (4, “s”, 2)]
-
ground_state_term_symbol¶ Ground state term symbol Selected based on Hund’s Rule
-
group Returns the periodic table group of the element.
-
icsd_oxidation_states¶ Tuple of all oxidation states with at least 10 instances in ICSD database AND at least 1% of entries for that element
-
ionic_radii
-
is_actinoid True if element is a actinoid.
-
is_alkali True if element is an alkali metal.
-
is_alkaline True if element is an alkaline earth metal (group II).
-
is_chalcogen¶ True if element is a chalcogen.
-
is_halogen True if element is a halogen.
-
is_lanthanoid True if element is a lanthanoid.
-
is_metalloid True if element is a metalloid.
-
is_noble_gas True if element is noble gas.
-
is_post_transition_metal True if element is a post-transition or poor metal.
-
is_quadrupolar¶ Checks if this element can be quadrupolar
-
is_rare_earth_metal True if element is a rare earth metal.
-
is_transition_metal True if element is a transition metal.
-
max_oxidation_state Maximum oxidation state for element
-
metallic_radius¶
-
min_oxidation_state Minimum oxidation state for element
-
nmr_quadrupole_moment¶ Get a dictionary the nuclear electric quadrupole moment in units of e*millibarns for various isotopes
-
number Alternative attribute for atomic number
-
oxidation_states Tuple of all known oxidation states
-
row Returns the periodic table row of the element.
-
term_symbols¶ All possible Russell-Saunders term symbol of the Element eg. L = 1, n_e = 2 (s2) returns
[[‘1D2’], [‘3P0’, ‘3P1’, ‘3P2’], [‘1S0’]]
-
valence¶ # From full electron config obtain valence subshell # angular moment (L) and number of valence e- (v_e)
-
-
class
Specie(symbol, oxidation_state=None, properties=None)[source]¶ Bases:
monty.json.MSONableAn extension of Element with an oxidation state and other optional properties. Properties associated with Specie should be “idealized” values, not calculated values. For example, high-spin Fe2+ may be assigned an idealized spin of +5, but an actual Fe2+ site may be calculated to have a magmom of +4.5. Calculated properties should be assigned to Site objects, and not Specie.
Parameters: - symbol (str) – Element symbol, e.g., Fe
- oxidation_state (float) – Oxidation state of element, e.g., 2 or -2
- properties – Properties associated with the Specie, e.g., {“spin”: 5}. Defaults to None. Properties must be one of the Specie supported_properties.
-
oxi_state¶ Oxidation state associated with Specie
-
ionic_radius¶ Ionic radius of Specie (with specific oxidation state).
Changed in version 2.6.7: Properties are now checked when comparing two Species for equality.
-
element¶ Underlying element object
-
static
from_string(species_string)[source]¶ Returns a Specie from a string representation.
Parameters: species_string (str) – A typical string representation of a species, e.g., “Mn2+”, “Fe3+”, “O2-“. Returns: A Specie object. Raises: ValueError if species_string cannot be intepreted.
-
get_crystal_field_spin(coordination=u'oct', spin_config=u'high')[source]¶ Calculate the crystal field spin based on coordination and spin configuration. Only works for transition metal species.
Parameters: - coordination (str) – Only oct and tet are supported at the moment.
- spin_config (str) – Supported keywords are “high” or “low”.
Returns: Crystal field spin in Bohr magneton.
Raises: - AttributeError if species is not a valid transition metal or has
- an invalid oxidation state.
- ValueError if invalid coordination or spin_config.
-
get_nmr_quadrupole_moment(isotope=None)[source]¶ Gets the nuclear electric quadrupole moment in units of e*millibarns
Parameters: isotope (str) – the isotope to get the quadrupole moment for default is None, which gets the lowest mass isotope
-
get_shannon_radius(cn, spin=u'', radius_type=u'ionic')[source]¶ Get the local environment specific ionic radius for species.
Parameters: - cn (str) – Coordination using roman letters. Supported values are I-IX, as well as IIIPY, IVPY and IVSQ.
- spin (str) – Some species have different radii for different spins. You can get specific values using “High Spin” or “Low Spin”. Leave it as “” if not available. If only one spin data is available, it is returned and this spin parameter is ignored.
- radius_type (str) – Either “crystal” or “ionic” (default).
Returns: Shannon radius for specie in the specified environment.
-
ionic_radius Ionic radius of specie. Returns None if data is not present.
-
oxi_state Oxidation state of Specie.
-
supported_properties= (u'spin',)¶
-
get_el_sp(obj)[source]¶ Utility method to get an Element or Specie from an input obj. If obj is in itself an element or a specie, it is returned automatically. If obj is an int or a string representing an integer, the Element with the atomic number obj is returned. If obj is a string, Specie parsing will be attempted (e.g., Mn2+), failing which Element parsing will be attempted (e.g., Mn), failing which DummyElement parsing will be attempted.
Parameters: obj (Element/Specie/str/int) – An arbitrary object. Supported objects are actual Element/Specie objects, integers (representing atomic numbers) or strings (element symbols or species strings). Returns: Specie or Element, with a bias for the maximum number of properties that can be determined. Raises: ValueError if obj cannot be converted into an Element or Specie.