Computational Methods in Materials Science (NANO*3600)
Code and section: NANO*3600*01
Term: Fall 2011
Instructor: Robert Wickham
(519) 824-4120 × 53704
Monday, 11 am;
Wednesday, 3 pm
Monday, Wednesday, and Friday
8:30 am – 9:20 am
SCIE 1303/MacN 118
11:30 am – 2:20 pm
Thursday, September 8th
An Introduction to Computer Simulation Methods: Applications to Physical Systems 3rd ed., by Gould, Tobochnik, and Christian (Pearson, 2007).
- Example of a Java Tutorial: download.oracle.com/javase/tutorial
- Open Source Physics Library: www.opensourcephysics.org (under Programming)
- Physics and Astronomy Educational Resources: www.compadre.org
This course is lab-centered. Thus assignments, which will be (typically) due weekly, will be closely related to activities in the lab.
|Assignments and Labs||40%|
|Term Tests (2)||20%|
Term test dates
Friday, October 21th, in class.
Friday, November 18th, in class.
Monday, December 12th, 8:30–10:30 am, place TBA
(A medical certificate is required if the exam is missed.)
Computer simulation now ranks with experiment and analytical theory as a key mode of scientific inquiry. This is clearly evident in the case of nanostructured materials, where simulation has lead to a greater fundamental understanding of materials structure, properties and design. The primary aim of this course is to enable students to begin to answer materials science questions using numerical methods, and to interpret the results of simulation.
A particular emphasis will be to develop students’ skills in reformulating physical problems as appropriate computer algorithms. Widely-used simulation tools and numerical methods, such as Molecular Dynamics and Monte Carlo simulation will be covered. By applying these tools to specific physical problems, in a hands-on discovery mode, it is hoped that students’ understanding of the physics will be enhanced. Indeed, this course will be lab-centered, and lectures and assignments will be closely related to the lab experience. This course assumes no background in programming; programming skills will be developed as the course progresses.
PART I: Tools for doing simulations (Chapters 1-3)
- Week 1: The basics of programming. The importance of computing. Algorithm for the FallingBall; our first Java code. Object-oriented programming: Classes, methods, constructors, control structures.
- Week 2: More on objects and classes. FallingBall object, FallingBallApp (application). How variables inside objects are stored and accessed; multiple objects. Extending classes and inheritance.
- Week 3: Using classes in the Open Source Physics Library. Open Source Physics Library. CalculationApp, CalculationDrawApp. The BouncingBall; the AbstractSimulation class; arrays.
- Week 4: Accuracy, error, stability. Integrating ordinary differential equations: error, accuracy. Algorithmic error, global error, round-off error, instability. Stability analysis; lessons learned.
- Week 5: A generic ordinary differential equation (ODE) solver. The OSP ODESolver interface; FallingParticleODEApp. Implementing interfaces, graphics.
PART II: Molecular Dynamics (MD) Simulation (Chapter 8)
- Week 6: The dynamics of many-particle systems. The challenges of simulating many-particle systems. Forms for pair potentials; Lennard-Jones potential. Reduced units. Computing accelerations, periodic boundary conditions.
- Week 7: Some measurable quantites through MD simulation. Minimum image approximation, pbcSeparation. Mean quantities vs. instantaneous quantities; equipartition. Pressure and the equation of state for fluids; role of the pair potential. Gas, liquid and solid phase behaviour.
PART III: Probabilistic (Monte Carlo) Methods of Simulation (Chapters 11 and 15)
- Week 8: Ising model at fixed energy. Short primer on statistical mechanics and ensemble theory; averaging. Ising model of magnetism; Demon algorithm. IsingDemon in 2D.
- Week 9: Simulations at fixed temperature. Statistical mechanics at fixed temperature; Boltzmann factor. Averages and importance sampling; Metropolis sampling algorithm. Why does the Metropolis algorithm work?
- Week 10: Thermodynamics of the Ising model. Behaviour of the Ising model; phase transition to ferromagnet. Correlation length.
- Week 11: Random number generators. Random number generation algorithms are deterministic. Statistical tests of randomness.
Working with others
Students may discuss problems and algorithms amongst themselves but their written solutions (and codes) must not be shared with anyone. This would be an example of plagiarism.
Plagiarism is the act of appropriating the “...composition of another, or parts or passages of his [or her] writings, or the ideas or language of the same, and passing them off as the product of one’s own mind...” (Black’s Law Dictionary). A student found to have plagiarized will receive zero for the work concerned. Collaborators shown to be culpable will be subject to the same penalties.
Course and Instructor evaluation
The Department of Physics requires student assessment of all courses taught by the Department. These assessments provide essential feedback to faculty on their teaching by identifying both strengths and possible areas of improvement. In addition, annual student assessment of teaching provides part of the information used by the Department Tenure and Promotion Committee in evaluating the faculty member’s contribution in the area of teaching.
The Department’s teaching evaluation questionnaire invites student response both through numerically quantifiable data, and written student comments. In conformity with University of Guelph Faculty Policy, the Department Tenure and Promotions Committee only considers comments signed by students (choosing “I agree” in question 14). Your instructor will see all signed and unsigned comments after final grades are submitted. Written student comments may also be used in support of a nomination for internal and external teaching awards.
NOTE: No information will be passed on to the instructor until after the final grades have been submitted.