22.10.2014 Views

pdf - cerfacs

pdf - cerfacs

pdf - cerfacs

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Résumé<br />

Mots clés : IHM, C3S, AVBP, LES, interface graphique


Table des matières<br />

Introduction Le CERFACS . . . . . 1<br />

Présentation d'AVBP . . . . . . . 2<br />

Les besoins industriels liés à AVBP . . . . . . . . . . . . . . . . . . 3<br />

La chaîne de calcul C3S : jonction entre l'industrie et la recherche . . . . . . . . . . . . . . . . . . 4<br />

1 Présentation de la chaîne de calcul C3S 1.1 Organisation générale de C3S . . . . . 7<br />

1.2 L'interface de pré-traitement PREC3S 8<br />

1.2.1 L'onglet "mesh management" . 9<br />

1.2.2 L'onglet "Physical parameters" 10<br />

1.2.3 L'onglet "Initialization" . . . . . 11<br />

1.2.4 L'onglet "Boundary conditions". 12<br />

1.2.5 L'onglet "Local probes" . . 16<br />

1.3 L'interface de lancement RUNC3S 16<br />

1.3.1 L'onglet "Input les". . . . . . . . . . . 17<br />

1.3.2 L'onglet "Temporal/output parameters" 17<br />

1.3.3 L'onglet "Numerical parameters" 18<br />

1.3.4 L'onglet "Launch run" . . . . . . . 18<br />

1.4 L'interface de post-traitement POSTC3S 22<br />

1.4.1 L'onglet "Retrieve data" . 22<br />

1.4.2 L'onglet "Steady results" . 24<br />

1.4.3 L'onglet "Unsteady results" . . 24<br />

1.4.4 L'onglet "Temporal evolution" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

2 Validation de la chaîne de calcul C3S 29<br />

2.1 Mise en place du tutorial PRECCINSTA pour C3S 29<br />

2.2 Étude d'un canal turbulent avec C3S 31<br />

2.2.1 Objectifs 31<br />

2.2.2 Démarche . . . . . . . . . . . . . . . . . . . . 32<br />

2.2.3 Modélisation d'un canal périodique turbulent . . . . . . . . . . . . . . . . . . . . . . . 33<br />

3 Présentation de l'outil Genprole 39<br />

3.1 Conditions aux limites de parois d'AVBP . . . . . . . 39<br />

3.2 Détermination de la forme globale du prol de vitesse . . 41<br />

3.3 Description de la démarche de genprole et de son codage. 43<br />

3.3.1 Initialisation et lecture des chiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43<br />

v


vi<br />

Table des matières<br />

3.3.2 Détermination des noeuds communs 43<br />

3.3.3 Calcul de la distance au mur . . . . . 43<br />

3.3.4 Détermination de la forme de l'entrée 43<br />

3.3.5 Détermination du prol de vitesse 44<br />

3.3.6 Correction numérique du ux 44<br />

3.4 Résultats . . . . . . . . . . . . . . . . . . . . . . . . 44<br />

3.4.1 Conditions aux limites de type WALL_LAW . . 44<br />

3.4.2 Conditions aux limites de type WALL_NOSLIP . . . . . . . . . . . . . . . . . . . . . 44<br />

Conclusions 47


Introduction<br />

1. Le CERFACS<br />

Le CERFACS (Centre Européen de Recherche et de Formation Avancée au Calcul Scientique) est un organisme<br />

de recherche dont le but est de développer des méthodes avancées de simulations numériques pour<br />

divers sujets scientiques et technologiques d'intérêt, tant pour la recherche que pour l'industrie, et nécessitant<br />

l'accès aux moyens de calculs actuels les plus performants.<br />

Le CERFACS est détenu par 6 actionnaires : CNES, EADS France, EDF, Météo-France, ONERA et<br />

SNECMA.<br />

Il héberge des équipes regroupant plusieurs disciplines telles que : physique, mathématiques appliqués, informatique<br />

et analyse numérique.<br />

Les 6 principaux domaines de recherche sont :<br />

l'algorithmique parallèle<br />

l'aérodynamique<br />

la combustion<br />

le climat et l'environnement<br />

l'acquisition de données<br />

l'électromagnétisme<br />

C'est au sein de l'équipe CFD (Computational Fluid Dynamic), dans le groupe combustion que j'ai eectué<br />

mon stage.<br />

La CFD consiste à modéliser numériquement le comportement, autour ou dans une géométrie plus ou moins<br />

complexe, d'un uide régi par diérentes équations : les équations d'Helmotz (acoustique d'un milieu), les<br />

équations d'Euler (uide non-visqueux) ou les équations de Navier-Stokes (uide réel).<br />

Ces équations sont résolues par 3 principales catégories de simulations numériques [10] :<br />

Laméthodelaplusutiliséedansl'industrieestlaméthodeRANS(Reynolds-Averaged Navier-Stokes),<br />

car peu coûteuse en puissance de calcul. Les équations de Navier-Stokes sont moyennées sur un ensemble<br />

de réalisations, et on utilise un modèle de turbulence pour fermer le système d'équations, ce<br />

qui implique la résolution d'équations supplémentaires. Cette méthode ne peut donc pas décrire correctement<br />

un écoulement instationnaire.<br />

La LES (Large Eddy Simulation), contrairement à la méthode RANS, ne modélise l'évolution des<br />

structures turbulentes que pour les petites échelles. On ltre spatialement les fonctions instantanées,<br />

ainsi seules les grosses structures dont la taille est supérieure à l'échelle de ltrage sont calculées.<br />

La DNS (Direct Numerical Simulation) est la méthode la plus coûteuse en puissance de calcul car<br />

comme son nom l'indique, elle résoud toutes les structures de l'écoulement turbulent. Ainsi elle est la<br />

plus simple à concevoir car elle ne nécessite aucun modèle de turbulence; cependant an de founir des<br />

résultats apréciables, il est nécessaire que le maillage puisse capter toutes les échelles de la turbulence,<br />

c'est-à-dire que la taille de la maille soit plus petite que la taille des plus petits tourbillons (selon les<br />

hypothèses de Kolmogorov). De ce fait, la DNS reste à l'heure actuelle limitée à des calculs académiquesdansdesgéométriessimples.Sesprincipalesutilisationssontl'étudedesphénomènesphysiques<br />

turbulents encore mal compris et la validation de modèles de turbulence; elle peut être aussi utilisée<br />

comme "expérience numérique".<br />

1


2 Introduction<br />

2. Présentation d'AVBP<br />

Le projet AVBP a commencé en 1993 sous l'impulsion de Michael Rudgyard et de Thilo Schönfeld dans<br />

lebutdecréerunoutilmoderneecaceetmodulairepourlaCFDauCERFACS.Depuislors,leprojets'est<br />

développérapidementetaujourd'hui,souslaconduitedeThierryPoinsot, AVBP estundesoutilsdepointe<br />

en CFD pour la simulation des écoulements turbulents instationnaires réactifs [7]. AVBP est utilisé aussi<br />

bien pour la recherche fondamentale que dans des congurations industrielles ([11], [13] et [6]). Aujourd'hui,<br />

l'équipe du projet AVBP comporte environ 30 chercheurs et ingénieurs.<br />

AVBP est un code parallèle qui résout les équations de Navier-Stokes compressibles sur des maillages<br />

nonstructurésouhybrides.Sondomainedeprédilectionactuelestlamodélisationdesécoulementsinstationnaires<br />

réactifs avec une approche LES dans des congurations de chambre de combustion. La modélisation<br />

de l'intégralité des réactions chimiques étant trop coûteuse, AVBP utilise un modèle de chimie réduite basé<br />

sur la loi d'Arrhenius pour étudier les écoulements réactifs dans des congurations complexes.<br />

Le développement des modèles physiques utilisés au CERFACS est eectué par des études au sein de<br />

laboratoires universitaires tels que l'EM2C de l'Ecole Centrale de Paris (ECP) et l'Institut de Mécanique<br />

des Fluides de Toulouse (IMFT). Aujourd'hui, la propriété d'AVBP est partagée avec l'Institut Français<br />

du Pétrole (IFP), situé en région parisienne, selon un accord de développement commun du code pour des<br />

applications aux moteurs à piston. D'importants liens ont été établis avec l'industrie, notamment avec le<br />

groupe Safran (Snecma, Turbomeca), Air Liquide, Gaz De France, ainsi qu'avec Alstom et Siemens Power<br />

Generation.<br />

Le code de calcul AVBP est utilisé dans le cadre de nombreuses collaborations industrielles bilatérales<br />

et programmes de recherche nationaux (INCA), ainsi que des programmes de recherche européens (PREC-<br />

CINSTA,INTELLECT-DM,MOLECULES,DESIRE,FUELCHIEFetLESSCO2).Plusieurscollaborateurs<br />

utilisentAVBP danslecadredesprogrammesMarieCurieFLUISTCOM(2004-2007)etECCOMET(depuis<br />

2006). Enn AVBP est utilisé par des membres de l'équipe de CFD pour la recherche dans le cadre, entre<br />

autres, des cours d'été au Center for Turbulence Research de l'université de Stanford.<br />

Letraitementdemaillagesnonstructurésouhybridesestundesélémentscléd'AVBP.Avecl'utilisation<br />

de ces maillages hybrides, dans lesquels une combinaison de plusieurs éléments de type diérent est utilisé<br />

au sein d'un même maillage, les avantages des maillages non structurés et structurés sont combinés : la modularité<br />

du maillage et la précision de la solution. An de traiter correctement de tels maillages la structure<br />

des données d'AVBP utilise une discrétisation par volumes nis de type cell-vertex.<br />

Dans le cas d'AVBP, le ltrage appliqué pour la LES est implicite, c'est-à-dire que c'est la taille des<br />

mailles qui détermine la taille du ltrage. Ainsi l'échelle caractéristique de la LES dans AVBP est la taille<br />

de la maille; la résolution dépend donc intrinsèquement du maillage.<br />

Les aspects liés au maillage d'AVBP sont traités par l'outil de pré-processing multi-fonctions HIP. Cet<br />

outildemanipulationdemaillagepermetdiversesopérationstellesquel'interpolationgénériquedesolutions<br />

entre deux maillages, le découpage ou la fusion de maillage, la validation de maillage, l'amélioration locale<br />

adaptative de maillage, l'extrusion de maillage ou la création de maillages axi-symétriques.<br />

Résumé des principales caractéristiques d'AVBP :<br />

Congurations d'écoulements : écoulements 2D ou 3D, internes ou externes, compressibles parfaits<br />

ou uides visqueux, stationnaires ou instationnaires.<br />

Types de maillages : non-structurés composés de triangles ou de tétraèdres, non-structurés composés<br />

de quadrilatères ou d'hexaèdres, maillages hybrides (possibilité de prismes ou de pyramides) et


éléments dérivés. Maillages mobiles pour l'application aux moteurs à piston.<br />

Turbulence : simulations d'écoulements turbulents instationnaires basés sur la LES ( modèles de<br />

SmagorinskyetWale[8]),loisdeparoipourlaLES,échantillonnagedeschampstemporelsdesolution.<br />

Diphasique : modèles de suivi des particules eulérien ou lagrangien, monodisperse ou polydisperse,<br />

modèle d'évaporation.<br />

Combustion : ammes de prémélange ou de diusion, instabilités de combustion, combustion turbulente<br />

instationnaire en utilisant la LES, mélange, modèles dynamiques d'épaisseur de amme.<br />

Méthodes numériques : discrétisation spatiale centrée par volumes nis de type cell-vertex, Lax-<br />

Wendro; Runge-Kutta multi-étapes pour la discrétisation temporelle; discrétisation spatiale de type<br />

éléments nis Taylor-Galerkin TTGC au 3ème ordre à faible dissipation pour la LES [2]; large choix<br />

de conditions limites basées sur la méthode des caractéristiques.<br />

Calcul parallèle : exécution avec MPI sur IBM BlueGene/L, IBM JS21, IBM pSeries 550Q, CRAY<br />

XD1, COMPAQ AlphaServer SC45.<br />

3. Les besoins industriels liés à AVBP<br />

L'approche LES de ce code en fait un outil de prédilection pour la prévision de phénomènes instationnaires.<br />

Instabilités thermo-acoustiques : pour les injecteurs vrillés (dits "swirlés"), il est possible d'examiner le<br />

PVC(PrecessingVortexCore)etdedéterminersafréquencedebattement.Dansdescasgénéralement<br />

peu comodes, le PVC peut exciter un mode acoustique de la chambre et des instabilités peuvent se<br />

développer.Destravaux,menésparY.Sommereren2004[15],surleretourdeammedansl'injecteur<br />

("ashback")prouventl'aptituded'AVBP àprédirecegenredeproblème.Untelphénomèneintéresse<br />

l'industriel car il peut être dommageable pour la chambre de combustion (dégradation de sa durée de<br />

vie) voire destructeur.<br />

Combustion. Le code AVBP a aussi prouvé ses capacités dans le domaine de la combustion. Dans<br />

la chambre de combustion d'hélicoptère ARRIUS (développé par TURBOMECA), G. Boudier [1] a<br />

déterminé la réponse temporelle de la chambre à une commande d'entrée en richesse. Ceci a permis<br />

de mettre en évidence le débit kérosène "limite" d'extinction pour un régime donné.<br />

AVBP peut donc s'intégrer aisément dans des phases d'avant-projet voire même dans des phases de développement.<br />

Cela explique l'intérêt que peuvent porter les groupes industriels comme SNECMA et TURBO-<br />

MECAauxcalculseectuésdanslegroupecombustion.Parsouciderentabilitéetdecompétitivitélaphase<br />

d'avant-projet et de dénition du système est cruciale. Pour cela AVBP se montre un outil idéal. La preuve<br />

en est que, de nombreux doctorants du CERFACS sont nancés par les industriels pour se former à AVBP<br />

