# error estimator VS error indicator in the context of FEM error estimation

Is an error indicator an index for size measurement of something? And how is the relationship between the error estimator and error indicator? Is the error indicator just used for the (e.g. derivative) recovery based error estimation? If the solution of strong form has low regularity, such as including a discontinuous interface in the domain, then how one may design both stuff? Anyone can give me some intuitive pictures?

• an indicator offers some indication of the error (hence the name), but offers no strict guarantees. it's cheap to compute and used to (locally) refine the mesh (in regions where it indicates the error to be large). an estimator is defined by a mathematical relationship involving the actual error or residual. this is all neatly summarized here. – GoHokies Oct 7 '17 at 18:26
• ... and there's no universal recipe for a good error indicator, it's very problem specific. that said, you'll find two very nice examples in the deal.II FEM tutorials, namely step-6 and step-14. – GoHokies Oct 7 '17 at 18:31
• Useful reference for gaining more about error estimation and adaptivity. deal.II is a very great opensource library. However, I donot think I have much time to spend for a grasp of its design philosophy and data structures. Also, It is multi-physics oriented and includes multiple types of PDEs. However, I prefer to refer to some solid mechanics oriented open source codes.Does deal.II hard to configure/make and debug your problems? – Wenjin Xing Oct 8 '17 at 12:11

In general, for a finite element approximation $u_h$ of the exact (but unknown) solution $u$ of a partial differential equation, it would of course be nice if we could compute something like $\|u-u_h\|_K$ for each cell $K$ of the finite element mesh -- in other words, a measure for how wrong the approximate solution is.

But we can't do this because we don't know the exact solution $u$. So, over the years, people have come up with estimates of the error, i.e., for each cell we have a quantity $\eta_K$ so that $\|u-u_h\|_K \le \eta_K$. Such quantities $\eta_K$ -- called error estimators -- can be derived for a number of equations including the Laplace equation, elasticity, Stokes, etc.

But in order to do this, one typically needs some structure in the equations and not all equations have that. So, for example for the Navier-Stokes equations or other equations with nonlinearity, it's often very difficult to derive these estimators $\eta_K$ and in fact, for most equations, we may have an idea how such an $\eta_K$ would look like, but we can't prove that it's an upper bound for the actual error. This may be because our idea is wrong and the form we have assumed is not in fact an upper bound. Or -- and that's probably the case for most equations -- our idea is correct, but we lack the mathematical techniques to prove that it's an upper bound; in other words, it is true that for our assumed $\eta_K$ there holds $\|u-u_h\|_K \le \eta_K$, but cannot prove that that inequality holds.

In such cases, we call $\eta_K$ an error indicator: it is not strictly speaking an estimator, but it is still indicative of the size of the error, as verified in numerical experiments. We consequently cannot use it to attach a guarantee to a computation that states that the error is less than, say, 5%, but we can still use it to refine the mesh, and maybe to do things such as recovery methods to get an even better approximation $\tilde u_h$. In practice, refining the mesh is probably the most common use: you want to reduce the size of cells in areas where the error estimate suggests that the error is large, and keep the mesh coarse where the error estimate suggests that the error is already small.

I would recommend J.T. Oden book on the mathematical foundations of FEM, and paper of M. Ainsworth, at least this is what I read to educate myself as a civil engineer. It takes time to digest mathematics, but I strongly recommend this.

In essence, if you know the error, you know the solution. Using mathematics, you can estimate error, by calculating upper or lower bound, or both. You can do that before or after you get an approximate solution, i.e. a priory or a posteriorly. Error estimator is better if the lower and upper bound are closer together. Error estimator has to be efficient, in such way, that for refining solution (f.e. making mesh denser), it converges to exact error. It has to be cheap to calculate, at least faster than uniform mesh refinement and solving the refined problem.

It easy to implement finite element, the real difficulty it to derive and implement good error estimator, it takes longer time significantly. That is why many develop mix-finite elements, since error evaluator is built into implementation, or apply error indicators.

The error indicator is always a posteriori and does not have bounds, it has no proof that will converge to exact error once a sequence of subsequent mesh refinements is analysed. It just tells that something is potentially wrong with the solution. Applying it to drive mesh adaptivity will not guarantee that you would converge.

Zienkiewicz-Zhu is error indicator. However, as an example of an error indicator, I like to use material/configurational/Elsheby force. Material force in the homogeneous body and elastic problem is zero. However, if a solution is not exact, material force calculated on mesh nodes is not zero. So if one calculate material forces on mesh nodes, and those are not-zero, he or she knows that is an error in the solution. However, if we try to displace nodes of the mesh, to minimalise that material force we quickly find out that not necessary improve the solution. Displacing mesh nodes in the direction of material forces initially can improve the solution, but ultimately will create a distorted mesh with poor approximation qualities.

• Hi. @likask. Excellent answer. However, I still come across some doubts. 1. I totally agree that time on mathematics for FEM is essential and worthwhile for a deep understanding and good usage of FEM, and to design new numerical techniques around FEM . I have read some mathematical FEM basics, yet quit in the middle way because I am busy programming FEM code in OOP. You know from scratch coding many FEM components is very time consuming and you need much patience to test and debug. I plan to read the classical error estimation book by Ainsworth and Oden after I am not so burdened by coding... – Wenjin Xing Oct 8 '17 at 11:37
• 2 It is definitely true that it is difficult to derive a good error estimator, especially for nonlinear and discontinuous problems, even with a posteriori strategy. However, what did you express by 'Any develop mix-finite elements, since error evaluator is built into implementation, or apply error indicators.'In my view mixed fem is typically used for mixed variational formulations to solve difficulties where standard FEM fails or performs bad like near incompressibility, induction of incompatible strain modes for well defining damage/fracture problems. – Wenjin Xing Oct 8 '17 at 11:47
• 3. In my view, error indicator is typically used for local (elemental) error estimates and always a posteriori as you said. It is often used to drive AMR. But I do think it at least helps do something during computation, maybe enhance your solution after nonuniform refinement based on it?? Why did you say 'It will not guarantee that you would converge.'Correct me if I'm wrong. – Wenjin Xing Oct 8 '17 at 11:56
• Thanks for telling me that material force model is possible to be employed to analyse approximation errors in the homogeneous body and elastic problem. A very inspirational point ! – Wenjin Xing Oct 8 '17 at 12:02
• 2) Problem nonlinearity is not directly related to approximation error estimation. What matters is the type of PDE. Note solving the nonlinear problem you solve series of linearised equations; you can look at approximation error for each of them. 2) We have no single driver to develop mix-fe, one of which is that is easier to calculate error estimator. 3) Since error indicator is not the approximation of true error, subsequent mesh refinement based on it will not guarantee that you true error will converge to zero. It may work for some case, but you can not always trust in it. – likask Oct 8 '17 at 13:07