Melt-gas

Functions for calculating properties of the melt and gas at a set of conditions (e.g., P and T).

VolFe.melt_gas.Dbuffer2fO2(PT, D, buffer, model)[source]

Converts value relative-to-buffer to absolute fO2.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • D (float) – fO2 value relative to buffer.

  • buffer (str) – Buffer of interest, current options are Ni-NiO (NNO) or Fayalite-Magnetite-Quartz (FMQ).

  • models (pandas.DataFrame) – Model options.

Returns:

fO2 in bars

Return type:

float

VolFe.melt_gas.Fe3Fe2(melt_wf)[source]

Converts Fe3+/FeT to Fe3+/Fe2+ in the melt.

Parameters:

melt_wf (dict) – Fe3+/FeT as “Fe3FeT”

Returns:

Fe3+/Fe2+ in the melt

Return type:

float

VolFe.melt_gas.Fe3FeT_i(PT, melt_wf, models)[source]

Calculate initial Fe3+/FeT in the melt based on either: Fe3+/FeT, logfO2, NNO, FMQ, S6+/ST, or FeO+Fe2O3.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

Fe3+/FeT in the melt

Return type:

float

VolFe.melt_gas.M_m_SO(melt_wf)[source]

Calculate molecular mass of the melt on a singular oxygen basis with no volatiles and all Fe as FeOT.

Parameters:

melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

molecular mass of melt on singular oxygen basis

Return type:

float

VolFe.melt_gas.M_m_ox(melt_wf, models)[source]

Calculates molecular mass of the melt on an oxide basis with no volatiles and all Fe as FeOT.

Parameters:

melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

molecular mass of melt on oxide basis

Return type:

float

VolFe.melt_gas.S6S2(PT, melt_wf, models)[source]

Calculates S6+/S2- in the melt (where S2- includes *S2- and H2S).

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

S6+/S2- in the melt

Return type:

float

VolFe.melt_gas.S6S2_2_fO2(S62, melt_wf, PT, models)[source]

Converts S6+/S2- in the melt to fO2.

Parameters:
  • S62 (float) – S6+/S2- in melt.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • models (pandas.DataFrame) – Model options.

Returns:

fO2 in bars

Return type:

float

VolFe.melt_gas.S6ST(PT, melt_wf, models)[source]

Calculates S6+/ST in the melt (where ST includes all sulfur species in the melt: *S2-, H2S, and S6+).

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

S6+/ST in the melt

Return type:

float

VolFe.melt_gas.Wm_Fe2O3(melt_wf, molmass='M')[source]

Calculate weight of Fe2O3 in the melt from total Fe and Fe3+/FeT.

Parameters:

melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

weight Fe2O3 in the melt

Return type:

float

VolFe.melt_gas.Wm_FeO(melt_wf, molmass='M')[source]

Calculate weight of FeO in the melt from total Fe and Fe3+/FeT.

Parameters:

melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

weight FeO in the melt

Return type:

float

VolFe.melt_gas.Wm_FeOT(melt_wf, molmass='M')[source]

Calculate weight of FeOT in the melt from total Fe.

Parameters:

melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

weight FeOT in the melt

Return type:

float

VolFe.melt_gas.Wm_FeT(melt_wf, molmass='M')[source]

Calculate weight of total Fe in the melt from FeOT or Fe2O3T or FeO+Fe2O3.

Parameters:

melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

weight total Fe in the melt

Return type:

float

VolFe.melt_gas.Xg_tot(PT, melt_wf, models)[source]

Sum over over all vapor species of (mole fraction)*(molecular mass)

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

Sum over over all vapor species of (mole fraction)*(molecular mass)

Return type:

float

VolFe.melt_gas.Xm_CO2(melt_wf)[source]

Calculates number of moles of CO2 in the melt from mass of CO2.

Parameters:

melt_wf (dict) – CO2 mass concentration in weight fraction

Returns:

number of moles of CO2 in melt

Return type:

float

VolFe.melt_gas.Xm_H2OT(melt_wf)[source]

Calculates number of moles of H2OT in the melt.

Parameters:

