# Modern resources for learning FEM

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?

Thanks.

• 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. – Paul Feb 27 '12 at 4:20
• @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. – Geoff Oxberry Feb 27 '12 at 18:26

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.

• 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. – Peter Brune Feb 27 '12 at 5:09
• 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. – Jed Brown Feb 27 '12 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.

• @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? – philm Nov 22 '16 at 14:39
• @philm You can try the FENICS book. – Shuhao Cao Nov 22 '16 at 17:12
• @Shuhao Holy cow, that is a huge book! Thank you for the resource – philm Nov 23 '16 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.

• (+1), :) Have you read Bathe's book? Is there a nice explanation in there for nonlinear problems? Specially large deformations? – H. R. Sep 9 '16 at 18:35
• 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. – gnzlbg Sep 11 '16 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.

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.

• typos are my Achille's heel... – Nicola Cavallini Dec 2 '14 at 13:56

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: