How to calculate salt activity

My work in membrane processes for desalination and blue energy often requires me to calculate the thermodynamic properties of salts. The tricky part of this is determining something called the activity of the salt.

As long as I know the salt concentration, I just need to find the activity coefficient to get the activity. There are several ways to get activity coefficients, but they all give you something called the mean ionic activity coefficient, which has to be combined with the salt concentration in just the right way in order to get a correct result. It’s easy to do with monovalent salts like sodium chloride (NaCl), but it gets tricky when you want to consider multivalent salts (like calcium chloride, CaCl2).

I’ve been unable to find a complete explanation of how to use activity coefficients that is general enough to include multivalent salts online , so I decided to write one. Much of the content below is adapted from Aquatic Chemistry by Werner Stumm and James Morgan, but I’ve extended their treatment to more thoroughly cover multivalent salts.

Chemical Potential

The thermodynamic quantity underlying almost all chemical calculations is the chemical potential, and calculating it is the reason determining the activity is so important. The chemical potential $\mu$ of any substance is given by

$$\begin{equation} \mu = \mu^o + RT \ln a \end{equation} \tag{1}$$

where $\mu^o$ is the chemical potential at some standard state, $a$ is the activity or “effective concentration,” $R$ is the gas constant, and $T$ is the temperature. The activity is related to the actual concentration $m$ by an activity coefficient $\gamma$:

$$\begin{equation} a = m \gamma \end{equation} \tag{2}$$

$\gamma$ is an empirical correction factor that you can look up in a table or calculate with a model like pyEQL. It’s important to use a $\gamma$ and a concentration based on the same scale. In these examples I’m going to use the molal (mol/kg) scale, and denote the concentrations with $m$. You could instead use the molar (mol/L) scale, in which case it’s conventional to use $C$ for concentration.

Application to salts in water

I’m interested in the chemical potential of salts dissolved in water, and I’ll start with a monvalent salt like NaCl. Applying equation 1 gives

$$\begin{equation} \mu_{NaCl} = \mu_{NaCl}^o + RT \ln a_{NaCl} \end{equation} \tag{3}$$

and substituting equation 2 for $a_{NaCl}$, we have

$$\begin{equation} \mu_{NaCl} = \mu_{NaCl}^o + RT \ln m_{NaCl} \gamma_{NaCl} \end{equation} \tag{4}$$

Now, for reasons that are beyond the scope of this post, $\gamma_{NaCl}$ is not the activity coefficient you can look up in tables. What we can look up is the mean ionic activity coefficient, which is related to the concentrations of individual ions. So, I need to relate the salt concentration $m_{NaCl}$ to the individual ion concentrations.

Most salts are strong electrolytes, meaning that they dissolve completely1 in water to form ions. In the case of NaCl, we can write this as

$$\begin{equation} NaCl => Na^+ + Cl^- \end{equation} \tag{5}$$

In other words, if I dissolve 1 mol of solid $NaCl$ in some water, I don’t get 1 mol of dissolved $NaCl$ molecules, I get 1 mole of $Na^+$ and 1 mol of $Cl^-$.

So, how do we relate $\mu_{NaCl}$ to the chemical potentials of the ions? It turns out that the chemical potential of aqueous NaCl is equal to the sum of the chemical potentials of the ions into which it dissolves.

$$\begin{equation} \mu_{NaCl} = \mu_{Na^+} + \mu_{Cl^-} \end{equation} \tag{6}$$

which also implies that

$$\begin{equation} \mu_{NaCl}^o = \mu^o_{Na^+} + \mu^o_{Cl^-} \end{equation} \tag{7}$$

Using equations 1 - 7, and applying the rules of math with logarithms, we have

$$\begin{equation} \mu_{NaCl} = \mu^o_{Na^+} + \mu^o_{Cl-} + RT \ln a_{Na^+}a_{Cl^-} \end{equation} \tag{8}$$

$$\begin{equation} \mu_{NaCl} = \mu^o_{NaCl} + RT \ln (m_{Na^+}\gamma_{Na^+})(m_{Cl^-}\gamma_{Cl^-}) \end{equation} \tag{9}$$

which means that

$$\begin{equation} a_{NaCl} = (m_{Na^+}\gamma_{Na^+})(m_{Cl^-}\gamma_{Cl^-}) \end{equation} \tag{10}$$

At this point I’ve equated the activity of dissolved $NaCl$ with the concentrations and activity coefficints of the two individual ions. Unfortunately, those activity coefficients can’t be measured directly.

Working around single-ion activity coefficients

Since it’s not possible to measure $\gamma$ for an individual ion; we can only measure the geometric mean activity of the two ions, which is defined (for $NaCl$ ) as

$$\begin{equation} a_\pm = a_{NaCl}^{\frac{1}{2}} = (m_{Na^+} m_{Cl^-} \gamma_{Na^+}\gamma_{Cl^-})^{\frac{1}{2}} \end{equation} \tag{11}$$

Correspondingly, the mean ionic activity coefficient and mean ionic molality are defined as

$$\begin{equation} \gamma_\pm = (\gamma_{Na^+} \gamma_{Cl^-})^{\frac{1}{2}} \end{equation} \tag{12}$$


$$\begin{equation} m_\pm = (m_{Na^+} m_{Cl^-})^{\frac{1}{2}} \end{equation} \tag{13}$$

