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?
2 Answers
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 the paper of M. Ainsworth, at least this is what I read to educate myself as a civil engineer. It takes time to follow math, 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 a 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 is to derive and implement a good error estimator, it takes a longer time significantly. That is why many develop mix-finite elements since an 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, the material force calculated on mesh nodes is not zero. So if one calculates 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.
Recently we recorder video about mix-element and error estimation, https://youtu.be/T40n76UwKo0. That should answer some questions.
-
$\begingroup$ 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... $\endgroup$ Oct 8, 2017 at 11:37
-
$\begingroup$ 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. $\endgroup$ Oct 8, 2017 at 11:47
-
$\begingroup$ 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. $\endgroup$ Oct 8, 2017 at 11:56
-
$\begingroup$ 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 ! $\endgroup$ Oct 8, 2017 at 12:02
-
$\begingroup$ 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. $\endgroup$– likaskOct 8, 2017 at 13:07
deal.II
FEM tutorials, namely step-6 and step-14. $\endgroup$