Overall Objectives
Team Ecuador studies Algorithmic Differentiation (AD) of computer programs, blending :

AD theory: We study software engineering techniques, to analyze and transform programs mechanically. Algorithmic Differentiation (AD) transforms a program P that computes a function
$F$ , into a program P' that computes analytical derivatives of$F$ . We put emphasis on the adjoint mode of AD, a sophisticated transformation that yields gradients for optimization at a remarkably low cost. 
AD application to Scientific Computing: We adapt the strategies of Scientific Computing to take full advantage of AD. We validate our work on realsize applications.
We aim to produce AD code that can compete with handwritten sensitivity and adjoint programs used in the industry. We implement our algorithms into the tool Tapenade, one of the most popular AD tools at present.
Our research directions :

Efficient adjoint AD of frequent dialects e.g. FixedPoint loops.

Development of the adjoint AD model towards Dynamic Memory Management.

Evolution of the adjoint AD model to keep in pace with with modern programming languages constructs.

Optimal shape design and optimal control for steady and unsteady simulations. Higherorder derivatives for uncertainty quantification.

Adjointdriven mesh adaptation.
Last activity report : 2019
 2019 : PDF – HTML
 2018 : PDF – HTML
 2017 : PDF – HTML
 2016 : PDF – HTML
 2015 : PDF – HTML
 2014 : PDF – HTML