dans leurs congurations.<br />

Cependant à l'heure actuelle l'utilisation d'un tel code est réduite à quelques experts. La manipulation<br />

de ce code nécessite la connaissance des multiples chiers d'entrée qui le compose. Pour un simple calcul<br />

"non-réactif monophasique" pas moins de 14 chiers sont nécessaires. De plus il est indispensable de comprendre<br />

le fonctionnement interne du code pour optimiser les temps de calcul et la précision des résultats.<br />

AVBP reste donc pour l'instant un code développé par la recherche pour des utilisateurs formés.<br />

Les principaux besoins industriels pour une simulation numérique sont listés ci-dessous :<br />

Analyse de phénomènes instationnaires comme les instabilités de combustion.<br />

Code pouvant simuler un écoulement dans une géométrie complexe de façon précise.<br />

Temps et coût de calcul pour obtenir un résultat raisonnables.<br />

Uneutilisationsimpleetrapide:priseenmainfacile,suivid'uncalculaisé,existenced'outilsecaces<br />

(de pré et post-traitement).<br />

Robustesse du code et de son interface (s'il y en a une).<br />

3


4 Introduction<br />

Portage du code possible sur plusieurs plateformes.<br />

4. La chaîne de calcul C3S : jonction entre l'industrie et la recherche<br />

Vu les performances du code et les dicultés à l'utiliser dans un contexte industriel, le groupe SAFRAN<br />

(plus particulièrement SNECMA et TURBOMECA) a décidé de coner au CERFACS la charge d'industrialiser<br />

AVBP sous la forme d'une chaîne de calcul nommée C3S. Le déveleppoment de cette interface<br />

dontlesspécicationssontdéniesdansuncahierdeschargesstrictestrevenuàmonencadrantMauroPorta<br />

et moi-même. Ayant réalisé sa thèse au CERFACS sur le traitement des conditions limites et le numérique<br />

dans AVBP , Mauro Porta a pu mettre au service de C3S son expertise du code AVBP. Je me suis pour<br />

mapartinvestidanslacompréhensionducode AVBP,desbesoinsindustrielsetdeleurintégrationdans C3S.<br />

Letitredecestageest:Aideaudéveloppementdel'interfacegraphiqueetqualicationdulogicielAVBP.<br />

Les principaux objectifs de mon stage sont les suivants :<br />

Apprentissage du language Tcl/Tk ([4] et [5]).<br />

Prise en main du code AVBP à l'aide de tutoriaux.<br />

Étude des besoins industriels et développement de la chaîne de calcul C3S.<br />

Adaptation et création de nouveaux outils FORTRAN pour C3S et AVBP [3].<br />

Le choix de l'architecture globale de C3S n'était pas donné au CERFACS. Il a été stipulé dans le<br />

cahier des charges que C3S devrait posséder trois parties :<br />

PREC3S dénitlesparamètresphysiquesducalculàsoumettre.Plusieursongletspermettentdegérer<br />

lemaillage,lasolutioninitiale,lesconditionsauxlimitesàemployerouencorelessondesàinsérerdans<br />

le calcul. Ces sondes récupèrent l'évolution temporelle des variables en un noeud donné du maillage.<br />

RUNC3S dénit les paramètres numériques du calcul. L'utilisateur peut déterminer la durée de son<br />

calcul,lafréquenced'échantillonnagepourlasauvegardedessolutionsinstantannées(dites"snapshot")<br />

oumoyennées.L'utilisateursélectionnesonschémanumérique,puisillancesoncalculsurunemachine<br />

de calcul.<br />

POSTC3S est l'interface qui gère le post-traitement des données, qu'il s'agisse de solutions ou de<br />

résultats temporels.<br />

Lechoixdu language informatique aétéréaliséavantmonarrivéeparleCERFACSenaccordavecle<br />

groupe SAFRAN. AVBP et ses outils sont codés en fortran 90 et en C, il fallait donc pouvoir intégrer cette<br />

nouvellechaînedecalculsanspourautantrecodertouslesoutilsetrisquerdeperdrelelienintrinsèqueentre<br />

C3S et AVBP. Pour cela le CERFACS a décidé de développer cette interface en Tcl/Tk, language ayant<br />

déjà été utilisé chez SNECMA et TURBOMECA. Tcl est inspiré du shell et permet une grande souplesse<br />

d'utilisation.C'estunlanguageinterprétéquipermetuncodagerapide.Mêmesisonapprentissagen'estpas<br />

immédiat, il est d'une grande puissance, idéale pour la création d'une interface. En eet pour Tcl, toutes<br />

les variables sont des chaînes de caractères, cela permet d'avoir à disposition une grande quantité d'outils<br />

capablesdelestraiterfacilement(idéalpourlescheminsdechiersetautres).DeplusTcl/Tkestdisponible<br />

sur la plupart des plateformes, son interpréteur wish est présent sous Windows, Mac et Linux. Ceci est<br />

un élément essentiel sachant que nous avons développé C3S sous Linux pour ensuite porter l'interface sur<br />

WindowspourSNECMAetTURBOMECA.Pourcefairenousavonsutilisél'émulateurLinux Cygwin ainsi<br />

que son serveur X associé.<br />

Danslecadred'uneutilisationplusclaire,nousavonsdéveloppéenplusdesoutilsd'AVBP nos propres<br />

outils FORTRAN pour C3S. Il s'agit principalement d'outils qui extraient l'information depuis les -<br />

chiers AVBP pour les acher ensuite à l'utilisateur. Ainsi des outils comme checkndim lisent le maillage<br />

pour connaître le nombre de noeuds, le nombre de cellules et le volume de la plus petite cellule (critère<br />

contraignant pour le pas de temps). L'adaptation de certains outils AVBP a dû aussi être eectuée pour<br />

convenir aux nouvelles demandes. Je me suis par exemple intéressé au début de mon stage à genprole qui<br />

crée automatiquement en entrée des prols de vitesse cohérents avec les types de murs voisins. Mauro Porta<br />

a créé get_patch_surf qui écrit dans un chier de sortie les surfaces (calculées numériquement) de tous<br />

les patchs. Ainsi C3S demande à l'utilisateur le débit massique nécessaire en entrée pour ensuite fournir à<br />

AVBP le débit massique surfacique. Cela évite entre autres les problèmes dus au fait que la surface réelle et


la surface numérique peuvent diérer. Cela montre aussi que nous avons particulièrement étudié la question<br />

de la robustesse de l'interface.<br />

Nous avons insisté sur le point de la robustesse plutôt que sur l'apparence graphique. En eet il fallait<br />

réaliserenun anuneinterfaceablepourl'industriel.Danscetteoptiquede nombreusesprocéduresdetests<br />

ontétécrééespourvérierlavaliditéetlacohérencedesentréesutilisateurs.L'organisationinternedestrois<br />

interfaces a été adaptée aux problèmes rencontrés lors des cas tests si la robustesse en était accrue.<br />

L'apprentissage de C3S a aussi été un point clé pour la pérennité du projet. En eet l'industriel a<br />

besoind'unechaînedecalculplussimpleàcomprendrequelemaniementducode AVBP.PourcelaC3S suit<br />

une démarche logique aboutissant instinctivement au lancement du calcul. L'utilisateur averti peut cependant<br />

rompre cet ordre et utiliser des raccourcis que nous avons mis à sa disposition pour gagner du temps.<br />

En cas de problèmes l'utilisateur peut à tout moment se référer à la documentation que nous fournissons<br />

avec l'interface. Elle contient un tutorial pour apprendre et un guide explicatif de C3S. Pour de plus amples<br />

informations sur le code lui-même l'utilisateur a accès à la documentation en ligne d'AVBP.<br />

Enn pour tester cette interface de multiples cas tests ont été eectués. Lors du développement nous<br />

avons principalement utilisé de simples maillages 2D qui nous ont permis de vérier si tous les paramètres<br />

dénit dans C3S étaient bien appliqués dans AVBP. Nous avons ensuite utilisé des congurations industrielles<br />

pour montrer à SNECMA et TURBOMECA que les résultats étaient identiques avec et sans C3S.<br />

Pourmapartjemesuisprincipalementservide C3S pourprépareretlancermescalculs AVBP qu'ils'agisse<br />

delacongurationPRECCINSTApourlarédactiondututorialoudel'étudeinachevéed'uncanalturbulent.<br />

Je me suis ensuite personnellement déplacé à TURBOMECA (Bordes) et SNECMA (Villaroche) pour<br />

présenter et installer la version 1.0 de C3S. Cela m'a permis de rentrer en contact avec les industriels. Le<br />

développementderelationspluspersonnellesnousaparlasuiteaidéspourlamiseenplaced'une assistance<br />

pour les utilisateurs industriels de C3S.<br />

Danslerapportsuivantjevousprésenteraidoncl'architecturede C3S etlesraisonsquinousontpoussésà<br />

l'adopter;puislescongurationsutiliséespourvalider C3S serontdécrites;etennlaprésentationdel'outil<br />

genprole illustrera l'intégration de nouveaux outils C3S avec ceux d'AVBP.<br />

5


6 Introduction


Chapitre 1<br />

Présentation de la chaîne de calcul<br />

C3S<br />

1.1 Organisation générale de C3S<br />

L'interface graphique possède naturellement ses propres chiers sources mais aussi de nombreux outils<br />

C et FORTRAN développés par les utilisateurs d'AVBP. Comme stipulé dans le cahier des charges de C3S<br />

version 1.0, l'interface graphique se découpe en trois parties :<br />

PREC3S<br />

RUNC3S<br />

POSTC3S<br />

Pouraccéderàcestroisdiérentesinterfaces,L'utilisateurlanceunefenêtred'ouverturede C3S (voirg.1.1).<br />

Fig. 1.1 Fenêtre de lancement de C3S.<br />

C3S étant un outil d'AVBP, les chiers sources ont été placés dans un répertoire nommé C3S inclus<br />

dansceluid'AVBP (voirg.1.2).Leschierssuivantssontnécessairesaubonfonctionnementdel'interface:<br />

Le chier C3S/c3s.tcl qui permet de lancer la fenêtre d'ouverture de C3S<br />

Le répertoire C3S/PREC3S contient les chiers sources de PREC3S.<br />

Le répertoire C3S/RUNC3S contient les chiers sources de RUNC3S.<br />

Le répertoire C3S/POSTC3S contient les chiers sources de POSTC3S.<br />

LerépertoireC3S/SHAREDcontientlesprocédurescommunesàtouteslesinterfaces(procedures.tcl)<br />

et aussi l'agencement graphique sous forme d'onglets (notebook.tcl et tabnbook.tcl).<br />

7


8 1. PRÉSENTATION DE LA CHAÎNE DE CALCUL C3S<br />

Le répertoire C3S/HELP_DOC contient la documentation nécessaire à l'utilisateur pour s'assurer<br />

de sa démarche (C3S_user_guide.<strong>pdf</strong>), ou débuter avec un tutorial (Tutorial_AVBP.<strong>pdf</strong>).<br />

Lerépertoire .C3Splacéàlaracineducompteutilisateurcontientleschiersdecongurationde C3S<br />

(commandes et préférences pour les machines distantes).<br />

Les chiers sources présents dans les répertoires PREC3S, RUNC3S et POSTC3S sont organisés et<br />

nommés de la même façon :<br />

les chiers init_var_*.tcl initialisent les variables de l'interface à des valeurs par défaut,<br />

les chiers procedures_*.tcl contiennent toutes les procédures nécessaires au fonctionnement de<br />

l'interface,<br />

les chiers *.tcl dénissent la partie graphique de l'interface.<br />

.C3S:<br />

config_C3S<br />

c3s.tcl<br />

batch_EGEE<br />

batch_IMHOTEP<br />

batch_PLATINE<br />

batch_TANTALE<br />

batch_TM_BTMCLX1<br />

preference_EGEE<br />

preference_IMHOTEP<br />

preference_PLATINE<br />

preference_TANTALE<br />

preference_TM_BTMCLX1<br />

C3S/HELP_DOC:<br />

C3S_user_guide.<strong>pdf</strong><br />

Tutorial_AVBP.<strong>pdf</strong><br />

C3S/POSTC3S:<br />

init_var_postc3s.tcl<br />

postc3s.tcl<br />

procedures_postc3s.tcl<br />

C3S/PREC3S:<br />

init_var_prec3s.tcl<br />

prec3s.tcl<br />

procedures_prec3s.tcl<br />

C3S/RUNC3S:<br />

init_var_runc3s.tcl<br />

procedures_runc3s.tcl<br />

runc3s.tcl<br />

C3S/SHARED:<br />

notebook.tcl<br />

procedures.tcl<br />

tabnbook.tcl<br />

Fig. 1.2 Fichiers sources de C3S.<br />

1.2 L'interface de pré-traitement PREC3S<br />

Dans cette section sont présentés les diérents onglets de PREC3S. Tout d'abord une vue de l'onglet est<br />

donnée puis une brève description des procédures mise en jeu est apportée.


1.2. L’INTERFACE DE PRÉ-TRAITEMENT PREC3S 9<br />

1.2.1 L'onglet "mesh management"<br />

Visualisation<br />

Fig. 1.3 Lecture d'un maillage.<br />

Cette fenêtre (voir g. 1.3), permet de charger des maillages de diérents formats, ou de générer un<br />

maillage 2D structuré rectangulaire.<br />

Les formats acceptés sont :<br />

le format AVBP, issu du mailleur HIP développé au CERFACS,<br />

le format N3S, code RANS du groupe SAFRAN,<br />

le format FLUENT,<br />

le format CENTAUR issu du mailleur CENTAURSOFT (option uniquement valable pour le CER-<br />

FACS).<br />

Une fenêtre en bas de l'onglet ache les propriétés du maillage comme sa dimension, le nombre de noeud et<br />

le volume de la plus petite maille.<br />

Scénari classiques et procédures mises en jeu<br />

Pour lire un maillage AVBP déjà créé, l'organigramme des procédures mises en jeu est présenté sur la<br />

gure 1.4.<br />

Le rôle des principales procédures est décrit succintement ci-dessous.<br />

Create_visual :créeunchier.visual,utiliséuniquementparlemailleur HIP,quipermetderegrouper<br />

le chemin des cinq chiers de maillage.<br />

Mesh_properties :retournelespropriétésdumaillagequisontparlasuiteachéesdanslafenêtred'information.CetteprocédurefaitellemêmeappelàdeuxoutilsFORTRAN<br />

checkndim etget_patch_surf<br />

développés uniquement pour C3S.<br />

Create_BC_variables :chargeetachelesconditionslimitesdumaillagedansl'ongletdesconditions<br />

aux limites (voir la section 1.2.4).<br />

Dans le cas d'un format N3S ou FLUENT une première conversion au format AVBP a lieu avec le mailleur


10 1. PRÉSENTATION DE LA CHAÎNE DE CALCUL C3S<br />

Fig. 1.4 Organigramme des procédures pour la lecture d'un maillage.<br />

HIP Ṗour générer un maillage 2D, C3S utilise une des fonctionnalités de HIP qui crée ce maillage à partir<br />

des coordonnées du point supérieur droit, du point inférieur gauche et du nombre de noeuds souhaités dans<br />

la longueur et dans la largeur.<br />

L'organigramme des procédures mises en jeu lors de la création d'un maillage bidimensionnel structuré est<br />

présenté dans la gure 1.5.<br />

Fig. 1.5 Création et lecture d'un maillage 2D.<br />

1.2.2 L'onglet "Physical parameters"<br />

L'utilisateur peut choisir dans cet onglet plusieurs paramètres ayant une inuence majeure sur l'écoulement<br />

modélisé. Ainsi les diérents choix sont les suivants :<br />

Equations résolues : choix entre les équations d'Euler (uide non-visqueux) et les équations de Navier-<br />

Stokes.<br />

Simulation monophasique ou diphasique : l'utilisateur ne peut pas encore utilisé de modèles diphasiques<br />

car ils seront intégrés dans la version 3.0 .<br />

Modèledesous-maille:lechoixalieuentre,aucunmodèlecequiprésupposeunécoulementparfaitement<br />

laminaireouunmaillageasseznpourrésoudretoutesleséchellesdeturbulence(DNS);lemodèlede<br />

Smagorinsky; ou le modèle Wale plus performant que le précédent en proche paroi. Ce choix permet<br />

de fermer les équations.<br />

Modèle de combustion : l'utilisateur ne peut pas encore utilisé de modèles de combustion car ils seront<br />

intégrés dans la version 2.0 .<br />

Loi de dépendance de la viscosité en fonction de la température : l'utilisateur sélectionne soit la loi de


1.2. L’INTERFACE DE PRÉ-TRAITEMENT PREC3S 11<br />

Sutherland (voir eq. 1.1) soit une loi exponentielle (voir eq. 1.2).<br />

µ = µ 0<br />

( T<br />

3/2<br />

T + T suth<br />

) ( T ref + T suth<br />

T 3/2<br />

ref<br />

µ = µ 0<br />

( T<br />

T ref<br />

) b<br />

(1.2)<br />

Où µ 0 représente la viscosité cinématique du gaz à la température de référence T ref . T suth et b sont<br />

deux constantes supplémentaires.<br />

1.2.3 L'onglet "Initialization"<br />

Visualisation<br />

AVBP est un code multi-espèces. Les espèces présentes dans le calcul sont spéciées dans le chier input_premix.dat.Lorsdelacréationd'unesolutioninitialelesoutilsFORTRANn'utilisentpasdemots-clés<br />

pourlesespèces,ilestdoncnécessairedeconserverlemêmeordrequeceluiécritdansl'input_premix.dat,<br />

sinon il pourrait y avoir confusion entre les diérentes fractions massiques des espèces. Cela est la raison<br />

principale pour laquelle la création de la solution initiale et l'écriture de l'input_premix.dat ont été fusionnées<br />

dans le même onglet "Initialization" (voir g. 1.6).<br />

C3S permet de générer des solutions initiales de deux façon diérentes :<br />

Création d'une solution à partir de "zéro", au quel cas l'utilisateur dénit des valeurs constantes dans<br />

toutledomainedecalculpourlapression,latempérature,lescomposantesdelavitesse,etlesfractions<br />

massiques des espèces.<br />

Interpolationàpartird'uneautresolution.Lessolutionsàinterpolerpeuventêtredediérentsformats:<br />

AVBP, N3S ou FLUENT.<br />

)<br />

(1.1)<br />

Fig. 1.6 Onglet "Initialization" de C3S.


12 1. PRÉSENTATION DE LA CHAÎNE DE CALCUL C3S<br />

Scénari classiques et procédures mises en jeu<br />

Fig. 1.7 Organigramme présentant les procédures utilisées durant la création d'une solution initiale.<br />

La gure 1.7 présente les procédures impliquées dans la création d'une solution initiale. La procédure<br />

principale s'appelle Create_init_sol, elle lance la procédure Create_input_premix qui permet d'écrire le<br />

chier input_premix.dat, puis elle copie le chier input_species.dat dans le répertoire de travail, et<br />

enn elle exécute l'outil FORTRAN makesolution pour générer la solution. Le chier input_species.dat<br />

contient des données thermodynamiques sur les espèces nécessaires au remplissage de la solution initiale.<br />

Fig. 1.8 Organigramme présentant les procédures impliquées dans l'interpolation d'une solution.<br />

La gure 1.8 montre l'organisation des procédures utilisées lors de l'interpolation d'une solution. Après<br />

des testes sur la validité des champs, la procédure Interp_solut lance HIP pour interpoler la solution.<br />

Cependant, HIP pouvant avoir changé l'ordre des patchs (bug non résolu), Interp_solut relit le maillage<br />

pour s'assurer de sa validité. De la même façon, l'utilisateur ne sachant peut être plus quelles espèces sont<br />

présentes dans la solution, une ligne de commande rajoutée au script de lancement de HIP permet de les<br />

extraire pour créer un nouvel input_premix.dat.<br />

1.2.4 L'onglet "Boundary conditions"<br />

Présentation des conditions aux limites de AVBP<br />

AVBP étant un code simulant l'écoulement d'un uide compressible, des phénomènes de propagation<br />

d'ondes apparaissent. Pour traiter correctement les conditions aux limites on utilise une décomposition en<br />

ondes [9]. On détermine les ondes entrantes (calculées incorrectement car ne provenant pas du domaine de<br />

calcul)àl'aidederelationsenfonctiondesondessortantes(calculéescorrectementcarprovenantdudomaine<br />

de calcul). Cependant les conditions aux limites en LES sont beaucoup plus sensible qu'en RANS. En eet<br />

