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