« Return to AACT homepage

AACT Member-Only Content

You have to be an AACT member to access this content, but good news: anyone can join!

Need Help?

Find the Best Bond Angle and Bond Length of Water Mark as Favorite (3 Favorites)

ACTIVITY in Molecular Structure, Molecular Geometry, Bond Energy. Last updated May 14, 2019.


In this activity, students participate in an introductory level computational chemistry investigation. Students will interact with computational software to conduct this activity and will analyze data to determine the best bond angle and bond length of a water molecule.

Grade Level

High School

NGSS Alignment

This activity will help prepare your students to meet the performance expectations in the following standards:

  • HS-PS3-2: Develop and use models to illustrate that energy at the macroscopic scale can be accounted for as a combination of energy associated with the motions of particles (objects) and energy associated with the relative positions of particles (objects).
  • Scientific and Engineering Practices:
    • Using Mathematics and Computational Thinking
    • Developing and Using Models
    • Analyzing and Interpreting Data


By the end of this activity, students should be able to

  • Use computational chemistry software to investigate a problem and analyze data.
  • Associate bond angle and length with energy in a molecule.
  • Understand that energy in a molecule is related to its stability.

Chemistry Topics

This lesson supports students’ understanding of

  • Computational Chemistry
  • Molecular Structure
  • Molecular Geometry
  • Bond Energy


Teacher Preparation: ~30 minutes (will vary)

Lesson: 90 minutes



  • There are safety concerns related to this activity.

Teacher Notes

  • This is an introductory level computational chemistry activity. For more information about computational chemistry, read the associated article, The AP Chem Exam is Over—Now What?, from the May 2018 issue of Chemistry Solutions.
  • This lab a good starting point for teachers considering introducing computational chemistry to their students. We are asking the student to study the molecular structure of a basic molecule, water. In introductory chemistry, we want students to understand that molecules have a structure that is determined by the types of atoms, the bond types (single, double, etc.), the bond lengths, angles, and, for larger molecules, dihedral angles. We have them learn that the bond angle of water is typically about 104.5 degrees. We can use computational chemistry to investigate the degree to which this is a valid bond angle.
  • What we typically do not teach students is that the structure of the molecule influences the energy of the molecule, and that the most stable version of the molecule is the one that has the lowest energy value. With this lab, students can perform a potential energy scan, or PES. This calculation determines the energy of the molecule as a function of the bond length and the bond angle, starting at some value for both and running the model for a number of steps at a user-determined interval. The data generated is the bond lengths, bond angles, and energy for each iteration. The student can then use this data to prepare a 3D representation of the PES. In our classes, we use Mathematica, but students can easily use Excel to create a plot of the energy scan. We also ask our students to do a PES run three times, each time “zooming in” on a closer approximation of the bond length and the bond energy.
  • This is the lab that I use with my beginning chemistry students and my introductory computational science students. It requires them to build the molecule, understand how to configure the interface, and modify the code generated by the interface. The first example is “scripted,” then I ask them to decide their own values for two more runs, based on the results of the first run.
  • Additional example lab activities can be found on the North Carolina High School Computational Chemistry server. [It should be noted that this server is dedicated to pre-college students and teachers in the state of North Carolina, but there is another server, located at the Shodor Education Foundation, that is a mirror to the North Carolina School of Science and Mathematics (NCSSM) server in Durham, and is available to a national audience.]

For the Student


In chemistry, we need to know about the structure of molecules. For example, are they straight molecules, bent molecules, planar (flat) molecules? All of these things make a difference. The structure of a molecule determines whether or not the molecule will react with another molecule, how it will behave, and what characteristics or properties it might have.

A molecule that everyone knows well is water. Water has two hydrogens and one oxygen, with the formula H2O. In computational chemistry, we use a red sphere to represent oxygen, and white spheres to represent hydrogen. Figure 1 shows a representation of water. The ”sticks” between the spheres represent bonds, which are actually electrons holding the atoms together.

You might notice that this molecule is bent. There is a bond angle between the three atoms (H-O-H), and that angle is typically reported at 109.5⁰ (degrees). There is also a distance between the hydrogens and the oxygen, and these are typically reported in units of Angstroms (Å), which is very small – 0.0000000001 meters – or 1.0×10-10m. A human hair has a thickness of about 300 Å, so this is pretty small. The bond length between hydrogen and oxygen is about 1.05 Å.

When the bond angle is 109.5⁰ and the bond length is 1.05 Å the molecule has a very specific amount of energy. In computational chemistry, we use a unit of energy known as the hartree, named after a famous scientist. We use the abbreviation Eh to represent this energy.

Figure 1: Representation of water

