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.
2D LJ Fluid Trajectory
2D LJ Fluid Trajectory in xyz Format
PDF of Jupyter Notebook
Movie of 3D LJ Fluid Trajectory