melt_wf (dict) – H2OT mass concentration in weight fraction

Returns:

number of moles of H2OT in melt

Return type:

float

VolFe.melt_gas.Xm_m_so(melt_wf)[source]

Calculates number of moles of melt in the melt on a singular oxygen basis.

Parameters:

melt_wf (dictionary) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

number of moles of melt in melt

Return type:

float

VolFe.melt_gas.Xm_t_so(melt_wf)[source]

Calculates total “mass” in the melt on a singular oxygen basis including H2OT, CO2, and melt from sum of (mole fraction)*(molecular mass).

Parameters:

melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

total “mass” in the melt

Return type:

float

VolFe.melt_gas.Xm_tot_so(melt_wf)[source]

Calculates total moles in the melt on a singular oxygen basis including H2OT, CO2, and melt.

Parameters:

melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

total moles of melt

Return type:

float

VolFe.melt_gas.fO22Dbuffer(PT, fO2, buffer, models)[source]

Converts absolute fO2 to value relative-to-buffer.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • fO2 (float) – fO2 in bars

  • buffer (str) – Buffer of interest, currently available options are Ni-NiO (NNO) or Fayalite-Magnetite-Quartz (FMQ).

  • models (pandas.DataFrame) – Models options.

Returns:

fO2 value relative to buffer

Return type:

float

VolFe.melt_gas.f_CH4(PT, melt_wf, models)[source]

Calculates fugacity of CH4 in the vapor from fCO2, fH2O, and fO2 based on melt composition.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.)

  • models (pandas.DataFrame) – Models options.

Returns:

fCH4 in bars

Return type:

float

VolFe.melt_gas.f_CO(PT, melt_wf, models)[source]

Calculates fugacity of CO in the vapor from fCO2 and fO2 based on melt composition.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.)

  • models (pandas.DataFrame) – Model options.

Returns:

fCO in bars

Return type:

float

VolFe.melt_gas.f_CO2(PT, melt_wf, models)[source]

Calculates fugacity of CO2 in the vapor from concentration (mole fraction) of total CO2 (i.e., CO2,mol + CO32-) in the melt.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.), in particular CO2.

  • models (pandas.DataFrame) – Model options: minimum requirement is dataframe with index of “carbon dioxide” and column label of “option”.

Returns:

fCO2 in bars

Return type:

float

See C_CO2 for model options for “carbon dioxide”.

VolFe.melt_gas.f_H2(PT, melt_wf, models)[source]

Calculates fugacity of H2 in the vapor from fH2O and fO2 based on melt composition.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.)

  • models (pandas.DataFrame) – Model options.

Returns:

fH2 in bars

Return type:

float

VolFe.melt_gas.f_H2O(PT, melt_wf, models)[source]

Calculates fugacity of water in the vapor from concentration (mole fraction) of water in the melt.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (e.g., SiO2, TiO2, etc.), particularly H2O.

  • models (pandas.DataFrame) – Model options: minimum requirement is a DataFrame with index of “Hspeciation” and column label of “option”.

Returns:

fH2O in bars

Return type:

float

See C_H2O for model options for ‘Hspeciation’.

VolFe.melt_gas.f_H2S(PT, melt_wf, models)[source]

Calculates fugacity of H2S in the vapor from fS2, fH2O, and fO2 based on melt composition.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.)

  • models (pandas.DataFrame) – Model options.

Returns:

fH2S in bars

Return type:

float

VolFe.melt_gas.f_OCS(PT, melt_wf, models)[source]

Calculates fugacity of OCS in the vapor from fCO2, fH2O, and fH2S or fSO2 based on melt composition.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.)

  • models (pandas.DataFrame) – Model options.

Returns:

fOCS in bars

Return type:

float

VolFe.melt_gas.f_S2(PT, melt_wf, models)[source]

Calculates fugacity of S2 in the vapor from concentration (weight fraction) of *S2- in the melt.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.), in particular *S2-.

  • models (pandas.DataFrame) – Model options.

Returns:

fS2 in bars

Return type:

float

VolFe.melt_gas.f_SO2(PT, melt_wf, models)[source]

