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

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

Returns:
I - float

ionic strength

activity(self, 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(self, 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(self)[source]

Function to calculate approximate ionic strength of solution metal concentration.

Returns:
I : float

ionic strength

charge_balance(self, 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(self, 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(self, 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(self, 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(self, 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.