Skip to content

Minerals

petropandas.minerals

Mineral

Base Mineral class to store mineral structure and endmembers calculation

Attributes:

Name Type Description
noxy int

number of oxygens

ncat int

number of cations

needsFe str

"Fe2" for only FeO oxide needed, "Fe3" for both FeO and Fe2O3 oxide needed, None for no Fe needed

structure tuple

structural formula definition. Iterable collection of tuples (name, ncat, list of cations) e.g. ("T", 4, ["Si{4+}", "Al{3+}"]). Tuples are ordered in population order.

has_structure bool

True when structure is defined

has_endmembers bool

True when endmembers method is defined

calculate(cations, force=False)

Calculate structural formula from cations p.f.u

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Name Type Description
StrucForm StrucForm

structural formula

apfu(cations, force=False)

Calculate mineral atom p.f.u based on site occupancies

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Type Description
Series

pandas.Series: atoms p.f.u

check_stechiometry(cations, force=False)

Calculate average missfit of populated and ideal cations on sites

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Type Description
floating

pandas.Series: average missfit

Feldspar

Feldspar with 3 endmembers

calculate(cations, force=False)

Calculate structural formula from cations p.f.u

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Name Type Description
StrucForm StrucForm

structural formula

apfu(cations, force=False)

Calculate mineral atom p.f.u based on site occupancies

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Type Description
Series

pandas.Series: atoms p.f.u

check_stechiometry(cations, force=False)

Calculate average missfit of populated and ideal cations on sites

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Type Description
floating

pandas.Series: average missfit

Garnet

Garnet using Fe2 and Fe3 with 6 endmembers

calculate(cations, force=False)

Calculate structural formula from cations p.f.u

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Name Type Description
StrucForm StrucForm

structural formula

apfu(cations, force=False)

Calculate mineral atom p.f.u based on site occupancies

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Type Description
Series

pandas.Series: atoms p.f.u

check_stechiometry(cations, force=False)

Calculate average missfit of populated and ideal cations on sites

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Type Description
floating

pandas.Series: average missfit

Garnet_Fe2

Garnet using total Fe with 4 endmembers

calculate(cations, force=False)

Calculate structural formula from cations p.f.u

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Name Type Description
StrucForm StrucForm

structural formula

apfu(cations, force=False)

Calculate mineral atom p.f.u based on site occupancies

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Type Description
Series

pandas.Series: atoms p.f.u

check_stechiometry(cations, force=False)

Calculate average missfit of populated and ideal cations on sites

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Type Description
floating

pandas.Series: average missfit

Pyroxene

Pyroxene

calculate(cations, force=False)

Calculate structural formula from cations p.f.u

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Name Type Description
StrucForm StrucForm

structural formula

apfu(cations, force=False)

Calculate mineral atom p.f.u based on site occupancies

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Type Description
Series

pandas.Series: atoms p.f.u

check_stechiometry(cations, force=False)

Calculate average missfit of populated and ideal cations on sites

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Type Description
floating

pandas.Series: average missfit

Pyroxene_Fe2

Simple Pyroxene using total Fe with 3 endmembers

calculate(cations, force=False)

Calculate structural formula from cations p.f.u

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Name Type Description
StrucForm StrucForm

structural formula

apfu(cations, force=False)

Calculate mineral atom p.f.u based on site occupancies

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Type Description
Series

pandas.Series: atoms p.f.u

check_stechiometry(cations, force=False)

Calculate average missfit of populated and ideal cations on sites

Parameters:

Name Type Description Default
cations Series

cations p.f.u

required

Returns:

Type Description
floating

pandas.Series: average missfit

StrucForm

Class to manipulate mineral structural formula

Parameters:

Name Type Description Default
mineral Mineral

mineral instance

required

Attributes:

Name Type Description
mineral Mineral

mineral instance

sites list

list of sites

reminder Series

remainder after site population or empty

apfu property

Calculate mineral atom p.f.u based on site occupancies

Returns:

Type Description
Series

pandas.Series: atoms p.f.u

check_stechiometry property

Calculate average missfit of populated and ideal cations on sites

get(atom)

Get total number of given atom in structure

Parameters:

Name Type Description Default
atom str

atom name

required

site(name)

Get site by name

Parameters:

Name Type Description Default
name str

site name

required

Site

Class to store mineral site information

Parameters:

Name Type Description Default
name str

name of site

required
ncat int

ideal number of cations

required
candidates list

list of cations in population order

required

Attributes:

Name Type Description
name str

name of site

ncat int

ideal number of cations

candidates list

list of cations in population order

atoms dict

populated atoms

free float

remaining space in site, i.e. Ideal - Occupied

add(atom, amount, force=False)

Add atom to site

Parameters:

Name Type Description Default
atom str

cation name

required
amount float

number of attoms to add

required
force bool

If False atoms are added up to ideal occupancy. When True full amount is added. Default False

False

get(atom, fraction=False)

Get number of given atom on site

Parameters:

Name Type Description Default
atom str

atom name

required