Calculates fugacity of SO2 in the vapor from fS2 and fO2 based on melt composition.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.)

  • models (pandas.DataFrame) – Model options.

Returns:

fSO2 in bars

Return type:

float

VolFe.melt_gas.f_SO3(PT, melt_wf, models)[source]

Calculates fugacity of SO3 in the vapor from fS2 and fO2 based on melt composition.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.)

  • models (pandas.DataFrame) – Model options.

Returns:

fSO2 in bars

Return type:

float

VolFe.melt_gas.f_X(PT, melt_wf, models)[source]

Calculates fugacity of X in the vapor from concentration (weight fraction) of X in the melt.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.)

  • models (pandas.DataFrame) – Model options.

Returns:

fX in bars

Return type:

float

VolFe.melt_gas.gas_CS(PT, melt_wf, models)[source]

Calculate C/S mole fraction ratio in the vapor including all C and S species based on the melt composition.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

C/S mole fraction ratio in the vapor

Return type:

float

VolFe.melt_gas.gas_CS_alt(xg)[source]

Calculate C/S mole fraction ratio in the vapor including all C and S species based on gas composition.

Parameters:

xg (dict) – Mole fraction of vapor species.

Returns:

C/S mole fraction ratio in the vapor

Return type:

float

VolFe.melt_gas.gas_elements(gas_mf, models)[source]

Convert gas composition in mole fraction of each species to weight fraction of each element.

Parameters:
  • gas_mf (dict) – Mole fractions of gas composition and total “mass” of gas.

  • models (pandas.DataFrame) – Model options.

Returns:

weight fraction of each element in the gas

Return type:

dict

VolFe.melt_gas.gas_moles(gas_mf, bulk_wf, models)[source]

Calculates moles of each gas species.

Parameters:
  • gas_mf (dict) – Mole fractions of gas composition and total “mass” of gas.

  • bulk_wf (dict) – Bulk composition of system in weight fraction.

  • models (pandas.DataFrame) – Model options.

Returns:

moles of each gas species

Return type:

dict

VolFe.melt_gas.gas_weight(gas_mf, bulk_wf)[source]

Calculates mass of each gas species.

Parameters:
  • gas_mf (dict) – Mole fractions of gas composition and total “mass” of gas.

  • bulk_wf (dict) – Bulk composition of system in weight fraction.

Returns:

mass of each gas species

Return type:

dict

VolFe.melt_gas.gas_wf(gas_mf, models)[source]

Convert gas composition from mole fraction to weight fraction.

Parameters:
  • gas_mf (dict) – Mole fractions of gas composition and total “mass” of gas.

  • models (pandas.DataFrame) – Model options.

Returns:

gas composition in weight fraction

Return type:

dict

VolFe.melt_gas.gas_wft(gas_mf, models)[source]

Calculate gas composition in weight fraction of total system from mole fraction of gas.

Parameters:
  • gas_mf (dict) – Mole fractions of gas composition and total “mass” of gas.

  • models (pandas.DataFrame) – Model options.

Returns:

gas composition in weight fraction of total system

Return type:

dict

VolFe.melt_gas.melt_H2O_CO2_eq(melt_wf)[source]

Calculate weight fraction of all C as CO2 (CO2-eq) and all H as H2O (H2O-eq) in the melt.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

weight fraction in the melt of CO2-eq, H2O-eq

Return type:

tuple(float,float)

VolFe.melt_gas.melt_cation_proportion(melt_wf, volatiles, Fe_speciation, molmass='M', majors='majors')[source]

Calculate cation proportion of melt composition.

Parameters:
  • melt_wf (dict) – Weight fraction of melt composition.

  • volatiles (str) – Whether to include volatiles in the normalisation: “yes” assumes all H is H2O, all C is CO2, all S is S, all X is X; “water” assumes all H is H2O; “no” volatiles excluded.

  • Fe_speciation (str) – How iron speciation is treated in the normalisation: “yes” Fe is split into FeO and Fe2O3; “no” Fe is treated as FeOT.

Returns:

cation mole fraction in the melt

Return type:

dict

VolFe.melt_gas.melt_comp(run, setup)[source]