les instabilités naissent plus facilement en LES qu'en RANS (schémas numériques moins dissipatifs) et des<br />

phénomènes de réexion peuvent apparaître au niveau des entrées-sorties. Si la réexion des ondes sortante<br />

est trop forte cela peut entraîner une déstabilisation du calcul due à l'augmentation de l'énregie acoustique<br />

(et donc de l'énergie totale) dans le domaine de calcul. Pour éviter ce probléme la LES utilise des conditions<br />

aux limites capables de ne pas rééchir ces ondes, par exemple en imposant une onde entrante nulle. Dans<br />

ce cas on pourrait observer une dérive des valeurs cibles, c'est pourquoi un paramètre de relaxation a été<br />

introduit dans la description des ondes pour pouvoir minimiser les réexions tout en évitant la dérive des<br />

valeurs cibles. Le choix d'un tel paramètre est dicile à estimer avant calculs. Il dépend fortement du cas<br />

étudié et ne possède donc pas de valeurs prédénies. Pour les sorties, les travaux de Selle [14] peuvent servir


1.2. L’INTERFACE DE PRÉ-TRAITEMENT PREC3S 13<br />

à dénir le paramètre de relaxation, qui peut alors être vu comme une fréquence de coupure.<br />

f c = κ<br />

4π<br />

f c représente la fréquence de coupure et κ le paramètre de relaxation. Ainsi les ondes ayant une fréquence<br />

supérieure à f c sortiront du domaine de calcul alors que les autres seront rééchies. Plus généralement, pour<br />

d'autres conditions limites, le paramètre de relaxation peut être vu comme la constante de raideur d'un<br />

ressort qui ramène la valeur trouvée par le schéma numérique vers sa valeur cible.<br />

SuiteàcettebrèveprésentationdesconditionslimitesNSCBC,unautreparamètreessentielpour AVBP<br />

est l'ordre selon lesquels les patchs sont classés. Les noeuds appartenant à n patchs sont comptés n fois<br />

dans le maillage de peau. Or lors d'un calcul les valeurs des variables sont imposées selon l'ordre des patchs.<br />

Pour un noeud appartenant à la fois au premier et au deuxième patchs la valeur retenue sera celle obtenue<br />

pour le deuxième patch. De ce fait les patchs doivent avoir un ordre cohérent, généralement les entrées<br />

sont placées en premières, puis viennent les sorties et enn les murs, les périodicités et les symétries. Par<br />

exemple,celapermetd'avoirunevitessenullepourlesnoeudscommunsàunmurnon-glissantetuneentrée.<br />

L'ensembledesconditionslimitesutiliséesestdénipardeuxchierslorsd'uncalcul AVBP etparquatre<br />

chiers lorsque l'on utilise l'interface C3S :<br />

Le chier *.asciiBound, au format ascii, indispensable à AVBP, permet de dénir les diérents<br />

paramètres globaux communs au patch traité. Il contient entre autres, le nom du patch, son numéro,<br />

son type de condition limite et les paramètres de relaxation pour les diérentes variables.<br />

Lechier*.solutBound,auformatbinaire,indispensableàAVBP,associeàchaquenoeuddumaillage<br />

de peau les valeurs cibles à atteindre. Pour créer un tel chier, C3S modie un chier FORTRAN,<br />

puis le recompile et l'exécute. Ce principe permet entre autre de générer des prols personnalisés,<br />

en entrant des équations au format FORTRAN dans le champs d'une variable. Cette conguration<br />

est utilisée actuellement chez TURBOMECA. Chez SNECMA pour contourner certains problèmes de<br />

compilation, nous avons dû développer un nouvel outil FORTRAN capable de créer directement le<br />

solutBound. N'ayant pas réussi à interpréter une chaîne de caractère avec le language FORTRAN<br />

(ex : "2 + 3" = 5), nous avons restreint l'utilisation de cet outil à la création de prol constant sur<br />

un patch donné. Cependant l'utilisateur a toujours la possibilité d'utiliser un autre outil FORTRAN<br />

appelé genprole qui crée des prols automatiques pour les vitesses en entrée. Le développement de<br />

cet outil a aussi fait partie de mon stage et vous trouverez de plus amples renseignements dans le<br />

chapitre 3.<br />

Le chier *.txtBound exclusif à C3S imite le .solutBound. Le .txtBound est au format ascii et<br />

contient lui aussi les valeurs cibles à imposer pour chaque patch. Ainsi l'interface peut le relire plus<br />

facilement.<br />

Le chier *.phys exclusif à C3S transmet à RUNC3S les données dénies dans l'onglet "Physical<br />

parameters" de PREC3S (voir sec. 1.2.2).<br />

Visualisation<br />

L'onglet"Boundaryconditions"(g.1.9)estlepluscomplexedesongletsde PREC3S.Ilprésentelaliste<br />

despatchsdansl'ordredonnéparlemaillage.Endouble-cliquantsurunpatchl'utilisateurouvreunefenêtre<br />

lui permettant de choisir le type de condition aux limites à imposer ainsi que tous les paramètres principaux<br />

liés à ce type (voir g. 1.10). An d'éviter à l'utilisateur des manipulations excessives pour accéder aux<br />

informations rentrées, il a la possibilité de simple-cliquer sur le patch, auquel cas les informations associées<br />

sont achées dans la partie droite de l'onglet. Dans ce même souci d'ecacité, il est aussi possible de<br />

recharger un jeu de condition aux limites déjà déni par C3S. C'est pour cela que nous avons créé un des<br />

deuxnouveauxchiersdeconditionauxlimites:le .txtBound.Certainesconditionsauxlimitesnécessitant<br />

les fractions massiques des espèces (entrées, parois multiperforées), il est demandé à l'utilisateur (si ce n'est<br />

pas déjà fait avec la solution initiale) de charger un input_premix.dat.<br />

Pour les conditions aux limites utilisant comme variable le débit massique, TURBOMECA désirait pouvoir<br />

intégrer les résultats de leur outil COOLANT qui permet de calculer tous les débits circulant dans leur<br />

chambre de combustion, qu'il s'agisse de parois multiperforées ou de trous de dilution. PREC3S comporte<br />

donc une fenêtre (voir g. 1.11) qui relit les débits calculés dans COOLANT aux débits imposés dans les


14 1. PRÉSENTATION DE LA CHAÎNE DE CALCUL C3S<br />

Fig. 1.9 Vue globale de l'onglet "Boundary conditions" de PREC3S.<br />

Fig. 1.10 Vue d'une fenêtre de condition aux limites de PREC3S.<br />

conditions aux limites, il sut pour cela de relire un chier COOLANT et indiquer à PREC3S les patchs<br />

correspondants.


1.2. L’INTERFACE DE PRÉ-TRAITEMENT PREC3S 15<br />

Fig. 1.11 Vue de l'outil COOLANT.<br />

Fig. 1.12 Procédures impliquées dans la relecture d'un jeu de conditions aux limites.<br />

Scénari classiques et procédures mises en jeu<br />

La gure 1.12 présente la procédure Read_asciiBound permettant de relire un jeu de conditions aux<br />

