Todd B. Krause's Homepage

Prof. Todd B. Krause's Phys 310 Home Page: Spring 2009

Computational Projects in Classical Mechanics

The following consists of projects of a computational nature which relate to topics covered in our classical mechanics course and which the student might find rewarding exercises. They are designed as avenues through which the student may both build up a background in basic computational procedures applied to physics and in which to apply the concepts learned in this course in a way not too far removed from current research methods in mechanics and dynamical systems.

Each topic provides program templates in each of three computer languages: C++, Python, and Mathematica. I cannot stress enough how much more useful in the long term it would be to work with either the C++ or Python versions for this type of numerical work. However at this point I have not had the opportunity to make sure that the students have easy access to these systems on department computers. Therefore I have left a Mathematica version for those who would prefer to use that, or who have no other recourse.

Each program template begins with preparatory comments that provide the equations to be simulated, along with the underlying logic. The body of the program contains the overarching control structures (e.g. if-then, while, for, etc. statements) that provide the backbone of the program. Within these the student will find hints as to what variables should be declared, updated, checked or computed. Depending on the student's background, these may be too sparse or too verbose. In the former case, please do not hesitate to seek help from me personally; at the same time keep in mind that the web is one of the greatest resources any would-be programmer can employ. Be creative!