olm.general.solution

class olm.general.solution(constituents, concentrations, units, T=25.0, T_units='C', cond=None, pH=None)[source]

A solution class, that is used for calculations related to chemical solutions.

Parameters:
constituents : array like

a list (or array) of strings with ion names

concentrations : array like

a list (or array) of ion concentrations

units : string or list

a string or list of strings containing concentration units (‘mg/L’, ‘mol/L’, or ‘mmol/L’)

T : float

temperature in degrees Celsius (default=25)

T_units : str

temperature units ‘C’ or ‘K’ (default=’C’)

cond : float

specific conductance (default=None)

pH : float

pH of solution (default=None)

Attributes:
ions : dict

A dictionary containing ion activities and concentrations. The values for a given ion are accessed using a the name of the ion as a key. Then, the additional keys ‘activity’, ‘conc_mg’, ‘conc_mol’, ‘conc_mmol’, and ‘meq’ access the ion activity (in units of mol/L), concentration in mg/L, concentration in mol/L, concentration in mmol/L and meq/L, respectively.

T_C : float

temperature of solution in degrees C

T_K : float

temperature of solution in degrees K

__init__(constituents, concentrations, units, T=25.0, T_units='C', cond=None, pH=None)[source]

Initialize self. See help(type(self)) for accurate signature.

Methods

I() Function to calculate ionic strength of the solution object from full equation using known ion properties.
__init__(constituents, concentrations, units) Initialize self.
activity(ion) Retrieve the activity of a given ion in the solution in mol/L.
activity_coef(ion[, I]) Calculate activity coefficient, gamma, for a given ion in the solution.
approxI() Function to calculate approximate ionic strength of solution metal concentration.
charge_balance([units]) Calculate the charge balance error for this solution.
meq(ion) Retrieve meq for a given ion in the solution.
mg(ion) Retrieve the concentration of a given ion in the solution in mg/L.
mmol(ion) Retrieve the molar concentration of a given ion in the solution in mol/L.
mol(ion) Retrieve the molar concentration of a given ion in the solution in mol/L.
I()[source]

Function to calculate ionic strength of the solution object from full equation using known ion properties.

Returns:
I - float

ionic strength

activity(ion)[source]

Retrieve the activity of a given ion in the solution in mol/L.

Parameters:
ion : str

string containing ion name for which to calculate activity coefficient

Returns
——-
activity : float

Activity of the specified ion in mol/L.

activity_coef(ion, I=None)[source]

Calculate activity coefficient, gamma, for a given ion in the solution.

Parameters:
ion : str

string containing ion name for which to calculate activity coefficient

I : float

Ionic strength of solution. If None, it will be approximated from metal concentration. (default=None)

Returns
——-
gamma : float

Activity coefficient for the ion specified.

approxI()[source]

Function to calculate approximate ionic strength of solution metal concentration.

Returns:
I : float

ionic strength

charge_balance(units='%')[source]

Calculate the charge balance error for this solution.

Parameters:
units : str (optional)

If set to ‘%’ (default) then the function will return the percent charge balance error. If set to ‘meq’, then the function will return the difference in cation and anion balance in meq/L.

Returns
——-
balance : float

The charge balance error for the solution.

meq(ion)[source]

Retrieve meq for a given ion in the solution.

Parameters:
ion : str

string containing ion name for which to calculate activity coefficient

Returns
——-
meqL : float

Concentration of the specified ion in meq/L.

mg(ion)[source]

Retrieve the concentration of a given ion in the solution in mg/L.

Parameters:
ion : str

string containing ion name for which to calculate activity coefficient

Returns
——-
mgL : float

Concentration of the specified ion in mg/L.

mmol(ion)[source]

Retrieve the molar concentration of a given ion in the solution in mol/L.

Parameters:
ion : str

string containing ion name for which to calculate activity coefficient

Returns
——-
mmolL : float

Concentration of the specified ion in mol/L.

mol(ion)[source]

Retrieve the molar concentration of a given ion in the solution in mol/L.

Parameters:
ion : str

string containing ion name for which to calculate activity coefficient

Returns
——-
molL : float

Concentration of the specified ion in mol/L.