This model demonstrates how chemists and biologists use the properties of acids and bases to create buffer solutions. It is best viewed as the third model in the ACID-BASE package. Simply put, a buffer is a solution that resists changes in pH when either acid or base is added to it. To accomplish this feat, buffers depend on the present of a weak acid and its conjugate base. With both of these species in the solution, acids and bases are absorbed according to the following equations. H-A denotes the weak acid and A- denotes the conjugate base.

         -                 -	 	 -     +	   -    
H-A  + OH  ----->   H O + A		A + H O  -------> H O + H-A
		     2			     3		   2

The pH of a buffer is determined in the same manner that the pH of a weak acid is determined - use the Henderson-Hasselbach equation. The equation is listed below.
For this model, we will use the pKa of acetic acid (4.8).	
			pH = pKa + log ([A ] / [H-A])

Buffers are only effective within their unique buffering range. The range of the buffer is determined by the pKa of the weak acid and the concentrations of the weak acid and it's conjugate base. Outside of the its buffering range, a buffer's pH can be calculated as if it were a strong acid or strong base. We will see why this is through the use of the model.


Decide how much acid should be present at the start of the simulation with the VOL-ACID slider and press SETUP. Set the amount of conjugate base equal to the VOL-ACID slider with the CONJBASE slider. Turtles will distribute randomly across the screen. BLUE turtles represent water molecules (H20), GREEN turtles represent hydronium ions (H30+), YELLOW turtles are acid molecules (HA), and finally ORANGE turtles are conjugate base molecules (A-). 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 molecules are dissociated into 1 conjugate base molecule and 1 hydronium molecule.

Press GO. The molecules 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.

To observe the effect of adding base or acid to the solution, set the volume of base you want to add with the BASE-AMT slider and press ADD-BASE (OH-)(basic hydroxide molecules are displayed as RED turtles). Do the same for adding acid with the ACID-AMT slider and ADD-ACID button.


Observe the shape of the pH curve. Notice how the pH changes with respect to the amount of base or acid added. Does the buffer resist change in pH?

When acid or base is added to the solution, they quickly disappear as they react. Can you determine which turtles react with each other? It may help to set the vol-acid and conjbase sliders < 50 to do this.

What happens when large amounts of base or acid are added to the system? Is it the same as adding small amounts? Does the pH curve reflect this?

By adding various amount of acid and base can you determine the pH range of this acetic acid-sodium acetate buffer?

Add a large amount of acid or base to the solution and observe the effect. Why does the pH change dramatically outside of the buffering range? Would it be useful to add large amounts of base all at once to a solution in the laboratory if you were trying to adjust the pH?

Try running the model with high and low amount of acid or conjugate base. The buffering range of the solution should shift. How is the shift related to the changes you made?


Set up monitors to observe the amount of OH and H generated in the reaction. Can you use these values to explain why buffers resist pH change only in a short range?

Increase the amount of hydronium originally generated upon SETUP by increasing the chance of dissociation in the procedures. What effect does this have on the initial pH? Is the Henderson-Hasselbach equation still an effective measure of pH?

Add a button and procedure to add more conjugate base to the reaction. How could this help a chemist who is trying to keep the pH of a solution at a constant value?

Add a procedure that allows you to plot a titration curve for a buffer. Is it similar to any other titration curves you have seen? What additional information can you can from the titration curve?