Computational Methods in Materials Science (NANO*3600)

Code and section: NANO*3600*01

Term: Fall 2014

Instructor: Robert Wickham


Course Information


Lecturer Office Phone Email
Rob Wickham MacN 448 (519) 824-4120 × 53704

Office Hours: Monday, 1:30 pm; Wednesday, 3 pm

Teaching Assistant Office Email
Erin Shelton MacN 537 (Mondays)


Day Time Location
Monday, Wednesday, and Friday 8:30 am – 9:20 am SC 1303


Day Time Location
Thursday 11:30 am – 2:20 pm SC 1303

First Lab: Thursday, September 4th

Course Materials

Required text

An Introduction to Computer Simulation Methods: Applications to Physical Systems 3rd ed., by Gould, Tobochnik, and Christian (Pearson, 2007).

Online resources

  • Example of a Java Tutorial:
  • Open Source Physics Library: (under Programming)
  • Physics and Astronomy Educational Resources:

Student Evaluation

Assessment Weight
Assignments and Labs
(see detailed grading scheme below)
Term Tests (2) 20%
Final Exam 40%

This course is lab-centered, thus assignments will be will be closely related to activities in the lab. A small component of the assignment and lab grade (5% of the overall grade) will be based on lab attendance and performance in the lab.

There will be 8 assignments. The first 6 assignments are due weekly, at the beginning of lab. You will be given two weeks to complete each of the final two assignments. Late assignments will be given a grade of zero.

The first assignment is not for grade. The lowest grade from the following five assignments will be dropped. The final two assignments are mandatory and will each have twice as much weight as a weekly assignment in the grade, since they involve more work.

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.

Term test dates

  • Friday, October 17th, 7-9 pm, MacN 401.
  • Friday, November 14th, 7-9 pm, MacN 401.

Exam date

  • Tuesday, December 2nd, 11:30 am – 1:30 pm, room TBA.

(A medical certificate is required if the exam is missed.)

Course Outline

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 physical principles will be enhanced. Indeed, this course will be labcentered, 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. Linux operating system. Program control structures.
  • Week 2: All about objects and classes. Object-oriented programming: Classes, methods, objects, constructors. FallingBall object, FallingBallApp (application). How variables inside objects are stored and accessed; multiple objects.
  • Week 3: Program organization. Problem organization determines program organization. Sub-classes. Extending classes and inheritance.
  • Week 4: The Open Source Physics Library. Open Source Physics Library. CalculationApp. The BouncingBall; the AbstractSimulation class; arrays. Animation
  • Week 5: Accuracy, error, stability. Integrating ordinary differential equations: error, accuracy. Algorithmic error, global error, round-off error, instability. Stability analysis; lessons learned.

PART II: Molecular Dynamics (MD) simulation (Chapter 8)

  • Week 6: The dynamics of many-particle systems. The challenges of simulating manyparticle systems. Forms for pair potentials; Lennard-Jones potential. Reduced units. Forces and accelerations.
  • Week 7: Thermodynamics. Approach to equilibrium. 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.
  • Week 8: Some technical points. Minimum image approximation, pbcSeparation. Instability.

PART III: Probabilistic (Monte Carlo) methods of simulation (Chapters 11 and 15)

  • Week 9: Ising model at fixed energy. The Ising model – a two-state model with cooperativity. Applications: lattice-gas, adsorption, ion channels, magnetic nanoparticles. Demon algorithm; IsingDemon in 2D. Short primer on statistical mechanics and ensemble theory; averaging.
  • Week 10: Simulations at fixed temperature. Statistical mechanics at fixed temperature; Boltzmann factor. Averages and importance sampling; Metropolis sampling algorithm. Why does the Metropolis algorithm work? Detailed balance.
  • Week 11: Thermodynamics of the Ising model. Behaviour of the Ising model; phase transition from disorder to order. Other examples of Monte Carlo: spin-exchange models, surfactant self-assembly.
  • Week 12: Random number generators. Random number generation algorithms are deterministic. Statistical tests of randomness.

Course Policies

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 or by choosing “I agree” in question 14 (online process). 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.


The University of Guelph is committed to creating a barrier-free environment. Providing services for students is a shared responsibility among students, faculty and administrators. This relationship is based on respect of individual rights, the dignity of the individual and the University community’s shared commitment to an open and supportive learning environment. Students requiring service or accommodation, whether due to an identified, ongoing disability or a short-term disability should contact the Centre for Students with Disabilities (soon to be re-named Student Accessibility Services) as soon as possible.

For more information, contact CSD at 519-824-4120 ext. 56208 or email or refer to the accessibility website.