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'], 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.Element
return.
- 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
- 1(1,2,3)
Shannon RD (1976). Revised effective ionic radii and systematic studies of interatomic distances in halides and chalcogenides. Acta Crystallographica Section A 32:751–767. doi: 10.1107/S0567739476001551
- 2(1,2)
Whittaker, E.J.W., Muntus, R., 1970. Ionic radii for use in geochemistry. Geochimica et Cosmochimica Acta 34, 945–956. doi: 10.1016/0016-7037(70)90077-3
- 3(1,2)
Pauling, L., 1960. The Nature of the Chemical Bond. Cornell University Press, Ithaca, NY.
Todo
Implement interpolation for coordination +/- charge.