CHEM 710/7100 - Characterization of Imperfections in Solids

Semester: Fall 2022

Professor: R. Smith | Discipline: Inorganic | Campus: Waterloo


This course will introduce X-ray diffraction (Rietveld refinements), X-ray absorption fine-structure spectroscopy and Raman spectroscopy as tools to study solid state materials and demonstrate their practical application in analyzing defects in solid state materials. The pinciples and considerations underlying the Rietveld refinement process will be introduced and the overall process demonstrated. The underlying theory for XAS will then be introduced and the basic operating principles, experimental considerations, data processing routines and strategies for practical application will be covered. Raman spectroscopy on solids will be discussed, with selected topics including selection rules, Porto notation and terminology, factor groups and factor group analysis.

Course material will be delivered using Jupyter notebooks and snippets of interactive python code that participants can adapt to their own research. The course will begin with an introduction to the working environment and the use of python within it. The course content will then be delivered explored with the use of open-source python packages, including GSAS-II (Rietveld refinements), Larch (X-ray absorption spectroscopy), Atomistic Simulation Environment and pymatgen.

Pre-requisite: A basic understanding of bonding and structure in solid state structures, such as obtained in CHEM313. No prior knowledge of the python language or programming is necessary.


Upon completion of the course, students will be able to:

  • Analyze XRD results using the Rietveld refinement process
  • Inspect, analyze and simulate X-ray absorption fine-structure spectroscopy results
  • Understand how Raman spectroscopy can be applied to study the quality of solid state materials
  • Plan effective strategies to apply XRD, XAS and Raman spectroscopy to their research
  • Apply basic python coding in their research


  • All lessons will be delivered using interactive Jupyter Notebooks. These notebooks are all available on a JupyterHub located at
  • Lecture slots will be workshop-style, rather than lecture-style.
    • Focus will be on identifying problems and working through them as a class.
    • It is highly recommended that, prior to the lectures, students read through the lessons, attempt the practice assignments, and prepare a list of questions that they have.


XAFS for Everyone by Scott Calvin (e-book available through UWaterloo library)

Digital resources:
Lecture notes provided online through Jupyter notebooks
Open-source python packages: GSAS-II, Larch X-ray, Atomic Simulation Environment, pymatgen
Open-source internet resources introduced in course

Software for viewing, modifying and building crystal structures (*.cif files):
VESTA ( – Windows, Mac, Linux
Jmol ( – Windows, Mac, Linux


Take-home assignments (80% of final grade): four (4) assignments will be distributed during the semeseter, each worth 20% of final grade.

Writing Assignment (20% of final grade): Due one week after the last day of class.

The final grade will be calculated as follows:

  • A student’s aggregate final grade for the weighted course elements will be determined.
  • If a student fails to complete any/all of the course elements, the grade awarded (i.e. DNW, INC, IP) will be consistent with the University guidelines regarding the specifics of the situation.



The content and order of content delivery are subject to change:

  • Introduction to Jupyter Notebooks and the python language
  • Brief review of solid state structure and bonding
  • X-ray diffraction patterns and their analysis using the Rietveld method
  • Fundamentals and application of X-ray absorption fine-structure spectroscopy
  • Raman spectroscopy of solids


Students should spend 6-9 hours per week on the course material. All material will be delivered in an online format in segments that should take 3-5 hours per week for students to work through. This should be supplemented by self-study and discussions amongst your peers.

Assignments will reinforce the learning process by enabling students to apply concepts to real-world data examples. Students are encouraged to simultaneously try to apply the concepts to analysis of their own data, or samples from their colleagues.


  • Mon: 7:00 pm - 9:20 pm in C2 361

Office Hours

Office: ESC 332, Phone: 519-888-4567 x38388 E-mail: [email protected] Please begin subject line with: [CHEM710] Office Hours: arranged through email