State Info#

class thermoengine.magmaforge.state_info.Assemblage(melt_frac: float, phase_frac: dict[str, float], phase_mass: dict[str, float], fractionated_elem_comp_inc: Series, fractionated_elem_comp_agg: Series)#

Class stores the phase assemblage of the state, i.e., melt fraction and fraction of each non-melt phase

class thermoengine.magmaforge.state_info.Conditions(T: float, P: float, logfO2: float | None = None)#

Class stores temperature, pressure, and fO2 conditions for the state

Attributes:
logfO2
class thermoengine.magmaforge.state_info.PhaseInfo(mass: float, elem_comp: Series, S: float | None = None, V: float | None = None)#

Class stores information for phases in state

Attributes:
S
V
density

Methods

comp

class thermoengine.magmaforge.state_info.StateData(conditions: Conditions, assemblage: Assemblage, bulk: PhaseInfo, liquid: PhaseInfo, water: PhaseInfo, minerals: dict[str, PhaseInfo])#

Class stores all state data (conditions, assemblage, properties, phase info)

Attributes:
mass_of_melt
mass_of_nonvolatiles
mass_of_water

Methods

get_phase_comp(phase_name[, unit])

Returns phase density.

get_phase_density(phase_name)

Returns phase density.

get_phase_entropy(phase_name)

Returns phase entropy for a single phase.

get_phase_mass(phase_name)

Returns phase mass for a single phase.

get_phase_volume(phase_name)

Returns phase density for a single phase.

copy

get_phase_comp(phase_name: str, unit='wt_oxides')#

Returns phase density. Phase names should be full phase names.

get_phase_density(phase_name: str)#

Returns phase density. Phase names should be full phase names.

get_phase_entropy(phase_name: str)#

Returns phase entropy for a single phase. Phase names should be full phase names.

get_phase_mass(phase_name: str)#

Returns phase mass for a single phase. Phase names should be full phase names.

get_phase_volume(phase_name: str)#

Returns phase density for a single phase. Phase names should be full phase names.