Introduction to the Finite Element Method

Author

Shmuel Osovski

Published

March 15, 2026

These lecture notes accompany the course Introduction to the Finite Element Method. They cover the mathematical foundations, 1D and multi-dimensional finite element formulations, implementation details, and error analysis.

The notes are designed so that students can follow along during lectures without needing to copy derivations — instead, focus on understanding the concepts and annotating where needed.

0.1 How to Use These Notes

The chapters follow the lecture sequence. Each chapter contains:

  • Mathematical derivations presented step by step
  • Python code demonstrating the concepts computationally (click to expand code blocks)
  • Key definitions and results highlighted in callout boxes

0.2 Companion Resources

These lecture notes are part of a three-part site:

  • FEM Companion Notebooks — hands-on Jupyter notebooks that let you work through the key ideas symbolically and numerically using the symbolic_fem_workbench package. Relevant notebooks are linked at the top of each chapter.
  • Package Documentation — API reference and getting-started guide for the symbolic_fem_workbench Python package that powers all of the code examples.
  • Source Repository — issues, source for the book, notebooks and package, and edit-on-GitHub links on every chapter.

A single-file PDF of the entire lecture book is also available (rebuilt on every push to main), and the sidebar carries a Download PDF shortcut.

0.3 Prerequisites

Students should be familiar with:

  • Linear algebra (matrix operations, eigenvalues)
  • Calculus (integration by parts, partial derivatives)
  • Basic Python programming
  • Introductory continuum mechanics