Chemistry - The reason behind the steep rise in pH in the acid base titration curve
Solution 1:
I've decided to tackle this question in a somewhat different manner. Instead of giving the chemical intuition behind it, I wanted to check for myself if the mathematics actually work out. As far as I understand, this isn't done often, so that's why I wanted to try it, even though it may not make the clearest answer. It turns out to be a bit complicated, and I haven't done much math in a while, so I'm kinda rusty. Hopefully, everything is correct. I would love to have someone check my results.
My approach here is to explicitly find the equation of a general titration curve and figure out from that why the pH varies quickly near the equivalence point. For simplicity, I shall consider the titration to be between a monoprotic acid and base. Explicitly, we have the following equilibria in solution
$$\ce{HA <=> H^+ + A^-} \ \ \ → \ \ \ K_\text{a} = \ce{\frac{[H^+][A^-]}{[HA]}}$$ $$\ce{BOH <=> B^+ + OH^-} \ \ \ → \ \ \ K_\text{b} = \ce{\frac{[OH^-][B^+]}{[BOH]}}$$ $$\ce{H2O <=> H^+ + OH^-} \ \ \ → \ \ \ K_\text{w} = \ce{[H^+][OH^-]}$$
Let us imagine adding two solutions, one of the acid $\ce{HA}$ with volume $V_\text{A}$ and concentration $C_\text{A}$, and another of the base $\ce{BOH}$ with volume $V_\text{B}$ and concentration $C_\text{B}$. Notice that after mixing the solutions, the number of moles of species containing $\ce{A}$ ($\ce{HA}$ or $\ce{A^-}$) is simply $n_\text{A} = C_\text{A} V_\text{A}$, while the number of moles of species containing $\ce{B}$ ($\ce{BOH}$ or $\ce{B^+}$) is $n_\text{B} = C_\text{B} V_\text{B}$. Notice that at the equivalence point, $n_\text{A} = n_\text{B}$ and therefore $C_\text{A} V_\text{A} = C_\text{B} V_\text{B}$; this will be important later. We will assume that volumes are additive (total volume $V_\text{T} = V_\text{A} + V_\text{B}$), which is close to true for relatively dilute solutions.
In search of an equation
To solve the problem of finding the final equilibrium after adding the solutions, we write out the charge balance and matter balance equations:
Charge balance: $\ce{[H^+] + [B^+] = [A^-] + [OH^-]}$
Matter balance for $\ce{A}$: $\displaystyle \ce{[HA] + [A^-]} = \frac{C_\text{A} V_\text{A}}{V_\text{A} + V_\text{B}}$
Matter balance for $\ce{B}$: $\displaystyle \ce{[BOH] + [B^+]} = \frac{C_\text{B} V_\text{B}} {V_\text{A} + V_\text{B}}$
A titration curve is given by the pH on the $y$-axis and the volume of added acid/base on the $x$-axis. So what we need is to find an equation where the only variables are $\ce{[H^+]}$ and $V_\text{A}$ or $V_\text{B}$. By manipulating the dissociation constant equations and the mass balance equations, we can find the following:
$$\ce{[HA]} = \frac{\ce{[H^+][A^-]}}{K_\text{a}}$$ $$\ce{[BOH]} = \frac{\ce{[B^+]}K_\text{w}}{K_\text{b}\ce{[H^+]}}$$ $$\ce{[A^-]} = \frac{C_\text{A} V_\text{A}}{V_\text{A} + V_\text{B}} \left(\frac{K_\text{a}}{K_\text{a} + \ce{[H^+]}}\right)$$ $$\ce{[B^+]} = \frac{C_\text{B} V_\text{B}}{V_\text{A} + V_\text{B}} \left(\frac{K_\text{b}\ce{[H^+]}}{K_\text{b}\ce{[H^+]} + K_\text{w}}\right)$$
Replacing those identities in the charge balance equation, after a decent bit of algebra, yields:
$$\ce{[H^+]^4} + \left(K_\text{a} + \frac{K_\text{w}}{K_\text{b}} + \frac{C_\text{B} V_\text{B}}{V_\text{A} + V_\text{B}}\right) \ce{[H^+]^3} + \left(\frac{K_\text{a}}{K_\text{b}}K_\text{w} + \frac{C_\text{B} V_\text{B}}{V_\text{A} + V_\text{B}} K_\text{a} - \frac{C_\text{A} V_\text{A}}{V_\text{A} + V_\text{B}}K_\text{a} - K_\text{w}\right) \ce{[H^+]^2} - \left(K_\text{a} K_\text{w} + \frac{C_\text{A} V_\text{A}}{V_\text{A} + V_\text{B}}\frac{K_\text{a}}{K_\text{b}} K_\text{w} + \frac{K^2_\text{w}}{K_\text{b}}\right) \ce{[H^+]} - \frac{K_\text{a}}{K_\text{b}} K^2_\text{w} = 0$$
Now, this equation sure looks intimidating, but it is very interesting. For one, this single equation will exactly solve any equilibrium problem involving the mixture of any monoprotic acid and any monoprotic base, in any concentration (as long as they're not much higher than about $1~\mathrm{\small M}$) and any volume. Though it doesn't seem to be possible to separate the variables $\ce{[H^+]}$ and $V_\text{A}$ or $V_\text{B}$, the graph of this equation represents any titration curve (as long as it obeys the previous considerations). Though in its full form it is quite daunting, we can obtain some simpler versions. For example, consider that the mixture is of a weak acid and a strong base. This means that $K_\text{b} \gg 1$, and so every term containing $K_\text{b}$ in the denominator is approximately zero and gets cancelled out. The equation then becomes:
Weak acid and strong base:
$$\ce{[H^+]^3} + \left(K_\text{a} + \frac{C_\text{B} V_\text{B}}{V_\text{A} + V_\text{B}}\right) \ce{[H^+]^2} + \left(\frac{C_\text{B} V_\text{B}}{V_\ce{A} + V_\ce{B}} K_\ce{a} - \frac{C_\ce{A} V_\ce{A}}{V_\ce{A} + V_\ce{B}}K_\ce{a} - K_\ce{w}\right) \ce{[H^+]} - K_\ce{a} K_\ce{w} = 0$$
For a strong acid and weak base ($K_\text{a} \gg 1$), you can divide both sides of the equation by $K_\text{a}$, and now all terms with $K_\text{a}$ in the denominator get cancelled out, leaving:
Strong acid and weak base:
$$\ce{[H^+]^3} + \left(\frac{K_\ce{w}}{K_\ce{b}}+\frac{C_\ce{B}V_\ce{B}}{V_\ce{A} + V_\ce{B}} - \frac{C_\ce{A} V_\ce{A}}{V_\ce{A} + V_\ce{B}}\right) \ce{[H^+]^2} - \left(K_\ce{w} + \frac{C_\text{A} V_\ce{A}}{V_\ce{A} + V_\ce{B}} \frac{K_\ce{w}}{K_\ce{b}}\right) \ce{[H^+]} - \frac{K^2_\ce{w}}{K_\ce{b}} = 0$$
The simplest case happens when adding a strong acid to a strong base ($K_\ce{a} \gg 1$ and $K_\ce{b} \gg 1$), in which case all terms containing either in the denominator get cancelled out. The result is simply:
Strong acid and strong base:
$$\ce{[H^+]^2} + \left(\frac{C_\text{B} V_\text{B}}{V_\text{A} + V_\text{B}} - \frac{C_\text{A} V_\text{A}}{V_\text{A} + V_\text{B}}\right) \ce{[H^+]} - K_\ce{w} = 0$$
It would be enlightening to draw some example graphs for each equation, but Wolfram Alpha only seems to be able to handle the last one, as the others require more than the standard computation time to display. Still, considering the titration of $1~\text{L}$ of a $1~\ce{\small M}$ solution of a strong acid with a $1~\ce{\small M}$ solution of a strong base, you get this graph. The $x$-axis is the volume of base added, in litres, while the $y$-axis is the pH. Notice that the graph is exactly as what you'll find in a textbook!
Now what?
With the equations figured out, let's study how they work. We want to know why the pH changes quickly near the equivalence point, so a good idea is to analyze the derivative of the equation and figure out where they have a very positive or very negative value, indicating a region where $\ce{[H^+]}$ changes quickly with a slight addition of an acid/base.
Suppose we want to study the titration of an acid with a base. What we need then is the derivative $\displaystyle \frac{\ce{d[H^+]}}{\ce{d}V_\ce{B}}$. We will obtain this by implicit differentiation of both sides of the equations by $\displaystyle \frac{\ce{d}}{\ce{d}V_\ce{B}}$. Starting with the easiest case, the mixture of a strong acid and strong base, we obtain:
$$\frac{\ce{d[H^+]}}{\ce{d} V_\ce{B}}= \frac{K_\ce{w} - C_\ce{B} \ce{[H^+] - [H^+]^2}}{2(V_\ce{A} + V_\ce{B}\left) \ce{[H^+]} + (C_\ce{B} V_\ce{B} - C_\ce{A} V_\ce{A}\right)}$$
Once again a complicated looking fraction, but with very interesting properties. The numerator is not too important, it's the denominator where the magic happens. Notice that we have a sum of two terms ($2(V_\ce{A} + V_\ce{B})\ce{[H^+]}$ and $(C_\ce{B} V_\ce{B} - C_\ce{A} V_\ce{A})$). The lower this sum is, the higher $\displaystyle \frac{\mathrm{d}\ce{[H^+]}}{\mathrm{d} V_\ce{B}}$ is and the quicker the pH will change with a small addition of the base. Notice also that, if the solutions aren't very dilute, then the second term quickly dominates the denominator because while adding base, the value of $[H^+]$ will become quite small compared to $C_\ce{A}$ and $C_\ce{B}$. Now we have a very interesting situation; a fraction where the major component of the denominator has a subtraction. Here's an example of how this sort of function behaves. When the subtraction ends up giving a result close to zero, the function explodes. This means that the speed at which $\ce{[H^+]}$ changes becomes very sensitive to small variations of $V_\ce{B}$ near the critical region. And where does this critical region happen? Well, close to the region where $C_\ce{B} V_\ce{B} - C_\ce{A} V_\ce{A}$ is zero. If you remember the start of the answer, this is the equivalence point!. So there, this proves mathematically that the speed at which the pH changes is maximum at the equivalence point.
This was only the simplest case though. Let's try something a little harder. Taking the titration equation for a weak acid with strong base, and implicitly differentiating both sides by $\displaystyle \frac{\ce{d}}{\ce{d} V_\ce{B}}$ again, we get the significantly more fearsome:
$$\displaystyle \frac{\ce{d[H^+]}}{\ce{d}V_\ce{B}} = \frac{ -\frac{V_\ce{A}}{(V_\ce{A} + V_\ce{B})^2} \ce{[H^+]} (C_\ce{B}\ce{[H^+]} - C_\ce{B} K_\ce{a} + C_\ce{A} K_\ce{a})}{3\ce{[H^+]^2 + 2[H^+]}\left(K_\ce{a} + \frac{C_\ce{B} V_\ce{B}}{V_\ce{A} + V_\ce{B}}\right) + \frac{K_\ce{a}}{V_\ce{A} + V_\ce{B}} (C_\ce{B} V_\ce{B} - C_\ce{A} V_\ce{A}) -K_\ce{w}}$$
Once again, the term that dominates the behaviour of the complicated denominator is the part containing $C_\ce{B} V_\ce{B} - C_\ce{A} V_\ce{A}$, and once again the derivative explodes at the equivalence point.
Solution 2:
A PRACTICAL DEMONSTRATION WITH PYTHON
Nicolau answer is an excellent analysis of the function that describes the titration but I would like to follow the Ben Norris answer (that I think to tackle better the problem at its origin) using Python hoping that this could be useful to become more confident and explore titration on your own.
Acidify pure water and calculate its pH
I think acidify water should be the first experiment you should do to understand pH. Imagine you have 1 L of water and imagine to add drop by drop HCl 0.1M. Assuming the volume of a drop is 1 mL you are adding 0.0001 mol of $H^{+}$ to the solution. With every drop, furthermore, you are adding 1 mL of water to the solution, so the concentration of $H^{+}$ after the first drop should be: $$\ce{[ H^{+} ]= \frac{mol~H^{+}_{init} + (mol~H^{+}_{drop} \times n)}{V_{init} + (V_{drop} \times n)}}$$
Where "init" indicate the initial amount of $H^{+}$ and $V$olume of water. and n is the number of drops you added.
$H^{+}_{init}$
Before you add the first drop of acid there are already $\ce{H3O^{+}}$ because water dissociate in $\ce{H3O+ ~, OH- }$ and the product of their concentration ($\ce{[H3O+] [OH- ]}$ at 25 °C) is $10^{-14}$. In pure water there is the same amount of $\ce{[H3O+]}$ and $\ce{[OH- ]}$ so $\ce{[H3O+] = [OH- ]}$ and we can write $\ce{[H3O+]^{2} = 10^{-14}}$ that is $\ce{[H3O+] = 10^{-7}}$.
The following python code simulates the addition of the drops and plots the concentration:
import numpy as np
import matplotlib.pyplot as plt
dropVolume=0.001#L
molH=0.0001#mol (you add this mol of H+ for every drop)
molOH=0.12#molt
intVolume=1#L
intHmol=10**(-7)#mol
n = np.arange(0, 30, 0.1)#here we create the drops.
#Plot concentration of H3O+
fig = plt.figure()
ax = fig.add_subplot(111)
cH=(intHmol+molH*n)/(intVolume+dropVolume*n)
plt.ylabel(r'$ [H_{3}O^{+}]$ ')
plt.xlabel(r'$mL$ of acid added')
plt.plot(n,cH)
The result is this:
You can notice that the result is quite obvious: adding acid the $[H_3O^{+}]$ increase proportionally. Note also that $H^{+}_{init}$ is negligible.
-log$[H_3O^{+}]$
Now you can calculate the pH. $$\ce{pH = -log[H3O+ ]}$$
#Plot -log [H3O+]
fig1 = plt.figure()
ax1 = fig1.add_subplot(111)
pH=np.log10((intVolume+dropVolume*n)/(intHmol+molH*n))
pOH=np.log10((intVolume+dropVolume*n)/((10**(-14))/(intHmol+molH*n)))
plt.plot(n,pOH,'--',color='red',label='pOH $-log[OH^{-}]$')
plt.plot(n,pH,label="pH $-log[H_{3}O^{+}]$")
plt.ylabel(r'pH or pOH')
plt.xlabel(r'$mL$ of acid added')
plt.xlim(-1,30)
plt.grid(color='red')
plt.legend(loc=10)
plt.tick_params(length=4)
plt.xticks(np.arange(30))
This is more interesting. You can see that the pH suddenly decreases from 7 to 4 after the first mL of acid added. This is, in fact, something similar what Ben Norris noted in his answer and is only related to the logarithmic operation. After this introduction, we can deal more easily with a real titration. If you want you can try to increase the pH of pure water adding $OH^{-}$ and then calculating the hydronium concentration $\ce{[H3O+]}$ from $\ce{[H3O+] [OH- ] = 10^{-14}}$ in this way $\ce{[H3O+] = \frac{10^{-14}}{[OH- ]}}$ and plot the pH. In the example, I've done the inverse with pOH.
Titration of HCl with NaOH
This is a simulation of a titration of a solution of HCl with NaOH the system at the beginning has a lower pH that will increase adding drop by drop a solution of NaOH. In this case, there are already present $H^{+}$ from HCl and the following neutralization reaction will occur until all the HCl is neutralized: $$\ce{H+ + Cl- + Na+ + OH- -> H2O + NaCl}$$
So we should divide the process into three steps:
$$\ce{H+ > OH-}$$ until this preposition is true the number of moles of $H^{+}$ will lower down by the same amount of $OH^{-}$ added due to the neutralization reaction: $$\ce{[ H_{3}O^{+} ]= \frac{mol~H^{+}_{HCl} - (mol~OH^{-}_{drop} \times n)}{V_{init} + (V_{drop} \times n)}}$$
$$\ce{H+ = OH-}$$ at the equivalence point $\ce{[H3O+] = [OH- ]}$ so $\ce{[H3O+] = 10^{-7}}$.
$$\ce{H+ < OH-}$$ After the equivalence point we are actually "basifying" brine (solution of water and salts), so we can get $\ce{[H3O+]}$ from $\ce{[H3O+] = \frac{10^{-14}}{[OH- ]}}$ we will use absolute value to avoid negative concentration: $$\ce{[ H_{3}O^{+} ]= \frac{ \frac{10^{-14}}{\lvert mol~H^{+}_{HCl} - (mol~OH^{-}_{drop} \times n )\rvert}}{V_{init} + (V_{drop} \times n)}}$$
Here is the code:
import numpy as np
import matplotlib.pyplot as plt
dropVolume=0.001#L
molOH=10**(-4)#mol
molH=10**(-2)#mol
intVolume=1#L
n = np.arange(0, 200, 0.1)
y=[]
for i in n:
if (molH-molOH*i)>0:
y.append(np.log10((intVolume+dropVolume*i)/(molH-molOH*i)))
if (molH-molOH*i)==0:
y.append(7)
if (molH-molOH*i)<0:
y.append(np.log10((intVolume+dropVolume*i)/(((10**(-14))/np.absolute(molH-molOH*i)))))
fig = plt.figure()
ax = fig.add_subplot(111)
plt.plot(n,y)
plt.ylabel(r'pH ($-log[H_{3}O^{+}]$)')
plt.xlabel(r'$mL$ of acid added')
plt.grid(color='red')
With these conditions we obtain the usual titration curve:
You can easily see that derives directly from the previous example we can also plot the $[OH^{-}], ~ [H_3O^{+}]$.
$[H_3O^{+}]$ simply goes lower down to $10^{-14}$ at the equivalence point, and then continue to goes down while $[OH^{-}]$ increase.
Conclusion
So, in fact, the answer to your question is that relative to the Self-ionization of water equilibrium $\ce{[H3O+] [OH- ] = 10^{-14}}$ at equivalence point you are switching between a solution with an excess of $\ce{[H3O+] }$ to a solution with an excess of $\ce{[OH- ]}$ and are these excesses that are determinant. Of course, if you plot the pH you have a steep rise if you plot $[H_3O^{+}]$ you got only a little step. This is why the usage a logarithmic function (precisely a p
function) is more convenient even if maybe more tricky, otherwise, you can zoom a little bit with Python to the equivalence point, this gives you an idea of what I mean with "excess"...
Solution 3:
The pH titration curve is shaped as it is because pH is a logarithmic scale. pH is the negative base ten logarithm of hydrogen ion concentration:
$$\text{pH}=-\log_{10}{\ce{[H+]}}$$
Thus, each change of 1 pH unit is a 10-fold change in concentration, and linear of value that 10-fold change gets smaller as the pH increases. For example, going from pH 1 to pH 2 means changing the concentration of $\ce{H+}$ from $10^{-1}$ to $10^{-2}$ or $0.100... -0.010... =0.099...$
Going from pH 2 to pH 3 means means changing the concentration of $\ce{H+}$ from $10^{-2}$ to $10^{-3}$ or $0.0100... -0.0010... =0.0099...$ If you are added fixed amounts of base (which is what you do during a titration), then that fixed amount has a larger effect on the concentration of $\ce{H+}$ as the pH goes up.
Let's walk through a simple titration:
You have 10 mL of 0.100 M $\ce{HCl}$ that you want to titrate with 0.100 M $\ce{NaOH}$. We will consider the change to the solution after each mL of base is added. We have to remember to keep track of moles of acid and base, since the volume is changing (we are adding base) and we need to remember that autoionization of water. The concentrations of $\ce{H+}$ and $\ce{OH-}$ never go to zero because of the autoionization:
$$\ce{H2O <=> H+ + OH-} \ \ \ \ K_w=[\ce{H+}][\ce{OH-}]=10^{-14}$$
Let $V_b$ be the volume of base added. At $V_b=0$, we have our original acid solution, which contains $\left(\dfrac{10\ \text{mL}}{1000 \ \frac{\text{mL}}{\text{L}}}\right)\left(0.100\ \dfrac{\text{M}}{\text{L}}\right)=0.001 \ \text{moles of HCl}$. Each time we increase $V_b$ by 1 mL, we add $\left(\dfrac{1\ \text{mL}}{1000 \ \frac{\text{mL}}{\text{L}}}\right)\left(0.100\ \dfrac{\text{M}}{\text{L}}\right)=0.0001 \ \text{moles of NaOH}.$ We decrease the moles of $\ce{H+}$present by this amount and recalculate concnetration for the new volume. Then we recalculation pH. We do this until...
When we reach $V_b =10 \ \text{mL}$, we will have added exactly as much base as there was acid originally. The concentrations of $\ce{H+}$ and $\ce{OH-}$ are both $10^{-7}\ \text{M}$, controlled by the autoionization. This is the equivalence point. As we add more base, we increase the concentration of $\ce{OH-}$. We can use the $K_w$ to calculate the concentration of $\ce{H+}$ and then the pH.
V_b V_T moles H+ moles OH- [H+] [OH-] pH
0 mL 10 mL 1.00E-3 1.00E-15 1.00E-1 1.00E-13 1.00
1 mL 11 mL 9.00E-4 1.34E-15 8.18E-2 1.22E-13 1.09
2 mL 12 mL 8.00E-4 1.80E-15 6.67E-2 1.50E-13 1.18
3 mL 13 mL 7.00E-4 2.41E-15 5.38E-2 1.86E-13 1.27
4 mL 14 mL 6.00E-4 3.27E-15 4.29E-2 2.33E-13 1.37
5 mL 15 mL 5.00E-4 4.50E-15 3.33E-2 3.00E-13 1.48
6 mL 16 mL 4.00E-4 6.40E-15 2.50E-2 4.00E-13 1.60
7 mL 17 mL 3.00E-4 9.63E-15 1.76E-2 5.67E-13 1.75
8 mL 18 mL 2.00E-4 1.62E-15 1.11E-2 9.00E-13 1.95
9 mL 19 mL 1.00E-4 3.61E-15 5.26E-3 1.90E-12 2.28
10 mL 20 mL 2.00E-9 2.00E-9 1.00E-7 1.00E-7 7.00
11 mL 21 mL 4.41E-14 1.00E-4 2.10E-12 4.76E-3 11.68
12 mL 22 mL 2.42E-14 2.00E-4 1.10E-12 9.09E-3 11.96
13 mL 23 mL 1.76E-14 3.00E-4 7.67E-13 1.30E-2 12.12
14 mL 24 mL 1.44E-14 4.00E-4 6.00E-13 1.67E-2 12.22
15 mL 25 mL 1.25E-14 5.00E-4 5.00E-13 2.00E-2 12.30
16 mL 26 mL 1.13E-14 6.00E-4 4.33E-13 2.31E-2 12.36
17 mL 27 mL 1.04E-14 7.00E-4 3.86E-13 2.59E-2 12.41
18 mL 28 mL 9.80E-15 8.00E-4 3.50E-13 2.86E-2 12.45
19 mL 29 mL 9.34E-15 9.00E-4 3.22E-13 3.10E-2 12.49
20 mL 30 mL 9.00E-15 1.00E-3 3.00E-13 3.33E-2 12.52
Notice that between $V_b =9$ and $V_b = 11$, the change in $\ce{[H+]}$ and $\ce{[OH-]}$ are very large compared to their changes before and after the equivalence point. This is because near the equivalence point, the concentrations are very low and controlled by the autoionization and not by the amount of acid or base present. Even if we expand the range around the equivalence point and determine the pH between $V_b =9$ and $V_b = 11$ after 0.1 mL, we still see similar behavior.