Verlet: An Object-Oriented Implementation of the Verlet Algorithm for Molecular Dynamics |
---|
This website describes how to install, run, and extend, a molecular dynamics code that I, Jerry Vigil, wrote in June 2004 at Brookhaven National Laboratory during my summer internship there. I am currently a first-year graduate student in physics at the University of California, Davis, and I intend to earn a PhD in theoretical condensed matter physics. The code presented here uses the methods described in an excellent text on molecular dynamics entitled Understanding Molecular Simulation by Daan Frenkel and Berend Smit. In particular the code implements the methods and algorithms decsribed in chapter 4 but does so in an object-oriented manner.
|
|
The code is written in C++, and while its object-oriented organization makes it very easy to extend by adding additional functions, inheriting from its classes, or instantiating the entire Verlet algorithm as a part of another code, I do not expect this code to find any real-world applications. This code is essentially a simple implementation of the Verlet algorithm, which is one of the simplest and most widely used algorithms in molecular dynamics. I do, however, think that students just starting out with molecular dynamics who would like to look at a fairly simple and fully functional code will find this code useful. The dynamic allocation of functions in the main routine makes it very easy to add additional sampling functions to the code without any modifications to the Verlet or Particle classes, and if one really needs to modify these classes one can always use inheritance to do so. Thus, I think that the advantages of this object-oriented implementation outweigh the small loss in computational efficiency.
|
|
I present the code here merely for educational purposes and offer no warranties or support for it. If you have a question, you are welcome to e-mail me, and I will try to get back to you, but I cannot guarantee that the code will compile on your system or produce rigorously correct results. The links on the left offer information on how to download and install the code and how to run it. You are also welcome to browse the source code from the web. I also offer some information on the structure of the code and how to add new sampling functions to it.
|