Input Composition#

peridoxia.input_composition.get_WH05_starting_comp(bulk_Fe2O3: float = 0.3, display: bool = False) → Assemblage#

Returns an assemblage corresponding to the DMM composition of Workman and Hart (2005).

Initial phase modes and compositions are taken directly from WH05 (excluding oxides that are not incorporated into the model). Oxides for each mineral are then adjusted slightly to be stoichiometric phases, and minerals are assigned ‘reasonable’ Fe³⁺/ΣFe values (by converting FeO to Fe₂O₃) that are later adjusted by the code (when the user equilibrates at a given P/T) to fulfill partitioning relationships. Final assemblage bulk Fe₂O₃ may be slightly different than indicated value, due to adjustments when creating stoichiometric phase objects.

Parameters:
bulk_Fe2O3float, optional

The bulk rock Fe₂O₃ in wt%, by default 0.3

displaybool, optional

Whether to display properties of the final Assemblage object, by default False

Returns:
data_struct.Assemblage

An assemblage object (containing stoichiometric phases) representing the DMM composition of Workman and Hart (2005) in the spinel stability field.

peridoxia.input_composition.get_starting_comp_from_file(file: str, sheet_name: str = 'Sheet1', bulk_Fe2O3: float | None = None, display: bool = False) → Assemblage#

Returns an assemblage corresponding the modes/oxides input by a user.

  • See Files and Templates for template file

  • File columns should be [mass, SiO2, Al2O3, Fe2O3, Cr2O3, FeO, MgO, CaO].

  • File rows should be [olv, opx, cpx, spl, gt, liq, agg_liq].

  • Missing rows/columns will be set to zero.

  • Any extra rows/columns will be ignored.

Parameters:
filestr

The pathname for the input file

sheet_namestr, optional

The name of the sheet to load, by default ‘Sheet1’

bulk_Fe2O3float | None, optional

The bulk wt% Fe2O3 to impose. By default, Fe2O3 will be read directly from the input file. If bulk_Fe2O3 is set, FeO_total will be calculated and then redistributed between FeO and Fe2O3 to meet desired bulk Fe2O3 per 100 wt%.; by default None

displaybool, optional

Whether to display final Assemblage, by default False

Returns:
data_struct.Assemblage

An assemblage (of stoichiometric phases) based on user-input information.

peridoxia.input_composition.garnet_project(assemblage: Assemblage, pot_TC: float, end_PGPa: float, spl_final: float, gt_in_rxn_wts: dict[str, float] = {'gt__pyx_pyxTs': 2, 'gt_olv__spl_pyx': 1}, display: bool = False) → Assemblage#

Projects a spinel-field assemblage into the garnet field via spinel->garnet reactions.

Non-Ca vs Ca reactions occur at a ratio approximately equivalent to the initial (gt-field) cpx/opx ratio. This value is set to 0.2 based on results from Jennings and Holland (2015).

After projecting, spinel mode should be within 1% of the indicated final spinel mode (spl_final=0.05 by default).

Parameters:
assemblagedata_struct.Assemblage

The initial assemblage in the spinel field

pot_TCfloat

The desired potential temperature for the final garnet-bearing assemblage

end_PGPafloat

The desired pressure for final garnet-bearing assemblage

spl_finalfloat

The desired amount of spinel remaining in the garnet field (cannot be zero, as some spinel is currently required for partitioning relationships)

gt_in_rxn_wtsdict[str,float], optional

The relative amount of the two categories of gt-in reactions, by default {‘gt_olv__spl_pyx’:1, ‘gt__pyx_pyxTs’:2}

displaybool, optional

Whether to display final Assemblage, by default False

Returns:
data_struct.Assemblage

A projected garnet-field assemblage