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 a set (True) or list (False).

Returns

List of elements.

Return type

list | set

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.

Parameters
  • output (str) – Whether to return output list as formulae (‘formula’) or strings (anthing else).

  • dropPm (bool) – Whether to exclude the (almost) non-existent element Promethium from the REE list.

Returns

List of REE.

Return type

list | set

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

list | set

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 a set (True) or list (False).

Returns

List of oxides.

Return type

list | set

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

list | set

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
Returns

List of cations.

Return type

list

Todo

pyrolite.geochem.ind.get_isotopes(ratio_text)[source]

Regex for isotope ratios.

Parameters

ratio_text (str) – Text to extract isotope ratio components from.

Returns

Isotope ration numerator and denominator.

Return type

list

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
  • els (list) – List of element names to be reodered.

  • reverse (bool) – Whether to reverse the ordering.

Returns

Reordered list of elements.

Return type

list

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.

Parameters
  • els (list) – List of element names to be reodered.

  • reverse (bool) – Whether to reverse the ordering.

Returns

Reordered list of elements.

Return type

list

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 from pyrolite.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

pandas.Series | float

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.