You are on page 1of 2

Introduction to Computational Materials Science

Richard LeSar

An Introduction to the Exercises

The exercises presented here are an accompaniment to the textbook, Introduction to

Computational Materials Science. The goal of that textbook is not to present all the
nuances of computational materials science (CMS), but rather to introduce the topics
for upper-level undergraduates and graduate students. There are other books that are
available that present much more information than discussed in the text; references for
many of those books are given in the textbook.

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

Code platforms

As discussed in the textbook, I have chosen to write these exercises based on

commonly-available computational platforms. The advantage to these platforms is that
they integrate code development within a framework that provides the graphics
capability needed to visualize the results. That said, the code that works in these
platforms, especially in MATLAB, is very similar in structure and form to commonly-
used computer languages, such as Visual Basic, C, Fortran, etc. Thus, the codes and
methods should be easily transferable to these other languages. To make that
transition easier, I do not take advantage of many of the special features available from
the platforms, which does not always lead to having optimized codes for those

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.

Wednesday, April 17, 2013

Structure of the exercises

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.

Limitations and other resources

Because of my choice to cover a broad set of methods at an introductory level, the

codes presented in the exercises are rather limited in their applicability. They are slow
and not written in a convenient way to solve many important problems in materials.

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 ( 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.

Exercises will evolve with time

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 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.

Wednesday, April 17, 2013