I need to get started using Finite Element Methods. I am about to start reading Numerical solutions of partial differential equations by the finite element method by Claes Johnson, but it's dated 1987.

Two questions:

1) What newer good resources/textbooks/e-books/lecture notes on this subject are out there?

2) How much am I missing by reading a 1987 book?


  • 3
    $\begingroup$ It really depends on which finite element method do you want to implement and whether you want a practical guide to programming the method, a good mathematical foundation of the method, geometrical meshing, or an engineering analysis of the particular phenomenon of interest. Which aspect are you looking for in a "good resource"? I'm not really aware of any one resource that adequately treats all aspects simultaneously. $\endgroup$
    – Paul
    Commented Feb 27, 2012 at 4:20
  • 3
    $\begingroup$ @everyone: Are there canonical references for learning FEM? I'm concerned about the maintainability of the question; we already have one duplicated reference, and 17 distinct references. $\endgroup$ Commented Feb 27, 2012 at 18:26

9 Answers 9


There are lots of modern finite element references, but I will just comment on a few books that I think are practical and relevant to applications, plus one containing more comprehensive analysis.

These resources fail to cover topics such as discontinuous Galerkin methods or $H(curl)$ problems (Maxwell). I think papers are currently a better resource than books for these topics, although Hesthaven and Warburton Nodal discontinuous Galerkin methods (2008) is certainly worthwhile.

I also recommend reading the examples from open source finite element software packages such as FEniCS, Libmesh, and Deal.II.

  • 1
    $\begingroup$ It seems (and I'm sure other people you know will concur) that someone who might have the compunction to start with Claes' book should take a more modern but similar treatment such as the latest edition of Brenner Scott. Your recommendations for whatever reason have a rather flow-centric spin on them rather than what I might consider a good general FEM intro. $\endgroup$ Commented Feb 27, 2012 at 5:09
  • $\begingroup$ Thanks Peter, I've expanded the list. Although I think it's a great book, I think it gives an overly limited view of finite element methods, considering that it does not treat transport, plasticity, contact, transient problems, DG (to any significant extent), Maxwell, non-polynomial bases, $p$ or $hp$-version, or mesh motion. Anyone interested in theory should probably have a copy for reference, but I don't think it should be anyone's sole reference on FEM and I don't think anyone should develop "engineering" software based on it. $\endgroup$
    – Jed Brown
    Commented Feb 27, 2012 at 12:35

For the second question, as a reader of Claes Johnson's book myself, I would say that you didn't miss much as a beginner in the finite element method, that book is pretty well-rounded with every aspect of the FEM except for the implementation.

However, lots of developments have been made since the book published 20 years ago, like other people already mentioned: method-wise there are Discontinuous Galerkin FEM and non-conforming FEM, $H(\mathbf{curl})$ and $H(\mathrm{div})$ Conforming Elements, adaptive mesh refining techniques($hp$-FEM), space-time FEM, least-square FEM, finite element exterior calculus, etc; For solving the linear equation system, there are algebraic multigrid methods, various types of nice preconditioners, fast direct solvers, etc.

For the first question, aside from the references other people already mentioned, I will list some books for some specific topics in FEM:

  • Mixed and Hybrid Finite Element Methods by Brezzi and Fortin: it has the construction of element for $H(\mathrm{div})$ space, also there are lots of examples of various equations.

  • Finite element methods for Maxwell's equations by Monk: For various $H(\mathbf{curl})$ problems, both theoretical analysis for the Sobolev spaces and a self-contained finite element construction are presented.

  • Higher-order finite element methods by Šolín, Segeth, and Doležel: pretty much a complementary book for above two books, it has a comprehensive and explicit construction of the basis functions for the $H(\mathrm{div})$ and $H(\mathbf{curl})$ conforming finite element, ie, Raviart-Thomas element, Brezzi–Douglas–Marini element, and Nédélec element up to arbitrary order in 3D, also the quadrature formulae for these element are presented.

  • Finite element methods for Navier-Stokes equations by Girault and Raviart: Another classic in FEM reference books IMHO, the theoretical analysis for the vector potentials is the gem, if you are dealing with the 3D vector fields FEM computation, then this book pretty much has all the theoretical analysis you need.

  • A Posteriori Error Estimation in Finite Element Analysis by Ainsworth and Oden: this book deals with the core idea in the adaptive mesh refinement: a posteriori error estimation for the FEM, and how to construct various types of local error indicators.

  • Theory and Practice of Finite Elements by Ern and Guermond: another well-rounded book I would say, but not for beginner, this book is for people who know FEM to some extent, but would like to seek for more ingredients, for example, the author established the Babuška Inf-Sup condition in the general Banach space setting and compared it with the open mapping and closed range theorem in functional analysis; Also this book has a nice presentation of Discontinuous Galerkin method for hyperbolic PDEs; In part III of the book, the author gave us a comprehensive presentation of the implementation, from how to choose the quadrature points to how to efficiently store the sparse matrix, and some pseudo-code for the subroutines needed.

  • $\begingroup$ @Shuhao Hello, I am getting into finite element for electromagnetics. I tried finding a pdf version of the Finite element methods for Maxwell's equations by Monk. However, my search came up empty. Could you recommend some other books for finite element in electromagnetic that I can download? $\endgroup$
    – philm
    Commented Nov 22, 2016 at 14:39
  • 1
    $\begingroup$ @philm You can try the FENICS book. $\endgroup$
    – Shuhao Cao
    Commented Nov 22, 2016 at 17:12
  • $\begingroup$ @Shuhao Holy cow, that is a huge book! Thank you for the resource $\endgroup$
    – philm
    Commented Nov 23, 2016 at 2:09

My personal favorite for linear structural mechanics and dynamics has not been mentioned yet:

Finite Element Procedures, from KJ Bathe.

If you have a structural engineering background this book is the best introduction to the FEM that I have seen. It discusses the formulation of structural elements in depth, the inf-sup condition, error estimation, and modal analysis. It also discusses non linearities, heat flow, and fluid flow problems, but I can't recommend it for these topics (there are simply better books for them)

My other favorites have already been mentioned (e.g Ern and Guermond, Donea and Huerta). However I'd like to also add:

An Analysis of the Finite Element Method, from Strang and Fix.

as an introduction to the theory behind the FEM.

  • $\begingroup$ (+1), :) Have you read Bathe's book? Is there a nice explanation in there for nonlinear problems? Specially large deformations? $\endgroup$ Commented Sep 9, 2016 at 18:35
  • $\begingroup$ Haven't read it in a long time, but IIRC there is one chapter (or a group of chapters) on non-linear problems. The first of those chapters dealt mostly with large displacements, but there was also a chapter on large deformations. IIRC there was also a chapter on non-linear shells, but AFAIK Bathe wrote a book afterwards that exclusively deals with shells (The Finite Element Analysis of Shells) that also has a chapter on non-linear problems. $\endgroup$
    – gnzlbg
    Commented Sep 11, 2016 at 14:41