limites. Les chiers .asciiBound et .txtBound sont relus après diérents tests sur leur validité (nombre et<br />

ordre des patchs, nombre et type d'espèces). Une mise à jour de l'interface est ensuite faite par la procédure<br />

Refresh_BC_list.<br />

La gure 1.13 présente les procédures impliquées dans l'édition et la validation d'une condition aux<br />

limites.Endouble-cliquantsurunpatchl'utilisateurlancelaprocédure Edit_BC,ilvaparlasuitetravailler<br />

dans une nouvelle fenêtre avec des variables temporaires ce qui lui permet de sauvegarder ou d'annuler ses<br />

modications.Cette procédure a plusieurs fonctions ce qui la rend très volumineuse.<br />

Pour chaque type de condition aux limites une fenêtre associée est créée. Certaines conditions aux<br />

limites nécessitant les valeurs des fractions massiques des espèces, Edit_BC fait appel à d'autres<br />

procédures comme GenSpecies, Spec_select_inlet et Display_species.


16 1. PRÉSENTATION DE LA CHAÎNE DE CALCUL C3S<br />

Fig. 1.13 Procédures impliquées dans l'édition et la validation d'une condition aux limites.<br />

Si le patch sélectionné à déjà été déni alors les variables temporaires sont initialisées avec les valeurs<br />

précédemmentsauvegradéesoureluesdepuisleschiers .asciiBound et.txtBound.Cetteactionest<br />

eectué par un appel à la procédure Reset_temp.<br />

Si le patch sélectionné n'a jamais été déni ou si l'utilistateur change de type de condition aux limites<br />

en utilisant le menu déroulant au sommet de la fenêtre pop-up, les variables temporaires sont alors<br />

réinitialisées à des valeurs par défaut.<br />

Unefoislaconditionauxlimitesconvenablementdénil'utilisateurvalideseschoixencliquantsurlebouton"Apply"quiexécutelaprocédure<br />

Apply_BC.LaprocédureCheck_BC_input estalorslancéeàsontour<br />

pour vérier la validité des paramètres rentrés par l'utilisateur. Si aucune erreur n'est repérée les variables<br />

temporaires sont sauvegardées et la fenêtre pop-up détruite. Un appel aux procédures Refresh_BC_list et<br />

Display_BC_features permet de remettre à jour la liste des conditions limites dans l'interface principale.<br />

La gure 1.14 met en évidence les procédures impliquées lors de l'écriture des chiers .asciiBound,<br />

.solutBound, .txtBound et .phys.<br />

1.2.5 L'onglet "Local probes"<br />

AVBP permetd'extrairel'évolutiontemporelledesvariablescalculéesencertainsnoeudsappelés"sondes".<br />

Pour repérer ces sondes AVBP utilise le chier record.dat qui fait la liste des noeuds servant de sondes. Il<br />

est généré à l'aide de l'outil FORTRAN track qui prend en entrée la liste des coordonnées géométriques des<br />

sondes (chier track.choices) etqui retourne laliste des noeudsles plus prochesqui seront les sondeseectives.<br />

L'onglet "Local probes" permet de générer ces chiers à partir des coordonnées géométriques dénies<br />

par l'utilisateur.<br />

Les scénari possibles dans cet onglet sont simples :<br />

Lire un ancien chier track.choices : eectué par la procédure Load_probe.<br />

Ajouterunesonde:réaliséeparlaprocédure Add_local.Cettedernièreajoutedanslalistedessondes,<br />

visible à l'écran, la sonde dénie par ses coordonnées géométriques.<br />

Supprimer une sonde : la procédure Remove_local permet de supprimer la dernière sonde de la liste.<br />

Écrire les chiers track.choices et record.dat : réalisé par la procédure Create_local_le.<br />

1.3 L'interface de lancement RUNC3S<br />

Cette interface a pour but de :<br />

dénir les paramètres numériques du calcul à eectuer,<br />

préparer les chiers et répertoires à envoyer sur la machine de calcul,


1.3. L’INTERFACE DE LANCEMENT RUNC3S 17<br />

Fig. 1.14 Procédures impliquées dans l'écriture des chiers condition limite, notamment le .asciiBound<br />

et .solutBound.<br />

lancer le calcul.<br />

Pour cela RUNC3S est découpée en quatre onglets que nous présenterons un à un en expliquant leur rôle<br />

et les procédures invoquées s'il y en a. Néanmoins l'accent sera mis sur le dernier onglet qui est le plus<br />

complexe, et qui réalise à lui seul les deux derniers objectifs précédemment cités.<br />

1.3.1 L'onglet "Input les"<br />

L'onglet"Inputles"possèdetroischamps(maillage,conditionslimites,solutioninitiale)quipermettent<br />

de faire le lien entre le calcul préparé par PREC3S et le calcul que l'utilisateur lancera.<br />

1.3.2 L'onglet "Temporal/output parameters"<br />

L'onglet "Temporal/output parameters" (présenté sur la gure 1.15) dénit les paramètres de sortie<br />

d'AVBP. Ainsi l'utilisateur peut dénir :<br />

La fréquence d'échantillonnage pourses résultats temporels. Ce paramètre inuence donc les résultats<br />

des sondes et les données globales sur le calcul (ex : pression maximale dans le domaine de calcul en<br />

fonction du temps, voir sec. 1.4.4).<br />

La création ou non de solutions moyennées. Si l'utilisateur utilise ces solutions il doit alors dénir<br />

une fréquence d'échantillonage et une fréquence de sauvegarde. Ces solutions sont notamment utiles<br />

dans le cas d'un écoulement turbulent car elles permettent d'extraire directement certaines valeurs<br />

intéressantes comme les RMS.<br />

Les paramètres de sauvegarde des solutions instantannées et la durée du calcul. Un calcul peut être


18 1. PRÉSENTATION DE LA CHAÎNE DE CALCUL C3S<br />

Fig. 1.15 Dénition des paramètres de sortie d'AVBP.<br />

contraint en temps physique ou en itération. Dans les deux cas l'utilisateur doit mentionner la durée<br />

totale et la fréquence de sauvegarde de solutions instantannées.<br />

1.3.3 L'onglet "Numerical parameters"<br />

Les paramètres numériques présents dans cet onglet (voir g. 1.16) sont :<br />

Le nombre de mailles par groupe. Ce paramètre est essentiel pour les performances du code, il dénit<br />

le nombre d'éléments chargés dans la mémoire cache lors du calcul des gradients ou des divergences.<br />

Le schéma numérique. L'utilisateur a la possibilité d'utiliser les schémas Lax Wendro ordre en<br />

espace et en temps), TTGC ordre en espace et en temps) et TTG4A ordre (2ème en temps et<br />

ordre en espace).<br />

