Next:
Introduction
Computational Simulation of Molecular Dynamics - A Software Design Perspective
James Roper
*
Introduction
How to use this tutorial
From bouncing balls to atoms
Choosing an appropriate data structure
List of atom objects
Lists of vectors
The chosen data structure
Building the data structure
The Lennard-Jones potential
Implementation of Lennard-Jones
Minimisation
Displaying it visually
Dynamics
Putting it all together
Exercises
Introducing software design
The importance of good software design
The software crisis
Model View Controller pattern
Extending Model View Controller to the Observer pattern
Implementing these patterns
Inheritance
The subjects
The observers
The controller
Exercises
Adding a Graphical User Interface
Available graphics packages
GTK
Implementing a GTK controller
Exercises
GTK main loop vs Simulation main loop
Threading
Implementing threads in Python
Running the GTK main loop and simulation loop simultaneously
Exercises
The final product
The template pattern
The decorator pattern
The
Configuration
class
Building the GUI
Summary
Exercises
About this document ...
James Roper 2004-02-12