R99013

 

Flow control problem using automatic differenciation in C++

 

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: ;

Date: 1999-01-01

Télécharger le fichier Postscript (ou PDF) (Download)