Buffer Intensity and Buffer Capacity
pH Buffers and Alkalimetric Titration
A pH buffer is a mixture of a weak acid and a base. Let’s consider a diprotic acid H_{2}A to which a monoacidic strong base BOH (with B^{+} = Na^{+} or K^{+}) is added:^{1}
(1)  H_{2}A + n BOH = B_{n}H_{2n }A + n H_{2}O 
Example: For H_{2}CO_{3} and NaOH we obtain — in the special case of n = 0, 1, and 2 — pure solutions of H_{2}CO_{3}, NaHCO_{3} and Na_{2}CO_{3} (see Equivalence Points).
The parameter n acts as a stoichiometric coefficient that embodies the ratio of the added amount of strong base, C_{B}, to the total amount of the diprotic acid C_{T}:
(2)  n = C_{B }/C_{T} or C_{B} = n C_{T} 
Both C_{B} and C_{T} are given in molar units (mol/L) so that n becomes dimensionless (unitless).
The entity B_{n}H_{2n }A in reaction (1) does not survive in water; it dissociates into six aqueous species — as indicated in the right figure.
As we will see below, the amount of strong base is just the total alkalinity, Alk = C_{B}. Thus we have:
(3)  n = Alk /C_{T} or Alk = n C_{T} 
The variation of n (or C_{B}) in reaction formula (1) by adding a strong base is called alkalimetric titration. [The reason for our focus on diprotic acids is that they comprise carbonic acid H_{2}CO_{3} as the most prominent representative (i.e. A^{2} = CO_{3}^{2}).]
Notation. To keep the notation straight we abbreviate the activity of H^{+} by x. Its relationship with pH is given by:
(4)  x ≡ {H^{+}} = 10^{pH}  ⇔  pH = – lg {H^{+}} = – lg x 
The (molar) concentrations of the acid species [H_{2 }A], [HA^{}] and [A^{2}] are abbreviated as
(5)  [j] = [H_{2j }A^{j}]  with j = 0, 1, 2 
In addition, we introduce the “alkalinity of pure water” by^{2}
(6)  w = [OH^{}] – [H^{+}] ≈ K_{w }/x – x 
where K_{w} = 10^{14} controls the selfionization of water (autoprotolysis). As we will see later, w contributes to the selfionization of the alkalinity. For pure water — defined by x = (K_{w})^{1/2} = 10^{7}, i.e. pH = 7, — this contribution vanishes: w = 0.
StartingPoint: Basic Set of Equations
The set of equations to describe the alkalimetric titration is exactly the same as for diprotic acids:^{3}
(1.1a)  K_{1}  = {H^{+}} {HA^{}} / {H_{2}A}  (1^{st} diss. step)  
(1.1b)  K_{2}  = {H^{+}} {A^{2}} / {HA^{}}  (2^{nd} diss. step)  
(1.1c)  K_{w}  = {H^{+}} {OH^{}}  (selfionization)  
(1.1d)  C_{T}  = [H_{2}A] + [HA^{}] + [A^{2}]  (mass balance)  
(1.1e)  n C_{T}  = [HA^{}] + 2 [A^{2}] + [OH^{}] – [H^{+}]  (charge balance) 
The only difference to the diproticacid case is that n is now a continuous variable with arbitrary value (instead of a fixed integer n = 0, 1, 2).
For the special case of n = 0, the set reduces to the description of pure diprotic acids, where {H^{+}} or the pH is determined by the amount of C_{T}, and vice versa. The new variable n gives the system an additional degree of freedom.
Alkalinity. The righthand side of 1.1e is just the definition of the total alkalinity (also known as M alkalinity in carbonate systems),
(1.2)  Alk ≡ ([OH^{}] – [H^{+}]) + [HA^{}] + 2 [A^{2}] 
This justifies our statement, which we originally made in 3:
(1.3)  Alk = C_{B} = n C_{T} 
Ionization Fractions (a_{0}, a_{1}, a_{2})
The math system consists of 5 equations. Everything concerning the acid itself is contained in a subset of three equations: (1.1a), (1.1b), and (1.1d). The information inherent in this subsystem can be expressed by ionization fractions (instead of the three acid species [j]):
(2.1)  a_{j} = [j] / C_{T}  with j = 0, 1, 2 
These “normalized concentrations” describing the degree of dissociation are independent of the amount of acid C_{T}. Dividing 1.1d by C_{T} yields:
(2.2)  1 = a_{0} + a_{1} + a_{2}  (mass balance) 
Mathematically, the ionization fractions are nothing else than a clever way to combine 1.1a and (1.1b) using 2.2:
(2.3a)  a_{0} = [ 1 + K_{1}/x + K_{1}K_{2}/x^{2} ]^{1}  
(2.3b)  a_{1} = [ x/K_{1} + 1 + K_{2}/x ]^{1}  
(2.3c)  a_{2} = [ x^{2}/(K_{1}K_{2}) + x/K_{2} + 1 ]^{1} 
They are solely functions of x (or pH); the only other ingredients are two equilibrium constants, K_{1} and K_{2}. Their pH dependence is shown here. Each a_{j} is imprisoned between 0 and 1, i.e. it neither become negative nor greater than 1. Strictly speaking, the functions will come very close to their boundaries, but never really reach 0 and 1:
(2.4)  0 < a_{j} < 1  for j = 0, 1, 2 
There are three exceptional points of pH (or x):^{4}
(2.5a)  pH = pK_{1}  x = K_{1}  ⇔  a_{1} = a_{0} ≈ ½  a_{2} ≈ 0  
(2.5b)  pH = ½ (pK_{1}+pK_{2})  x = (K_{1}K_{2})^{1/2}  ⇔  a_{0} = a_{2} ≈ 0  a_{1} ≈ 1  
(2.5c)  pH = pK_{2}  x = K_{2}  ⇔  a_{1} = a_{2} ≈ ½  a_{0} ≈ 0 
In the following, the three ionization fractions a_{0}, a_{1}, and a_{2} become the building blocks of almost all relevant acidbase quantities. In this respect, don’t confuse the real variable n with the index j for the three integers j = 0, 1, 2. The latter are dedicated to the three ionization fractions a_{j} and the three dissolved species, H_{2}A, HA^{}, and A^{2}.
Analytical Solution of the System of Equations
The set of 5 equations in (1.1) can be cast into a single analytical formula:
(3.1a)  \(C_T(x) \, = \, \dfrac{x  K_w/x} {a_1 + 2a_2  n}\) 
Here, the pH dependence (in form of x = 10^{pH}) is also contained in a_{1} and a_{2}. To elucidate this, plug (2.3b) and (2.3c) into 3.1a:
(3.1b)  \(C_T(x) \, = \, \left(x\dfrac{K_w}{x}\right) \ \left(\dfrac{1+2K_2/x} {x/K_1 + 1 + K_2/x}n\right)^{1}\) 
This formula calculates C_{T} for a given pH (or x) and a given n. Often, however, one is interested in the “inverse task”: to calculate the pH for a given C_{T} and/or n. For this purpose, you need to rearrange 3.1b to isolate x. Unfortunately, that’s impossible. The only thing you can achieve is a polynomial of 4^{th} order in x:
(3.2)  x^{4} + {K_{1} + nC_{T}} x^{3} + {K_{1}K_{2} + (n–1)C_{T }K_{1} – K_{w}} x^{2} + K_{1} {(n–2)C_{T }K_{2} – K_{w}} x – K_{1}K_{2}K_{w} = 0 
This quartic equation (quartic!, not quadratic)^{5} predicts the pH for any given pair of C_{T} and n. Replacing nC_{T} by C_{B} in 3.2, an alternative form is obtained:
(3.3)  x^{4} + {K_{1} + C_{B}} x^{3} + {K_{1}K_{2} + (C_{B} – C_{T}) K_{1} – K_{w}} x^{2} + K_{1} {(C_{B} – 2C_{T}) K_{2} – K_{w}} x – K_{1}K_{2}K_{w} = 0 
Once the pH value (or x) is known, the concentrations of the acid species, H_{2 }A, HA^{}, and A^{2} can be calculated via the ionization fractions a_{j} as follows:
(3.4)  [H_{2j }A^{j}] = C_{T} a_{j }(x)  for j = 0, 1, 2 
Exact Relationships between pH, C_{T}, and n (or Alk = nC_{T})
The set of five math equations in (1.1a) to (1.1e) contains all information about the “diproticacid plus strong base” system (alkalimetric titration). In particular, the actual equilibrium state (i.e. the concentrations of the acid species H_{2}A, HA^{}, and A^{2}) is controlled by two parameters chosen from the triple (C_{T}, n, pH) or (C_{T}, Alk, pH). Once you know two of them, the third is automatically determined:
(4.1a)  pH (C_{T},n)  = –lg x_{1} with x_{1} = positive root of 3.2  [j] = C_{T} a_{j}  
(4.1b)  pH (C_{T},Alk)  = –lg x_{1} with x_{1} = positive root of 3.3  [j] = C_{T} a_{j} 
(4.2a)  n (C_{T},pH)  = a_{1} + 2a_{2} + w/C_{T}  [j] = C_{T} a_{j}  
(4.2b)  Alk (C_{T},pH)  = C_{T }(a_{1} + 2a_{2}) + w  [j] = C_{T} a_{j}  
(4.3a)  C_{T }(n,pH)  = w/(n – a_{1} – 2a_{2})  [j] = [w/(n – a_{1} – 2a_{2})] a_{j}  
(4.3b)  C_{T }(Alk,pH)  = (Alk – w)/(a_{1} + 2a_{2})  [j] = [(Alk – w)/(a_{1} + 2a_{2})] a_{j} 
with w(x) defined in 6. Here [j] stands for the molar concentration of the three acid species.
Note: All formulas presented here are different encodings of one and the same thing, namely the set of equations (1.1a) to (1.1e).
Cross Plots. It’s quite instructive to visualize the nonlinearity of the acidbase system graphically. The diagrams below display all possible combinations of one dependent and two independent variables (taken from the triplet C_{T}, n, and pH) for the carbonate system:
The diagrams can be redrawn for the case when n is replaced by the alkalinity (Alk = n C_{T}):
Other Examples. Application of 4.2a to a pure CO_{2} system provides the (blue) titration curves in the diagram below. On the other hand, for the special case of n = 0, n = 1, and n = 2, 4.3a was used to plot the pH trajectories of three equivalence points.
Buffer Capacity
Alkalinity is known to be a buffer capacity (and therefore it is what we have called C_{B}). Thus, the titration curves based on 4.2b display the buffer capacity as a function of pH. In this sense, n(pH) = C_{B}/C_{T} can be understood as the “normalized” or unitless buffer capacity. From the above formulas we get:
(5.1a)  buffer capacity (in mol/L):  C_{B}  =  (a_{1} + 2a_{2}) C_{T} + w  
(5.1b)  normalized buffer capacity:  n  =  (a_{1} + 2a_{2}) + w/C_{T} 
Each individual term in these “titration formulas” is pHdependent: a_{1}(x), a_{2}(x), C_{T}(x), and w(x). Thus, 5.1b can be written as:
(5.2)  n (C_{T},x) = \(a_1 + 2a_2 + \dfrac{w}{C_T} \ =\ \dfrac{1+2K_2/x} {x/K_1 + 1 + K_2/x} + \dfrac{K_w/x  x}{C_T}\) 
Buffer Intensity
The buffer intensity is the 1^{st} derivative of the buffer capacity with respect to pH. Again, we distinguish between two types of buffer intensities:
(6.1a)  buffer intensity (in mol/L):  β_{c}  =  dC_{B} / d pH = β C_{T}  
(6.1b)  normalized buffer intensity:  β_{ }  =  dn / d pH 
The steeper the slope of a titration curve the higher is the buffer intensity β = dn/d(pH), i.e. the higher the system’s resistance to pH changes (caused by a strong base). The pH where β reaches its maximum represents the optimal buffer range (bounded by pH_{max }±1) — see example below:
Formulas. The 1^{st} pHderivative of 5.2 yields (see Appendix):
(6.2a)  β = ln 10 {(a_{2} + a_{0}) – (a_{2} – a_{0})^{2}} + ln 10 (w+2x) /C_{T} 
or, more explicitly,
(6.2b)  \(\beta \ = \ \ln10 \, \left\{\dfrac{x/K_1+4K_2/K_1+K_2/x}{(x/K_1+1+K_2/x)^2} \, +\ \dfrac{x+K_w/x}{C_T} \right\}\) 
Equation (6.2b), which contains only positive summands, tells us that β (green curve) is always positive (it never becomes negative or exactly zero).
Local Extrema. The local maxima (and minima) of the buffer intensity are at the following points:
x = K_{1}  maximum  ⇒  optimal buffer range 
x = (K_{1}K_{2})^{1/2}  minimum  
x = K_{2}  maximum  ⇒  optimal buffer range (small C_{T} excluded) 
Please note that this is not strictly exact, but it’s a very good approximation. Mathematically, local extrema of β are found at values where the 1^{st} pHderivative of β is zero.
Example: The buffer intensity of a pure CO_{2} system is displayed as green curve in the diagram below.
Buffer Capacity. The buffer capacity is the integral of the buffer intensity:
(6.3)  buffer capacity = \(\int_a^b \beta_c \ \textrm{d} pH\) 
Derivative of the Buffer Intensity
The derivative of the buffer intensity is given by:
(7.1)  \(\dfrac{\textrm{d}\beta}{\textrm{d}\,pH} \ = \ (\ln10)^2 \, \left\{\dfrac{f(x)}{(x/K_1+1+K_2/x)^3} \, +\ \dfrac{K_w/x  x}{C_T} \right\}\) 
with the abbreviation
(7.2)  f_{ }(x) = (x/K_{1} – K_{2}/x) (x/K_{1} + K_{2}/x – 1 + 8 K_{2}/K_{1}) 
Example: The derivative of the buffer intensity of a pure CO_{2} system is displayed as red curve in the diagram below. The zeros of dβ/d(pH) are marked by blue circles.
Example Calculation for the Carbonate System
Given is a pure CO_{2} system with C_{T} = 100 mM, 10 mM, and 1 mM H_{2}CO_{3}.^{6} Three quantities are plotted as function of pH:
• n(pH)  (normalized) amount of strong base added^{7}  (blue curve) 
• β = dn/dpH  (normalized) buffer intensity  (green curve) 
• dβ/dpH  derivative of the buffer intensity  (red curve) 
All three quantities are unitless per definition. The small blue dots mark the zeros of dβ/d(pH).
Since the (blue) titration curve is an everincreasing function, its derivative, i.e. the buffer intensity β, is always positive (see green curve). This is in full accord with Le Châtelier’s principle that every solution resists pH changes.
Appendix — Derivatives with Respect to pH
The first and the second derivative of x = {H^{+}} with respect to pH are:
(A1)  dx/d(pH) = (–ln 10) x  and  d^{2}x/d(pH)^{2} = (–ln 10)^{2} x 
This result can be used to differentiate any given function f(x) with respect to pH (by application of the chain rule):
(A2)  \(\dfrac{\textrm{d}f(x)}{\textrm{d}\,pH} \ = \ \left(\dfrac{\textrm{d}x}{\textrm{d}\,pH}\right) \left(\dfrac{\textrm{d}f(x)}{\textrm{d}x}\right) \ = \ (\ln10)\, x \ \dfrac{\textrm{d}\,f(x)}{\textrm{d}x}\) 
Hence, for w(x) = K_{w}/x – x, introduced in 6, we get the amazing result:
(A3a)  dw/d(pH)  = ln 10 (K_{w}/x + x)  = ln 10 (w + 2x)  
(A3b)  d^{2}w/d(pH)^{2}  = (ln 10)^{2} (w + 2x – 2x)  = (ln 10)^{2} w 
All derivatives of higher degree repeat this pattern:
(A3c)  \(\dfrac{\textrm{d}^{k}w}{\textrm{d}\,(pH)^k} \ = \ (\ln10)^k \, \left\{\begin{matrix}\ w& &\textrm{for} & k\ \textrm{even} & \\ \ w+2x && \textrm{for} & k\ \textrm{odd} & \end{matrix}\right.\) 
Ionization Fractions & Moments. The three ionization fractions, introduced in 2.3a to (2.3c), obey the following relations (where the sum runs from i = 0 to 2):
(A4a)  Y_{0} ≡ Σ_{i} a_{i}  = a_{0} + a_{1} + a_{2}  = 1  
(A4b)  Y_{1} ≡ Σ_{i} i a_{i}  = 0⋅a_{0} + 1⋅a_{1} + 2⋅a_{2}  = a_{1} + 2 a_{2}  
(A4c)  Y_{k} ≡ Σ_{i} i^{k} a_{i}  = 0⋅a_{0} + 1⋅a_{1} + 2^{k}⋅a_{2}  = a_{1} + 2^{k }a_{2}  (for all k > 0) 
Y_{k} is called the k^{th} moment. Here, Y_{0} represents the mass balance, Y_{1} enters the alkalinity (as its main part), and Y_{2} together with Y_{3} will be used for the buffer intensity and its derivative. All Y_{k} are positive numbers, living in the range 0 < Y_{k} < 2^{k} (excluding Y_{0} which is 1).
The first derivative of the ionization fractions is given by
(A5)  da_{i }/d(pH) = ln 10 (i – a_{1} – 2a_{2}) a_{i} = ln 10 (i – Y_{1}) a_{i}  for i = 0, 1, 2 
Applying it to the two sums in A4a and (A4b) yields
(A6a)  (d/d pH) Σ_{i} a_{i}  = ln 10 Σ_{i} (i – Y_{1}) a_{i}  = ln 10 (Y_{1} – Y_{1}) = 0  
(A6b)  (d/d pH) Σ_{i} i a_{i}  = ln 10 Σ_{i} i (i – Y_{1}) a_{i}  = ln 10 (Y_{2} – Y_{1}^{2}) 
The first relation, which delivers zero, is obvious because it represents the derivation of a constant, namely d^{ }1/d(pH) = 0. In general we have
(A7)  d Y_{k }/d pH = ln 10 Σ_{i} i^{k} (i – Y_{1}) a_{i} = ln 10 (Y_{k+1} – Y_{1}Y_{k}) 
The second derivative of Y_{1} is given by
(A8a)  \(\dfrac{\textrm{d}^2\,Y_1}{\textrm{d}(pH)^2}\)  = \((\ln10) \,\dfrac{\textrm{d}}{\textrm{d}\, pH}\, (Y_2Y_1^2)\)  
= (ln 10)^{2} (Y_{3} – Y_{1}Y_{2} – 2Y_{1} (Y_{2} – Y_{1}^{2}))  
= (ln 10)^{2} (Y_{3} – 3Y_{1}Y_{2} + 2Y_{1}^{3}) 
and the third derivative of Y_{1} is
(A8b)  \(\dfrac{\textrm{d}^3\,Y_1}{\textrm{d}(pH)^3}\)  = \((\ln10)^2 \,\dfrac{\textrm{d}}{\textrm{d}\, pH}\, (Y_33Y_1Y_2+2Y_1^3)\) 
= (ln 10)^{3} {(Y_{4}–Y_{1}Y_{3}) – 3Y_{2} (Y_{2}–Y_{1}^{2}) – 3Y_{1} (Y_{3}–Y_{1}Y_{2}) + 6Y_{1}^{2 }(Y_{2}–Y_{1}^{2})} 
Buffer Intensity & Co. The above equations can now be employed to derive the buffer intensity and its derivative introduced in 6.2 and 7.1. In particular, we have:
(A9a)  n  =  (Y_{1} + w/C_{T})  
(A9b)  β  = d /d pH  (Y_{1} + w/C_{T})  
(A9c)  dβ/d pH  = d^{2}/d (pH)^{2}  (Y_{1} + w/C_{T}) 
which yields
(A10a)  n  = (Y_{1} + w/C_{T})  
(A10b)  β  = (ln 10) {(Y_{2} – Y_{1}^{2}) + (w+2x) /C_{T}}  
(A10c)  dβ/d pH  = (ln 10)^{2} {(Y_{3} – 3Y_{1}Y_{2} + 2Y_{1}^{3}) + w/C_{T}} 
The Y’s are functions of the a’s. For example, the first term in A10b is given by:
(A11)  Y_{2} – Y_{1}^{2} = (a_{1} + 4a_{2}) – (a_{1} + 2a_{2})^{2} = (a_{2} + a_{0}) – (a_{2} – a_{0})^{2} 
In the last relation, A4a was applied.
Remarks & Footnotes

A detailed math description is provided in the review article (2021) and short lecture (2023). It is also discussed in the PowerPoint presentation. ↩

The rounding sign on the righthand side results from the approximation [H^{+}] ≈ {H^{+}}. ↩

Here and in the following we assume that — except for H^{+} — all activities (expressed by curly braces) are replaced by molar concentrations (expressed by square brackets). This is legitimate for dilute systems or by switching to conditional equilibrium constants. ↩

The equilibrium constant K can also be expressed by pK = –log K. ↩

There are algebraic formulas for quadratic, cubic and quartic equations (4th order polynomial), but the effort for the last two is enormous. (By the way: 5th order and higher polynomials are algebraically not solvable.) ↩

The two equilibrium constants of the carbonic acid are: K_{1} = 10^{6.35} and K_{2} = 10^{10.33} (see also here). ↩

The formula allows also negative values of n. This mimics the withdrawal of the strong base from the solution or the addition of a monoprotic acid (e.g. HCl). ↩