# Teaching

Prof. Bernardi values his dual role of teacher-scholar, and strives to excel at educating undergraduate and graduate students. At Caltech, he teaches three graduate courses in Applied Physics and Materials Science – “Structure and Bonding in Materials” (MS131), “Computational Solid State Physics and Materials Science” (APhMS 256) and “Introduction to Computational Methods for Science and Engineering” (MS141) – whose syllabus is given below. He entirely redesigned or all three courses to provide a modern take on these subjects.

## MS 131. Introduction to Structure and Bonding in Materials

**Prerequisites**: Graduate standing or introductory quantum mechanics. **Instructor**: Bernardi

This course is a broad introduction to the electronic and crystal structures of materials.

Course topics include:

- Atoms and molecules

- Atoms, elements, and their origin. Introduction to bonding.
- Atoms with one electron: solution of the Schrodinger equation.
- Atoms with many electrons: Helium, many electron atoms. Aufbau and the periodic table.
- More than one atom: Born-Oppenheimer approximation. Hydrogen and simple molecules. LCAO and molecular orbitals.

- Solids

- Crystalline solids and translation symmetry. Bravais lattice and basis. Crystal structures.
- Reciprocal lattice, Brillouin zone. Electronic states in crystals, band structure.
- Band structure calculations with the plane-wave and tight-binding methods.
- Rigorous formulations of the many-electron problem: Hartree-Fock and Density Functional Theory.

- Bonding, structure, and electronic structure in specific material families:

- Metals: Free-electron model. Simple metals, metals with d and f electrons.
- Semiconductors. Spin-orbit interaction.
- Ionic crystals and simple oxides.
- Transition metal oxides. Crystal field theory. Intro to strongly correlated materials.

- Structure and symmetry in crystals:

- Introduction to symmetry & groups. Symmetry elements and operations in crystals.
- Point groups in solids. Derivation of the 32 point groups.
- Screw axes, glide planes. Space groups and international tables. Wyckoff positions.
- Examples of point groups and space groups. Crystal databases, visualization software.
- Macroscopic properties of crystals and their tensor nature. How symmetry affects physical properties.

## MS 141. Introduction to Computational Methods for Science and Engineering

**Prerequisites**: Graduate level or instructor permission. **Instructor**: Bernardi

Computation has emerged as a third paradigm in science and engineering beyond experiment and theory. Computers are employed to solve complex differential equations, simulate the behavior of physical systems, analyze and visualize large data sets, and formulate new solution methods to challenging problems. This course introduces basic methods and code development tools for scientific computing, through lectures, examples and practice. We employ Python, a widely used language that integrates coding and visualization. The students develop numerical calculations in weekly lab sessions and homework, and in the final project.

Course topics include:

- Introduction to Python and the Numpy, SciPy and Matplotlib packages.
- Sources of error and numerical precision.
- Numerical differentiation: forward, central and backward derivatives; higher-order derivatives; error analysis.
- Numerical integration: Quadrature (midpoint, trapezoid, Simpson, Gaussian), Monte Carlo integration and random numbers, importance sampling.
- Numerical linear algebra: Systems of linear equations, including direct methods (Gaussian elimination and LU decomposition), iterative schemes (Jacobi, Gauss-Seidel and introduction to Conjugate-Gradient); Eigenvalues and eigenvectors: power and QR methods, introduction to Krylov subspace methods.
- Non-linear equations: Bisection, Newton, and secant methods. Optimization.
- Discrete Fourier transform and fast-Fourier transform.
- Numerical methods for ordinary differential equations. Initial value problems: Euler and Runge-Kutta methods. Error and stability, explicit vs. implicit schemes. Verlet, velocity-Verlet, Leapfrog. Multi-step methods. Boundary value problems: Finite differences, shooting, eigenvalue problems. Examples.
- Finite-difference methods for partial differential equations (PDEs). Elliptic PDEs: Finite differences, stencils. Boundary value problems. Parabolic PDEs: Initial value problems. FTCS, Neumann stability, Crank-Nicholson. Hyperbolic PDEs: Advection and wave equations. Upwind and Lax methods. Examples.
- Fortran language, numerical libraries, building code and libraries.
- Introduction to parallel computing with MPI and OpenMP.

Each topic is covered in a 1-hour lecture, using a Jupyter notebook that covers both theory and practical examples.

## APh/MS 256. Computational Solid State Physics and Materials Science.

**Prerequisites**: Graduate level or instructor permission. **Instructor**: Bernardi

The course will cover first-principles computational methods to study the electronic structure, lattice vibrations, optical properties, and charge and heat transport in materials. Weekly laboratories accompany the lectures to give students direct experience with running first-principles calculations.

Topics include:

- Review of electrons and nuclei in solids. Basics of scientific computing and programming.
- Hartree-Fock (HF) method and the self-consistent field. Exchange interaction.
- Density functional theory (DFT): HK theorem, KS equation, exchange-correlation functional.
- DFT practice: basis sets, plane-waves, cutoffs, simulation cell, k-points, solving the KS eqn.
- Ab initio pseudopotentials
- Challenges in DFT: derivative discontinuity and the band gap problem; self-interaction; exchange-correlation hole. Exact exchange and hybrid functionals. Jacob’s ladder of DFT.
- Advanced DFT 1: Magnetism and spin-orbit coupling in DFT. Collinear and non-collinear spin-polarized DFT. Fully relativistic pseudopotentials.
- Advanced DFT 2: van der Waals interactions in DFT. Open d or f shell materials: DFT+U.
- Forces / stress in DFT and structural relaxation. Review of phonon physics.
- Density functional perturbation theory (DFPT). Phonon calculations using DFPT.
- Electron-phonon (e-ph) interactions using DFT and DFPT.
- The electron Boltzmann equation (BTE) and calculations of phonon-limited electron transport. - Introduction to the GW method – quasiparticles, RPA screening, the GW self-energy
- The GW method in practice – plane-wave basis, XCOR vs. COHSEX, approximations (plasmon pole, frequency integration, iterations, vertex, etc.), convergence.
- Optical properties. Optical absorption. The Bethe-Salpeter equation (BSE).
- Solution of the BSE, absorption spectra, excitons.