1. Problem — Document description#
During numerical simulations using finite elements, obtaining a raw result is no longer sufficient. The user is increasingly requesting spatial error calculations in relation to their mesh. He needs methodological support and advanced digital tools to assess the quality of his studies and improve them.
For example, the precision of the results is often degraded by local particularities (corners, heterogeneities, etc.). We then look for the right strategy to identify these critical regions and to refine/derrefine them in order to optimize the local/global error compromise. And this, with the greatest possible precision, in an automatic, reliable way (the calculation of the error must itself be as approximate as possible!) robust and at the lowest cost.
For each type of finite element, prior estimates of spatial error are generally available [bib1], [bib3]. But these are only verified asymptotically (when the size \(h\) of the elements tends to zero) and they require a certain level of regularity that is precisely not achieved in problem areas. Moreover, these increases underlie two types of strategies to improve the calculation:
the « methods » - » \(\text{p}\) » which consist in locally increasing the order of finite elements,
the « methods » - » \(\text{h}\) » which refine locally in order to reduce the geometric characteristics of the elements.
Here we are interested in the second strategy, but through another class of indicators: retrospective error indicators. Since the founding works of I. BABUSKA and W. RHEINBOLDT [bib18], the importance of this type of indicator has been well established and there is growing interest in them, both in pure numerical analysis [bib5], [bib6], [bib7] and in the field of applications [bib4], [bib16]. They were in particular implemented and used in N3S, TRIFOU and the Code_Aster (for linear mechanics cf. [R4.10.01], [R4.10.02]). For an overview of existing indicators, you can consult the reference book by R. VERFURTH [bib7] or, the report by X. DESROCHES [bib16].
To use an argument from Mr. FORTIN (Cf. [bib17] pp468 »-« 469), the development of a posteriori estimation is motivated mainly by three reasons:
the first is the need to establish the precision of the results obtained by a finite element calculation: what credit should you give them? Are all the phenomena and all the data that occur » -« taken into account in the modeling?
the second objective is to allow anyone to use a calculation code without having to intervene in the construction of the mesh in order to obtain the required overall precision,
finally, the third axis of study is more particularly oriented to three-dimensional problems for which the size of the meshes is limited by the available memory space and the cost of resolution.
These specifications reveal two dual problems: estimating the precision of the solution obtained on the main parameters of the simulation and proposing ways to calculate a new solution that respects a minimum precision. The first problem is really that of error estimation while the second concerns the associated adaptive methods (refinement/deraffination, remeshing, moving points, border tracking, etc.).
Thus, these indicators make it possible to locate an error map on each element on which the remeshing tools will be able to rely.
Note:
The term « indicator » is preferred to the usual terminology of « estimator » (literal translation from English « error estimator »). Taking into account » -« given the fact that it has the same theoretical limitations as those of the finite element solver (which it « post-processes »), that it is itself often subject to numerical approximations and that it is exhumed via equivalence relationships involving numerous constants dependent on the problem… the information it underlies » -« tends to really only give « an order of magnitude » of the spatial error sought. Despite these restrictions, these retrospective error maps are nonetheless important, and in any case, they are the only type of information available in this field.
A first calculation on a rough mesh makes it possible to associate, with each element of the triangulation, an indicator calculated from the discretized data and from the first discrete solution. Refinement is then carried out locally by prioritizing this information.
In short, and not exclusively, the use of an indicator possibly coupled with a remailer:
provides some estimate of the spatial discretization error,
provides a better distribution of the error due to local singularities,
makes it possible to improve the modeling of problem data (materials, loads, sources…),
makes it possible to optimize (same precision at the lowest cost) and to make the mesh convergence process reliable,
to estimate and qualify a calculation for a given mesh class.
These considerations clearly show that the calculation of these estimators (which is ultimately only a post » -« treatment of the problem under consideration) must:
be much less expensive than that of the solution,
only require discretized data and the calculated solution,
be able to be located,
be equivalent (in a particular form) to the exact error.
We will see that with residual indicators, we can only obtain an overall increase in the exact error combined with a local reduction in this same error. But these upper and lower limits of error complement each other because, the first assures us of having obtained a solution with a certain tolerance, while the second allows us to optimize the number of points locally in order to respect this precision and not to overestimate it. They involve constants that do not depend on spatial and temporal discretizations.
The purpose of this note is to detail the theoretical, numerical and computer work that led to the implementation of an a posteriori error indicator allowing to « post-process » the thermal solvers of Code_Aster. This is a pure residue indicator initiated by the “ERTH_ELEM” option of CALC_ERREUR.
As far as the theoretical study is concerned, we initially limited ourselves to the linear thermics of an immobile structure discretized by standard isoparametric finite elements. But, in practice, the scope of use of this option has been partially extended to non-linear thermal energy. For more details on the scope of use and functional of the thermal indicator and an example of use, refer to [§6].
The a posteriori indicator that we propose is a pure residue indicator based on the local residuals of the strong semi » -« discretized in time equation. For some elements of the theoretical study (and in particular its framework) we were inspired by the innovative work of C. BERNARDI and B. METIVET [bib6]. They themselves extended, from elliptical to parabolic, the results of R. VERFURTH [bib7]. In particular, they were interested in the calculations of indicators on the model case of the heat equation with a homogeneous Dirichlet condition, semi-discretized in time by an implicit Euler diagram. We extended these results to problems actually addressed by the code’s linear thermal operator, THER_LINEAIRE. These are problems with mixed limits (Cauchy-Dirichlet-Neumann-Robin) that are inhomogeneous, linear, with variable coefficients and discretized by a \(\mathrm{\theta }\) -method.
Substantive work was therefore carried out to fully identify the theoretical origins of the underlying thermal problem and to extrapolate the results of the previous model problem. This is in order to try to get closer to the models and the scope of the code while detailing mathematical subtleties often induced in art articles. A particular effort has been made to put into perspective the choices made in the*Code_Aster* in relation to research, past and current, as well as to explain the general philosophy of these indicators.
The reader is given the theoretical and practical properties and limitations of the indicators identified while relating these considerations to a precise configuration of the operator CALC_ERREUR implicated in this post-processing. We tried to constantly link the various items discussed, to limit the use of long mathematical digressions, while detailing at least numerous slightly « technical » demonstrations that are rarely explained in specialized literature.
This document is organized around the following parts:
First, a theoretical study is conducted in order to highlight the ins and outs of the underlying thermal problem, and their possible links with code modeling choices. First of all, we determine the minimum Abstract Variational Framework (CVA) (cf. [§2.1]) (cf. []) on which we will be able to rely to show the existence and the uniqueness of a solution temperature field (cf. [§2.2]). By cross-checking these theoretical prerequisites with the practical constraints of users, we deduce limitations as to the types of geometry and the legal loads. Then we study the evolution of the stability properties of the problem (cf. [§3]) during the semi-discretization process in time and space.
These controllability results are very useful for identifying the norms, techniques and inequalities that are involved in the genesis of the residual indicator. After introducing the usual notations for this type of problem (cf. [:ref:`§4.1 <§4.1>`]),**we exhume a possible formulation of the indicator* as well as the increase in the global error (cf. [§4.2]) and the associated reduction in the local error (cf. []) and the associated local error reduction (cf. [§4.4]). Different types of spatial indicators (cf. [§4.3]) are mentioned and several strategies for constructing indicators used in parabolics are detailed (cf. [§4.5]). In this same paragraph, the temporal aspect of the problem is also examined through the contingencies of managing the spatial error in relation to that of the time step.
In a third part (cf. [§5]), the main contributions of these theoretical chapters and their links with thermal solvers in the code are summarized.
Finally, we conclude by addressing the practical implementation difficulties (cf. [:ref:`§6.1 <§6.1>`]), the necessary environment (cf. [:ref:`§6.2 <§6.2>`]), the configuration (cf. [:ref:`§6.3 <§6.3>`]) and the scope of use (cf. [:ref:`§6.4 <§6.4>`]) of the indicator actually implemented in the post-processing operator* CALC_ERREUR ) of the indicator actually implemented in the post-processing operator **. An example of use taken from an official test case (TPLL01J) is also detailed (cf. [§6.5]).
Warning:
The reader in a hurry and/or not interested in the theoretical origins of the error indicator and the underlying thermal problem can, right away, jump to [§5] which summarizes the main theoretical contributions of the previous chapters.