Convert input DataFrame of melt composition into dictionary.

Parameters:
Returns:

melt composition and “initial fO2” definer

Return type:

dict

VolFe.melt_gas.melt_elements(melt_wf, bulk_wf, gas_comp)[source]

Convert melt composition in weight fraction of each species to weight fraction of each element.

Parameters:
  • melt_wf (dict) – Melt composition in weight fraction.

  • bulk_wf (dict) – Bulk composition of system in weight fraction.

  • gas_comp (dict) – Mole fractions of gas composition and total “mass” of gas.

Returns:

weight fraction of each element in the melt

Return type:

dict

VolFe.melt_gas.melt_mole_fraction(melt_wf, models, volatiles, Fe_speciation, molmass='M', majors='majors')[source]

Calculate oxide mole fraction of the melt.

Parameters:
  • melt_wf (dict) – Weight fraction of melt composition.

  • models (pandas.DataFrame) – Model options.

  • volatiles (str) – Whether to include volatiles in the normalisation: “yes” assumes all H is H2O, all C is CO2, all S is S, all X is X; “water” assumes all H is H2O; “no” volatiles excluded.

  • Fe_speciation (str) – Wow iron speciation is treated in the normalisation: “yes” Fe is split into FeO and Fe2O3; “no” Fe is treated as FeOT.

Returns:

oxide mole fraction of the melt

Return type:

dict

VolFe.melt_gas.melt_normalise_wf(melt_wf, volatiles, Fe_speciation, molmass='M', majors='majors')[source]

Normalise melt composition in weight fraction.

Parameters:
  • melt_wf (dict) – Weight fraction of melt composition.

  • volatiles (str) – Whether to include volatiles in the normalisation: “yes” assumes all H is H2O, all C is CO2, all S is S, all X is X; “water” assumes all H is H2O; “no” volatiles excluded.

  • Fe_speciation (str) – How iron speciation is treated in the normalisation: “yes” Fe is split into FeO and Fe2O3; “no” Fe is treated as FeOT.

Returns:

weight fraction of each oxide in the melt

Return type:

dict

VolFe.melt_gas.melt_pysulfsat(melt_wf)[source]

Convert headers to be read by PySulfSat and makes the dictionary a DataFrame.

Parameters:

melt_wf (dict) – Weight fraction of melt composition.

Returns:

melt composition in weight fraction

Return type:

pandas.DataFrame

VolFe.melt_gas.melt_single_O(melt_wf, volatiles, Fe_speciation, molmass='M', majors='majors')[source]

Calculate oxide mole fraction on a single oxygen basis in the melt.

Parameters:
  • melt_wf (dict) – Weight fraction of melt composition.

  • volatiles (str) – Whether to include volatiles in the normalisation: “yes” assumes all H is H2O, all C is CO2, all S is S, all X is X; “water” assumes all H is H2O; “no” volatiles excluded.

  • Fe_speciation (str) – How iron speciation is treated in the normalisation: “yes” Fe is split into FeO and Fe2O3; “no” Fe is treated as FeOT.

Returns:

oxide mole fraction on a single oxygen basis in the melt

Return type:

dict

VolFe.melt_gas.overtotal2ratio(x)[source]

Converts ratio of numerator species over total (e.g., Fe3+/FeT) to ratio of two species (e.g., Fe3+/Fe2+).

Parameters:

x (float) – ratio of species 1 over total of both species (i.e., species1/[species1+species2])

Returns:

ratio of species 1 over species 2 (i.e., species1/species2)

Return type:

float

VolFe.melt_gas.p_CH4(PT, melt_wf, models)[source]

Converts fCH4 based on melt composition to partial pressure of CH4 (pCH4).

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

pCH4 in bars

Return type:

float

VolFe.melt_gas.p_CO(PT, melt_wf, models)[source]

Converts fCO based on melt composition to partial pressure of CO (pCO).

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

pCO in bars

Return type:

float

VolFe.melt_gas.p_CO2(PT, melt_wf, models)[source]

Converts fCO2 based on melt composition to partial pressure of CO2 (pCO2).

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

pCO2 in bars

Return type:

float