There are numerous textbooks on finite element methods.

Some classical references are

  • O. Axelsson, V. A. Barker "Finite Element Solution of Boundary Value Problems" which introduces the fundemenals and includes a preentation and disucssion of useful direct and iterative techniques for solving systems of equation. The perspective is on mechanics and applied mathematics.

  • S. C. Brenner and L. Ridgway Scotte "The Mathematical Theory of Finite Element Methods" which introduces fundamental mathematical theory for understanding the foundation of FEM. The perspective is that of applied mathematicians. The book put emphasis on mathematical theory, i.e. it is for applied mathematians or engineers who need to dig deeper in theory.

  • B. Szabó and I. Babuska "Finite Element Analysis" is a well-written textbook where the history, fundemental theory and principles are presented by two founders of FEM theory. The perspective is that of applied mathematicians and contains applications in structural mechanics.

  • M. S. Gockenbach "Understanding and Implementing the Finite Element Method" is a good introductory references on the basics and a few advanced topics of FEM, relevant implementation details of FEM, discussion of practical solution strategies. It comes with Matlab examples and is a well-written reference for beginners. It focus on bridging theory of FEM with engineering applications.

  • I. Babuska, J. R. Whiteman and T. Strouboulis "Finite Elements - An introduction to the method and error estimation" seeks to introduce fundamental mathematical theory of FEM with a focus on engineering applications and practical understanding with specific emphasis on error estimation for use in adaptive FEM. It is well-written and a useful reference on the subjects.


Since Jed mentioned discontinuous Galerkin methods, I thought I should mention some other helpful books on spectral methods:

For theory:

If you want a good introduction to implementing spectral methods, I highly recommend:

Disclosure: Kopriva is my advisor. The book is light on the highly theoretical results that Canuto, et al. covers, and focuses strictly on implementation.


The book Dietrich Braess - Finite elements. Theory, Fast Solvers, and Applications in Solid Mechanics gives a good perspective onto several standard and advanced topics. In particular, Ch. 3 offers introductions into many very different topics.

Furthermore, I think are two recommandable references for problems in vector analysis, although these are very long papers rather than text books:


I would complement this bibliography with, the deal.ii library. Probably, if you are interested in functional analysis, error estimates etc., this is not the right place for you. If you want to have an essential, but rigorous, mathematical picture, plus implementation strategy and software, well, there is no better place to check than deal.ii tutorials.

Let me also add that Wolfgangs's video lectures are a precious resource.

  • $\begingroup$ typos are my Achille's heel... $\endgroup$ Commented Dec 2, 2014 at 13:56

I would like to add

The Finite Element Method: Theory, Implementation, and Applications by Mats. G. Larson and Fredrik Bengzon. The main feature of the book is contained in its title. It discusses theory, implementation and application. In contrast with usual finite element theoretical books which require a knowledge of functional analysis this books just keeps the requirements to a minimum. As the authors say in the preface of the book, the material should be accessible to students with only knowledge of calculus of several variables, basic partial differential equations, and linear algebra.


There is little point in trying to learn the Finite Element Method if a particular textbook doesn't contain really working, well-tested and well-commented codes. There is a book that comes with a CD that contains fully working implementation of the method and algorithms described in the book. The following webpage provides a brief description of the book and an example from it:


The book is available from the Amazon website:


Hope this helps.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.