(3ème (4ème<br />

Le 3ème pas de temps. Il peut être xé par l'utilisateur ou calculé grâce à la condition CFL. AVBP étant<br />

explicite le pas de temps est souvent contraint par la plus petite maille du maillage.<br />

La viscosité articielle. Les schémas numériques utilisés dans AVBP sont des schémas centrés. Étant<br />

sensibles aux perturabtions de très petite échelle (appelées aussi "wiggles"), il est commode d'utiliser<br />

de la viscosité articielle pour supprimer ces oscillations et aussi linéariser les forts gradients. Les<br />

modèles de viscosité articielle sont basés sur la combinaison de deux termes : le premier est un<br />

terme qui permet de capter les forts gradients (appelé viscosité de ordre), le second est un terme<br />

de dissipation "de fond" (appelé viscosité de ordre). L'activation 2ème de ces modèles se fait par<br />

l'intermédiaire de capteur qui dénissent si un endroit 4ème a besoin ou non de viscosité articielle.<br />

1.3.4 L'onglet "Launch run"<br />

Visualisation<br />

Jemesuispersonnellementchargédudéveloppementdel'onglet"Launchrun"(voirg.1.17).Ilprépare<br />

leschiersetlesrépertoiresnécessairesdansunchiercompresséqu'ilenvoieensuitesurlamachinedecalcul.<br />

Lazonegraphiquecentraledépenduniquementdelamachinedecalculetdemandeàl'utilisateurdespécier


1.3. L’INTERFACE DE LANCEMENT RUNC3S 19<br />

Fig. 1.16 Dénition des paramètres numériques d'AVBP.<br />

Fig. 1.17 Onglet "Launch run".<br />

touslesparamètresspéciquesàcettemachine.Parexempleilpeuts'agirdunombredeprocesseursàallouer,<br />

de la taille mémoire requise, du temps physique requis, d'une adresse internet pour prévenir l'utilisateur<br />

quand son calcul est terminé... Ces paramètres sont reconnus automatiquement dans les chiers batch_*<br />

et preference_* (voir g. 1.18 et g. 1.19).


20 1. PRÉSENTATION DE LA CHAÎNE DE CALCUL C3S<br />

Le chier batch_* est utilisé pour soumettre un calcul sur les machines, il contient toutes les informations<br />

nécessaires au calculateur pour préparer le calcul puis lancer l'exécutable.<br />

Le chier preference_* a été créé pour que C3S sache où placer le répertoire de calcul sur la machine<br />

distante et comment exécuter le chier batch_*.<br />

# @ job_type=parallel<br />

# @ class = -c3s_queue-<br />

# @ output = output.$(jobid)<br />

# @ error = error.$(jobid)<br />

# @ restart = no<br />

# @ environment = COPY_ALL<br />

## @ resources = ConsumableCpus(1) gmports(1)<br />

# @ node = -c3s_node_number-<br />

# @ total_tasks = -c3s_proc_number-<br />

# @ queue<br />

cd -c3s_auto_job_dirhfile=~/.hostfile_ll_$$<br />

ll_get_machine_list >$hfile<br />

NPROCS=$(wc -l $hfile |awk '{print $1}')<br />

/usr/bin/mpirun -machinefile $hfile -np $NPROCS -c3s_auto_exe_version- > avbp_log.txt<br />

rm $hfile<br />

Fig. 1.18 Fichier batch_EGEE situé dans le répertoire .C3S. EGEE est le nom courant du calculateur<br />

IBM JS21 utilisé au CERFACS.<br />

'c3s'<br />

!login on remote machine<br />

'/home/cfd/c3s'<br />

!home path on remote machine<br />

'/opt/ibmll/LoadL/full/bin/llsubmit -c3s_auto_batch-' !command line to run job<br />

4 !number of queues<br />

'test'<br />

!queue name<br />

'short'<br />

'semaine'<br />

'weekend'<br />

Scénari classiques et procédures impliquées<br />

Fig. 1.19 Fichier preference_EGEE.<br />

Fig. 1.20 Organigramme des procédures impliquées lors de la sélection d'une machine de calcul.


1.3. L’INTERFACE DE LANCEMENT RUNC3S 21<br />

La gure 1.20 montre les procédures impliquées lors de la sélection d'une machine de calcul. La liste des<br />

machinesdecalculdisponiblesavec C3S estfaiteparlaprocédure Recognize_machine durantlacréationde<br />

l'interface.Laprésenced'unchier preference_TEST dénitl'existencedans C3S d'unemachineappelée<br />

"TEST".<br />

Lorsque l'utilisateur sélectionne une machine dans le menu déroulant, les caractéristiques de la dite<br />

machinesontluesdanslechier preference_* grâceàlaprocédure Read_pref_machine,puislaprocédure<br />

Read_keywords recherche dans les deux chiers (batch_* et preference_*) une liste de mots-clés. La<br />

forme d'un mot-clé est du type -c3s_*-, ils peuvent être remplacés automatiquement par l'interface si leur<br />

forme est -c3s_auto_*-, sinon un champs adapté est créé dans la fenêtre graphique.<br />

Cette utilisation des mots-clés permet d'avoir une méthode générale à toutes les machines. Par exemple,<br />

pourl'installationdeC3S chezTURBOMECAnousavonsdûrajouterunenouvellemachine,celan'aentraîné<br />

aucunemodicationducodedeC3S,nousavonsjustedûcréerdeuxnouveauxchiers(batch_TM_BTMCLX1<br />

et preference_TM_BTMCLX1). L'achage graphique des champs liés aux mots-clés est pris en charge<br />

automatiquement par la procédure Adapt_run_window.<br />

Fig. 1.21 Organigramme des procédures impliquées lors du lancement d'un calcul.<br />

Lors du lancement d'un calcul, RUNC3S eectue deux actions principales, tout d'abord elle prépare et<br />

vérieleschiersutiliséspar AVBP puiselletransfèrecesdonnéesverslamachinedistante.Vousconstaterez<br />

surlagure1.21quelaprocédureRun_AVBP joueunrôleclédanslaréalisationdecesactions.Lesvariables<br />

sonttoutd'abordvériéesparlesprocédures Check_entries etCheck_reasonable,puisl'ensembledeschiers<br />

associésàRUNC3S estcréésparlesprocéduresWrite_input_les,Write_sponge_le etWrite_report.Enn<br />

l'ensembleducalculeststructurédansdesrépertoiresparlaprocédure Write_directories.Ainsiunefoiscette<br />

étape terminée tous les chiers dénissant convenablement un calcul AVBP sont présents dans le répertoire<br />

courant.<br />

Les protocoles de lancement dièrent selon deux critères : l'entreprise où l'on se trouve et la machine sur<br />

laquelle on lance C3S.<br />

LeCERFACSpossèdesesproprescalculateurs.Lorsdudéveloppementdel'interfacenousnoussommes<br />

attelésàémettredescalculssurlaplupartd'entreeux.Ils'agissaitdevalideruneméthodedelancement<br />

à distance. Pour des raisons de abilité nous utilisons les protocoles ssh et scp. An que cela soit<br />

possible, nous créons préalablement des clés ssh qui évitent de retaper son mot de passe. Nous avions<br />

aussi essayé des protocoles du type "expect" cependant la diversité des réponses fournies par les<br />

machines nous a empêchés de généraliser cette méthode. Le chier preference_* associé à une


22 1. PRÉSENTATION DE LA CHAÎNE DE CALCUL C3S<br />

machine donne toutes les coordonnées nécessaires pour l'atteindre, le login du compte d'arrivée et son<br />

chemin (voir g. 1.19). Le chier batch_* quant à lui permet de soumettre le calcul sur la machine<br />

tout en respectant les principes de "queues" pour ne pas favoriser certains utilisateurs. Il est copié<br />

dans le répertoire courant par la procédure Write_batch qui substitue ensuite les mots-clés par leur<br />

véritable valeur.<br />

SNECMAutilisepoursescalculsdeuxmachinesduCCRT(CentredeCalculRechercheetTechnologie<br />

du CEA) nommées PLATINE et TANTALE. Pour des raisons de sécurité et de manipulation ils<br />

utilisent un outil TAUCADE qui leur permet de transférer leurs données et lancer leurs calculs.<br />

Nous avons donc conguré cet outil pour qu'il accepte en plus le code de calcul AVBP. Une fois la<br />

préparationdeschiersachevée, RUNC3S lanceTAUCADE,l'utilisateurdoitalorssimplementdénir<br />

le répertoire courant qu'il a utilisé pour lancer C3S et TAUCADE sélectionne automatiquement les<br />

chiers à envoyer. De même lorsque le calcul est achevé TAUCADE rappatrie une liste pré-dénie de<br />

chiers (les solutions instantannées, les solutions moyennes et les chiers temporels).<br />

TURBOMECA utilise aussi les deux machines du CCRT mais possède en plus un cluster LINUX<br />

nommé TM_BTMCLX1. Lors de notre visite, Mauro Porta et moi même avons installé C3S directement<br />

sur le cluster LINUX. Pour soumettre un calcul sur cette machine il faut utiliser un script de<br />

lancement appelé soumi qui nécessite un chier d'entrée. Nous avons donc naturellement nommé ce<br />

chier batch_TM_BTMCLX1 ce qui rend son écriture automatique avec C3S. Malgrès l'utilisation<br />

de machines diérentes, le lancement de calcul à TURBOMECA est identique à celui présent au<br />

CERFACS (protocoles ssh et scp).<br />

1.4 L'interface de post-traitement POSTC3S<br />

L'interface POSTC3S a pour but de post-traiter les diérents résultats fournis par AVBP. POSTC3S<br />

est divisée en quatre onglets, le premier d'entre eux rappatrie les données depuis la machine de calcul alors<br />

que les trois autres onglets permettent d'analyser chacun un type de résultat.<br />

1.4.1 L'onglet "Retrieve data"<br />

Fig. 1.22 Onglet "Retrieve data".


1.4. L’INTERFACE DE POST-TRAITEMENT POSTC3S 23<br />

Cet onglet (voir g. 1.22) est équivalent à l'onglet "Launch run" présent dans RUNC3S (voir sec. 1.3.4).<br />

Il permet de lister les chiers solutions et les chiers temporels situés sur la machine de calcul. L'utilisateur<br />

peut sélectionner les chiers soit en cliquant dessus soit en utilisant les boutons situés sur le côté gauche de<br />

l'onglet qui permettent de sélectionner tout un groupe de chier en même temps. Les chiers désignés sont<br />

ensuite rappatriés sur la machine locale dans le répertoire donné par l'utilisateur en haut de l'onglet.<br />

CetongletestprincipalementutiliséauCERFACSetàTURBOMECA.Eneetlesoutils TAUCADE et<br />

Soumi gère eux mêmes le rappatriement des données depuis la machine de calcul (nous les avons congurés<br />

pour le code AVBP).<br />

Fig.1.23Organigrammedesprocéduresimpliquéeslorsdurappatriementdesdonnéesdepuisunemachine<br />

de calcul distante.<br />

La gure 1.23 présente l'ensemble des procédures appelées depuis l'onglet "Retrieve data". Durant la<br />

création de l'interface POSTC3S, la liste des machines de calcul congurées pour C3S est créée puis acher<br />

dans un menu déroulant, cette action est eectuée par la procédure Recognize_machine qui est similaire à<br />

la procédure de même nom dans RUNC3S.<br />

Lorsquel'utilisateursélectionneunedecesmachinesetappuiesurlebouton"..."ildéclenchelacréation<br />

d'un navigateur. Pour ce faire une première procédure Create_browser crée tous les éléments graphiques du<br />

navigateur.Puisdeuxprocéduressontutiliséesdemanièrerécursive, Launch_navigate récupèrelesdirectives<br />

de l'utilisateur, dénit les nouveaux chemins et lance Navigate. À l'aide de protocole ssh et scp, Navigate se<br />

connecte sur la machine, se place dans le répertoire ciblé et crée une liste de tous les répertoires présents.<br />

Cette nouvelle liste est enn achée dans le navigateur et l'utilisateur peut alors sélectionner un nouveau<br />

répertoire et ainsi de suite.<br />

Une fois le choix d'un réperoire eectué, POSTC3S analyse le contenu de ce répertoire et des sousrépertoires<br />

pour lister tous les chiers présents et reconnaître leurs types. Pour cela la procédure Recognize_les<br />

utilise certains critères comme :<br />

la présence du mot "SOLUT" dans le chemin et l'extension ".h5" indiquent que le chier est probablement<br />

une solution instantannée.


24 1. PRÉSENTATION DE LA CHAÎNE DE CALCUL C3S<br />

la présence du mot "TEMPORAL" dans le chemin du chier indique que celui ci est un résultat<br />

temporel.<br />

Eneetnepossédantpaslenomexactdeschierssolutionsnousnepouvonspaslesreconnaîtredirectement,<br />

il nous faut nous baser sur l'organisation des répertoires donnée par RUNC3S. Ces groupes de chiers sont<br />

ensuite achés dans la zone graphique centrale par les procédures Create_adapted_tab et Adapt_output.<br />

1.4.2 L'onglet "Steady results"<br />

SNECMA ayant l'habitude de travailler avec le code de calcul RANS N3S, ils ont développé leurs outils<br />

de post-traitement sous excel. Par exemple l'outil SNECMA ppn3s crée des cartographies de température<br />

sur le plan de sortie de la chambre de combustion (eets sur le premier étage de turbine). L'intégration<br />

de tels outils n'étant pas à la charge du CERFACS, il a été stipulé que POSTC3S pourrait convertir une<br />

solution moyenne AVBP au format N3S. Pour ce faire l'onglet "Steady results" lance une unique procédure<br />

Convert_avbp2n3s qui utilise l'outil FORTRAN mean2inst pour convertir une solution moyenne AVBP en<br />

solution instantannée. HIP interpole ensuite cette solution sur le maillage N3S d'origine. Cependant pour<br />

nepasempêcherlepost-traitementdesolutionsmoyennesauprèsdeTURBOMECAouduCERFACS,ilest<br />

possible de post-traiter les solutions moyennes dans l'onglet "Unsteady results" (voir section 1.4.3).<br />

1.4.3 L'onglet "Unsteady results"<br />

Cet onglet permet de convertir les solutions AVBP (moyennes ou instantannées) en un format de visualisation.<br />

A l'heure actuelle, il est possible d'exporter les solutions sous quatre formats : Ensight, Fieldview,<br />

Tecplot et VTK. Pour accroître la lisibilité l'onglet "Unsteady results" est lui-même divisé en trois onglets.<br />

En eet les solutions AVBP possèdent de multiples variables. Certaines sont directement disponibles dans le<br />

chier solution alors que d'autres sont accessibles après calculs (gradients, divergence, vorticité...). Un outil<br />

FORTRAN appelé visual permet d'extraire de ces solutions une liste des variables présentes et calculables<br />

(écrite dans le chier visu.choices, voir gure 1.24). Il gère aussi la génération des chiers de visualisation.<br />

Le sous-onglet "AVBP variables"<br />

Le premier sous-onglet ne concerne que les variables déjà présentes dans la solution. Elles sont achées<br />

dans la partie droite de la fenêtre (voir g. 1.25) et il sut à l'utilisateur de changer 0 en 1 pour prendre<br />

en compte la variable dans le chier de visualisation. Les procédures utilisées par cet onglet permettent de<br />

gérer les entrées-sorties de l'outil visual, il s'agit donc principalement de lire un visu.choices avec la procédure<br />

Load_solution et de le modier en tenant compte des variables souhaitées par l'utilisateur (procédure<br />

Write_output).<br />

Le sous-onglet "Computed variables"<br />

La gure 1.26 montre à l'utilisateur les diérentes variables calculables à partir du chier solution qu'il<br />

a lu. Il peut notamment s'agir de gradients (pression, température, densité, vitesses), de divergence de la<br />

vitesse, de la vorticité ou d'indices servant à l'analyse de cas réactifs.<br />

Le sous-onglet "PSD analysis"<br />

Le dernier sous-onglet "PSD analysis" a été créé pour pouvoir utiliser l'outil FORTRAN psd. Ainsi<br />

l'utilisateur peut générer des cartes spectrales à partir d'une succession de solutions instantannées. Cet outil<br />

est particulièrement pratique au cas où une onde accoustique serait présente dans le calcul. Ce sous-onglet<br />

fait appel à plusieurs procédures, entre autres il y a Add_freq qui ajoute une fréquence dans la liste des<br />

fréquencesmontréedansl'interface, Remove_freq quisupprimeunefréquenceetPSD_process exécutel'outil<br />

psd.


1.4. L’INTERFACE DE POST-TRAITEMENT POSTC3S 25<br />

VISU.CHOICES FOR AVBP V6.0<br />

##############################################################<br />

# RunParameters<br />

##############################################################<br />

- mesh files : ../MESH/mesh<br />

- asciiBound : ../MESH/mesh.asciiBound<br />

- solutBound : ../SOLUTBOUND/mesh.solutBound<br />

- recast : ./TEMP/recast_file<br />

- inputfiles directory : ./RUN/<br />

- solution : .//home/combe/RUN_TEST/TEST_C3S/INIT/erebe_sol.sol.h5<br />

- output-targetpath : ./VISU/<br />

##############################################################<br />

# SolParameters<br />

##############################################################<br />

- file_format : 1<br />

- single/multiple : 2<br />

- first_file : 0000001<br />

- last_file : 0000410<br />

- step : 0000001<br />

- create_geometry : 1<br />

- overwrite : 1<br />

##############################################################<br />

# Partitions<br />

##############################################################<br />

- processor_partitioning : 0<br />

- boundary_patches : 0<br />

##############################################################<br />

# Navier-Stokes<br />

##############################################################<br />

- rho : 0<br />

- pressure : 0<br />

- velocity : 0<br />

- temperature : 0<br />

- Cp : 0<br />

- Wmean : 0<br />

- Gamma : 0<br />

- Mach : 0<br />

##############################################################<br />

# RhoSpecies<br />

##############################################################<br />

- N2 : 0<br />

- O2 : 0<br />

##############################################################<br />

# More Computation<br />

##############################################################<br />

- Gradient : 0<br />

- Divergence : 0<br />

- Vorticity : 0<br />

- Q_criterion : 0<br />

- Phi : 0<br />

- Takeno : 0<br />

- Volume_At_Node : 0<br />

##############################################################<br />

# Boundary Conditions<br />

##############################################################<br />

- b_pressure : 0<br />

- b_temperature : 0<br />

- b_velocity : 0<br />

- b_Y_N2 : 0<br />

- b_Y_O2 : 0<br />

Fig. 1.24 Fichier visu.choices généré pour une solution instantannée par l'outil visual.


26 1. PRÉSENTATION DE LA CHAÎNE DE CALCUL C3S<br />

Fig. 1.25 Le sous-onglet "AVBP variables".<br />

Fig. 1.26 Le sous-onglet "Computed variables".


1.4. L’INTERFACE DE POST-TRAITEMENT POSTC3S 27<br />

1.4.4 L'onglet "Temporal evolution"<br />

Fig. 1.27 L'onglet "Temporal evolution".<br />

L'évolution temporelle des grandeurs physiques est trés importante pour savoir si un calcul est stabilisé,<br />

s'il subit un phénomène transitoire ou s'il présente des oscillations. Le pas d'échantillonnage de ces valeurs<br />

est dénit par l'utilisateur dans l'onglet "Temporal/output parameters" de RUNC3S.<br />

Dans POSTC3S l'utilisateur a la possibilité d'acher trois types de grandeurs :<br />

les valeurs minimales, maximales et moyennes dans le domaine de calcul de certaines variables comme<br />

la pression, la température, la masse volumique et les fractions massiques des espèces.<br />

les ux sur tous les patchs du maillage.<br />

les pas de temps. L'utilisateur peut observer diérents pas de temps : acoustique, chimique, ou lié à<br />

la diusion. Lors du calcul, AVBP utilise le pas de temps minimal.<br />

Lessondessonttraitéesdelamêmefaçon, POSTC3S déclenchelescriptadapté(xl)pouracherl'évolution<br />

temporelle au noeud choisi de la pression, de la température, de la masse volumique, des vitesses et des<br />

fractions massiques des espèces.<br />

Pour acher ces résultats POSTC3S se base sur des scripts développés au CERFACS et sur l'outil<br />

xmgrace permettant d'acher plusieurs courbes dans une même fenêtre. Des problèmes ont été rencontrés<br />

à SNECMA avec cette méthode de fonctionnement car C3S est installée sur un serveur distant et nécessite<br />

l'installation supplémentaire d'un serveur X prenant en charge l'achage graphique de xmgrace. Pour éviter<br />

de perdre inutilement le temps nécessaire à l'achage des courbes, nous avons décidé, en accord avec<br />

SNECMA, de ne pas acher ces résultats mais de les écrire dans un chier au format ascii pour pouvoir<br />

ensuite les post-traiter avec excel.


28 1. PRÉSENTATION DE LA CHAÎNE DE CALCUL C3S


Chapitre 2<br />

Validation de la chaîne de calcul<br />

C3S<br />

Nousavonsmenésdiérentscastestspourvaliderlachaînedecalcul C3S.Diérentescongurationsont<br />

été abordées :<br />

Des géométries simples 2D lors du développement pour vérier l'écriture des chiers.<br />

Une conguration de recherche nommée PRECCINSTA lors de la conversion d'un tutorial AVBP au<br />

format C3S.<br />

Un canal turbulent pour mes travaux portant sur un système d'injection de turbulence.<br />

Deuxcongurationsindustriellesd'injecteursvrillésquipermettaientdemontreràSNECMAetTUR-<br />

BOMECA que C3S ne remettait pas en cause la qualité d'AVBP.<br />

J'insisterai dans cette section sur la conguration de recherche PRECCINSTA et sur le canal turbulent car<br />

leur réalisation m'a été conée. Le cas PRECCINSTA ayant déjà été calculé avec succès au CERFACS [11],<br />

ilaétéchoisipourêtreutilisécommetutorial.L'objectifdelasection2.1estdoncdedémontrerlafaisabilité<br />

du calcul avec C3S et de décrire brièvement la démarche appliquée dans le tutorial.<br />

2.1 Mise en place du tutorial PRECCINSTA pour C3S<br />

PRECCINSTA (Prediction and control of combustion instabilities for industrial gas turbines) est un<br />

projet européen s'étalant sur quatre ans et demi (mars 2001 - août 2005) qui avait pour but de comprendre,<br />

prédire et nalement contrôler les instabilités de combustion en régime pauvre et prémélangé. Coordonné<br />

par SIEMENS ce projet regroupait un consortium d'industries et de laboratoires de recherche important<br />

dont faisait partie le CERRFACS. Le rôle du CERFACS a été de montrer qu' à l'heure actuelle certains<br />

codes de calcul (comme AVBP) sont capables de déterminer les propriétés d'un écoulement réactif. Un banc<br />

d'essai a été installé à Berlin et à Stuttgart et a fourni de multiples mesures utiles à la validation des calculs<br />

numériques.<br />

Le calcul mené dans le tutorial C3S simule l'écoulement non-réactif dans la chambre de combustion.<br />

Pour ne pas imposer de prols spéciaux de vitesses et de température au niveau de la sortie de la vrille de<br />

l'injecteur,leplenumetlavrilleontétéégalementmaillés.Delamêmefaçonledomainedecalculnes'arrête<br />

pas directement à la sortie de la chambre de combustion, une partie de l'atmosphère est modélisée, ce qui<br />

revient à imposer une pression à "l'inni" aval. Le maillage utilisé possède donc 2 958 000 cellules sachant<br />

que la plus petite cellule a un volume de 2.97 10 −11 m . Les gures 2.1 et 2.2 présentent la géometrie et le<br />

maillage.<br />

3<br />

Les conditions aux limites utilisées dans ce calcul sont décrites dans le tableau 2.1 et la gure 1.9 de la<br />

section 1.2.4 présente leur intégration dans C3S.<br />

Pour le tutorial C3S la démarche de calcul AVBP a été reprise. Un premier calcul est lancé pour vérier<br />

la pertinence des conditions aux limites et celle de la solution initiale, pour ce faire la valeur des coecients<br />

de relaxation est augmentée (imposition forcée des valeurs cibles voir section 1.2.4). L'utilisateur post-traite<br />

ensuite les résultats temporels et vérie entre autres la valeur des débits entrants. Puis un deuxième calcul<br />

est lancé à partir d'une solution plus avancée dans le temps, cela permet à l'utilisateur de se rendre compte<br />

29


30 2. VALIDATION DE LA CHAÎNE DE CALCUL C3S<br />

Fig. 2.1 Géométrie utilisée pour le projet PRECCINSTA.<br />

Fig. 2.2 Visualisation du maillage non-structuré dans la zone de la vrille de l'injecteur.<br />

Surfaces Type de condition aux limites Valeurs cibles<br />

Entrée INLET_RELAX_RHOUN_T_Y Débit : 12.0 g.s<br />

Température : −1<br />

300 K<br />

Fraction massique de N2 : 1.0<br />

Sortie OUTLET_RELAX_P Pression : 101325P a<br />

Murs WALL_NOSLIP_ADIAB Aucun paramètre<br />

Tab. 2.1 Conditions aux limites utilisées pour le cas de calcul PRECCINSTA<br />

que la notion de convergence n'a pas de valeur en LES. En eet lors du post-traitement il peut s'apercevoir<br />

que les variables continuent d'évoluer temporellement.<br />

La diérence est aussi faite entre les solutions instantannées et les solutions moyennes. Pour chaque type


2.2. ÉTUDE D’UN CANAL TURBULENT AVEC C3S 31<br />

Fig. 2.3 Visualisation du PVC à la sortie de la vrille. La fréquence dans cette conguration pour un<br />

écoulement non-réactif est de 540 Hz.<br />

de solution une brève méthodologie de post-traitement est donnée, ainsi l'utilisateur peut observer au bout<br />

d'un temps physique de 90 ms la forme instantannée du PVC (gure 2.3) ou les zones de recirculation<br />

(gure 2.4). Cependant pour valider sa LES l'utilisateur fera appel aux valeurs moyennes et RMS présentes<br />

danslessolutionsmoyennesetsouventfourniesparlesexpérimentateurs.Celan'apasétéfaitdanscetutorial<br />

car le coût de calcul pour faire converger les valeurs moyennes est trop important pour être inséré dans un<br />

tutorial.<br />

Fig. 2.4 Visualisation des recirculations dans la chambre de combustion et dans le plenum pour un temps<br />

physique de 90 ms.<br />

2.2 Étude d'un canal turbulent avec C3S<br />

2.2.1 Objectifs<br />

L'écoulementdanslesconduitesd'amenéedesturbomachinesesttrèssouventturbulent,orgénéralement<br />

ces conduites ne sont pas incluses dans le domaine de calcul. Dans certaines congurations il peut être


32 2. VALIDATION DE LA CHAÎNE DE CALCUL C3S<br />

intéressant de tenir compte de la turbulence qui s'est déja développée dans la conduite. Pour ce faire il m'a<br />

été demandé de développer un injecteur de turbulence pour les conditions aux limites d'entrée.<br />

2.2.2 Démarche<br />

Fig. 2.5 Approches possibles pour la création d'un systême d'injection de turbulence<br />

Comme le montre la gure 2.5, plusieurs réalisations sont possibles :<br />

Unepremièreapprocheseraitdecréerunebasededonnéesàpartirdecalculssurdescanauxturbulents.<br />

Les vitesses uctuantes seraient alors pondérées et injectées dans la condition aux limites de l'entrée<br />

selon l'avancement du calcul. Cette méthode se montre la moins coûteuse car une fois la base de<br />

donnéescréée,ilsuraitd'adapterleproldevitesseuctuanteenfonctiondudébitetdelaformede<br />

l'entrée.Celaprésupposequelaformeduproldevitesseuctuantedansuncanalestpeudépendante<br />

du nombre de Reynolds. Il s'agit donc d'une méthode peu coûteuse mais aussi peu précise.<br />

Une deuxième approche serait de générer un canal turbulent pour chaque entrée. Ainsi l'écoulement<br />

dans le canal turbulent, servant de référence pour la condition aux limites, aurait le même nombre<br />

de Reynolds que l'écoulement dans la conguration principale. La précision gagnée par cette méthode<br />

se paye par une augmentation du coût de calcul car chaque entrée pour un régime donné nécessite la<br />

modélisation d'un nouveau canal turbulent.<br />

Les principaux problèmes rencontrés par ce projet sont donc les suivants :<br />

Modélisation d'un canal turbulent, création d'un maillage périodique adapté, ajout d'un terme source<br />

pour mettre en mouvement le uide.<br />

Adaptation des conditions aux limites pour pouvoir introduire des nouvelles valeurs cibles en fonction<br />

du temps.<br />

Création d'un outil d'interpolation car le maillage du canal turbulent est généralement beaucoup plus<br />

n que celui d'une entrée de géométrie complexe.<br />

Sauvegarde et lecture d'une base de donnée sur machine parallèle.<br />

Vue la diculté de la tâche et l'eort demandé par le codage de l'interface je n'ai pas pu me coner<br />

pleinement à ce projet. Je ne me suis donc intéressé qu'au premier problème de modélisation d'un canal


2.2. ÉTUDE D’UN CANAL TURBULENT AVEC C3S 33<br />

turbulent.<br />

2.2.3 Modélisation d'un canal périodique turbulent<br />

Le but de ce canal à terme est d'extraire des prols de vitesse uctuante. Il faut donc que la turbulence<br />

soit pleinement développée. Pour cela j'ai utilisé un canal périodique qui n'est autre que la visualisation<br />

numérique d'un canal "inni".<br />

Imposition d'un terme source<br />

L'utilisationd'untermesourcevolumiqueaéténécessairepourforcerleuideàsemettreenmouvement.<br />

Dans le cadre de cette étude seule la géométrie et le nombre de Reynolds sont imposés, il faut donc pouvoir<br />

calculer la valeur du terme source à partir de ces deux données.<br />

Dans le cas d'un écoulement laminaire les prols de vitesse sont parfaitement connus. La résolution<br />

deséquationsdeNavier-Stokes[12]pouruntubecylindriquederayon Rpermetd'obtenirlesrelations<br />

suivantes :<br />

D = − π ∂p<br />

R4<br />

8ν ∂x<br />

u deb = − R2<br />

8ρν<br />

R = 2Ru deb<br />

ν<br />

Le terme source ∂p est à imposer à l'écoulement pour obtenir le débit D. Ce cas laminaire où l'on<br />

∂x<br />

connaitlasolutionanalytiquem'apermisdevérierl'outild'insertiondetermesourcedans AVBP ainsi<br />

quelemaillageprésentédanslasection2.2.3).Lagure 2.6présentelacourbed'évolutiontemporelle<br />

du débit. Une comparaison des prols de vitesse calculé et théorique est faite sur le graphique 2.7.<br />

Cette étude sur le cas laminaire m'a permis de mettre en évidence des problèmes de viscosité. Pour<br />

obtenir le bon débit nal il est impératif d'utiliser le moins possible de viscosité articielle. En eet<br />

dans cette simulation nous avons ν = ν lam + ν artificielle (le modèle de turbulence est désactivé), cela<br />

implique que le nombre de Reynolds dière de celui que nous croyons imposer.<br />

Dans le cas d'un écoulement turbulent, aucune formule analytique permet de relier la valeur du terme<br />

source au débit. J'ai donc utilisé la formule empirique suivante [12] :<br />

∂p<br />

∂x = λ ρ<br />

2R 2 u2 deb (2.1)<br />

∂p<br />

∂x<br />

λ = 0.3164R −0.25 , pour R ≤ 100000<br />

Génération du maillage<br />

Le maillage retenu est un maillage hybride inspiré de celui présenté dans l'article de F. Nicoud et F.<br />

Ducros [8]. Le canal a un diamètre de 1 mm sur une longueur de 5 mm. La géométrie est petite pour avoir<br />

untermesourceélevé(voiréquation2.1),celapermetd'avoirunedynamiqueplusélevéeetdoncd'atteindre<br />

la solution plus rapidement.<br />

Le nombre de Reynolds critique pour un tube est de 2300 [12], en dessous l'écoulement reste normalement<br />

laminaire, au dessus l'écoulement transitionne et devient turbulent. Les simulations visent à terme<br />

le fonctionnement d'un canal turbulent pour un nombre de Reynolds de 6000. Les données expérimentales<br />

présentées sur le gure 2.9 montrent clairement l'importance de la zone proche-paroi où naît la turbulence.<br />

Dans une couche limite turbulente, il est d'usage d'utiliser les variables adimensionnées suivantes :<br />

u + = u u τ<br />

Vitesse réduite<br />

Distance au mur adimensionnalisée<br />

y + = yu τ<br />

ν


34 2. VALIDATION DE LA CHAÎNE DE CALCUL C3S<br />

Fig. 2.6 Évolution temporelle du débit pour le canal laminaire (R = 500)<br />

18<br />

16<br />

14<br />

12<br />

vitesse axiale (m/s)<br />

10<br />

8<br />

6<br />

4<br />

2<br />

0<br />

−0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5<br />

coordonnee radiale (mm)<br />

Fig.2.7Comparaisonduproldevitessecalculé(◦)avecleproldevitesseparaboliquethéorique(×).La<br />

simulationnumériquesous-estimede0.8%ledébitprévu.Celaestprobablementdûaufaitquelasimulation<br />

demande un temps inni pour atteindre son équilibre (voir courbe 2.6).


2.2. ÉTUDE D’UN CANAL TURBULENT AVEC C3S 35<br />

Où u τ est la vitesse de frottement déduite de la contrainte de cisaillement pariétale τ paroi par :<br />

u τ =<br />

√<br />

τparoi<br />

La couche limite turbulente se décompose en deux parties : une zone très proche paroi (y + 11.8) appelée<br />

souscouchevisqueuseetunezoneafortioriturbulente(y + 11.8).Ilm'intéressaitprincipalementdecapter<br />

cettezoneprocheparoipourpouvoirlarésoudrenumériquementetainsis'aranchird'excitationquelconque<br />

pour faire transitionner l'écoulement. Les mailles proches de la paroi ont donc été étudiées pour avoir une<br />

épaisseur relative ∆ + R<br />

de 3, cela donne ∆ R de l'ordre de 7.4 µm. Les données géométriques du maillage sont<br />

résumées dans le tableau 2.2, une visualisation du maillage est donnée en gure 2.8<br />

Géométrie diamètre 1 mm<br />

longueur<br />

5 mm<br />

Maille proche paroi épaisseur (composante radiale) :<br />

∆ + R<br />

3<br />

∆ R 7.4 10 −3 mm<br />

largeur (composante azimuthale) :<br />

ρ<br />

∆ + θ<br />

10<br />

∆ θ 24.9 10 −3 mm<br />

longueur (composante axiale) :<br />

∆ + z 30<br />

∆ z 74.6 10 −3 mm<br />

Maillage global Nombre de cellules 128366<br />

Volume minimal de cellule 1.13 10 −5 mm 3<br />

Tab. 2.2 Propriétés du maillage<br />

Résultats<br />

Lors du calcul mené avec C3S les variables temporelles ont été sauvegardées toutes les 100 itérations.<br />

À partir de ces données, la vitesse débitante moyenne est de 90.57 m.s soit 3.3% d'erreur avec la vitesse<br />

débitante prévue qui valait −1 93.59 m.s (issue de la formule empirique 2.1). Cela est raisonnable compte<br />

tenu de l'activation du modèle de sous-maille −1 qui est dissipatif.<br />

De plus, il a été spécié dans C3S que des solutions moyennes devraient être écrites. Ainsi à terme<br />

la solution moyenne a été calculée durant 300000 itérations soit 165 temps convectifs (basé sur la vitesse<br />

débitante). Je me suis principalement intéressé aux valeurs RMS car elles contiennent l'information sur la<br />

turbulence.Lagure2.9présenteunecomparaisonentrelavitesseaxialeRMSetlesmesuresexpérimentales<br />

eectuées par Eggels et al.<br />

Ces résultats susent à valider le calcul du canal turbulent. Les attentes ont été correctement remplies :<br />

LasimulationnumériqueestentièrementcontrôléeparlenombredeReynolds.Lesdébitsobtenussont<br />

tout à fait corrects.<br />

Le phénomène de turbulence est clairement résolu sur le maillage comme peuvent le montrer les<br />

gures 2.10 et 2.11.


36 2. VALIDATION DE LA CHAÎNE DE CALCUL C3S<br />

Fig. 2.8 Visualisation du maillage hybride utilisé pour l'étude du canal turbulent.<br />

Fig. 2.9 Comparaison des prols de vitesse axiale RMS avec les mesures de Eggels et al.


2.2. ÉTUDE D’UN CANAL TURBULENT AVEC C3S 37<br />

Fig. 2.10 Visualisation de la vitesse axiale RMS sur une coupe médiane du maillage.<br />

Fig. 2.11 Visualisation d'une isosurface de gradient de vitesse axiale colorée par la vitesse.


38 2. VALIDATION DE LA CHAÎNE DE CALCUL C3S


Chapitre 3<br />

Présentation de l'outil Genprole<br />

Genprole est un outil FORTRAN qui crée automatiquement des prols de vitesse sur les surfaces<br />

d'entrée. Imposer un prol plat dans AVBP peut entraîner des oscillations de pression sur le pourtour de<br />

l'entrée. Cela s'explique par le fait qu'il y a intéraction entre les conditions limites voisines. Par exemple, un<br />

prol de vitesse constant pour une entrée bordée de mur non-glissant pose des problèmes car la vitesse doit<br />

être nulle sur le mur.<br />

Ledéveloppementdegenprole avaitétéinitiéparunprécédentstagiaire,maisilnefonctionnaitpas.Mes<br />

objectifs étaient donc de rendre cet outil fonctionnel puis d'en nettoyer le codage et enn de le généraliser.<br />

En plus d'en faire un outil utile pour C3S, cet outil est aussi destiné au cadre plus global d'AVBP, il se doit<br />

de pouvoir être utilisé seul. Cela permet à l'équipe combustion d'avoir un outil générique pour imposer un<br />

prol de vitesse en entrée, ce qui induit des gains de temps et une sécurisation accrue.<br />

Lasection3.1donneraunebrèvedescriptiondesconditionsauxlimitesdeparoisdisponiblesdans AVBP<br />

ainsi que leur traitement par genprole.<br />

3.1 Conditions aux limites de parois d'AVBP<br />

Cette section présente brièvement les conditions aux limites de parois d'AVBP. Genprole se doit de<br />

respecter les paramètres de chacune pour créer un prol de vitesse cohérent.<br />

Les conditions aux limites de type "WALL_SLIP"<br />

Pour un tel type de condition aux limites, seule la composante normale au mur de la vitesse doit être<br />

nulle. Dans ce cas genprole conserve un prol de vitesse plat.<br />

Les conditions aux limites de type "WALL_NOSLIP"<br />

Lavitessesurlemurestnulle(composantesnormaleettangentielle).Laformeduprolestdonnéparle<br />

type d'écoulement que souhaite l'utilisateur. Il peut choisir entre un écoulement laminaire et un écoulement<br />

(moyen) de type turbulent. Ce type de condition limite n'est utilisé que si le maillage est susament rané<br />

proche de la paroi.<br />

Les conditions aux limites de type "WALL_LAW"<br />

En LES est assez compliqué de raner le maillage près de la paroi à cause de la dégradation du pas de<br />

temps. Qui plus est la LES peut poser des problèmes pour la simulation proche paroi. En eet le modèle de<br />

sous maille est principalement dissipatif, il ne permet pas de faire remonter à l'échelle résolue de l'énergie<br />

de sous-maille. Or il s'agit principalement du phénomène qui a lieu à la paroi, les petites structures se<br />

développent et grandissent en taille et en énergie. Pour palier à ces problèmes une approche de type loi de<br />

1<br />

1 ne pas sur-contraindre l'écoulement en imposant à la fois, la vitesse au mur, et la vitesse dans la première maille (calculée<br />

par le schéma numérique), ce qui peut générer du bruit numérique<br />

39


40 3. PRÉSENTATION DE L’OUTIL GENPROFILE<br />

paroi est utilisée. La couche limite est donc modélisée et pas résolue.<br />

Dansunecouchelimiteturbulentelavitesseréduite u + = u u τ<br />

peutêtreexpriméeàpartirdelagrandeur<br />

adimensionnée y dénie par :<br />

+ y + = y.u τ<br />

ν<br />

Où ν est la viscosité dynamique du uide. La vitesse de frottement u τ peut être déduite de la contrainte de<br />

cisaillement pariétale τ paroi par :<br />

u τ =<br />

√<br />

τparoi<br />

Lorsque y estinférieurà11.8larégionconsidéréedelacouchelimiteestappeléesouscouchevisqueuse<br />

et la vitesse réduite + peut être modélisée linéairement (équation 3.1).<br />

u + = y + ∀y + ≤ 11.8 (3.1)<br />

Lorsque y est compris entre + 11.8 et 10 , la vitesse réduite est alors modélisée par une loi logarithmique<br />

(équation 3.2).<br />

3 u + = 1 κ Ln ( E × y +) ∀y + / 11.8 ≤ y + ≤ 10 (3.2)<br />

Où κestlaconstantedeVanKarmanégaleà 0.41et 3 E laconstanteintégraleégaleà 9.2.Pourunecondition<br />

auxlimitesdetypeWALL_LAWseulelacontraintedecisaillementpariétale τ paroi estimposée,cequilaisse<br />

lacomposantetangentielledelavitesse"uctuante".Lacomposantenormaledelavitesseesttoutdemême<br />

imposée à zéro pour assurer la conservation de la masse. Cette méthode revient à décaler la véritable limite<br />

physique d'une distance δ par rapport au bord du domaine de calcul. En supposant que ce décalage reste<br />

petit devant la taille de la première cellule voisine, on peut alors négliger δ lors du calcul de la distance<br />

entre le noeud 1 et le mur. Cette hypothèse est valide dans le cas d'écoulement à haut Reynolds. La vitesse<br />

imposée sur la frontière numérique est en fait celle d'un point très proche de la paroi situé dans la couche<br />

limite. La gure 3.1 permet d'expliciter graphiquement cette méthode.<br />

Fig.3.1Proldevitesseproched'unmur,etnotationdesparamètresutilisésdansuneloideparoi AVBP.<br />

En supposant que la distance au mur et la vitesse du noeud 1 sont connues (calculées par le schéma),<br />

et que y 1 est compris dans la zone logarithmique, AVBP calcule de façon itérative la vitesse de frottement<br />

grâce à la + loi logarithmique :<br />

u 1<br />

= 1 (<br />

u τ κ Ln E u τ y<br />

)<br />

1<br />

(3.3)<br />

ν<br />

La contrainte de cisaillement peut alors être déduite de la vitesse de frottement grâce à l'équation 3.1. Pour<br />

déterminer la vitesse nal appliquée sur le mur, un bilan des forces est fait sur la première cellule et donne :<br />

( ) ∂u<br />

τ paroi = (µ + µ t ) = ρu 2 τ (3.4)<br />

∂y<br />

1<br />

Où ρ est la masse volumique du uide et µ t la viscosité turbulente donnée par :<br />

µ t = ρκ 2 y 2 ∂u<br />

∂y<br />

En supposant que dans une couche limite turbulente, la viscosité turbulente est bien plus élevée que la<br />

viscosité laminaire, l'équation 3.4 devient :<br />

( ) 2 ∂u<br />

ρκ 2 y1<br />

2 = ρu 2 τ (3.5)<br />

∂y<br />

1<br />

Enn la dérivée de premier ordre peut être discrétisée avec un schéma décentré du premier ordre, ce qui<br />

donne :<br />

u 1 − u ′ δ<br />

y 1<br />

ρ<br />

= u τ<br />

κy 1<br />

⇒ u ′ δ = u 1 − u τ<br />

κ<br />

(3.6)


3.2. DÉTERMINATION DE LA FORME GLOBALE DU PROFIL DE VITESSE 41<br />

Résolution par genprole.<br />

Ladémarchede genprole estsimilaireàcelled'AVBP.Aprèsavoirdéterminélavitesseaunoeud1etsa<br />

distance par rapport au mur, genprole résout itérativement l'équation 3.3. Le précédent stagiaire utilisait<br />

la forme exponentielle équivalente (équation 3.7) de cette équation ce qui lui évitait les problèmes de valeurs<br />

négatives lors de la résolution.<br />

(<br />

Exp κ u )<br />

1<br />

− E u τ y 1<br />

= 0<br />

u τ<br />

(3.7)<br />

ν<br />

Cependant les valeurs prises par l'exponentielle étant trop importantes, le calcul devenait irréalisable d'un<br />

point de vue numérique. J'ai donc utilisé la forme logarithmique pour résoudre cette équation avec un<br />

algorithme de Newton. S'il arrive lors de la résolution de l'équation qu'une valeur négative soit trouvée,<br />

alors le code impose comme nouvelle valeur le dixième de la précédente. La gure 3.2 permet de mettre en<br />

évidence ce principe.<br />

Fig. 3.2 Courbe de tendance pour une loi de type f(x) = 1 − Ln(x). Mis en évidence d'un cas favorable<br />

x<br />

à la résolution par l'algorithme de Newton (tracé rouge) et d'un cas défavorable (tracé vert).<br />

3.2 Détermination de la forme globale du prol de vitesse<br />

Toutes les formes d'entrée peuvent être traitées avec genprole. Cependant genprole utilise des prols<br />

théoriques valables pour le disque et les fentes. À partir de là genprole peut par exemple utiliser un prol<br />

type fente sur une entrée annulaire.


42 3. PRÉSENTATION DE L’OUTIL GENPROFILE<br />

Prol de vitesse en écoulement laminaire<br />

genprole se base sur les formules théoriques de Poiseuille 2D et Poiseuille 3D présentées par les équations<br />

3.8 et 3.9.<br />

(<br />

u = 3 ( ) ) 2 L − y<br />

2 U deb 1 − 4 Poiseuille 2D utilisé pour une fente d'épaisseur L (3.8)<br />

L<br />

( )<br />

u = 2U deb 1 − Poiseuille 3D utilisé pour un disque de rayon R (3.9)<br />

r2<br />

R 2<br />

Danslecasoùl'entréeauraituneformediérentedesdeuxcas"théoriques"présentésci-dessus, genprole<br />

calcule un rayon caractéristique à partir de la surface de l'entrée.<br />

R eq =<br />

√<br />

Sentree<br />

Puis l'équation de Poiseuille 3D est adaptée au cas et donne :<br />

u = 2U deb<br />

(<br />

1 − (R eq − y) 2<br />

π<br />

R 2 eq<br />

Où y représente la distance entre le mur et le noeud considéré.<br />

Prol de vitesse en écoulement turbulent<br />

La forme d'un prol de vitesse dans une conduite turbulente peut être approchée par une loi puissance.<br />

Pour une entrée circulaire on a :<br />

( y<br />

) 1<br />

n<br />

u = U max (3.10)<br />

R<br />

Où u est la vitesse au noeud considéré, y sa distance par rapport au mur et U max la vitesse maximale au<br />

centre de la conduite. Le coecient n est donné par la loi de Blasius :<br />

1<br />

n = √ Λ Λ = 0, 3164R − 1 4 (3.11)<br />

Où Λestlecoecientdepertedechargeet RlenombredeReynoldsassociéàl'écoulement. U max estobtenu<br />

par conservation du débit sur la surface d'entrée. Ainsi, toujours dans le cas d'une conduite circulaire, on<br />

obtient :<br />

U max = U bulk<br />

α<br />

with, α =<br />

)<br />

2n 2<br />

(3.12)<br />

(n + 1) (2n + 1)<br />

Dans le cas d'une conduite qui aurait pour entrée une fente innie d'épaisseur L, on modie un peu la<br />

formulation de l'équation 3.10 pour obtenir :<br />

Par conservation du débit cela donne :<br />

U max = U bulk<br />

α<br />

u = U max<br />

( 2y<br />

L<br />

) 1<br />

n<br />

(3.13)<br />

with α = n<br />

n + 1<br />

(3.14)<br />

Tout comme pour les écoulements laminaires, pour une forme d'entrée quelconque genprole utilise un<br />

rayon caractéristique basé sur la surface pour assimiler l'entrée à un disque.


