Starting in the spring 2013, I videotaped the lectures for my MATH 676: Finite element methods in scientific computing course at the KAMU TV studio at Texas A&M. These are lectures on many aspects of scientific computing, software, and the practical aspects of the finite element method, as well as their implementation in the deal.II software library. Support for creating these videos was also provided by the National Science Foundation and the Computational Infrastructure in Geodynamics.

The videos are part of a broader effort to develop a modern way of teaching Computational Science and Engineering (CS&E) courses. If you are interested in adapting our approach, you may be interested in this paper I wrote with a number of education researchers about the structure of such courses and how they work.

Note 1: In some of the videos, I demonstrate code or user interfaces. If you can't read the text, change the video quality by clicking on the "gear" symbol at the bottom right of the YouTube player.

Note 2: deal.II is an actively developed library, and in the course of this development we occasionally deprecate and remove functionality. In some cases, this implies that we also change tutorial programs, but the nature of videos is that this is not reflected in something that may have been recorded years ago. If in doubt, consult the current version of the tutorial.

Lecture 17.25: Generating adaptively refined meshes: Simple refinement indicators

The previous lectures dealt with the algorithms by which we can perform the refinement of one mesh into the next, and how this is can be used in step-6 to create out first adaptive mesh refinement strategy. What is missing are two pieces:

1. A way for us to determine where the error might be largest (suggesting that these cells would be good candidates for mesh refinement). This is typically done by computing a "refinement indicator", which is ideally based on some "error estimator". The result of this is that we have one number for each cell that tells us how large the error might be there.
2. An algorithm that decides, based on these refinement indicators, which cells should actually be refined. These will presumably be the cells with the largest indicators, but it's not quite clear a priori how many of these cells we shall refine.

This lecture addresses the first of these questions by considering how the error on each cell can be estimated. We do this semi-heuristically, but then show that our end result is also backed by some theory. The end result is an explanation of the meaning of the "Kelly" error indicator widely used for mesh refinement.