mitmath / 18303

18.303 - Linear PDEs course

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

18.303: Linear Partial Differential Equations: Analysis and Numerics

This is the main repository of course materials for 18.303 at MIT, taught by Dr. Andrew Horning, in Fall 2023. The syllabus is attached in the README below. Lecture notes, problem sets, exams, and supplementary materials will be posted in the repo directory.

Course description

Provides students with the basic analytical and computational tools of linear partial differential equations (PDEs) for practical applications in science engineering, including heat/diffusion, wave, and Poisson equations. Analytics emphasize the viewpoint of linear algebra and the analogy with finite matrix problems. Studies operator adjoints and eigenproblems, series solutions, Green's functions, and separation of variables. Numerics focus on finite-difference and finite-element techniques to reduce PDEs to matrix problems, including stability and convergence analysis and implicit/explicit timestepping. Some programming required for homework and final project.

Prerequisite: linear algebra (18.06, 18.700, or equivalent).

Syllabus

Lectures: MW 11:00 am - 12:30 pm in Room 2-142.

Office Hours: 4pm on Tuesday and Wednesday in Room 2-238C.

Grading: 50% homework, 15% mid-term (November 8), 35% final project (due the last day of class). Problem sets are due in class on the due date. Missed midterms require a letter from Student Support Services or Student Disabilities Services to justify accommodations. Justifiable reasons for absence include sports, professional obligations, or illness. In the event of a justified absence, a make-up assignment will be provided.

Collaboration policy: Set aside time to work on each problem independently before discussing it with classmates. Always write up the solution on your own and acknowledge your collaborators.

Books: Introduction to Partial Differential Equations by Olver.

Final project: Instead of a final exam, study a PDE and/or numerical solver not covered in class, and write a 5-10 page academic-style paper that includes:

Review: why is this PDE/method important, what is its history, and what are the important publications and references? (A comprehensive bibliography is expected: not just the sources you happened to consult, but a complete set of sources you would recommend that a reader consult to learn a fuller picture

Analysis: what are the important general analytical properties? e.g. conservation laws, algebraic structure, nature of solutions (oscillatory, decaying, etc.). Analytical solution of a simple problem.

Numerics: what numerical method do you use, and what are its convergence properties (and stability, for timestepping)? Implement the method (e.g. in Julia) and demonstrate results for some test problems. Validate your solution (show that it converges in some known case).

You must submit a one-page proposal of your intended final-project topic (November 17), summarizing what you intend to do. Potential projects will be suggested as the course progresses.

Assignments

Tentative Schedule

  • Why study linear PDEs?
  • The "linear algebra" of taking derivatives
  • Optional: Julia Tutorial
  • Poisson's equation: diagonalizing a linear operator
  • Numerical approximation: global or local?
  • The heat equation: operator exponentials
  • Numerical approximations of operator exponentials
  • Convergence, stability, and conditioning
  • Wave equations: analysis and numerics
  • Higher dimensional PDEs and systems of PDEs
  • Generalized boundary conditions and well-posedness
  • Green's function and singular integral equations
  • Weak form and Galerkin's method
  • Finite Element Methods

Lecture Summaries

Lecture 1

  • What are linear partial differential equations (PDEs) and why should we solve them?
  • Example: the transport equation and its characteristic curves.

Notes | Olver, Chapter 1

Lecture 2

  • First-order linear PDEs.
  • Reduction to an ODE system: the method of characteristics.
  • Computation on a grid: finite differences.

Notes | Olver, Chapter 2.1-2.2

Lecture 3

  • Finite differences: approximation errors.
  • Time-stepping and spatial discretizations.
  • A linear algebraic roadmap for linear PDEs.

Notes | Olver, Chapter 5.1

Lecture 4

  • Function spaces and bases.
  • The nullspace of a differential operator.
  • Boundary conditions and invertibility.
  • Inner products, norms, and integrability.

Notes | Linear Algebra with Functions

Lecture 5

  • Diagonalizing differential operators.
  • Fourier's basis and its properties.
  • Poisson's equation: separation of variables.

Notes | Olver, Chapter 3.2

Lecture 6

  • Poisson's equation with homogeneous boundary conditions.
  • Enforcing homogeneous boundary conditions through a basis.
  • Enforcing inhomogeneous boundary conditions via nullspace.

Notes | Olver, Chapter 4.3

Lecture 7

  • Diagonalization in separable domains.
  • Laplace's equation in a disk.
  • Poisson's formula for the disk.

Notes | Olver, Chapter 4.3

Lecture 8

  • Maximum and minimum principles.
  • Finite differences in 2 dimensions.

Notes | Olver, Chapter 4.3 | poissonFD.ipynb

Lecture 9

  • Kronecker products and the "vec" identity.
  • Finite difference discretizations on separable domains.
  • Fourier spectral discretizations on periodic domains.

Notes

Lecture 10

  • The heat equation and its derivation.
  • Boundary conditions and their physics.
  • Fourier series solution and the operator exponential.

Notes | Olver, Chapter 4.1

Lecture 11

  • Operator exponential for the heat equation.
  • Smoothness, asymptotics, and equilibrium solutions.
  • Homogeneous vs inhomogeneous boundary conditions.

Notes | Olver, Chapter 4.1

Lecture 12

  • Heat flow in a rod with temperature fixed at endpoints.
  • Heat flow in a disk with temperature prescribed on boundary.
  • Dirichlet eigenfunctions of the Laplacian in a disk.

Notes | Olver, Chapter 4.1

Lecture 13

  • Operator exponentials of self-adjoint operators.
  • Growth, decay, and conservation via eigenvalues.
  • Examples: transport (revisited) and a (quantum) particle-in-a-box.

Notes

Lecture 14

  • The wave equation on a periodic domain.
  • Operator 'exponential' for the wave equation.
  • Characteristics and causality for solutions.

Notes | Olver, Chapter 4.2

Lecture 15

  • Extracting d'Alembert's solution from the characteristics.
  • Causal domains and data.
  • Examples: traveling waves, standing waves, and a Gaussian velocity impulse.

Notes | Olver, Chapter 2.4

Lecture 16

  • Waves and reflections on bounded domains.
  • Dirichlet boundary conditions.
  • Neumann boundary conditions.

Notes | Olver, Chapter 4.2

Lecture 17

  • Finite-difference schemes for time-dependent PDE.
  • Forward Euler approximation of the heat equation.
  • Stability analysis for time-stepping schemes.

Notes | Olver, Chapter 5.2

Lecture 18

  • Explicit and implicit time-stepping schemes.
  • Stability analysis for transport equations.
  • Numerical diffusion.

Notes | Stable FD Notebook | Olver, Chapter 5.3

Lecture 19

  • Roots of numerical diffusion.
  • Limitations of eigenvalue analysis (e.g., transport with a boundary).
  • Characteristics and the CFL condition.

Notes | Stable FD Notebook | Olver, Chapter 5.3

Lecture 20

  • Finite difference approximations for the wave equation.
  • CFL condition for the wave equation.
  • Numerical approximations of the operator exponential.

Stable FD Notebook | Olver, Chapter 5.4

Lecture 21

  • The "inverse" of a differential operator.
  • Dirac's delta function and Green's functions.
  • Green's function for the second derivative operator.

Notes | Olver, Chapter 6.1

Lecture 22

  • Physical interpretations of Green's functions.
  • Symmetry of Green's function for self-adjoint operator.
  • The delta function as a "distribution."

Notes | Olver, Chapter 6.2

Lecture 23

  • Distributions and their calculus.
  • Properties of the Green's function.
  • The Green's function for the Helmholtz operator.

Notes | Olver, Chapter 6.2

About

18.303 - Linear PDEs course


Languages

Language:Jupyter Notebook 100.0%