3.3. DESCRIPTION DE LA DÉMARCHE DE GENPROFILE ET DE SON CODAGE. 43<br />

############################################<br />

Set path for genprofile tool<br />

############################################<br />

'/home/combe/RUN_GENPRO/test_11.coor'<br />

!Mesh coordinate file<br />

'/home/combe/RUN_GENPRO/test_11.exBound' !Mesh exBound file<br />

'/home/combe/RUN_GENPRO/BC_test_11.asciiBound' !asciiBound file<br />

'dummy_tpf'<br />

!asciiBound tpf file<br />

'/home/combe/RUN_GENPRO/input_premix.dat' !premix file<br />

'/home/combe/RUN_GENPRO/BC_test_11.solutBound' !solutBound file<br />

############################################<br />

0 Mesh in : meter(0)/millimeter(1)<br />

############################################<br />

1 Number of inlet patches<br />

############################################<br />

1 Inlet patch number<br />

1 Laminar(0)/Turbulent(1)<br />

0 Slit treatment (1) or not (0)<br />

0 Characteristic length<br />

1.0 bulk velocity on x or surfacic mass flux<br />

0.0 bulk velocity on y<br />

0.0 bulk velocity on z<br />

############################################<br />

Fig. 3.3 Fichier genprole.choices.<br />

3.3 Description de la démarche de genprole et de son codage.<br />

3.3.1 Initialisation et lecture des chiers<br />

La gure 3.3 présente le chier genprole.choices qui lors du lancement de genprole transmet les informations<br />

sur le cas à traiter. L'utilisateur pourra donc dénir le nombre d'entrée qu'il souhaite traiter<br />

avec genprole, l'écoulement associé (laminaire ou turbulent) et s'il souhaite un prol de type fente. Lors de<br />

précédentes versions genprole calculait elle-même le débit associé à une entrée à partir du prol plat que<br />

l'utilisateuravaitprécédemmentcréédanslechier .solutBound.Parsoucidecommoditéj'airajoutédansle<br />

chier genprole.choices les valeurs cibles pour les valeurs de vitesses débitantes à obtenir. Cela permet une<br />

utilisation plus claire et plus facile de l'outil.<br />

3.3.2 Détermination des noeuds communs<br />

Avant tout calcul genprole repère d'abord les limites de l'entrée en cherchant les noeuds communs à<br />

l'entrée et aux murs voisins. En plus de repérer cette frontière cela permet aussi de déterminer les types de<br />

conditions aux limites appliquées aux murs voisins. En eet genprole nécessite que tous les murs environnants<br />

soient du même type, dans le cas contraire l'entrée considérée n'est pas traitée et genprole impose un<br />

prol plat.<br />

3.3.3 Calcul de la distance au mur<br />

Pourtouslesnoeudssituéssurl'entrée, genprole détermineladistanceaumurleplusproche.Pourcela<br />

il parcourt la frontière de l'entrée (noeuds communs) et calcule le produit scalaire entre la normal au mur et<br />

levecteurposition.Laméthodeprécédemmentutiliséeneretenaitquelevecteurposition,celaentrainaîtdes<br />

erreurssurlesmaillagestétraédriqueslorsquelenoeudconsidéréétaittropprochedelaparoi.Orcesnoeuds<br />

sont essentiels car dans le cas de conditions aux limites de type WALL_LAW la distance y 1 est essentielle.<br />

3.3.4 Détermination de la forme de l'entrée<br />

genprole a besoin d'une longueur caractéristique pour pouvoir calculer le prol de vitesse. Deux méthodes<br />

sont possibles :<br />

genprole calcule le rayon caractéristique à partir de la surface de l'entrée.


44 3. PRÉSENTATION DE L’OUTIL GENPROFILE<br />

L'utilisateur souhaite un traitement de type fente, auquel cas il donne l'épaisseur de la fente dans le<br />

chier genprole.choices.<br />

3.3.5 Détermination du prol de vitesse<br />

PouruneconditionauxlimitesdetypeWALL_SLIP, genprole imposeunproldevitesseplat.Pourles<br />

autres types de conditions aux limites (WALL_NOSLIP et WALL_LAW) genprole applique les équations<br />

de la section 3.2.<br />

Calcul du nombre de Reynolds. Ce paramètre est essentiel pour les utilisateurs qui voudraient<br />

imposer un prol moyen de vitesse de type turbulent.<br />

Calcul en chaque noeud de la valeur de la vitesse à partir des équations de la section 3.2.<br />

Les conditions aux limites de type WALL_LAW nécessite un traitement supplémentaire pour déterminer la<br />

vitesse au mur.<br />

Détermination de y 1 . Pour tous les noeuds communs, genprole cherche le noeud n'appartenant<br />

pas à la frontière le plus proche de celui-ci. y 1 est alors la moyenne de toutes ces distances projetées<br />

sur les normales locales au mur.<br />

Détermination de u 1 à partir des équations de la section 3.2 et de y 1 .<br />

Détermination de u τ . genprole résout itérativement l'équation 3.3.<br />

Détermination de u δ. La vitesse sur le mur est calculée avec l'équation 3.6.<br />

′<br />

3.3.6 Correction numérique du ux<br />

Le fait d'appliquer un prol de vitesse analytique sur un maillage entraîne des erreurs de discrétisation.<br />

An d'obtenir le débit initialement prévu, genprole corrige donc le débit nal par un facteur correctif. Ce<br />

facteur n'est autre que le rapport entre le débit initial calculé avec la vitesse débitante et le débit nal après<br />

avoir imposé la forme du prol.<br />

3.4 Résultats<br />

Pour comparer les prols de vitesse issus de C3S, j'ai utilisé les prols de vitesse calculés par AVBP.<br />

3.4.1 Conditions aux limites de type WALL_LAW<br />

L'écoulement dans ce cas est implicitement turbulent. La comparaison des prols présentée sur la -<br />

gure 3.4 a été faite avec une conguration de canal plan inni. Le nombre de Reynolds de l'écoulement est<br />

de 60000 et la première maille à la paroi a une épaisseur réduite y 1 égale à 102. Cela explique l'utilisation<br />

de ce type de condition aux limites.<br />

+<br />

On constate sur ces courbes un très bon accord dans la zone proche paroi avec une estimation de la<br />

vitesse sur le mur très pertinente. Au centre du canal (abscisse 12.5 mm du graphique) une divergence des<br />

valeursestobservée,celaestduaumodèleenloipuissancecarsadérivéenes'annulepasaucentreducanal.<br />

3.4.2 Conditions aux limites de type WALL_NOSLIP<br />

La conguration étudiée est le canal périodique turbulent présenté à la section 2.2.3.<br />

Prol de vitesse dans le cas d'un écoulement laminaire<br />

La coincidence entre les deux courbes (voir gure 3.5) est parfaite, même si genprole surestime très<br />

légèrment la vitesse maximale au centre du canal.


3.4. RÉSULTATS 45<br />

Fig. 3.4 Comparaison des prols de vitesse issus de genprole et d'AVBP pour un canal plan inni à<br />

R = 60000. Les murs supérieurs et inférieurs sont de type WALL_LAW.<br />

Fig. 3.5 Comparaison des prols de vitesse issus de genprole et d'AVBP pour un canal cylindrique à<br />

R = 500. Les murs voisins sont de type WALL_NOSLIP.<br />

Prol de vitesse dans le cas d'un écoulement turbulent<br />

Comme pour les conditions aux limites de type WALL_LAW, le prol de vitesse au centre du canal est<br />

surestimé à cause de la loi puissance (voir gure 3.6). Cependant sur les bords l'approche de genprole est<br />

correcte.


46 3. PRÉSENTATION DE L’OUTIL GENPROFILE<br />

Fig. 3.6 Comparaison des prols de vitesse issus de genprole et d'AVBP pour un canal cylindrique à<br />

R = 6000. Les murs voisins sont de type WALL_NOSLIP.


Conclusions<br />

À l'heure actuelle, la chaîne de calcul C3S est installée à SNECMA et TURBOMECA. Plusieurs industrielstravaillentaveccetoutilsurdescongurationscomplexes(pâlesdecompresseur,injecteurs,secteursde<br />

chambre de combustion) et ne nous retournent que très peu de problèmes. La version 1.0 de C3S a donc été<br />

approuvéeparcesdeuxentreprisescequimetuntermeàcetteversion(l'assistanceestbiensûrmaintenue).<br />

Dès lors nous avons commencé à développer C3S version 2.0 correspondant aux besoins de la deuxième<br />

année. Certaines évolutions, bien que pensées durant la première année, ont pu ainsi être intégrées :<br />

ajoutd'ununiquechierprojetcontenantl'intégralitédeschiers AVBP ainsiquetouteslesvariables<br />

dénies dans C3S,<br />

instauration d'un système de tests génériques pyramidal qui permet de valider toute la chaîne de<br />

calcul. Ainsi nous avons pu ajouter un code tricolore pour les onglets ce qui rend l'interface encore<br />

plus facile à aborder.<br />

En eet les objectifs de robustesse et d'ergonomie sont toujours les points clés de l'interface. La version 1.0<br />

aprouvé,departsonintégrationréussiedanslemilieuindustriel,qu'ellepossédaitcesqualités,surtoutcelle<br />

de la robustesse.<br />

Pourmapart,cestageauCERFACSm'aététrèsbénéquecarilm'apermisdemieuxcernerle"monde"<br />

du calcul numérique qu'il ait pour but un développement industriel ou une étude de recherche.<br />

Tout d'abord, j'ai pu aborder de nouveaux languages informatiques, majoritairement le Tcl/Tk et le<br />

FORTRAN mais aussi le Shell car le stage s'est eectué sur une station Linux.<br />

Ledéveloppementdenouveauxoutilsm'aaussimontrélesproblèmesexistantdansuneéquipecomme<br />

celle de combustion où beaucoup de monde code. Il faut alors adopter un style commun à tous pour<br />

laisser derrière soi un travail propre et utilisable par tout le monde.<br />

L'apprentissageducodeAVBP m'asensibiliséàladicultédemeneruncalculproprement.Eneetla<br />

connaissanceducodeestessentiellepoursavoirquelsmodèlesadopterpourunecongurationdonnée,<br />

et il n'est pas si facile les premières fois d'obtenir les résultats souhaités.<br />

Cet aspect informatique ne doit pas pour autant cacher la physique présente dans la CFD. Ainsi les calculs<br />

sur le canal périodique turbulent ainsi que le développement de genprole m'ont permis de m'intéresser<br />

principalement aux phénomènes de turbulence qu'ils s'agissent de phénomènes proche paroi (développement<br />

de la turbulence, lois de paroi) ou de phénomènes "moyens" (prols de vitesse moyenne).<br />

47


48 3. PRÉSENTATION DE L’OUTIL GENPROFILE


Bibliographie<br />

[1] G. Boudier. Application de la méthode LES à la combustion instationnaire dans les foyers d'hélicoptère<br />

- TH/CFD/07/123. PhD thesis, Institut National Polytechnique de Toulouse, 2007.<br />

[2] O.ColinandM.Rudgyard.Developmentofhigh-ordertaylor-galerkinschemesforunsteadycalculations.<br />

Journal of Computational Physics, 162(2) :338371, 2000.<br />

[3] M. Dubesset and J. Vignes. Les spécicités du FORTRAN 90. Éditions Technip, 1993.<br />

[4] M. Harrison and M. McLennan. Eective Tcl/Tk Programming. Addition-Wesley Corporate & Professional,<br />

1997.<br />

[5] K. Jones and J. Welch, B. B. with Hobbs. Practical Programming in Tcl/Tk. Prentice Hall PTR, 2003.<br />

[6] S. Mendez and F. Nicoud. Large-eddy simulation of a bi-periodic turbulent ow with eusion. Journal<br />

of Fluid Mechanics, 598 :2765, 2008.<br />

[7] V.Moureau,G.Lartigue,Y.Sommerer,C.Angelberger,O.Colin,andT.Poinsot. High-ordermethods<br />

for dns and les of compressible multi-component reacting ows on xed and moving grids. Journal of<br />

Computational Physics, 202(2) :710736, 2005.<br />

[8] F. Nicoud and F. Ducros. Subgrid-scale stress modelling based on the square of the velocity gradient.<br />

Flow, Turbulence and Combustion, 62(3) :183200, 1999.<br />

[9] T.PoinsotandS.Lele. Boundaryconditionsfordirectsimulationsofcompressibleviscousows. Journal<br />

of Computational Physics, 101(1) :104129, 1992.<br />

[10] T. Poinsot and D. Veynante. Theoretical and numerical combustion. R.T. Edwards, 2nd edition., 2005.<br />

[11] S. Roux, G. Lartigue, T. Poinsot, U. Meier, and C. Bérat. Studies of mean and unsteady ow in a<br />

swirled combustor using experiments, acoustic analysis and large eddy simulations. Combustion and<br />

Flame, 141 :4054, 2005.<br />

[12] Schlichting. Boundary layer theory. McGraw-Hill, New York, 1955.<br />

[13] P.Schmitt,T.J.Poinsot,B.Schuermans,andK.Geigle. Large-eddysimulationandexperimentalstudy<br />

of heat transfer, nitric oxide emissions and combustion instability in a swirled turbulent high pressure<br />

burner. Journal of Fluid Mechanics, 570 :1746, 2007.<br />

[14] L. Selle, F. Nicoud, and T. Poinsot. The actual impedance of non-reecting boundary conditions :<br />

implications for the computation of resonators. AIAA Journal, 42(5) :958964, 2004.<br />

[15] Y. Sommerer, D. Galley, T. Poinsot, S. Ducruix, F. Lacas, and D. Veynante. Large eddy simulation<br />

and experimental study of ashback and blow-o in a lean partially premixed swirled burner. J. of<br />

Turbulence, 5, 2004.<br />

49

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!