VolFe.melt_gas.p_H2(PT, melt_wf, models)[source]

Converts fH2 based on melt composition to partial pressure of H2 (pH2).

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

pH2 in bars

Return type:

float

VolFe.melt_gas.p_H2O(PT, melt_wf, models)[source]

Converts fH2O based on melt composition to partial pressure of H2O (pH2O).

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

pH2O in bars

Return type:

float

VolFe.melt_gas.p_H2S(PT, melt_wf, models)[source]

Converts fH2S based on melt composition to partial pressure of H2S (pH2S).

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

pH2S in bars

Return type:

float

VolFe.melt_gas.p_O2(PT, melt_wf, models)[source]

Converts fO2 based on melt composition to partial pressure of O2 (pO2).

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

pO2 in bars

Return type:

float

VolFe.melt_gas.p_OCS(PT, melt_wf, models)[source]

Converts fOCS based on melt composition to partial pressure of OCS (pOCS).

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

pOCS in bars

Return type:

float

VolFe.melt_gas.p_S2(PT, melt_wf, models)[source]

Converts fS2 based on melt composition to partial pressure of S2 (pS2).

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.)

  • models (pandas.DataFrame) – Model options.

Returns:

pS2 in bars

Return type:

float

VolFe.melt_gas.p_SO2(PT, melt_wf, models)[source]

Converts fSO2 based on melt composition to partial pressure of SO2 (pSO2).

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

pSO2 in bars

Return type:

float

VolFe.melt_gas.p_X(PT, melt_wf, models)[source]

Converts fX based on melt composition to partial pressure of X (pX).

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

pX in bars

Return type:

float

VolFe.melt_gas.p_tot(PT, melt_wf, models)[source]

Calculate total pressure by summing partial pressures of all vapor species based on melt composition.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

total P in bars

Return type:

float

VolFe.melt_gas.ratio2overtotal(x)[source]

Converts ratio of two species (e.g., Fe3+/Fe2+) to ratio of numerator species over total (e.g., Fe3+/FeT).

Parameters:

x (float) – Ratio of species 1 over species 2 (i.e., species1/species2).

Returns:

ratio of species 1 over total of both species (i.e., species1/[species1+species2)

Return type:

float

VolFe.melt_gas.wm_CO32_CO2mol(PT, melt_wf, models)[source]

Converts mole fractions of carbonate and CO2mol on a singular oxygen basis to weight fractions of carbonate and CO2mol.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

weight fractions in the melt of carbonate, CO2mol

Return type:

tuple(float,float)

VolFe.melt_gas.wm_Fe_nv(melt_wf)[source]

Calculate weight fraction of total Fe in the melt from all oxides, FeO, Fe2O3 but no volatiles.

Parameters:

melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

weight fraction of total Fe in the melt

Return type:

float

VolFe.melt_gas.wm_H2Omol_OH(PT, melt_wf, models)[source]

Converts mole fractions of OH- and H2Omol on a singular oxygen basis to weight fractions of OH- and H2Omol.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

weight fractions in the melt of H2Omol, OH-

Return type:

tuple(float,float)

VolFe.melt_gas.wm_S(PT, melt_wf, models)[source]

Calculates wt% total S2- as S in the melt (both *S2- and H2S).

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

total S2- as S in wt%

Return type:

float

VolFe.melt_gas.wm_SO3(PT, melt_wf, models)[source]

Calculates wt% total S6+ in the melt as SO3.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

S6+ as SO3 in wt%

Return type:

float

VolFe.melt_gas.wm_nvol(melt_wf)[source]

Calculate wt% of everything except H2OT-eq + CO2-eq in the melt (excluding S and X).

Parameters:

melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

wt% of everything except [H2OT-eq + CO2-eq] in the melt

Return type:

float

VolFe.melt_gas.wm_vol(melt_wf)[source]

Calculate wt% of H2OT-eq + CO2-eq in the melt.

Parameters:

melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

wt% of [H2OT-eq + CO2-eq] in the melt

Return type:

float

VolFe.melt_gas.xg_CH4(PT, melt_wf, models)[source]

Converts pCH4 based on melt composition to mole fraction of CH4 in the vapor.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

mole fraction of CH4 in the vapor

Return type:

float

VolFe.melt_gas.xg_CO(PT, melt_wf, models)[source]

Converts pCO based on melt composition to mole fraction of CO in the vapor.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

mole fraction of CO in the vapor

Return type:

float

VolFe.melt_gas.xg_CO2(PT, melt_wf, models)[source]

Converts pCO2 based on melt composition to mole fraction of CO2 in the vapor.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

mole fraction of CO2 in the vapor

Return type:

float

VolFe.melt_gas.xg_H2(PT, melt_wf, models)[source]

Converts pH2 based on melt composition to mole fraction of H2 in the vapor.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

mole fraction of H2 in the vapor

Return type:

float

VolFe.melt_gas.xg_H2O(PT, melt_wf, models)[source]

Converts pH2O based on melt composition to mole fraction of H2O in the vapor.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

mole fraction of H2O in the vapor

Return type:

float

VolFe.melt_gas.xg_H2S(PT, melt_wf, models)[source]

Converts pH2S based on melt composition to mole fraction of H2S in the vapor.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

mole fraction of H2S in the vapor

Return type:

float

VolFe.melt_gas.xg_O2(PT, melt_wf, models)[source]

Converts pO2 based on melt composition to mole fraction of O2 in the vapor.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

mole fraction of O2 in the vapor

Return type:

float

VolFe.melt_gas.xg_OCS(PT, melt_wf, models)[source]

Converts pOCS based on melt composition to mole fraction of OCS in the vapor.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

mole fraction of OCS in the vapor

Return type:

float

VolFe.melt_gas.xg_S2(PT, melt_wf, models)[source]

Converts pS2 based on melt composition to mole fraction of S2 in the vapor.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

mole fraction of S2 in the vapor

Return type:

float

VolFe.melt_gas.xg_SO2(PT, melt_wf, models)[source]

Converts pSO2 based on melt composition to mole fraction of SO2 in the vapor.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

mole fraction of SO2 in the vapor

Return type:

float

VolFe.melt_gas.xg_X(PT, melt_wf, models)[source]

Converts pX based on melt composition to mole fraction of X in the vapor.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

mole fraction of X in the vapor

Return type:

float

VolFe.melt_gas.xm_CO2_so(melt_wf)[source]

Calculates mole fraction of CO2 in the melt on a singular oxygen basis including H2OT, CO2, and melt.

Parameters:

melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

mole fraction of CO2 in the melt

Return type:

float

VolFe.melt_gas.xm_CO32_CO2mol(PT, melt_wf, models)[source]

Calculate mole fraction of carbonate and CO2,mol in the melt on a singular oxygen basis.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

mole fraction in the melt of carbonate, CO2mol

Return type:

tuple(float,float)

See KCOm for model options for ‘Cspeccomp’.

VolFe.melt_gas.xm_H2OT_so(melt_wf)[source]

Calculates mole fraction of H2OT in the melt on a singular oxygen basis including H2OT, CO2, and melt.

Parameters:

melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

mole fraction of H2OT in the melt

Return type:

float

VolFe.melt_gas.xm_H2Omol_so(PT, melt_wf, models)[source]

Calculate mole fraction of H2Omol in the melt on a singular oxygen basis.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

mole fraction of H2Omol in the melt

Return type:

float

VolFe.melt_gas.xm_OH_so(PT, melt_wf, models)[source]

Calculate mole fraction of OH- in the melt on a singular oxygen basis.

Parameters:
  • PT (dict) – Pressure (bars) as “P” and temperature (‘C) as “T”.

  • melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

  • models (pandas.DataFrame) – Model options.

Returns:

mole fraction of OH- in the melt

Return type:

float

See C_H2O for model options for ‘Hspeciation’.

VolFe.melt_gas.xm_melt_so(melt_wf)[source]

Calculates mole fraction of melt in the melt on a singular oxygen basis including H2OT, CO2, and melt.

Parameters:

melt_wf (dict) – Melt composition in weight fraction (SiO2, TiO2, etc.).

Returns:

mole fraction of melt in the melt

Return type:

float