Richard LeSar
The exercises presented here are intended to provide the basics on how the methods
are implemented and to give students some experience. They serve the same goal as
the textbook, however, in that I am not trying to make experts. To that end the codes
and projects are not state-of-the-art. They are designed and written for clarity, rather
than computational eciency. Students are expected to use those codes and make
modifications as needed, but not necessarily to create their own codes. My goal was
not to create computer programmers, but to help students become knowledgable
about the methods and their use. Obviously, dierent instructors may have dierent
goals.
Code platforms
To date, the exercises on this website are all based on MATLAB. While I have many
of these exercises also available in Mathematica, they were written for an earlier
version of Mathematica and are not always compatible with the current version. When
available, Mathematica implementations will also be provided on this website. I
apologize for the delay.
The exercises in this course build upon each other, chapter to chapter. For example,
the codes developed to do lattice summations in Chapter 3 are then used to test
interatomic potentials in Chapter 5 and provide the basis for the molecular dynamics
codes used in Chapter 6, continuous-potential Monte Carlo in Chapter 7 and the
dislocation dynamics codes in Chapter 13. The lattice structure of the Ising model is
modified for the Potts model. The Game of Life code provides the basis for other
models using cellular automata.
There are other resources on the Web that could extend the types of problems that
could be done. An interesting place to search would be the NanoHub at Purdue
University (http://nanohub.org). They provide many simulation tools, which are run on
their computers. As one example, the Siesta code for electronic structure calculations
is available. They also have many presentations available on their web site that
describe these methods.
My hope is that these exercises will evolve with time. Thus, if you find errors in the
codes or ways to improve them, please contact me at lesar@iastate.edu. I will make
sure that the corrections/improvements are made available on the website.
If you have interesting applications that you would like to share with the community, I
will be happy to include those on this site as well. It is my hope that we can create a
resource for teachers of computational materials science.
Note to instructors:
While these exercises can help the students understand the methods, I also have
students do a project in which they decide on a problem of phenomenon, come up
with a model, and then simulate it. Over the years, we have a wide range of projects,
from Monte Carlo on simple molecular systems to discrete dislocation simulations to
phase fields of microstructural evolution. A number of the projects done by graduate
students have ended up as part of their research. I find that students enjoy the
projects and certainly learn better how to think about modeling.