Mineral Database
pyrolite includes a limited mineral database which is useful for looking up endmember compositions.
import pandas as pd
from pyrolite.mineral.mindb import (
get_mineral,
get_mineral_group,
list_formulae,
list_groups,
list_minerals,
)
pd.set_option("display.precision", 3) # smaller outputs
From the database, you can get the list of its contents using a few utility functions:
['olivine', 'amphibole', 'epidote', 'pyroxene', 'garnet', 'mica', 'feldspar', 'spinel']
['majorite', 'taramite', 'hastingsite', 'winchite', 'ferrotschermakite', 'magnesioarfvedsonite', 'spinel', 'kosmochlor', 'polylithionite', 'eckermanite', 'anthopyllite', 'spessartine', 'liebenbergite', 'eastonite', 'diopside', 'katophorite', 'clinozoisite', 'spodumene', 'ferrorichterite', 'ferrokaersutite', 'tremolite', 'andradite', 'magnesioreibeckite', 'celadonite', 'aegirine', 'uvarovite', 'ferrosilite', 'jadeite', 'clintonite', 'tschermakite', 'glaucophane', 'trilithionite', 'forsterite', 'ferrokatophorite', 'ferroeckermanite', 'piemontite', 'esseneite', 'microcline', 'magnesiohornblende', 'chromoceladonite', 'manganiceladonite', 'almandine', 'magnesioferrite', 'namansilite', 'magnesiohastingsite', 'allanite', 'chromphyllite', 'ferropargasite', 'ferroaluminoceladonite', 'richterite', 'kaersutite', 'riebeckite', 'paragonite', 'ferroceladonite', 'fayalite', 'hedenbergite', 'chromite', 'magnetite', 'muscovite', 'margarite', 'pyrope', 'enstatite', 'morimotoite', 'siderophyllite', 'annite', 'tephroite', 'epidote', 'phlogopite', 'magnesiochromite', 'ferrohornblende', 'barroisite', 'albite', 'pargasite', 'arvedsonite', 'gedrite', 'edenite', 'anorthite', 'hercynite', 'ferroedenite', 'phengite', 'aluminoceladonite', 'johannsenite', 'grossular']
['Na(Na2)(Fe{2+}4Fe{3+})(Si8)O22(OH)2', 'K2(Fe{3+}2Fe{2+}2)(Si8)O20(OH)4', '(Na2)(Mg3Al2)(Si8)O22(OH)2', 'Mg3(MgSi)(SiO4)3', 'Fe2SiO4', 'MgCr{3+}2O4', 'K2(Al3Mg)(Si7Al)O20(OH)4', 'Ca3Cr2(SiO4)3', 'Na(Na2)(Fe4Al)(Si8)O22(OH)2', 'Ca2(Mg4Al2)(Si2Al6)O20(OH)4', 'Na(Ca2)(Fe4Ti)(Si6Al2)O22(OH)2', 'KAlSi3O8', 'Ca3(TiFe{2+})(SiO4)3', 'K2(Mg4)(Si4Al6)O20(OH)4', 'K2(Fe{2+}2Al2)(Si8)O20(OH)4', '(Ca2)(Fe4Al)(Si7Al)O22(OH)2', 'LiAlSi2O6', '(Ca2)(Mg5)(Si8)O22(OH)2', 'Na(NaCa)(Mg5)(Si8)O22(OH)2', 'NaFe{3+}Si2O6', 'K2(Mg2Al2)(Si8)O20(OH)4', 'NaCrSi2O6', 'K2(Fe{2+}4)(Si4Al6)O20(OH)4', 'K2(Cr{3+}4)(Si6Al2)O20(OH)4', 'Na(NaCa)(Mg4Al)(Si7Al)O22(OH)2', 'Na(Ca2)(Mg4Al)(Si6Al2)O22(OH)2', 'Mn2SiO4', 'NaAlSi2O6', 'NaAlSi3O8', 'CaMgSi2O6', '(NaCa)(Mg3Al2)(Si7Al)O22(OH)2', 'Ca2Al3(Si2O7)(SiO4)O(OH)', 'K2(Al3Li3)(Si6Al2)O20(OH)4', 'CaAlFe{3+}SiO6', 'K2(Fe{3+}2Mg2)(Si8)O20(OH)4', 'K2(Al2Li2)(Si8)O20(OH)4', 'Fe{2+}Cr{3+}2O4', 'K2(Fe{2+}6)(Si6Al2)O20(OH)4', 'CaFeSi2O6', 'MgFe{3+}2O4', 'Mg2SiO4', '(Mg2)(Mg3Al2)(Si6Al2)O22(OH)2', 'NaMn{3+}Si2O6', 'CaMnSi2O6', 'Na(Ca2)(Mg4Ti)(Si6Al2)O22(OH)2', 'Ca3Al2(SiO4)3', 'Ni1.5Mg0.5SiO4', 'Na(Na2)(Mg4Al)(Si8)O22(OH)2', 'Na(Ca2)(Fe4Al)(Si6Al2)O22(OH)2', 'Ca3Fe{3+}2(SiO4)3', 'K2(Al4)(Si6Al2)O20(OH)4', 'Na2(Al4)(Si6Al2)O20(OH)4', 'K2(Mn{3+}2Mg2)(Si8)O20(OH)4', 'Ca2Al2Mn{3+}(Si2O7)(SiO4)O(OH)', '(Na2)(Fe3Fe{3+}2)(Si8)O22(OH)2', 'Ca2(Al4)(Si4Al4)O20(OH)4', 'Na(Ca2)(Mg4Fe{3+})(Si6Al2)O22(OH)2', 'Fe{2+}Al2O4', 'Na(NaCa)(Fe4Al)(Si7Al)O22(OH)2', 'Fe{2+}Fe{3+}2O4', 'Na(NaCa)(Mg3Al2)(Si6Al2)O22(OH)2', 'MgAl2O4', 'Ca2Al2Fe{3+}(Si2O7)(SiO4)O(OH)', '(Mg2)(Mg5)(Si8)O22(OH)2', 'Na(Ca2)(Fe{2+}4Fe{3+})(Si6Al2)O22(OH)2', 'Na(Ca2)(Fe5)(Si7Al)O22(OH)2', 'Fe2Si2O6', 'K2(Mg6)(Si6Al2)O20(OH)4', 'Fe{2+}3Al2(SiO4)3', 'Mg3Al2(SiO4)3', 'CaAl2Si2O8', 'Na(NaCa)(Fe5)(Si8)O22(OH)2', '(Ca2)(Fe3Al2)(Si6Al2)O22(OH)2', 'Mn3Al2(SiO4)3', '(Na2)(Mg3Fe{3+}2)(Si8)O22(OH)2', 'Mg2Si2O6', '(Ca2)(Mg4Al)(Si7Al)O22(OH)2', 'Na(Ca2)(Mg5)(Si7Al)O22(OH)2', 'K2(Mg2Cr{3+}2)(Si8)O20(OH)4', '(Ca2)(Mg3Al2)(Si6Al2)O22(OH)2', '(NaCa)(Mg4Al)(Si8)O22(OH)2', 'CaCe{3+}Al2Fe{2+}(Si2O7)(SiO4)O(OH)', 'Na(Na2)(Mg4Fe{3+})(Si8)O22(OH)2']
You can also directly get the composition of specific minerals by name:
get_mineral("forsterite")
name forsterite
group olivine
formula Mg2SiO4
Mg 0.346
Si 0.2
O 0.455
Fe 0.0
Mn 0.0
Ni 0.0
Ca 0.0
Al 0.0
Fe{3+} 0.0
Na 0.0
Mn{3+} 0.0
Cr 0.0
Li 0.0
Cr{3+} 0.0
Fe{2+} 0.0
K 0.0
H 0.0
Ti 0.0
Ce{3+} 0.0
dtype: object
If you want to get compositions for all minerals within a specific group, you can
use get_mineral_group()
:
get_mineral_group("olivine")
Total running time of the script: (0 minutes 0.018 seconds)