Doug Irving

Dr. Douglas Irving

Materials Science and Engineering

Phone: 919-515-6154

MSE 791 603 Density Functional Theory

3 Credit Hours

Special studies of advanced topics in materials science and engineering.


There are no prerequisite courses for this. Experience with calculus, differential equations, and linear algebra will aid in a deeper understanding but are not a requirement. This course will use Python and it is also intended to be self-contained. Previous experience with programming logic could facilitate some part of the class but it is not a necessary prerequisite.

Course Objectives

Upon satisfactory completion of this course, students will be able to:

  • Explain the basic principles of DFT
  • Critically assess and understand the use of DFT in modern databases and the literature
  • Apply DFT to predict the properties of material attributes

Course Requirements

In order to receive a grade of S, students are required to complete all assignments, and earn a grade of C- or better. Conversion from letter grading to credit only (S/U) grading is subject to university deadlines. Refer to the Registration and Records calendar for the deadlines. For more details refer to:


Grades in this class will be determined by projects and problem sets for each subject. In addition, the students will get credit for participation in class. The percentages will be distributed by topic as follows:

Basic principles primer 10%
Implementation of DFT 40%
Application of DFT to materials 40%
Participation 10%


The following texts are a starting point and will be supplemented by handouts, articles, and lecture notes. Digital versions of these texts are available from the library.

1. Density Functional Theory: A Practical Introduction by David S. Sholl and Janice A. Steckel

2. Electronic Structure: Basic Theory and Practical Methods by Richard M. Martin

Computer and Software Requirements

Students should have access to a computer that can access the internet. Some calculations can be run locally on this computer (Mathematica, Python, etc.) but others will be run on the NC State High Performing Computing (HPC) cluster. Students need a computer that can access the HPC via ssh. For those students unfamiliar with ssh, most modern laptops (Mac, PC, Chromebook) can either do this natively or through an app (iPad). Some guidance will be provided on this in class. Mathematica is available to students at NC State but Wolfram Alpha is also freely available and may suffice for those performing smaller calculations. Wolfram Alpha is run through a web browser. Python is freely available.

Please review the minimum computer specifications that NC State University and Engineering Online recommend.

Updated: 12/05/2022