Here we have yet another variant on determining the pH of a solution. It is best viewed as the fourth model in the ACID-BASE package. This model depicts a diprotic acid, or an acid that can donate two molecules of hydrogen to a base. The chemical reaction is shown below.

 		      Ka1     +      -   Ka2     +     2-	 	   
	H A  +  2H O  -->   H O  + H-A   -->  2H O  + A	
	 2	  2	     3		        3
We can see that the first proton is donated to water to make a hydronium molecule. After the initial acid is consumed, the second proton is donated to form a second molecule of hydronium ion. It is important to note that the Ka of the first proton is MUCH GREATER than the second Ka. This is because the loss of the first proton generates a negatively charged anion. It is very difficult for bases which have a negative charge or a high electron density to come in close proximity to this anion and pull off the second proton. Because of this, the first proton is most often consumed before the second proton can be donated. The pH for the reaction is determined using the Henderson-Hasselbach equation in two separate instances. While the original acid (H2A) is present, the pH is determined by:
		pH = pK1 + log ([H-A ] / [H A])
Once the weak acid is depleted, the pH is then determined by:

			          2-       -
		pH = pK2 + log ([A ] / [H-A ])

The model uses a short-cut equation to approximate the pH of the solution. The equation, which can be used for each pk value of a polyprotic acid transforms the above two equations into the following, respectively.

		pH = 0.5 * (pK1 + log ([HA])
		pH = 0.5 * (pK2 + log ([A])


Decide how much acid should be present at the start of the simulation with the VOL-ACID slider and press SETUP. Turtles will distribute randomly across the screen. BLUE turtles represent water molecules, GREEN turtles represent hydronium ions, YELLOW turtles are acid molecules, and finally ORANGE turtles are conjugate base molecules. A set amount of water molecules is added each time to the solution. In this model we are using the Ka of acetic-acid, which means that approximately 1% of the original acid turtles are dissociated into 1 conjugate base molecule and 1 hydronium molecule.

Press GO. The turtles will move randomly across the screen and the pH of the solution will be plotted over time on the pH Curve and displayed in the pH monitor.

Observe the effect of adding base to the solution by setting the volume of base with the VOL-BASE slider and pressing ADD-BASE.

When the pH remains at a steady value, press RECORD-PH, which will plot the pH versus the amount of bases added on the titration curve.


Run a titration and observe the curve. Is there anything unique about its shape?

Look for light blue anions in the solution. How much base does it take before you start seeing them? Is this surprising?

Pay attention to how the molecules interact. Which molecules react with each other?


Compare the titration curve of the diprotic acid with that of a buffer? Do you see any similarities? How can you alter the code to test if this diprotic acid acts as a buffer.

Increase the dissociation percentage so that more hydronium ions are generated at setup. What does this do to the pH? Is the Henderson-Hasselbach equation still valid with large Ka?

Notice that the code requires hydroxide molecules to first react with hydronium molecules on a patch before they react with acid molecules. Can you explain why this is? Reverse the code and observe the effect on the system.


Alter the code so that base turtles only react with hydronium molecules. What effect is observed? What additional changes do you need to make so that the pH continues to rise with the addition of base?

Substitute short-cut equation for calculating pH with the full equation. Are the values similar?

Try substituting the various pKa values below into the Henderson-Hasselbach equation and observe their effect on the titration curve. What affect does this have on the pH.

	weak acid	pK1 	pK2
	---------	----	----
	carbonic	6.5	10.2
	oxalic		1.27	4.27
	glycine		2.34	9.60
	maleic		2.00	6.20