So, for a monovalent salt like $NaCl$, once I find the mean ionic activity coefficient, I can write the chemical potential of the salt as

$$\begin{equation} \mu_{NaCl} = \mu^o_{NaCl} + RT \ln (m_\pm\gamma_\pm)^2 \end{equation} \tag{14}$$

Notice that the salt concentration, $m_{NaCl}$, the individual ion concentrations, $m_{Na^+}$ and $m_{Cl^-}$, and the mean ionic molality $m_{\pm}$ are all equal. This is the case only because $NaCl$ is a monovalent salt and it makes it easy to be “sloppy” with concentrations and activity coefficients. To get a more precise understanding of how to handle all salts, we need to consider a more general case.

General case for multivalent salts

Now I’ll repeat the above steps for a generic salt, $A_{\nu_+} B_{\nu_-}$, which dissolves into cation $A$ with charge $ z_+ $ and anion $B$ with charge $z_-$:

$$\begin{equation} A_{\nu_+} B_{\nu_-} => \nu_{+} A^{z_+} + \nu_{-} B^{z_-} \end{equation} \tag{15}$$

Because the charge of the cation and the anion may not be equal, one mole of salt $A_{\nu_+} B_{\nu_-}$ will produce ${\nu_+}$ moles of cations and ${\nu_-}$ moles of anions. For example,

$$\begin{equation} MgCl_2 => 1 Mg^{+2} + 2 Cl^{-} \end{equation} \tag{16}$$

Just as with $NaCl$, the chemical potential of the salt is still the sum of the chemical potentials of individual ions, but this time we have to multiply the potential of each one by the respective number of moles. So, we have:

$$\begin{equation} \mu_{salt} = \nu_{+} \mu_{+} + \nu_{-} \mu_{-} \end{equation} \tag{17}$$

$$\begin{equation} \mu_{salt} = \nu_{+} (\mu^o_{+} + RT \ln a_{+}) + \nu_{-} ( \mu^o_{-} + RT a_{-}) \end{equation} \tag{18}$$

$$\begin{equation} \mu_{salt}^o = \nu_{+} \mu^o_{+} + \nu_{-}\mu^o_{-} \end{equation} \tag{19}$$

so that

$$\begin{equation} \mu_{salt} = \mu^o_{salt} + RT \ln (a_{+})^{\nu_{+} }(a_{-})^{\nu_{-}} \end{equation} \tag{20}$$

$$\begin{equation} \mu_{salt} = \mu^o_{salt} + RT \ln (m_+ \gamma_+)^{\nu_+} (m_- \gamma_-)^{\nu_-} \end{equation} \tag{21}$$

The mean ionic activity coefficient and the mean ionic molality are therefore:

$$\begin{equation} \gamma_\pm = (\gamma_{+}^{\nu_{+}} \gamma_{-}^{\nu_{-}})^{\frac{1}{\nu_{+} + \nu_{-}}} \end{equation} \tag{22}$$


$$\begin{equation} m_\pm = (m_{+}^{\nu_{+}} m_{-}^{\nu_{-}})^{\frac{1}{\nu_{+} + \nu_{-}}} \end{equation} \tag{23}$$

Just like before, if I can find a value for the mean molal activity coefficient, I can calculate the chemical potential of the salt using

$$\begin{equation} \mu_{salt} = \mu^o_{salt} + RT \ln (m_\pm\gamma_\pm)^{\nu_{+} + \nu_{-}} \end{equation} \tag{24}$$

but because of the stoichiometry in this case, $m_\pm$ is not equal to $m_{salt}$. If I add 1 mol of magnesium chloride ($MgCl_2$) to water, it dissolves into 1 mol of $Mg^{+2}$ and 2 mol of $Cl^{-}$. In other words,

$$\begin{equation} m_{salt} = \frac{m_+}{\nu_+} = \frac{m_-}{\nu_-} \end{equation} \tag{25}$$

Even though I can figure out the individual ion concentrations from Eq. 25, the salt concentration is the most straightforward way to express how much salt is in the water. So, it would be nice to be able to calculate the activity from the mean ionic activity coefficient and $m_{salt}$.

Eq. 21 and 24 show that

$$\begin{equation} a_{salt} = (m_+ \gamma_+)^{\nu_+} (m_- \gamma_-)^{\nu_-} = (m_\pm\gamma_\pm)^{\nu_{+} + \nu_{-}} \end{equation} \tag{26}$$

If I use Eq. 25 to substitute $m_{+}$ and $m_{-}$ in terms of $m_{salt}$, I get

$$\begin{equation} a_{salt} = \nu_+^{\nu_+} \nu_-^{\nu_-} (m_{salt} \gamma_\pm)^{\nu_+ + \nu_-} \end{equation} \tag{27}$$

And this, at last, is the general formula for the activity of any salt as a function of the salt concentration and the mean molal activity coefficient. Some examples of this relationship can be found in Appendix 2.1 of Electrolyte Solutions by Robinson & Stokes (1968).

  1. This isn’t really true. In fact, even strong electrolytes like $NaCl$ don’t completely dissociate. In other words, there is such a thing as an $NaCl$ ion pair dissolved in water. See this presentation for some excellent work on the subject. ^