Chemical Education

Foregrounding the code: Computational chemistry instructional activities using a highly readable fluid simulation code



Most computational chemistry instructional activities are based around students running chemical simulations via a graphical user interface (GUI). GUI-based activities offer many advantages, as they enable students to run chemical simulations with a few mouse clicks. Although these activities are excellent for introducing students to the capabilities of chemical simulations, the disadvantage is that the students’ experience is not representative of how professional computational chemists work. Just as it is important that students in an organic chemistry instructional lab gain hands-on experience with equipment commonly used by professional organic chemists, students of computational chemistry must gain hands-on experience with coding, as professional computational chemists do not rely on GUIs; we write code. Motivated by the need for instructional activities that provide hands-on experience with computer code, a pair of activities were created around a free lightweight (runs on standard laptops) open-source Lennard-Jones (LJ) fluid simulation code written in Python, a programming language that prioritizes readability. The first activity, aimed at undergraduate physical chemistry lab courses, involves students writing Python code in a Jupyter Notebook that is used to run LJ simulations and fit a Van der Waals gas model to data produced by the LJ fluid simulations. The second is a jigsaw activity, aimed at advanced undergraduate or graduate students, where students are assigned different sections of the LJ fluid simulation code, and must demonstrate the functionality of their section to the class by both giving an oral presentation and sharing a Jupyter Notebook demonstration of their own design.


Thumbnail image of LJpaper.pdf

Supplementary material

Thumbnail image of sample_2D_trajectory.gif
2D LJ Fluid Trajectory
2D Lennard-Jones fluid trajectory of 25 particles
Thumbnail image of
2D LJ Fluid Trajectory in xyz Format
This xyz file can be opened in VMD or Pymol to view the trajectory of the Lennard-Jones particles.
Thumbnail image of LennardJonesFluidLabJupyterNotebook.pdf
PDF of Jupyter Notebook
A PDF of the Jupyter Notebook where the lab activity is run is provided so that instructors who have not yet installed Jupyter can view it.
Thumbnail image of LJ_3D_periodic_boundaries.mpg
Movie of 3D LJ Fluid Trajectory
This is a movie of the xyz file provided, which was rendered using Pymol.