pyrolite.geochem.ind
Collections and indexes of elements and oxides, and functions for obtaining these and relevant properties (e.g. radii).
Todo
Incompatibility indexes for spider plot ordering.
- pyrolite.geochem.ind.common_elements(cutoff=92, output='string', order=None, as_set=False)[source]
Provides a list of elements up to a particular cutoff (by default including U).
- Parameters:
cutoff (
int) – Upper cutoff on atomic number for the output list. Defaults to stopping at uranium (92).output (
str) – Whether to return output list as formulae (‘formula’) or strings (anthing else).order (
callable) – Sorting function for elements.as_set (
bool,False) – Whether to return aset(True) orlist(False).- Returns:
List of elements.
- Return type:
Notes
Formulae cannot be used as members of a set, and hence sets returned will instead consist only of strings.
Todo
Implement ordering for e.g. incompatibility.
- pyrolite.geochem.ind.REE(output='string', dropPm=True)[source]
Provides a list of Rare Earth Elements.
- pyrolite.geochem.ind.REY(output='string', dropPm=True)[source]
Provides a list of Rare Earth Elements, with the addition of Yttrium.
- Parameters:
output (
str) – Whether to return output list as formulae (‘formula’) or strings (anthing else).- Returns:
List of REE+Y.
- Return type:
Notes
This currently modifies the hardcoded list of
REE(), but could be adapated for different element ordering.
- pyrolite.geochem.ind.common_oxides(elements: list = [], output='string', addition: list = ['FeOT', 'Fe2O3T', 'LOI'], exclude=['O', 'He', 'Ne', 'Ar', 'Kr', 'Xe'], as_set=False)[source]
Creates a list of oxides based on a list of elements.
- Parameters:
elements (
list, []) – List of elements to obtain oxide forms for.output (
str) – Whether to return output list as formulae (‘formula’) or strings (anthing else).addition (
list, []) – Additional components to append to the list.exclude (
list) – Elements to not produce oxide forms for (e.g. oxygen, noble gases).as_set (
bool) – Whether to return aset(True) orlist(False).- Returns:
List of oxides.
- Return type:
Notes
Formulae cannot be used as members of a set, and hence sets returned will instead consist only of strings.
Todo
Element verification
Conditional additional components on the presence of others (e.g. Fe - FeOT)
- pyrolite.geochem.ind.simple_oxides(cation, output='string')[source]
Creates a list of oxides for a cationic element (oxide of ions with c=1+ and above).
- Parameters:
cation (
str|periodictable.core.Element) – Cation to obtain oxide forms for.output (
str) – Whether to return output list as formulae (‘formula’) or strings (anthing else).- Returns:
List of oxides.
- Return type:
- pyrolite.geochem.ind.get_cations(component: str, exclude=['O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O', 'O'], total_suffix='T')[source]
Returns the principal cations in an oxide component.
- Parameters:
component (
str|periodictable.formulas.Formula) – Component to obtain cations for.exclude (
list) – Components to exclude, i.e. anions (e.g. O, Cl, F).- Returns:
List of cations.
- Return type:
Todo
Consider implementing
periodictable.core.Elementreturn.
- pyrolite.geochem.ind.by_incompatibility(els, reverse=False)[source]
Order a list of elements by their relative ‘incompatibility’ given by a proxy of the relative abundances in Bulk Continental Crust over a Primitive Mantle Composition.
- Parameters:
- Returns:
Reordered list of elements.
- Return type:
Notes
Some elements are missing from this list, as as such will be omitted.
- pyrolite.geochem.ind.by_number(els, reverse=False)[source]
Order a list of elements by their atomic number.
- pyrolite.geochem.ind.get_ionic_radii(element, charge=None, coordination=None, variant=[], source='shannon', pauling=True, **kwargs)[source]
Function to obtain ionic radii for a given ion and coordination [1] [2].
- Parameters:
element (
str|list) – Element to obtain a radii for. If a list is passed, the function will be applied over each of the items.charge (
int) – Charge of the ion to obtain a radii for. If unspecified will use the default charge frompyrolite.mineral.ions.coordination (
int) – Coordination of the ion to obtain a radii for.variant (
list) – List of strings specifying particular variants (here ‘squareplanar’ or ‘pyramidal’, ‘highspin’ or ‘lowspin’).source (
str) – Name of the data source for ionic radii (‘shannon’ [1] or ‘whittaker’ [2]).pauling (
bool) – Whether to use the radii consistent with Pauling (1960) [3] from the Shannon (1976) radii dataset [1].- Returns:
Series with viable ion charge and coordination, with associated radii in angstroms. If the ion charge and coordiation are completely specified and found in the table, a single value will be returned instead.
- Return type:
Notes
Shannon published two sets of radii. The first (‘Crystal Radii’) were using Shannon’s value for \(r(O^{2-}_{VI})\) of 1.26 Å, while the second (‘Ionic Radii’) is consistent with the Pauling (1960) value of \(r(O^{2-}_{VI})\) of 1.40 Å [3].
References
Todo
Implement interpolation for coordination +/- charge.