UTC, ESI 50 Utilisation de l environnement d optimisation DAKOTA Rajan Filomeno Coelho Laboratoire de Mécanique Roberval, UTC CNRS, UMR 6253 Université de Technologie de Compiègne rfilomen@utc.fr http://www.utc.fr/~rfilomen/esi50/ Utilisation de l environnement d optimisation DAKOTA 1
DAKOTA : un environnement d optimisation et d études paramétriques DAKOTA est un code libre (OpenSource) développé par les laboratoires Sandia (http://www.cs.sandia.gov/dakota/software.html) Fonctionnalités : optimisation (algorithmes à base de gradient, algorithmes génétiques, ) études paramétriques (plan d expériences) : planification de simulations pour un ensemble de points de l espace de conception surfaces de réponse, modèles substituts (surrogate models) : définition de modèles approchés (e.g. surfaces de réponse polynomiales, réseaux de neurones, krigeage, moindres carrés) analyse d incertitudes : robustesse et fiabilité adapté aux plate-formes de calcul parallèle Schéma de base : DAKOTA réponses variables SIMULATION Utilisation de l environnement d optimisation DAKOTA 2
DAKOTA : un environnement d optimisation et d études paramétriques Principe de fonctionnement : DAKOTA pilote les tâches à effectuer, en appelant la simulation la simulation consiste en un code élements finis, un programme (C++, Matlab, Scilab) ou un script complexe combinant plusieurs tâches les échanges d information entre DAKOTA et la simulation se font par l intermédiaire de lecture et d écriture de fichiers texte fichier dakota.in DAKOTA fichier param.in fichier response.out SIMULATION Utilisation de l environnement d optimisation DAKOTA 3
DAKOTA : illustration sur le cas de l aile d avion Rappel : optimisation d une aile 2D flexible V rel α inc FORMULATION DU PROBLEME D OPTIMISATION but : trouver x opt (où x = variables de conception) tel que : x opt minimise F = masse de l aile, avec comme limitations : coefficient de portance C L C 0 L coefficient de traînée C D C 0 D déplacement max. d max d 0 max contrainte max. σ max σ 0 max Profil : Wortmann Airfoil FX 60.126 Utilisation de l environnement d optimisation DAKOTA 4
DAKOTA : illustration sur le cas de l aile d avion Ordonnancement des tâches : fichier dakota.in DAKOTA choix et paramètres de l optimiseur, définition de l optimisation, codes de simulation appelés fichier param.in fichier response.out portance, traînée, déplacement maximum, contrainte max. SIMULATION variables de conception définissant un profil d aile Code Scilab (analyse multidisciplinaire par point fixe, couplant codes EF fluide et structure) Utilisation de l environnement d optimisation DAKOTA 5
Exemple de fichier d entrée pour DAKOTA (dakota_aile.in) method, optpp_q_newton variables, continuous_design = 3 cdv_initial_point 0.001 0.01-0.01 cdv_lower_bounds 0.0 0.0-0.2 cdv_upper_bounds 0.2 0.2 0.0 cdv_descriptor 'x1' 'x2' 'x3' interface, system, analysis_driver = 'simulator_script_aile' parameters_file = 'params.in' results_file = 'results.out' Utilisation de l environnement d optimisation DAKOTA 6
Exemple de fichier d entrée pour DAKOTA (dakota_aile.in) responses, num_objective_functions = 1 num_nonlinear_inequality_constraints = 0 numerical_gradients method_source dakota interval_type forward fd_gradient_step_size =.000001 no_hessians Utilisation de l environnement d optimisation DAKOTA 7
Exemple de fichier script (simulator_script_aile) #!/bin/csh -f python read_variables.py # lecture des variables de # conception dans le fichier # «params.in» et écriture # dans le fichier «variables.txt» # lisible par le programme SCILAB # /opt/scilab/scilab-4.1.1/bin/scilab -nogui -f progr_aile.sci # exécution du programme SCILAB # (analyse multidisciplinaire par # point fixe) # => outputs : coeff. de portance # et de traînée, masse, dépl. max., # contrainte de von Mises max. Utilisation de l environnement d optimisation DAKOTA 8