The amount of energy that a molecule has determines how stable the molecule is, and the lower the energy, the more stable the molecule is. Lower energy is better. And that’s the research question in this lab: what geometry configuration (bond angle and bond length) produces the lowest energy value. It’s your job to find out. The textbooks all say 109.5⁰ and 1.05 Å. Are they right?


  1. Log into http://chemistry.ncssm.edu using the username “guest” and the password “guest”.
  2. From the Build menu, select the oxygen atom. Click in the window to get a red ball.
  3. From the Cleanup menu, do a comprehensive (idealized) cleanup. You should now have the hydrogen atoms and a bent structure!
  4. From the Symmetry menu, click on Symmetrize Molecule, symmetrize it, and then click on OK.
  5. Go to the next menu by clicking on the blue arrow in the bottom right corner. Choose ”Gaussian” as your computational engine.
  6. In the new menu, you can give your name a job, such as ”Energy Scan of Water”, or just leave it as H2O.
  7. Under the Calculation menu, choose ”Coordinate Scan”. Everything else in the menu can stay as it is.
  8. Click on the Advanced tab, turn off (uncheck) ”Include Connectivity”.
  9. Click on the Preview tab, then hit ”Generate”. You should get a window that looks like the one in Figure 2.
  10. You now want to change the code generated to look like the code in Figure 3. This is what this means:
  • The keyword ”Scan” at the top says that we want to scan the coordinates. In our case, we are scanning the bond angle and the bond length.
  • Since the bonds between the two hydrogens and the oxygen are the same, we call both of them”B1”. ”A1” is the angle, and it’s the only angle we have.
  • We want to scan B1 (the bond length starting at 0.88 Å in 10 steps, each step being 0.04 Å (0.88, 0.92, 0.96, etc.). Notice that the 10 steps is an INTEGER number, and the other two are decimals.
  • Likewise, we are going to scan the bond angle (A1), starting at 60 degrees and going to 150 degrees, so this will be 10 steps at 10.0 degrees per step (60.0, 70.0, 80.0, etc.)
Figure 2: Configure window
  • Make sure there is a blank line at the very end. If you hit the return key a couple of times, you will be safe.
  1. Now click on the next window arrow, bottom right. It will ask you if you want to submit the edited file, and you do.
  2. Now wait for a while, probably 15-20 minutes. You might get stuck in the queue! You can click on the word ”Refresh” at the top of the menu items to update your screen.
  3. Once your job is done, scroll down to the bottom, and find the results of your coordinate scan. You should see all of your bond angles and bond lengths and the associated energy value.
  4. Click on the magnifying glass. You should get a 2D color graphic. Red color means lower energy. You can mouse over that, see if you can find the lowest energy value.
  5. If you click on the disk icon, it will download a CSV (comma separated value) dataset to your computer.
Figure 3: Scan window
  1. In Mathematica, use the Import command to import the CSV dataset into MMA (making sure you give your dataset a variable name).
  2. Show your data as a nice table, using the // TableForm command or the Grid command!
  3. Plot your 3D surface using the ListPlot3D command. Label your axes (you will have to figure out which axes is which!)
  4. Find the coordinates (bond length and bond angle) that correlate to the lowest energy value.


Create a Mathematica notebook that has these components:

  1. Your downloaded dataset that you imported into Mathematica
  2. Your 3D plot, with axes labeled appropriately
  3. The coordinates you found for the lowest energy value

Now, do the scan TWO MORE times. From the lowest energy value of the first run that you did, do 10 runs for both bond length and bond length. Set your intervals so that you have 5 scans below and 5 above at HALF of the interval you used for the first run.

  • For example, if your optimal length is 0.98, then you want 10 scans at an interval of 0.02, starting at something like 0.92 ̊A. At the same time, cut your bond angle interval in half (5 degrees instead of 10), and start 5 steps below your best angle (so, if your best angle is 105 degrees, start at something like 80 degrees).

Then do the same thing, cutting your intervals in half again (0.01 ̊A and 2.5 degrees), again starting at the appropriate place. What you are trying to do here is to zoom in on the lowest energy level. By cutting the interval, we are able to find the most optimal bond length and bond angle.

For EACH of these two additional runs, download the CSV scan file, do a 3D plot, and use your modified code to find the coordinates where the energy is at a minimum. The THIRD run should be your final results!

A standard student results is shown below. We have not included the student-generated Mathematica code, but a plot of this type can easily be generated in Microsoft Excel or some other type of tool. The student has determined that the hydrogen-oxygen bond lengths are 0.95 angstroms and the bond angle is 105.0 degrees, which correlates to an energy value of -76.0107 hartrees.If the student uses a tool, such as Mathematica or Microsoft Excel, the student can rotate the 3D graphic to see the “minima” that correlates to these specifications.