System Calculator#
- class thermoengine.magmaforge.system_calculator.SystemCalculator(elems: list[str], database: Database, min_potential: str | None = 'G', lagrange_l: list | None = None)#
Class for calculating system equilibrium.
- Attributes:
active_phase_namesReturns a list of phase names
nonmelt_phase_namesReturns a list of non-melt phase names (excludes liquid)
nonsolid_phase_namesReturns a list of non-solid phase names (liquid, water, fluid)
nonvolatile_phase_namesReturns a list of nonvolatile phase names (excludes water, fluid)
phase_namesReturns a list of phase names
solid_phase_namesReturns a list of solid phase names (excludes liquid, water, fluid)
stateReturns the current state object for the system
Methods
equilibrate(T, P[, elem_comp, S_target, ...])Equilibrates the system at a set of user-specified conditions
fractionate_phases(frac_remains[, method, ...])Fractionates solid phases during crystallization or non-solid phases during melting.
Returns the name of the liquid model
ModelNotImplemented
- exception ModelNotImplemented#
- property active_phase_names: list[str]#
Returns a list of phase names
- equilibrate(T: float, P: float, elem_comp: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes] | None = None, S_target: float | None = None, del_NNO: float | None = None, calc_args: dict | None = None) None#
Equilibrates the system at a set of user-specified conditions
- Parameters:
T – temperature, in K
P – pressure, in bar
- fractionate_phases(frac_remains: float, method: str = 'solids', impose_missing_elem_thresh=False)#
Fractionates solid phases during crystallization or non-solid phases during melting.
- Parameters:
frac_remains – the fraction of solid phases remaining at each step
- get_liquid_model() SolutionPhase#
Returns the name of the liquid model
- property nonmelt_phase_names: list[str]#
Returns a list of non-melt phase names (excludes liquid)
- property nonsolid_phase_names: list[str]#
Returns a list of non-solid phase names (liquid, water, fluid)
- property nonvolatile_phase_names: list[str]#
Returns a list of nonvolatile phase names (excludes water, fluid)
- property phase_names: list[str]#
Returns a list of phase names
- property solid_phase_names: list[str]#
Returns a list of solid phase names (excludes liquid, water, fluid)