Auteur(s):
Le document est une prépublication
Code(s) de Classification MSC:
Résumé:
Ce travail présente une nouvelle implémentation
de la différentiation automatique en C++ en mode direct.
Cette implémentation, en plus de la surcharge d'opérateurs
classique, utilise la technique des « expression templates
». Nous avons appliqué cet outil à un problème
de contrôle en mécanique des fluides : la minimisation
de la trainée d'un cylindre dans un écoulement subsonique
instationnaire et turbulent en controlant la condition aux limites
sur le cylindre. Nous mettons en évidence l'efficacité
de cette implémentation et son avantage premier, qui est
de permettre l'analyse de sensibilité sans toucher au code
source par le simple ajout d'une librairie.
Abstract: This work deals with an implementation of automatic
differentiation of C++ computer programs in forward mode using
operator overloading and expression template. We apply this tool
to a flow control problem: minimize the drag of a cylinder in
subsonic unsteady turbulent flow by controlling the boundary condition
of the cylinder. We report on the efficiency of such an implementation
and its obvious advantage: the ability to perform a sensitivity
analysis without touching the source of the computer program by
simply adding a library to it.
Mots Clés: ;