Results
New Results
Towards Algorithmic Differentiation of C++
Our goal is to extend Tapenade for C++. We further developed our external parser for C++, built on top of ClangLLVM https://
In the present development stage, this backandforth chain works on several small C++ codes. Still, many issues remain on the large example provided by the ABS team. We are working to solve those progressively. The lack of serious development documentation on the Clang internals obviously doesn’t help.
The next development stage will be to adapt the analysis and differentiation components of Tapenade to the new Object constructs of the IR. This development has not started yet. Upstream this development, we need to devise an extended AD model correspondingly. This research part is in progress.
AD of mixedlanguage codes
We extend Tapenade to differentiate codes that mix different languages, for both tangent and adjoint modes of AD. Our motivating application is Calculix, a 3D Structural Finite Element code that mixes Fortran and C. This year we improved the memory representation of Tapenade’s IR to handle the CFortran memory correspondence (commons, structs…) defined by the Fortran standard.
C files (aka “translation units”) and Fortran modules are two instances of the more general notion of “package” for which we have developed a unified representation in Tapenade, that also handles C++ namespaces.
Application to large industrial codes
We support industrial users with their first experiments of Algorithmic Differentiation of large inhouse codes. This concerned two industrial codes this year.
One application is with ONERA on their ElsA CFD platform (Fortran 90). This is the continuation of a collaboration started in 2018. Both tangent and adjoint models of the kernel of ElsA were built successfully with Tapenade. This year’s work was mostly about improving efficiency. It is worth noticing that this application was performed inside ONERA by ONERA engineers (Bruno Maugars, Sébastien Bourasseau, Cédric Content) with no need for installation of ElsA inside Inria. We take this as a sign of maturity of Tapenade. Our contribution is driven by development meetings, in which we point out some strategies and tool options to improve efficiency of the adjoint code. As a result from these discussions, we developed improved strategies and AD model, that will be useful to other tools. These improvements deal mostly with the adjoint of vectorized code. We prepared together an aticle that describes the architecture of a modular and ADfriendly ElsA, together with the corresponding extensions of the AD model of Tapenade. This article has been submitted to “Computers and Fluids”.
The other application ultimately targets AD of the “Jaguar” code, developed jointly by ONERA, CERFACS, and IMFT in Toulouse. This is a collaboration with Jose I. Cardesa and Christophe Airiau, both at IMFT. After a relatively easy tangent differentiation, most of the effort was devoted to obtaining a running and efficient adjoint code. Not too surprisingly, the main source of trouble was the MessagePassing parallel aspect on the application code. This underlined a lack of debugging support for adjointdifferentiated code. Given the runtime of the simulation that we consider (from hours to a few days on a 4110 processors platform), efficiency is crucial. We used the optimal binomial checkpointing scheme at the timestepping level. However, performance of the adjoint code can probably be improved further with a better checkpointing scheme on the call tree. This calls in particular for ADspecific performance profiling tools, that we are planning to develop. We prepared together an article that describes this succesful experiment, which is now submitted to “Journal of Computational Science”.
Two collaborations are in preparation for next year, one with Jan Hueckelheim at Argonne National Lab. about SIMD parallel codes, and one with Stefano Carli at KU Leuven about adjoint AD of the plasma code SOLPSITER.
Control of approximation errors
Reducing approximation errors as much as possible is a particular kind of optimal control problem. We formulate it exactly this way when we look for the optimal metric of the mesh, which minimizes a userspecified functional (goaloriented mesh adaptation). In that case, the usual methods of optimal control apply, using adjoint states that can be produced by Algorithmic Differentiation.
This year, we published the final revised versions of two conference papers ^{ [article]}, ^{ [article]}, we published in a journal the final version of the adjointbased mesh adaptation for NavierStokes flows ^{ [article]}), and we published in “Numerical Methods in Fluids” a work on nonlinear correctors extending ^{ [article]}. Let us also mention the final publication of the book “Uncertainty Management for Robust Industrial Design in Aeronautics”, edited by C. Hirsch et al. in the Springer series Notes on Numerical Fluid Mechanics and Multidisciplinary Design (2019) in which we have contributed chapters 20, 21, 45, and 48.
The monography on mesh adaptation currently being written by Alauzet, Loseille, Koobus and Dervieux now involves all its chapters (14 chapters) and is being finalized.
Turbulence models
Modeling turbulence is an essential aspect of CFD. The purpose of our work in hybrid RANS/LES (Reynolds Averaged NavierStokes / Large Eddy Simulation) is to develop new approaches for industrial applications of LESbased analyses. In the applications targetted (aeronautics, hydraulics), the Reynolds number can be as high as several tens of millions, far too high for pure LES models. However, certain regions in the flow can be predicted better with LES than with usual statistical RANS models. These are mainly vortical separated regions as assumed in one of the most popular hybrid models, the hybrid Detached Eddy Simulation (DES) model. Here, “hybrid” means that a blending is applied between LES and RANS. An important difference between a real life flow and a wind tunnel or basin is that the turbulence of the flow upstream of each body is not well known.
The development of hybrid models, in particular DES in the litterature, has raised the question of the domain of validity of these models. According to theory, these models should not be applied to flow involving laminar boundary layers (BL). But industrial flows are complex flows and often present regions of laminar BL, regions of fully developed turbulent BL and regions of nonequilibrium vortical BL. It is then mandatory for industrial use that the new hybrid models give a reasonable prediction for all these types of flow. We concentrated on evaluating the behavior of hybrid models for laminar BL and for vortical wakes. While less predictive than pure LES on laminar BL, some hybrid models still give reasonable predictions for rather low Reynolds numbers.
We have developed a new model relying on the hybridation of a DES model based on a k
High order approximations
High order approximations for compressible flows on unstructured meshes are facing many constraints that increase their complexity i.e. their computational cost. This is clear for the largest class of approximation, the class of
Aeroacoustics
The progress in highly accurate schemes for compressible flows on unstructured meshes (together with advances in massive parallelization of these schemes) allows us to solve problems previously out of reach. The three teams of Montpellier university (coordinator), InriaSophia and Keldysh Institute of Moscow have written a proposal for cooperation on the subject of the extension of these methods to simulate the noise emission of rotating machines (helicopters, future aerial vehicles, unmanned aerial vehicles, wind turbines…). The proposal has been selected by ANR and RSF (Russian Science Foundation) for support for a program duration of 4 years.