ROBERT BOSCH Produktie N.V.
Transcription
ROBERT BOSCH Produktie N.V.
Institut Universitaire Professionnalisé d’Évry GM Master Promotion 2007-2008 ROBERT BOSCH Produktie N.V. Automatisation d’un procédé de maillage volumique pour calcul aérodynamique Le 09/06/2008 Etudiant : Basile Latourte Tuteur en entreprise : M. Hervé Bratec Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Rapport de stage Latourte Basile 2 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Remerciements Je tiens à tout d’abord à remercier BOSCH de m’avoir accueilli pour mon stage de fin d’étude, ainsi que Hubert Verelst, qui m’ont permis d’intégrer le département de R&D, EAB4. Je remercie particulièrement, Hervé Bratec, mon tuteur qui m’a suivi et guidé tout au long du stage, et également tout le personnel du bureau EAB4 pour l’accueil chaleureux et l’aide qu’ils m’ont apporté tout au long de cette période. Je remercie Patrick Hvalica pour toute son aide et les connaissances qu’il m’a apportées avec le programme CATIA, et François Touron pour m’avoir accueilli en début de stage pour m’aider à trouver un logement, et toute son aide avec FLUENT et la programmation en vba. Finalement, je tiens à remercier Renaud Druhen, de la société ANSYS, qui m’a grandement aidé à résoudre certains problèmes que j’ai rencontrés lors de l’édition des scripts pour TGRID. Rapport de stage Latourte Basile 3 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Sommaire Sommaire ......................................................................................................................................4 Introduction...................................................................................................................................5 1. Présentation de BOSCH Group ............................................................................................6 1.1. Organisation générale ...................................................................................................6 1.2. Secteurs d’activité et quelques chiffres.........................................................................6 1.3. Présentation du secteur automobile ..............................................................................7 1.3.1. Généralités ............................................................................................................7 1.3.2. Quelques chiffres et implantations du secteur Electrical Drives ..........................7 1.4. Robert Bosch Produktie N.V. Tienen ...........................................................................8 1.4.1. Organisation du secteur essuie-glace ....................................................................9 1.4.2. Le service EAB .....................................................................................................9 1.5. Présentation du produit ...............................................................................................11 1.5.1. Différents types d’essuie-glace ...........................................................................11 1.5.2. Composants de l’Aerotwin .................................................................................11 2. Présentation du stage...........................................................................................................12 2.1. Contexte de l’étude .....................................................................................................12 2.2. Introduction à la CFD .................................................................................................16 3. Réalisation de macro en Visual Basic.................................................................................23 3.1. Introduction au langage Visual Basic et VBA ............................................................25 3.2. La macro CATIA ........................................................................................................25 3.2.1. Organigramme de la macro.................................................................................26 3.2.2. La préparation du fichier CATIA .......................................................................27 3.2.3. L’export des modèles géométriques ...................................................................28 3.2.4. Les paramètres géométriques..............................................................................29 3.2.5. Les options de sorties..........................................................................................30 3.2.6. Le post-traitement ...............................................................................................31 3.3. La macro Excel ...........................................................................................................32 3.3.1. Organigramme ....................................................................................................32 3.3.2. Edition des scripts ou fichiers « Journaux » ......................................................33 3.3.3. Le Post-traitement ...............................................................................................35 4. Description des scripts ........................................................................................................38 4.1. La mise en position des maillages...............................................................................38 4.2. Le maillage volumique ...............................................................................................40 4.3. Le post-traitement .......................................................................................................40 5. Conclusions Techniques .....................................................................................................41 Conclusions.................................................................................................................................43 Bibliographie...............................................................................................................................44 Annexe 1 : présentation de Gambit.............................................................................................45 Annexe 2 : présentation de TGrid ...............................................................................................46 Rapport de stage Latourte Basile 4 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Introduction La sécurité routière est devenue depuis quelques années un enjeu de taille pour les constructeurs automobiles, cherchant sans cesse à améliorer les équipements existants et à en développer d’autres. Parmi les équipements actifs, le système d’essuyage prend une part très importante, en facilitant la vision du conducteur par tant de pluie, mais également par temps sec en nettoyant le pare-brise de la poussière. Bien qu’en apparence très simple, cet organe fait l’objet d’une attention particulière par les constructeurs. Les équipementiers, dont Robert Bosch joue un rôle de premier plan, rivalisent d’ingéniosité en proposant des concepts toujours plus novateurs. Les constructeurs automobiles imposent certaines conditions telles que l’essuyage à haute vitesse sans défaut. Ces vitesses peuvent atteindre 250 Km/H. Cela signifie que la qualité d’essuyage doit être bonne jusqu’à cette allure, même si bien sûr, il est impensable et inconscient de rouler à cette vitesse sous la pluie. L’aérodynamique joue donc un rôle important pour atteindre ces exigences. La forme géométrique du système d’essuyage a par conséquent une grande importance. L’influence négative du vent sur le système a pour effet de décoller la raclette du pare-brise en détériorant la qualité de l’essuyage du fait que la répartition de la pression de contact sur le pare-brise n’est plus optimale. Pour prévenir ce genre de problème, des simulations numériques sont réalisées afin de quantifier le comportement aérodynamique du système, et si nécessaire d’optimiser la géométrie de certains composants. Les simulations numériques qui sont souvent très longues et donc coûteuses. Un calcul demande 24 heures et 10 processeurs. La préparation et le post-traitement mobilise un ingénieur pendant environ 64 heures. Nous nous rendons compte qu’il serait très intéressant de réduire le temps nécessaire pour un ingénieur. D’autant que le moindre changement de pièce de l’essuie-glace, nous oblige à recommencer presque tout la préparation, le calcul et le post-traitement, soit 32 heures pour l’ingénieur et 12 heures pour le calcul. L’objectif de mon stage est de réduire le temps nécessaire à un ingénieur, pour la préparation et le post traitement, en automatisant au maximum les différentes opérations qu’il effectue habituellement. Cette automatisation devra également lui permettre de changer de pièce ou de géométrie beaucoup plus rapidement. Cela lui permettra de récupérer du temps de travail qu’il pourra allouer pour la réalisation d’autres tâches. Dans un premier temps nous présenterons le Groupe BOSCH, son organisation, ses implantations, et ses produits. Nous détaillerons ensuite le sujet du stage et les objectifs qui m’ont été fixés au début de cette période. Puis les différentes tâches réalisées seront développées et enfin conclurons en présentant le temps gagné et les perspectives qui s’offrent à nous. Rapport de stage Latourte Basile 5 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 1. Présentation de BOSCH Group 1.1. Organisation générale Mon stage s’est déroulé en sein de la société Robert Bosch Produktie N.V Tienen, qui fait partie de BOSCH Group. Il est géré par deux grandes instances, qui sont la fondation Bosch, qui possède la majorité des actions, et par l’industrie fiduciaire qui possède la majorité des droits de votes au conseil d’administration. La famille Bosch possède quant à elle quelques parts d’action et droits de vote. La répartition est la suivante : Robert Bosch Stiftung GmbH 92% des actions Pas de droits de vote Bosch family Robert Bosch Industrietreuhand KG 7% des actions 7% des droits de votes 93% des droits de vote Robert Bosch GmbH 1 % des actions Capital initial 1.2 milliard d’euros Pas de droits de vote 1.2. Secteurs d’activité et quelques chiffres BOSCH Group est présent dans trois grands secteurs d’activités : l’automobile, l’industrie et les biens de consommations. Au 1er janvier 2008, il regroupe 271 000 salariés, à travers le monde, pour un chiffre d’affaire net de 2,850 milliard d’euros. Bosch Group Sales: 46.3 billion euros Associates on Jan. 1, 2008: 271,000 Automotive Technology Industrial Technology Sales: 28.4 billion euros Share of total sales: 61 % Sales: 6.0 billion euros Share of total sales: 13 % Rapport de stage Latourte Basile Consumer Goods & Building Technology Sales: 11.7 billion euros Share of total sales: 26 % 6 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 1.3. Présentation du secteur automobile 1.3.1. Généralités Comme nous l’avons précédemment, le secteur automobile est le plus important du groupe Bosch, avec un total des ventes s’élevant à 28,4 milliard d’euros, ce qui représente 61% des ventes totales. Ce secteur est également divisé en plusieurs unités qui travaillent sur les différents systèmes qui composent et/ou équipent les automobiles. Automotive Electronics Car Multimedia Gasoline Systems Diesel Systems Starter Motors and Generators Chassis Systems Brakes Electrical Drives Chassis Systems Control Steering Systems Automotive Aftermarket J’ai réalisé mon stage dans le secteur Electrical Drives (ED), qui sont chargés de développer et de produire les moteurs électriques pour les commandes de refroidissement de moteur, d’air conditionné, d’essuie-glace, de direction assistée, de lève vitre et de pompes à eau ou à carburant. Les balais et bras d’essuie-glace, les capteurs de pluie et de lumière, les ventilateurs de moteur complète la gamme de produits du secteur. 1.3.2. Quelques chiffres et implantations du secteur Electrical Drives Rapport de stage Latourte Basile 7 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 1.4. Robert Bosch Produktie N.V. Tienen Robert Bosch Produktie N.V. Tienen, située en Belgique, est la principale usine de production de balais d’essuie-glace parmi les filiales du Groupe Bosch. En effet, elle fabrique 77% de la production totale de Bosch grâce à ses 1500 employés. Le site de Tienen est également le seul à être en charge du secteur R&D concernant la raclette. L’usine fabrique les raclettes et les bras d’essuie-glace pour un chiffre d’affaire de 250,4 million d’euros en 2006. • Tienen Le volume de production par an est le suivant : • Raclettes d’essuie-glace (inc. Bras équipé) : • Bras d’essuie-glace (bras et bras équipé) : • Caoutchouc/refill : • Moteur / système de nettoyage de phares : 78,0 Mio. 18,2 Mio. 2,3 Mio. 0,3 Mio. L’usine produit 6 508 pièces différentes pour 2730 références de produits. Rapport de stage Latourte Basile 8 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 1.4.1. Organisation du secteur essuie-glace ED-WS/GP Ewald General Manager Products incl. Restructuring Secr.: Mrs. Prast Sales Manufacturing Engineering ED-WS/PJRPP ED-WS/PJOEU ED-WS/SPJ Seeger ED-WS/PRM-FS Kaiser ED-WS/ENG Ernst BueP/QMM-WS Kuhrau Customer Project Management Product Management Front Wiper Systems Engineering Wiper Systems Quality Management ED-WS/SCP Bultmann ED-WS/PRM-RS Thomas ED-WS/EAB Endres Sales Controlling and Pricing Product Management Rear Wiper Systems Engineering and Application Wiper Blades ED/CTG-WS Motz ED-WS/PRM-RM Morweiser ED/EWD Hüsges Controlling Product Management Rain Sensor Modules and Marketing Engineering Wiper Drives AE/PJM-WS Michenfelder Project Management Electronics 1.4.2. Le service EAB Dans le but d’avoir toujours une longueur d’avance sur ces concurrents et de satisfaire les critères de norme, la société doit sans cesse améliorer ses produits. C’est le rôle du département de développement EAB (Engineering & Application wiper Blades) qui est divisé en six groupes. Chacun d’entre eux est spécialisé soit dans un domaine soit dans une partie du système d’essuie-glace. Rapport de stage Latourte Basile 9 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Mon stage s’est déroulé dans le service ED-WS/EAB4 qui est en charge des simulations numériques. Cela comprend la définition de vertèbres pour les raclettes Aerotwin (Cf. Chapitre 1.5.2), l’analyse de pare-brise, le calcul aérodynamique, l’étude du profil du caoutchouc et les calculs par éléments finis. ED-WS/EAB4 H. Verelst R&D - Simulation Theoretical definition of wiper blades Project manager Toyota M.P. Vandecouter SAP - SAP coordination EAB - IVP/DSP Collaboration with CR - ED/ETS -Uni A. Stenti M. Bubba P. Hvalica H. Bratec F. Touron Aerodynamics - research manager WPB OS HSQ (WSQ) - 3D CFD appl. proj. Structures: - 3D FEM model - 3D FEM appl. proj. Aerodynamics - WPB model - bi-phase modeling - Experimental fluid-dynamics (external) Struct./NVH - FON. model - rubber mech. modeling - EMA/ TPA/ DMA Struct./NVH - research manager GWB physics GWB analytical FON / Humming - coordination GWB definition EAB5-1 - platform project support - TE13/ LCL support - Student coordinat. Praktikant Dipl. phd Structures: - Sceen analysis CAD & measured - GWB definition - 3D FEM appl. Proj. - CAD Catia/Autocad - Student coordinat. Praktikant Dipl. phd L. Van Vinckenroye FEM/rubber - research: WSG - 2D/3D WSG - Appl. Proj. WSG - platform proj. WSG - TEF13/MOE support WSG - 3D FEM appl. proj. - Student coord. Praktikant Dipl. J’ai intégré cette équipe depuis le 4 février 2008, dans laquelle je suis sous la tutelle de M. Hervé Bratec, qui est responsable des calculs 3D en aérodynamique et en structure, et mène également des recherches plus fondamentales sur certains phénomènes jouant sur la qualité d’essuyage. Rapport de stage Latourte Basile 10 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 1.5. Présentation du produit 1.5.1. Différents types d’essuie-glace Aerotwin Twin/Excel ME 3 C2 Bosch propose quatre types de raclette d’essuie-glace (blade). La dernière génération est la raclette Aerotwin, sur laquelle un développement et une amélioration est continue. Sa forme spéciale est étudiée afin de répondre à plusieurs critères : esthétique, visuels (moins de gênes visuelles pour le conducteur), efficacité à haute vitesse due à sa forme spécialement étudiée, meilleure répartition des efforts sur le pare-brise, nombre de composants minimisé, … Figure 1 : les différents types de raclette 1.5.2. Composants de l’Aerotwin Un système d’essuie-glace (bras et raclette) est composé de nombreuses pièces, représentées sur le schéma ci-dessous. Nous utiliserons dans ce rapport les noms, indiqués sur le schéma ci-dessous, pour désigner les différentes pièces. De même, le système d’essuie-glace sera appelé wiper system ou WS. Figure 2 : composants de l’aérotwin La principale caractéristique de ce type de raclette est sa conception unique composée de 2 lames flexibles (vertebra) enserrant le profil de caoutchouc (rubber element) et permettant une répartition optimisée de l’effort de contact sur le pare-brise. Seul le bras transmet l’effort nécessaire à cette répartition. La définition des vertèbres, c’est-à-dire de la courbure de la raclette au repos, est conditionnée par la forme du pare-brise sur toute la surface de balayage, de la longueur de la raclette, de l’effort du bras, et de bien d’autres paramètres… ce qui fait qu’une raclette Aerotwin est définie pour une seule voiture (ou pare-brise) et pour un seul côté, passager ou conducteur. Concrètement, une raclette définie pour voiture A n’aura pas la même qualité d’essuyage sur une voiture B, même si la force du bras et la longueur de la raclette sont identiques. Ceci du fait de la courbure du pare-brise. Rapport de stage Latourte Basile 11 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 2. Présentation du stage 2.1. Contexte de l’étude Comme introduit précédemment, la force transmise par le bras au centre du balai est un paramètre important pour l’obtention d’une bonne répartition de la pression de la raclette sur le pare-brise. On comprend aisément que lorsque cet effort est modifié pour une raison ou une autre, la qualité de l’essuyage en sera affectée. L’une de ces raisons est l’aérodynamique. Plus précisément, lorsque la voiture atteint à une certaine vitesse, des défauts d’essuyage apparaissent. C’est pour cela que des calculs aérodynamiques sont effectués en avant projet afin de déterminer les performances du système d’essuyage complet (bras + balai) et dans certains cas une optimisation au niveau géométrique est effectuée sur le bras-balai. Les vitesses à atteindre avec une bonne qualité sont comprises entre 160 km/H et 250 Km/H, dépendant du constructeur, de la voiture, de la région géographique… Lift Drag Les 2 principaux efforts aérodynamiques sont pris en compte : • La trainée aérodynamique (drag) freine le système d’essuieglace dans son mouvement de retour vers la position de repos, • la portance aérodynamique (lift) a pour effet de décoller la raclette du pare-brise. Figure 3 : efforts aréodynamiques Un calcul numérique en aérodynamique (CFD) est donc réalisé avec le logiciel FLUENT, qui est développé par la société ANSYS, afin de déterminer ces efforts. Durant mon stage, je n’ai pas eu à faire ce genre de calcul car mon travail consiste en l’optimisation du workflow, et nous ne pouvons pas agir directement sur le temps de calcul. BOSCH a établi une procédure de calcul, qui leur permet de respecter le temps qu’ils souhaitent allouer en fonction des ressources informatiques mises à disposition pour un calcul. Figure 4 : volumes fluides Afin de limiter la durée du calcul, directement lié au nombre d’éléments ou cellules, la procédure est divisée en deux étapes. Cela permet de réduire le temps de calcul et les ressources nécessaires pour le calcul numérique. Dans un premier temps, nous modélisons la partie avant de la voiture et nous calculons l’écoulement sur celle-ci. Pour cela, nous prenons un volume fluide englobant la voiture (en bleu sur la Figure 4 : volumes fluides). Dans cette étape, le système d’essuyage n’est pas inclus dans le modèle, permettant de diminuer le nombre de cellules. Dans un deuxième temps, le modèle se compose de la région proche du pare-brise (en rouge sur la Figure 4). Cette fois, le système d’essuyage est présent dans le modèle. Les résultats du premier calcul sont imposés comme conditions aux limites. Ce calcul a pour but de déterminer les efforts aérodynamiques qui s’exercent sur les WS. Rapport de stage Latourte Basile 12 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Le workflow actuel pour ce genre de calcul comporte quatre grandes étapes : la préparation des modèles géométriques, la préparation au calcul, les calculs proprement dits et enfin le post-traitement. Modèle géométrique de la voiture Modèle géométrique des systèmes d’essuie-glace Logiciel utilisé Préparation du modèle CATIA GAMBIT TGRID FLUENT Assemblage paramétrique et création des deux volumes Export du modèle géométrique du grand volume sans système d’essuie-glace Export des modèles géométriques du petit volume avec systèmes d’essuieglace pour chaque angle de calcul Nettoyage, maillage surfacique et application des conditions aux frontières Nettoyage, maillage surfacique et application des conditions aux frontières Création des couches limites Création des couches limites Maillage volumique Maillage volumique Calcul numérique et récupération des champs de vitesse au niveau des parois du petit volume Calcul numérique et récupération des valeurs de traînée et de portance sur les systèmes pour chaque angle Oui Fin Validation Non Modification de la géométrie du système d’essuie-glace • La préparation des modèles géométriques : Le modèle géométrique de la voiture est tout d’abord un modèle provenant du constructeur et est principalement destiné à la construction. Il ne convient donc pas dans cet état pour un calcul aérodynamique. Celui-ci n’admet pas de trous, d’espaces entre les différentes tôles qui constituent la carrosserie. Pour notre calcul, il nous faut un modèle entièrement clos, c'est-à-dire que tous les espaces qui sont entre les tôles soient fermés, afin de délimiter le domaine d’étude. Le modèle est importé dans CATIA et tous les interstices sont fermés manuellement. Pour une meilleure compréhension, cette étape peut être comme du thermoformage. Les deux systèmes d’essuyage sont alors installés de manière paramétrique. Cela va permettre de positionner la raclette et le bras sur le pare-brise en fonction de l’angle souhaité. La raclette se déformera en fonction de la courbure de l’écran. Les volumes fluides seront alors créés afin de limiter la taille de l’étude (Cf. Figure 4 : volumes fluides). Rapport de stage Latourte Basile 13 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Figure 5 : modèle géométrique nettoyé • La préparation au calcul : Celle-ci comporte elle-même un certain nombre d’étapes, dans le but de discrétiser le modèle permettant de réaliser un calcul numérique. Ces étapes sont : Le nettoyage du modèle qui consiste à réduire le nombre de surfaces qui le composent (Cf. Figure 5). Lorsqu’il est exporté de CATIA, de très nombreuses petites faces peuvent et doivent être réunies afin de pouvoir réaliser un maillage de bonne qualité. En effet, lorsque GAMBIT va mailler le modèle, il va placer un nœud à chaque intersection de surface. De très petites surfaces entraînent des éléments triangulaires de mauvaise qualité avec un skewness1 proche de un. Les deux maillages surfaciques correspondant au grand volume (voiture seule) et au petit volume (pare-brise + WS) : des éléments triangulaires à trois nœuds sont utilisés, leur taille varie de 0,3 à 1 mm de côté pour les systèmes d’essuie-glace, de 1 à 60 mm pour la voiture, jusqu’à 100 mm pour le petit volume et jusqu’à 250 mm pour le grand volume. Le premier maillage est constitué d’environ 155 000 éléments, et environ 350 000 éléments pour le second. Les conditions aux frontières permettent de renseigner les surfaces qui sont considérées comme paroi (wall), celles par où l’air entre (velocity inlet), celles où l’air sort (pressure outlet), celles qui n’ont pas d’influence (internal) et celles qui permettent de délimiter le volume de l’étude (symmetry). En entrée, un champ de vitesse uniforme est appliqué, et en sortie une pression (pression atmosphérique). Internal = rouge Symmetry = jaune Wall = noir Velocity inlet = bleu Pressure outlet = vert Figure 6 : conditions aux limites Une fois les maillages surfaciques réalisés dans GAMBIT et importés dans TGRID, leur qualité est vérifiée avec un outil qui mesure le skewness des éléments. En effet, nous cherchons à avoir un ensemble de mailles triangulaires le plus régulier possible. Par régulier, on entend «les plus équilatéraux possibles», ce qui se traduit par la propriété suivante : l'intérieur du cercle circonscrit de chaque triangle ne contient aucun point du nuage à mailler (Cf. Figure 7). Une triangulation qui respecte ce critère est une triangulation de Delaunay. Le maillage est amélioré jusqu’à obtenir un skewness satisfaisant autour de 0,5 (0 étant un triangle parfaitement équilatéral, et 1 un triangle complètement plat). Le respect de ce critère 1 Skewness: coefficient représentant la forme d’un élément Rapport de stage Latourte Basile 14 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ est important pour la discrétisation de la couche limite, qui est constituée de couches de prismes à partir de ces éléments surfaciques. La surface finale étant plus grande et le nombre d’éléments identique par couche, les cellules sont donc étirées, et la valeur du skewness se retrouve donc augmentée. Figure 7 : triangulation de Delaunay • Le maillage volumique : dans un premier temps, les couches limites autour de la voiture, et sur le sol sont modélisées, à l’aide de prismes. Pour pouvoir calculer avec précision le gradient du champ de vitesse, cette discrétisation doit être très fine. La taille des prismes est basée sur la taille des éléments du maillage surfacique. Le volume d’étude est ensuite maillé à l’aide d’éléments tétraédriques. Le maillage est enfin prêt pour le calcul. Le grand volume compte environ 2 à 3 millions de cellules volumiques, le petit volume quant à lu compte un peu plus de 5 millions de cellules volumiques. • Le calcul numérique : (voir page 12 et chapitre 2.2) Nous n’entrerons pas plus dans les détails car comme nous l’avons déjà dis, BOSCH a déjà mis en place une procédure de calcul avec laquelle mon travail doit être compatible. • Le post-traitement : une fois le calcul terminé, deux valeurs de moments par wiper system sont enregistrées. Le premier moment correspond à celui qui décolle la raclette du pare-brise, et le second est le moment résistant que le moteur entraînant les essuie-glaces doit vaincre. Ces moments, sont exprimés dans le repère global de l’étude, et il s’agit de les exprimer respectivement dans leur repère local. En connaissant la longueur du bras, la force aérodynamique qui réduit celle transmise par le bras au niveau de l’ « adapter » peut être calculée (cf. chapitre 3.3.3). Si les résultats obtenus ne sont pas acceptables, la géométrie du système d’essuieglace est modifiée, afin de réduire la portance, qui décolle le balai du pare-brise. Toutes les différentes opérations précédemment décrites sont répétées afin de valider le nouveau modèle géométrique. Généralement, les modifications apportées portent sur le bras du système. On comprend bien que pour un petit détail apporté sur la géométrie, toute la procédure de modélisation doit être effectuée à nouveau. Cela entrainant un coût et une durée de calcul non négligeable. Durant mon stage, je suis chargé d’optimiser le workflow. Je dois rendre plus rapides et donc moins coûteuses, les différentes étapes qui sont autour du calcul : le maillage et le post-traitement. Le but est également d’automatiser le plus possible le workflow afin d’éviter au maximum l’intervention de l’opérateur, le libérant pour faire une autre tâche. Ainsi, plusieurs points à améliorer dans la méthode actuelle, ont été identifiés avec mon tuteur : réalisation un maillage complet pour chaque angle du système d’essuie-glace remaillage complet pour chaque angle dans le cas d’un changement de bras ou d’une modification géométrique de pièce. post-traitement manuel et trop long Rapport de stage Latourte Basile 15 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Mes objectifs ont été définis à partir de ces points à améliorer : • mise en place une nouvelle méthodologie ou workflow, qui permettra de réaliser le minimum de maillage. Pour cela il convient de mailler indépendamment les différentes pièces du wiper system et de la voiture. Ces maillages seront déplacés et reconnectés en fonction de l’angle. Une bibliothèque de pièces pré-maillées pourra ainsi être créée, ce qui diminuera le temps nécessaire lorsque nous souhaitons changer le modèle du bras, du connecteur, ou modifier la géométrie du bras dans le but de diminuer les efforts aérodynamiques. • automatiser le processus de post-traitement pour le rendre plus rapide. Actuellement, toutes les valeurs nécessaires (composantes des moments, angles entre les différents repères, longueur du bras et formules de calcul) sont saisies manuellement. 2.2. Introduction à la CFD La CFD (Computational Fluid Dynamics) est une méthode numérique pour la prédiction des écoulements plus ou moins complexes, des transferts de masse et chaleur, des réactions chimiques et des phénomènes apparentés. ANSYS développe son propre logiciel dédié à la CFD : FLUENT. Nous ne présenterons ici, que l'aspect du logiciel qui nous intéresse, c'est-àdire l'étude des écoulements de fluides newtoniens et turbulents. Le solveur de Fluent utilise notamment la méthode RANS (Reynolds Averaged Navier Stokes), pour résoudre les équations qui régissent les fluides turbulents. Tous les fluides, turbulents ou non, sont régis par les équations de la dynamiques des fluides. Celles-ci peuvent s’écrire, en utilisant la convention des indices d’Einstein, comme suit: ∂u i ρ ∂t +uj (v ) ∂ p ∂T ij ∂u i = − + ∂xi ∂x j ∂x j (1) ∂ρ ∂u j ∂ρ =0 +uj +ρ ∂x j ∂x j ∂t où : (2) [] • ( ) au temps t. p(x, t ) représente la pression statique • T ij x, t représente le tenseur des contraintes visqueuses (ou tenseur déviateur) • u i x, t représente la i-ème composante du vecteur vitesse du fluide au point x i = xi (v ) ( ) • ρ la masse volumique du fluide La barre au dessus des symboles signifie que nous considérons des quantités instantanées. L’équation (1), est la seconde loi de Newton. Elle est couramment connue sous le nom d’équation de la quantité de mouvement. L’équation (2) est connue sous le nom d’équation de continuité. Rapport de stage Latourte Basile 16 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Dans le cas de fluide incompressible, nous avons : • Pour l’équation de quantité de mouvement : • Pour l’équation de continuité : ∂ρ d ρ ∂ρ = +uj =0 ∂t ∂x j dt ∂u j =0 ∂x j (3) (4) Pour un fluide newtonien, tel que l’air, le tenseur des contraintes visqueuses s’écrit : 1 Tij(v ) = 2 µ s ij − s kkδ ij 3 (5) Le coefficient µ est appelé le coefficient de viscosité dynamique. En général, ce coefficient dépend de la température et dans une moindre mesure de la pression. s ij est le tenseur des taux de déformation instantanés qui est défini par la relation : s ij = 1 ∂u i ∂ u j + 2 ∂x j ∂xi A partir de cette équation, s kk = (6) ∂u k . Si le fluide est incompressible nous avons s kk = 0 , alors ∂xk le tenseur des contraintes visqueuses s’écrit : (v ) T ij = 2 µ s ij (7) Dans la suite de cette présentation, nous supposerons la masse volumique et la viscosité dynamique constante. Avec ces hypothèses, l’équation de la quantité de mouvement devient : ∂u i 1 ∂p ∂ 2 ui ∂u i +ν + uj =− ρ ∂xi ∂x 2j ∂x j ∂t (8) avec υ la viscosité cinématique, qui est définit par : ν≡ µ ρ (9) Avec les conditions aux limites, des solutions linéaires à ces équations existent. Ce sont souvent des écoulements laminaires. Des perturbations à ces solutions, parfois même infinitésimales, peuvent provoquer des écoulements turbulents. Pour étudier comment cela arrive, il est pratique d’analyser l’écoulement en deux parties : une partie principale et les fluctuations. La partie principale peut être de deux types : écoulement moyen ou écoulement laminaire. Ainsi les contraintes et vitesses instantanées peuvent être décomposées de la manière suivante : u i = U i + ui p=P+ p (10) (v ) T ij = Tij(v ) + τ ij(v ) où U i , P et Tij(v ) représentent les écoulements moyens, et ui , p et τ ij(v ) les fluctuations. Cette technique de décomposition de l’écoulement instantanée est basée sur la décomposition de Reynolds. En général, si l’écoulement moyen est défini à partir d’ensemble, il est indépendant du temps. Dans cet écoulement, la masse volumique et la pression sont considérées comme constantes. En injectant les équations (11) dans l’équation (10) nous obtenons : Rapport de stage Latourte Basile 17 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ ( (v ) (v ) ∂ (U i + ui ) ∂(P + p ) ∂ Tij + τ ij ∂ (U i + ui ) ρ + + (U j + u j ) =− ∂x j ∂xi ∂t ∂x j ) (11) Cette équation peut être moyennée pour établir l’équation de la quantité de mouvement pour l’écoulement moyen. Nous rappelons que les opérations de moyenne et de différentielle peuvent être commutées. De cette manière la moyenne d’une dérivée est égale à la dérivée d’une moyenne. Mais aussi que la moyenne des fluctuations autour de la position moyenne est égale à zéro. Ainsi l’équation pour l’écoulement moyen peut être simplifiée : (v ) ∂U i ∂u ∂U i ∂P ∂Tij − ρ uj i + + Uj ρ =− ∂x j ∂x j ∂xi ∂x j ∂t (12) L’équation de continuité peut être décomposée de la même manière. La décomposition des termes (10) dans l’équation 4 donne : ∂ (U j + u j ) ∂x j = 0 , et en moyennant : ∂U j ∂x j =0 (13) (14) En soustrayant l’équation (14) à l’équation (13) nous obtenons une équation pour l’écoulement instantané : ∂u j ∂x j =0 (15) De même pour l’écoulement moyen, la forme de l’équation instantanée originale est conservée. La raison est que l’équation de continuité est linéaire. L’équation (15) peut être utilisée pour remplacer le dernier terme de l’équation (12), et en la multipliant par u i et en moyennant : ui ∂u j =0 ∂x j En ajoutant le terme uj (16) u j ∂u i ∂x j nous obtenons : ∂u j ∂u i ∂u + 0 = u j i + ui ∂x j ∂x j ∂x j = ∂ ui u j ∂x j (17) Nous pouvons maintenant réécrire l’équation (12) comme suit : ∂U i ρ ∂t +U j ∂U i ∂ ∂P Tij(v ) − ρ u i u j + =− ∂xi ∂x j ∂x j [ ] (18) Si nous regardons l’expression entre les crochets du second membre de la dernière équation, nous remarquons que les deux termes n’ont pas la même unité. Le premier terme est le tenseur des contraintes visqueuses. Le second terme ne correspond pas à des contraintes mais à une contribution non-linéaire des termes d’accélérations des fluctuations. Il y a un couplage entre les composantes de la vitesse. Le fait de l’écrire de cette façon indique que tant que l’écoulement est concerné, il agit comme s’il était une contrainte. C’est pourquoi on le nomme la contrainte de Reynolds. C’est l’apparition de la contrainte de Reynolds qui fait qu’un problème de turbulence est compliqué à résoudre. Même si nous la considérons comme une contrainte, la physique qui en résulte est très différente de celle de la contrainte visqueuse. Celle-ci est directement Rapport de stage Latourte Basile 18 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ liée aux propriétés du fluide (cf. équation (5) pour un fluide newtonien). Quand nous faisons de telles approximations pour un fluide, nous moyennons et les échelles de longueur et de temps plus petites que celles du fluide qui nous intéresse. Mais ces échelles restent plus grandes que la dimension moléculaire et que l’échelle de temps qui caractérise les interactions moléculaires. Le problème des turbulences est décomposé en trois axes majeurs : • Les équations moyennées ne forment pas un système d’équations fermé. Si nous comptons le nombre d’inconnues dans l’équation 20 et le nombre d’équations à notre disposition, il nous manque 6 équations. • Généralement, le fait de fournir des équations supplémentaires ne fonctionne pas. Et même si nous pouvons les déterminer pour une classe particulière de fluide (par exemple un fluide dans un tuyau), elles ne pourront probablement pas prédire ce qu’il va se passer dans environnement un peu différent (comme un coude). • La création d’abaques pour des manuels de conception comporte de gros risques. Ces abaques sont le dernier ressort pour les ingénieurs qui manquent d’équations ou qui n’ont pas confiance en elles. Même si elles sont créées à partir d’expérience, elles nécessitent des validations pour une application particulière. Les turbulences sont elles-mêmes des fluides, d’où la difficulté de les modéliser. Le problème non-linéaire introduit de nouvelles inconnues, les contraintes de Reynolds. Nous avons donc 6 nouvelles inconnues à déterminer : u12 , u 22 , u 32 , u1u 2 , u1u 3 , et u 2 u 3 . Celles-ci nous permettent de fermer le problème, c'est-à-dire obtenir autant d’équations que d’inconnues. Pour un fluide newtonien la fermeture par les contraintes de Reynolds, conduit généralement à un modèle de viscosité « turbulente » ou « tourbillonnante », définit par 1 − ρ u i u j = µ t S ij − S kk δ ij 3 (19) Où µ t représente la viscosité « turbulente » et S ij est le tenseur des taux de déformations définit par : S ij = 1 ∂U i ∂U j + 2 ∂x j ∂xi (20) Nous allons maintenant d’approcher le problème non-linéaire en dérivant les équations dynamiques des contraintes de Reynolds à partir des équations qui gouverne les fluctuations. Une telle approche entraîne que les contraintes de Reynolds sont une fonctionnelle de la vitesse. La contrainte en un point dépend de la vitesse en tout point et du temps, et non pas juste de ce point à cet instant précis. L’analyse débute avec l’équation des vitesses instantanées des fluctuations. Nous l’écrivons pour un fluide newtonien avec une viscosité constante : (v ) ∂ui ∂ui ∂U i ∂u ∂ui ∂p ∂τ ij + − uj i − ρ u j ρ +U j = − ρ u j ∂x j ∂x j ∂xi ∂x j ∂x j ∂t ∂x j Rapport de stage Latourte Basile (21) 19 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Après quelques manipulations nous pouvons réécrire l’équation (21) comme suit : ∂ ui u k + ∂t Uj {[ p ∂u i ∂u i ∂ ui u k = − + ∂x j ρ ∂x k ∂x k [ ∂ − pu k δ ij + pu i δ kj − u i u k u j + 2ν S ij u k + S ij u k ∂x j + ] ]} (22) ∂U k ∂U i + uk u j ui u j ∂x j ∂x k ∂u ∂u 2ν S ij k + S kj i ∂x j ∂x j − − Nous appelons cette équation, l’équation de la contrainte de Reynolds, sur laquelle est basée les modélisations des efforts de turbulence. Avec cette équation, nous avons maintenant un système isostatique. Les termes de la partie droite sont désignés respectivement : • Taux de déformation de la pression • Transport de la turbulence • « production » • « dissipation » Le solveur de FLUENT utilise la méthode des volumes finis pour résoudre ce système d’équations. Cette méthode intègre, sur des volumes élémentaires de forme simple, les équations écrites sous forme de loi de conservation. Elle fournit ainsi de manière naturelle des approximations discrètes conservatrices et est donc particulièrement bien adaptée aux équations de la mécanique des fluides. Sa mise en œuvre est simple si les volumes élémentaires sont des rectangles (ou des parallélépipèdes rectangles en dimension 3). Cependant la méthode des volumes finis permet d’utiliser des volumes élémentaires de formes quelconques, et de traiter des géométries complexes. Il existe un grand nombre de techniques de type volumes finis qui se distinguent par : − La situation des inconnues : aux nœuds du maillage ou au centre des mailles − La forme des volumes de contrôle : carrés, quadrilatère quelconques, polygones quelconques, réunions de triangles… − Le choix des formules de calcul approché des flux et en particulier leur ordre de précision Pour illustrer la méthode, nous considérons le problème de Dirichlet ( −u '' ( x ) = f ( x ) ), à partir d’un maillage en volumes finis, où nous prenons les inconnues au centre xi des volumes de contrôles qui sont dans ce cas monodimensionnel, les segments xi −1 2 , xi +1 2 . − u '' ( x ) = f ( x ) ⇔ −∫ xi+1 2 xi−1 2 − (u ' ( x )) ' = f ( x ) ( u ' ( x ) ) ' dx = u ' ( x ) − u ' ( x ) = ∫ Rapport de stage Latourte Basile i −1 2 i +1 2 xi+1 2 xi−1 2 f ( x ) dx (23) 20 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Si nous approchons les dérivées selon : ( ) u ' xi +1 2 = u ( xi + h ) − u ( xi ) et h ( ) u ' xi −1 2 = u ( xi ) − u ( xi − h ) h (24) (25) Dans le cas particulier où les points xi sont régulièrement espacés d’un pas h uniforme, nous retrouvons la discrétisation centrée classique de la dérivée seconde : u ' ' (x ) = d 2u (xi ) ≈ u i +1 − 2u2i + u i −1 2 dx h (26) L’intérêt de cette technique de volumes finis n’apparaît que dans les applications aux problèmes de dimension 2 et 3. Nous considérons maintenant un problème 2D avec l’équation de convection et le maillage suivant : ∂u + div ( F ( u ) ) = Q ∂t (27) Figure 8 : Méthode des Volumes Finis, maillage 2D En intégrant l’équation dans le volume de contrôle ABCD, nous obtenons : mes ( ABCD ) L’intégrale ∫ ABCD duij dt +∫ ABCD F ( u ) ⋅ n ds = mes ( ABCD ) Qij (28) F ( u ) ⋅ nds représente la somme des flux sortants de F à travers les faces AB, BC, CD et DA. Les flux doivent être calculés par des formules indépendantes de la cellule, afin d’assurer la conservation globale. En particulier, le flux sortant du volume élémentaire Ωi , j à travers la face AB doit être équilibré par celui sortant de Ωi , j −1 à travers la même face AB. Rapport de stage Latourte Basile 21 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Dans le cas d’inconnues au centre des mailles on a les choix suivants : • • • • 1 Fi , j + Fi , j −1 avec Fi , j = F ( ui , j ) 2 ui , j + ui , j −1 FAB = F 2 1 FAB = 2 [ FA + FB ] 1 avec FA = F ( ui , j ) + F ( ui −1, j ) + F ( ui , j −1 ) + F ( ui −1, j −1 ) 4 1 et FB = 4 F ( ui , j ) + F ( ui +1, j ) + F ( ui , j −1 ) + F ( ui +1, j −1 ) FAB = 1 [ FA + FB ] 2 ui , j + ui −1, j + ui , j −1 + ui −1, j −1 avec FA = F 4 +u +u u +u et FB = F i , j i +1, j i , j −1 i +1, j −1 4 FAB = Rapport de stage Latourte Basile (29) (30) (31) (32) 22 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 3. Réalisation de macro en Visual Basic Afin d’arriver à mes objectifs, j’étais libre de choisir la méthode à utiliser. J’ai donc effectué des recherches afin de savoir quelles sont les possibilités d’automatisation pour les différents logiciels que je dois utiliser pour réaliser les maillages volumiques. En contactant le support d’ANSYS, j’ai pu discuter de l’automatisation de ses produits (GAMBIT, TGRID et FLUENT). Des scripts ou des fichiers « journaux » peuvent être utilisés. Ce sont des fichiers textes dans lesquels sont saisis, ligne par ligne, les différentes commandes à réaliser. Nous pouvons également compiler un programme écrit en C directement dans FLUENT. Quant à CATIA, j’ai pu trouver, dans l’aide du logiciel, qu’il est possible d’écrire des macros, en Visual Basic, afin d’automatiser toutes les opérations répétitives. Il est également possible d’exporter directement certaines valeurs dans une table de conception, qui est un fichier Excel. Mais dans ce cas, il faut faire très attention car il existe un lien entre ce tableau et le modèle CATIA. Si une valeur change dans cette table de conception, le modèle CAO se retrouve modifié. Avec ces informations recueillies et compte tenu dans langages de programmation à ma disposition (Visual Basic for Application, C et FORTRAN), j’ai réalisé un tableau comparatif sur les possibilités que m’offre ces différents langages. Visual Basic C FORTRAN Contrôle de CATIA oui non non Contrôle d’EXCEL oui non non Contrôle de GAMBIT non non non Contrôle de TGRID non non non Contrôle de FLUENT non oui non Lire fichier .txt oui oui oui écrire fichier .txt oui oui oui Performance Convivialité : fenêtre graphique + +++ +++ +++ + + Figure 9 : tableau comparatif langage de programmation J’ai donc choisi d’utiliser Visual Basic qui me permettra de faire le lien entre CATIA et EXCEL, d’écrire les scripts nécessaires pour la préparation du calcul et du post-traitement ainsi que l’exploitation des résultats. Nous avons décidé de réaliser deux macros en Visual Basic, indépendantes. Une première qui va créer un fichier Excel avec toutes les valeurs nécessaires pour les différentes étapes que nous souhaitons optimiser. Une seconde macro écrira les scripts à partir de ce fichier. Celle-ci sera également charger de traiter le posttraitement. Le choix a également été fait en fonction de la convivialité. Nous avons voulu rendre l’interface agréable, avec de nombreuses possibilités, options. Une organisation sous la forme d’onglets était préférable pour bien séparer les différentes étapes. Comme nous pouvons le voir sur le tableau ci-dessus, le langage Visual Basic est le mieux adapté pour répondre à ces critères. Rapport de stage Latourte Basile 23 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Nous en sommes donc arrivés à un schéma de fonctionnement tel qu’il est présenté cidessous. Fichier paramétrique CATIA Macro CATIA Paramètres cinématiques Modèles géométriques Nettoyage des modèles & maillages surfaciques Macro EXCEL: edition des scripts Script FLUENT Scripts TGRID FLUENT Fichiers résultats Maillages Macro EXCEL: post-traitement Résultats Rapport de stage Latourte Basile 24 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 3.1. Introduction au langage Visual Basic et VBA Microsoft Visual Basic est un outil développé par Microsoft pour développer facilement des applications fonctionnant sous Microsoft Windows. Comme son nom l’indique, ce langage permet de créer des fenêtres graphiques Windows (GUI : Graphical User Interface) en disposant des objets tels que des boutons, champs de texte, menus déroulants, boutons d’options et autres. Nous associons à chaque objet un code d’instruction, en BASIC, qui réalisera certaines tâches lorsque nous cliquons avec la souris sur des boutons (événement). Microsoft Visual Basic est un programme qui possède tous les outils nécessaire à la création d’applications indépendantes. Visual Basic pour Applications, ou VBA, est un langage de programmation, qui permet d'automatiser des tâches et de créer des applications complètes qui tirent profit de l'environnement de Windows. VBA est le langage de programmation de Microsoft Visual Basic et des applications Microsoft Office. Ces applications sont appelées hôtes et contiennent un environnement de programmation commun, Visual Basic Editeur. Les programmes écrits en VBA sont attachés à un document spécifique de l'application hôte, nous ne pouvons donc pas créer d’applications autonomes. L'écriture de programmes VBA, appelés procédures ou macros, est en outre la solution la plus économique pour automatiser des tâches. Figure 10 : Visual basic Editeur 3.2. La macro CATIA Nous avons donc écrit une macro pour CATIA qui effectue différentes opérations, l’export des modèles géométriques et de paramètres cinématiques des systèmes d’essuieglace, pour la réalisation des maillages, ainsi que l’export des paramètres des systèmes d’axes locaux, pour le post-traitement. Lorsque nous lançons la macro, une première fenêtre s’affiche, et il doit choisir ce qu’il veut exporter comme système d’essuie-glace. Trois choix s’offrent alors à nous : l’export du système du côté conducteur, du côté passager ou bien les deux. Rapport de stage Latourte Basile 25 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 3.2.1. Organigramme de la macro Choix du type d'export Renseignement utilisateur Lecture des angles Nb angles = i Enreg. Paramètres cinématiques ? Export modèles géométriques à PP ? NON NON Export modèles géométriques ? Export NON modèles géométriques ? NON NON OUI OUI OUI OUI j=1 Syst. à la position de repos (PP) ? OUI Syst. à la position de repos (PP) ? NON Déplacement WS PP OUI OUI NON Déplacement WS PP Syst. à la bonne Position α ? NON Exports modèles FIN Exports modèles Direction dans le bon sens ? OUI NON Inversion sens Enreg. Paramètres cinématiques ? OUI Calcul angle à PP arm_head/arm Enreg. Paramètres post-traitement ? OUI Enreg. valeurs repères locaux 26 ED-WS/EAB4 NON Enreg. Dir. et Orig. Axe arm/arm_ head Calcul angle Arm/arm_head Enreg. valeurs Rapport de stage Latourte Basile Ecriture des valeurs dans EXCEL Déplacement WS α OUI Enreg. direction et origine axe WS j ≠i NON Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 3.2.2. La préparation du fichier CATIA Avant d’exécuter la macro, il faut préparer le fichier CATIA qui servira de source à l’exportation. Afin d’automatiser l’exportation, il nous a fallu créer un fichier où nous pouvons déplacer les systèmes d’essuie-glace paramétriquement. C’est-à-dire que nous choisissons la position du système d’essuie-glace côté conducteur, en indiquant l’angle souhaité, et les deux systèmes se déplacent. Cet angle est le paramètre que nous pouvons changer et qui est utilisé par les formules créées pour chaque système d’essuie-glace. Les raclettes se déforment afin de respecter la courbure du pare-brise, et le bras se positionne correctement grâce aux liaisons pivot qui le relie à l’avant bras et à la raclette. Figure 11 : assemblage paramétrique Nous avons également choisi, avec mon tuteur, des noms particuliers à respecter pour chaque pièce de l’essuie-glace. En effet la macro, va rechercher ces noms pour l’exportation, et il suffit d’une petite différence comme une majuscule pour que l’opération échoue. Dans Catia il existe une hiérarchie lors de la conception d’un produit. Nous avons tout d’abord le «Part » qui est l’objet que nous voulons concevoir. Cet objet est constitué, lors de sa création de « geometrical set » et de « body », qui correspondent respectivement à des esquisses comme des ensembles de plans, axes, courbes, et à des pièces, qui sont pour nous, les différents constituants du wiper system. Ce sont les désignations de ces « body » que la macro va rechercher pour les exports des différents modèles géométriques. Certaines modifications géométriques ont été également nécessaires afin de pouvoir obtenir un maillage de qualité (skewness maxi : 0,5). Nous avons du retravailler la manière dont était dessinée la liaison arm/arm_head. Nous pouvons observer sur l’image ci-dessous une zone où les éléments triangulaires seraient très aplatis. Pour remédier à cela, nous avons coupé les deux pièces et créé un nouveau « body » qui se déforme lorsqu’on bouge les systèmes d’essuie-glace. Les pièces qu’il reconnecte ensemble sont donc indéformables quelque soit la position du système. Cette caractéristique est très importante car elle nous permet d’exporter et de mailler qu’une seule et unique fois ces pièces. Nous pourrons, comme mes objectifs l’indiquent, changer ou apporter des modifications géométriques au bras très facilement dans le maillage final. Figure 12 : modification liaison arm/arm_head Rapport de stage Latourte Basile 27 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 3.2.3. L’export des modèles géométriques Comme nous l’avons déjà dit, lorsque nous exécutons la macro, nous avons à choisir entre trois types d’exportations. La fenêtre ci-dessous nous permet de sélectionner l’option d’exportation. Les modèles géométriques nécessaires à un calcul avec les deux wiper systems seront exportés si nous choisissons l’export des côtés conducteur et passager. C’est le cas le plus fréquent étant donné qu’il y a une interaction des écoulements d’air d’un système sur l’autre. Quant aux deux autres options, qu’un seul des deux systèmes d’essuieglace sera exporté. Figure 13 : fenêtre "choix d'exportation" Pour exporter les différents modèles manuellement il suffit de cacher les parties que nous ne souhaitons pas exporter puis enregistrer avec le format de fichier « .model ». CATIA crée un fichier dans lequel nous avons que la géométrie et aucune modification n’est possible dans ce type de fichier. La macro va donc cacher et afficher automatiquement les pièces du système qui nous intéressent et exporter les modèles géométriques. Le bras côté conducteur et côté passager ainsi que les arm_head sont exportés une seule fois à la position de repos, car ils ne se déforment pas lors du mouvement des essuieglaces. Nous pourrons donc les mettre en place lors de l’assemblage des maillages. D’un autre côté, le pare-brise avec les raclettes, et les deux connecteurs (cf. Figure 12) se déforment lors de la rotation des essuie-glaces, nous devons donc les exporter pour chaque angle où un calcul est réalisé. Soit un total de trois exportations par angle et de quatre exportations à la position de repos. Une fois le type d’exportation choisi, une nouvelle fenêtre s’affiche avec trois ou quatre onglets suivant l’option sélectionnée. Dans l’onglet « Angle selection », différents boutons ont été créé permettant à l’utilisateur de renseigner ou de supprimer les différents angles de calcul. L’angle de 0° correspond à la position de repos, et il n’est pas obligatoire de le renseigner, si le calcul à la position de repos n’est pas souhaité. La macro exportera quand même les pièces qui ne se déforment pas à cette position. Figure 14 : choix des angles Rapport de stage Latourte Basile 28 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 3.2.4. Les paramètres géométriques Pour pouvoir déplacer et reconnecter correctement les maillages des bras et l’arm_head qui ne sont exportés uniquement à la position de repos, il faut pouvoir exporter certaines valeurs que nous devons ensuite renseigner à TGRID. Nous avons besoin de connaître le vecteur directeur de l’axe de rotation ainsi que les coordonnées d’un point de cet axe. Bien sûr l’angle de rotation est également à renseigner. Dans notre cas, nous avons un axe qui est toujours le même, celui autour duquel tourne tout le système d’essuie-glace, et un axe qui change à chaque position, celui de la liaison pivot entre le bras et l’avant-bras. En recherchant dans l’aide de CATIA, nous avons trouvé deux fonctions qui nous conviennent : GetDirection et GetOrigin. A la sortie de la première, nous obtenons un vecteur unitaire et directeur de la droite choisie comme entrée. Pour la seconde, nous avons à la sortie les coordonnées d’un point de la droite sélectionnée en entrée, sous la forme d’un vecteur. Nous avons donc programmé une boucle for, sur les angles de calcul, dans la macro afin d’enregistrer les différents vecteurs. La macro va ensuite remplir une matrice dans laquelle toutes les coordonnées seront sauvegardées suivant les différentes positions de calcul. Figure 15 : selection des paramètres géométriques Pour les deux axes de rotation est associé un angle que nous devons renseigner. Nous en connaissons un, vu que c’est l’utilisateur qui le définit, l’angle de rotation du système total. Le second, autour de l’axe de la liaison pivot arm/arm_head dépend de la position du système. Pour le connaitre, l’angle à la position de repos doit être mesuré puis celui à la position de calcul. La différence entre ces deux mesures donne l’angle de rotation. Nous avons créé deux droites, l’une appartient à l’avant-bras et l’autre au bras, permettant de mesurer un angle entre ces deux pièces (cf. Figure 16, en rouge). En utilisant la fonction GetDirection et la formule du produit scalaire nous pouvons calculer l’angle pour chaque position. Ces droites ont été volontairement placé proches de l’orthogonalité pour être sûr d’avoir un angle fiable. En effet, lorsque nous passons d’un angle inférieur à 180° à un angle supérieur, la mesure de l’angle dans CATIA peut poser des problèmes. Au passage de cet angle, le logiciel ne sait plus de quel côté prendre la mesure (cf. Figure 17). Figure 16 : mesure angle arm/arm_head Rapport de stage Latourte Basile 29 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Figure 17 : problème mesure d’angle Afin de renseigner les droites à la macro, nous avons prévu de créer un ou deux onglets à la fenêtre suivant le type d’exportation choisi. Nous devons sélectionner les quatre droites par système d’essuie-glace. Pour cela, nous cliquons sur le bouton « Select », le fichier CATIA est à nouveau disponible pour effectuer la sélection. Un filtre qui empêche de sélectionner une autre entité qu’une droite, a été programmé, ce qui facilite l’opération. Une fois la droite sélectionnée, son nom est affiché dans la textbox correspondante, ceci permet d’effectuer une vérification. En cas d’erreur, la sélection peut être effacée en cliquant sur le bouton « Reset ». 3.2.5. Les options de sorties Figure 18 : fenêtre option de sortie Les différentes options pour la macro sont renseignées dans le dernier onglet. Différentes CheckBox peuvent être activées. Ainsi les opérations d’export du bras et de l’arm_head à la position de repos, l’export du pare-brise avec les balais et du connecteur par position, la création du fichier Excel avec les paramètres cinématiques et/ou les paramètres géométriques sont des opérations indépendantes dans la macro. Le dossier où les différents fichiers seront sauvegardés est à indiquer à l’aide du bouton « Browse », qui ouvre un explorateur de dossier. Nous avons également laissé le choix de sélectionner ou non un autre dossier pour le fichier Excel de paramètres. Le nom de la voiture est indispensable. Il nous permet de nommer le fichier Excel. Rapport de stage Latourte Basile 30 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 3.2.6. Le post-traitement Si nous choisissons l’option de post-traitement, la fenêtre ci-dessous s’affiche, et les différents systèmes d’axes qui nous intéressent doivent être sélectionnés. De la même manière que pour la sélection des paramètres géométriques, un filtre qui ne permet de choisir que des repères a été programmé. Figure 19 : fenêtre Post-traitement Pour le post-traitement, trois repères locaux sont nécessaires par système d’essuieglace, pour déterminer les efforts aérodynamiques : un au niveau de la connexion entre le balai et le bras, un au niveau de la liaison pivot arm/arm_head, et un dernier au niveau de l’axe de rotation du système total. Ces repères sont créés dans le modèle CATIA. (Ci-dessous en rouge) {R3} {R2} {R1} Figure 20 : moments aérodynamiques et effort de portance Les résultats que nous avons du calcul de FLUENT sont les composantes du moment aérodynamique dû au bras, exprimées en un point de l’axe de la liaison pivot bras/avant-bras, et les composantes du moment dû au système complet, exprimées en un point de l’axe de rotation du système. Ces composantes sont exprimées dans le repère global. L’objectif est d’exprimer ces moments dans leur repère local correspondant. Nous devons ensuite connaître l’effort aérodynamique dû au premier moment (effort de portance), au niveau de la connexion entre le bras et le balai. Cet effort doit être exprimé dans le repère local ({R3}) de la connexion bras/balai, qui n’est pas le même que celui de la liaison avant-bras/bras ({R2}), car le bras est vrillé. C’est important de connaître cet effort car le système doit pouvoir « tolérer » celui-ci afin que le balai ne décolle pas du pare-brise. Rapport de stage Latourte Basile 31 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 3.3. La macro Excel Cette macro a pour objectifs d’écrire les fichiers « journaux » et de traiter les résultats du calcul numérique. Pour TGRID, cette macro édite deux fichiers : mise en position des différents maillages, et création du maillage volumique, et pour FLUENT un seul fichier : exportation des résultats dans un fichier texte. 3.3.1. Organigramme Lecture des différents angles Edition des scripts Choix de l’opération à effectuer Posttraitement Renseignement utilisateur Lecture fichier & sauvegarde moments Enregistrement valeur axes WS Création fichier(s) mise en position ? Transfert du moment aéro. au niveau de l’axe WS dans son repère local oui Enregistrement valeurs axes bras/avant-bras pour chaque angle Création des fichiers pour chaque angle non Création fichier maillage ? non Transfert du moment aéro. au niveau de l’axe bras/avant-bras dans son repère local Calcul de l’effort aéro. au niveau de la connexion bras/balai Ecriture des résultats dans le fichier Excel oui Création du fichier non Création Fichier(s) post-traitement ? Choix du dossier de stockage des fichiers résultats Fichiers Résultats Non traité(s) oui Enregistrement valeurs axes bras/avant-bras pour chaque angle Création des fichiers pour chaque angle oui non Réalisation des courbes représentant les efforts par position FIN Rapport de stage Latourte Basile 32 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 3.3.2. Edition des scripts ou fichiers « Journaux » A l’exécution de la macro, nous devons tout d’abord choisir entre l’édition des scripts, ou le traitement des résultats du calcul. Pour cela, une première fenêtre, comme pour la macro CATIA, a été créé. Figure 21 : fenêtre choix exécution En choisissant l’édition des scripts, un certain nombre d’informations que la macro a besoin pour écrire les fichiers textes et qui ne se trouvent pas dans le fichier Excel doivent être renseignées. Ces informations sont les angles pour lesquels nous avons réalisé l’exportation des données, les maillages surfaciques, le dossier où sera enregistrés les fichiers, les paramètres pour le maillage volumique. Pour cela, nous avons créé une nouvelle fenêtre avec quatre onglets qui permettent de saisir ces données. (Cf. Figure 22 à Figure 25) Figure 22 : sélection angles Figure 23 : sélection maillages Le premier onglet permet de choisir les angles pour lesquels nous voulons éditer les scripts. La macro, avant d’afficher la fenêtre lit automatiquement le fichier Excel et recherche les angles qui sont disponibles et les écrits dans une ListBox. A l’aide de boutons, nous pouvons les transférer dans la ListBox des angles sélectionnés. L’opération inverse est également possible, c'est-à-dire de les transférer de la liste des angles sélectionnés vers la liste des angles disponibles. Nous ne sommes pas obligés de sélectionner tous les angles pour lesquels les modèles géométriques ont été exportés. Le second onglet permet d’indiquer l’emplacement des maillages surfaciques. Dans un premier temps, le chemin d’un dossier doit être renseigné à l’aide du bouton « Browse », qui ouvre un explorateur de dossier. Dans un deuxième temps, la macro lit l’ensemble des fichiers se trouvant dans ce dossier, que ce soit des fichiers de maillage ou non. Enfin nous transférons les fichiers désirés avec les boutons « Add » ou « Remove ». Si tous les maillages se trouvent dans un dossier unique, le bouton « Add all » permet de transférer la totalité des Rapport de stage Latourte Basile 33 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ fichiers. Cette méthode, permet également d’aller chercher les maillages dans différents dossiers. Les paramètres pour le maillage volumique, et la discrétisation de la couche limite sont saisis à partir du troisième onglet. Nous le présentons ici dans son état actuel, mais nous y allons apporter certaines modifications. En effet, nous n’avons pas encore inséré les paramètres pour le maillage volumique, qui vont être le type et le volume maximum des éléments. Selon la documentation TGRID, ce dernier paramètre est calculé à partir du plus grand élément du maillage surfacique par la formule suivante : Vmax = (taille de la plus grande maille )3 5 (33) Dans TGRID, il existe plusieurs manières pour créer les couches limites. Nous avons donc fait en sorte que toutes ces options soit possibles dans la macro. Suivant le type de discrétisation choisi, cela active ou non certaines TextBox, dans lesquels nous devons saisir les valeurs. L’exemple donné ci-dessus, est présenté à titre d’exemple et les valeurs ne sont pas celles que nous utilisons pour faire le calcul. Figure 24 : paramètres couche limite Figure 25 : options de sortie des scripts Finalement, le dernier onglet est celui des paramètres de la macro elle-même. Il permet de renseigner quel script est à éditer et le dossier où nous voulons les enregistrer, sachant qu’il est possible d’éditer les trois fichiers en même temps. De la même manière que pour les autres onglets ou macro, un bouton « Browse » permet de sélectionner le dossier. Nous avons également créé l’option « Convert to Unix file » car TGRID peut être utilisé à partir des deux systèmes d’exploitations, Windows ou Linux. La macro est utilisée à partir de Microsoft Excel, qui est un programme Windows. Si nous voulons utiliser TGRID à partir de Linux, quelques changements sur les chaînes de caractères désignant les chemins d’accès aux maillages sont nécessaires. Comme pour l’onglet de sélection des angles, la macro va chercher dans le fichier Excel, le nom de la voiture, avant l’affichage de la fenêtre, et l’inscrire dans la TextBox prévu à cet effet. Le nom est ici masqué pour une raison de confidentialité. Les scripts sont écrits par la macro Excel, pour chaque angle sélectionné. Le script du maillage volumique est édité qu’une seule fois. En effet, les valeurs des paramètres ne dépendent pas de l’angle de position des systèmes d’essuie-glace. Une pause doit être effectuée entre la mise en position et le maillage volumique. En effet, avant de réaliser le maillage, la qualité du maillage surfacique doit être vérifiée et apporter quelques modifications pour l’améliorer. Nous verrons dans le chapitre 4.1 que l’amélioration automatique du maillage Rapport de stage Latourte Basile 34 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ n’est souvent pas suffisante et que cette amélioration nécessite des décisions que seules l’utilisateur peut prendre. 3.3.3. Le Post-traitement Les résultats des calculs numériques sont traités dans cette partie de la macro. Comme nous l’avons déjà expliqué, les valeurs que nous obtenons, sont exprimées dans le repère global du modèle. Afin de pouvoir exploiter ces résultats nous devons les exprimer dans les repères locaux. Les angles d’Euler et les matrices de passage ont été utilisés pour programmer cette partie de la macro. Il existe trois angles d’Euler, l’angle de précession Ψ, l’angle de nutation θ et l’angle de rotation propre φ. La chaîne des rotations logiques est la suivante : 1. Rglobal = (XYZ) est transformé en (uvZ) par la rotation d’angle Ψ autour de Z 2. (uvZ) est transformé en (uwz) par la rotation d’angle θ autour de u 3. (uwz) est transformé en Rlocal = (xyz) par la rotation d’angle φ autour de z Figure 26 : angles d'Euler En suivant cet ordre et en calculant les projections, nous obtenons la matrice de passage du repère (X,Y,Z) au repère (x,y,z) suivante : cos ϕ cosψ − sin ϕ cos θ sinψ − sin ϕ cosψ − cos ϕ cos θ sinψ [P] = cos ϕ sinψ + sin ϕ cos θ cosψ − sin ϕ sinψ + cos ϕ cosθ cosψ sin ϕ sin θ cos ϕ sin θ x X y = [P ] ⋅ Y z Z Rapport de stage Latourte Basile sin θ sinψ − sin θ cosψ cos θ (34) 35 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Dans notre cas, nous ne connaissons pas les valeurs des angles de rotation et nous ne pouvons pas les mesurer avec notre fichier CATIA. Mais grâce aux fonctions VBA pour CATIA GetXAxis, GetYAxis, GetZAxis, les composantes du vecteur directeur d’un axe du repère local dans le repère global peuvent être récupérées. Nous pouvons donc écrire la matrice de passage avec ces composantes, ce qui donne la matrice suivante : Xx Xy Xz [P] = Yx Yy Yz (35) Zx Zy Zz avec Xx la composante de l’axe x du repère local suivant l’axe X du repère global Les trois matrices nécessaires par système d’essuie-glace seront écrites pour le posttraitement. Nous nommerons ces matrices [P1], [P2], [P3] pour le système côté conducteur et [P4], [P5] et [P6] pour le côté passager. [P1] étant la matrice de passage entre le repère global et le repère local {R1} lié à l’axe de rotation du système, [P2] la matrice de passage pour le repère local {R2} lié à l’axe de rotation entre le bras et l’avant-bras, et [P3] la matrice de passage pour le repère local {R3} lié à la connexion entre le bras et le balai. L’ordre reste le même pour les matrices du côté passager. Un problème survient lors du calcul de l’effort aérodynamique au niveau de la connexion bras/balai. Il est calculé à partir du moment aérodynamique du bras au niveau de la liaison pivot arm/arm-head, il est donc initialement exprimé dans {R2}. Nous ne pouvons pas écrire, facilement et automatiquement, de matrice de passage entre {R2} et {R3}. En effet, nous ne connaissons pas les angles de rotations. Nous devons donc repasser par le repère global et calculer la matrice inverse [P2]-1, puis exprimer l’effort dans le repère local {R3}. Nous avons donc la matrice suivante à déterminer : [P2]-1[P3]. En Visual Basic, la matrice inverse ne peut pas être calculée directement, car le langage accepte seulement les opérateurs mathématiques de base comme addition, multiplication, division. Nous avons dû créer une fonction qui permet d’inverser une matrice par la méthode du pivot de Gauss. Après essais et validation, en comparant les résultats obtenus avec cette fonction et ceux de Matlab, nous l’avons intégré au code. {R3} Bras de levier {R2} {R1} Figure 27 : bras de levier Pour calculer la force aérodynamique, nous avons besoin de la distance orthogonale, ou bras de levier (cf. figure ci-dessus). La fonction GetOrigin, permet de récupérer les coordonnées de l’origine d’un repère. La distance orthogonale entre ces deux repères est ensuite calculée, puis l’effort aérodynamique au niveau de la connexion bras/balai exprimé dans le repère {R2}. Dans le précédent paragraphe, nous avons vu comment exprimer cet effort dans son repère local. Rapport de stage Latourte Basile 36 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ La macro lit tous les fichiers résultats de FLUENT contenu dans le dossier indiqué, et réaliser le posttraitement. Les résultats seront écrits dans une nouvelle feuille d’Excel. Cela permettra d’avoir, en quelques clics, une vision sur la position la plus critique, et de prendre des décisions quant à la conception des systèmes d’essuieglace. Figure 28 : fenêtre post-traitement Rapport de stage Latourte Basile 37 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 4. Description des scripts Dans cette partie du rapport, nous nous intéresserons aux différents scripts que les macros éditent. Les différents logiciels provenant d’ANSYS, peuvent être commandés soit par l’interface graphique en utilisant la barre de menus, soit par l’interface textuelle en saisissant avec le clavier les différentes commandes (Figure 29). L’organisation des commandes textuelles et des menus diffère parfois, c'est-à-dire que le chemin d’accès n’est pas toujours le même. Ne trouvant pas certaines commandes, je me suis adressé au support d’ANSYS, qui m’a fourni un document recensant toutes les commandes textuelles et leurs emplacements. Interface graphique Exemple d’ouverture de maillage avec l’interface textuelle Figure 29 : différentes interface TGRID 4.1. La mise en position des maillages Ce script TGRID met en position les différents maillages surfaciques créés avec GAMBIT. La macro Excel édite un script pour chaque angle pour lequel nous souhaitons réaliser un calcul. Nous n’avons pas pu créer un script unique, pour assembler les différents maillages à chaque angle, car comme je l’ai dis au chapitre 3.3.2, nous devons marquer une pause dans le processus de création de maillage afin de vérifier et au besoin améliorer la qualité du maillage surfacique. La première action que ce script réalise est l’ouverture des différents maillages surfaciques, pour un angle donné, et indiqué dans la macro. Il va ensuite effectuer les rotations des maillages devant être mis en place. Pour chaque système d’essuie-glace, deux rotations sont à effectuer. La première est la rotation de l’ensemble avant-bras et bras autour de l’axe de rotation du mécanisme. La seconde est la rotation du bras autour de l’axe de la liaison pivot avant-bras/bras. Nous avons maintenant orienté tous les maillages pour un angle donné, mais ils ne sont pas connectés les uns aux autres. Figure 30 : reconnexion maillages Rapport de stage Latourte Basile 38 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ L’étape suivante, qui se déroule en deux temps, consiste donc à reconnecter les différents maillages et à supprimer les éléments qui sont en trop. Lorsque nous intersectons deux maillages, chacun se retrouve coupé en deux. TGRID renomme automatiquement les deux parties, une garde son nom d’origine et l’autre est nommée de la manière suivante : nom_d’origine:## où ## représente un chiffre aléatoire. En faisant des essais, j’ai trouvé que les commandes textuelles acceptent le caractère étoile qui remplace un ou plusieurs caractères. Il faut donc connaître exactement quel maillage il faut supprimer. J’ai réalisé quelques tests afin de savoir quelle partie garde le nom d’origine : c’est la partie qui possède le plus grand nombre d’éléments. A partir de ce test, j’ai pu être sûr que l’automatisation était fiable, en imposant des modifications géométriques au modèle CATIA. Arm_head Arm_head screen screen Figure 31 : intersection et dégradation des maillages La reconnexion des maillages a pour conséquence de dégrader très fortement leur qualité, ce qui entraîne une augmentation du temps nécessaire pour l’amélioration manuelle du maillage. Cette opération est délicate. En effet, dans TGRID, le maillage n’est plus contraint avec la géométrie de la voiture, c’est-dire-que les nœuds ne sont plus liés à une surface. Nous pouvons donc déformer la géométrie au point où elle ne corresponde plus à la géométrie initiale. En collaboration avec le support d’ANSYS, j’ai pu mettre en place une amélioration automatique du maillage en utilisant des outils qui ne changent pas la géométrie. Ce sont les outils, smooth, swap, et improve, qui seront appliqués dans cet ordre. Les graphiques ci-dessous, nous permettent de visualiser l’évolution du skewness du maillage. A partir de ces courbes, j’ai également pu supprimer l’étape d’amélioration manuelle de chaque maillage avant l’exécution du script de mise en position Figure 33 : amélioration maillages automatique sans améliorations manuelles au préalable Figure 32 : amélioration maillages automatique avec améliorations manuelles au préalable Rapport de stage Latourte Basile 39 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 4.2. Le maillage volumique Ce script permet la création du maillage volumique. Comme le nom des différents éléments est fixé par la procédure d’exécution et qu’il ne dépend pas des paramètres cinématiques, nous pouvons l’éditer une seule fois pour les différents angles. Dans un premier temps, ce script TGRID, réalise le maillage de la couche limite, qui est en fait une discrétisation plus fine afin de capter le gradient du champ de vitesse au niveau de la paroi solide de la voiture et du pare-brise. Il y a adhérence du fluide à la paroi solide, la vitesse est donc nulle à la paroi, et augmente très fortement jusqu’à la valeur de l’écoulement au champ lointain. Le logiciel se base sur le maillage surfacique pour créer ces éléments de volume, c’est pourquoi la qualité du maillage surfacique est très importante car elle joue directement sur celle du maillage volumique. Une fois la couche limite définie, le script créé la discrétisation du volume fluide avec des éléments tétraédriques. Une fois le maillage effectué, on vérifie manuellement la qualité du maillage. Si la qualité n’est pas acceptable, on doit retourner à la création du maillage surfacique et l’améliorer. couche limite Figure 34 : couche limite & maillage volumique 4.3. Le post-traitement Ce script est celui que la macro Excel créé lorsque nous choisissons l’option d’édition des fichiers « journaux ». Il est destiné au programme FLUENT, et il est unique, c'est-à-dire que la macro ne créer qu’un seul fichier pour tous les angles sélectionnés. L’objectif est d’écrire pour chaque angle un fichier texte avec les valeurs des moments aérodynamiques au niveau de la liaison pivot avant-bras/bras et au niveau de l’axe de rotation du système d’essuie-glace. Les résultats des calculs aux différentes positions sont enregistrés suivants une désignation très précise, qui reste à définir avec mon tuteur, dans un dossier. Pour chaque angle, la macro commande à FLUENT d’ouvrir le fichier résultat puis d’écrire dans un fichier texte les valeurs qui nous intéressent, et l’enregistrer. Le dossier où le programme enregistre les fichiers, ne peut pas être renseigné par la macro, car il enregistre automatiquement ces fichiers, dans le dossier à partir duquel il a été ouvert. Rapport de stage Latourte Basile 40 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ 5. Conclusions Techniques Afin d’évaluer l’efficacité des macros et des scripts qu’elles éditent, j’ai réalisé une étude sur les différents temps nécessaires (en minutes) pour réaliser les maillages, pour l’ancienne méthode et la nouvelle mise en place. J’ai reporté les temps mesuré dans un fichier Excel puis tracé une courbe pour avoir un meilleur aperçu visuel du gain obtenu. méthode manuelle Export modèles nettoyage complet maillage blade maillage retainer maillage car_in maillage screen maillage PV ss total tps GAMBIT amélioration maillage couche limite maillage volumique ss total tps TGRID TOTAL 3 CATIA export modèle retainer + arm_head connect screen car_in blade ss total tps GAMBIT assemblage & amélioration maillage volumique ss total tps TGRID TOTAL nettoyage & maillage surfacique GAMBIT 90 20 10 45 10 5 180 TGRID TGRID GAMBIT CAT. méthode auto 35 5 5 3 20 5 25 45 40 135 20 5 25 163 45 228 Pour tracer la courbe pour la méthode auto, j’ai créé une fonction qui calcule le temps nécessaire pour réaliser les maillages pour plusieurs positions en fonction des exportations et maillages que nous réalisons qu’une seule fois ou plusieurs fois. J’ai également étudié l’évolution du temps nécessaire à l’exportation des fichiers modèles de CATIA, afin d’être sûr de pouvoir le considérer comme linéaire. Tem ps export m odèles temps de réalisations des maillages volumiques 30 5000 y = 1.1758x + 1.6818 4500 25 Linéaire (Série1) 15 10 Temps (minutes) 4000 Série1 20 3500 3000 Méthode manuelle 2500 méthode auto 2000 1500 1000 500 5 0 0 0 0 5 10 15 20 25 5 10 15 20 25 Nombre de position du WS N o mb r e d e p o si t io n d u W S Nous pouvons constater que le gain de temps est d’environ 50%. Rapport de stage Latourte Basile 41 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Cette méthode permet également d’apporter des modifications géométriques sur les pièces rigides (arm et arm_head) sans devoir remailler toutes les autres pièces. On peut également, par exemple, changer de modèle de bras très facilement. Pour cela, il suffit de modifier le modèle CATIA, d’exporter la nouvelle pièce rigide, et les nouveaux paramètres cinématiques. Comme nous allons refaire les calculs dans les mêmes positions, alors toutes les parties qui se déforment, n’ont pas besoins d’être remaillé. Le premier objectif fixé en début de stage, a été atteint. Le temps que l’ingénieur doit consacrer pour préparer le calcul a été très fortement diminué. Quant à au second objectif, l’automatisation du post-traitement, est en cours de réalisation. Pour l’instant, nous récupérons l’effort de portance automatiquement en quelques minutes pour l’ensemble des angles. Il me reste la répartition de la pression sur la raclette à automatiser. Nous pouvons dire que la tâche est à 60% achevée. Avant la fin de mon stage, il me reste donc à finir l’automatisation du post-traitement, présenter mon travail au personnel de BOSCH, et à écrire en anglais une notice technique d’utilisation de ma macro. Rapport de stage Latourte Basile 42 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Conclusions Comme nous l’avons dit dans l’introduction, les systèmes d’essuyage font l’objet d’études pour améliorer leur qualité. Les constructeurs automobiles sont de plus en plus exigeants vis-à-vis de l’essuyage à haute vitesse afin de respecter les normes concernant la sécurité routière. A ces vitesses, entre 180 et 250 km/h, les effets aérodynamiques de l’air sur les essuie-glaces ne sont plus négligeables. C’est pourquoi des simulations numériques sont réalisées, afin d’évaluer les efforts aérodynamiques qui s’exercent sur le système et qui entraîne une détérioration de la qualité d’essuyage. Ces simulations sont très longues et très coûteuses, en temps et en ressources. Comme le temps de calcul est considéré constant, nous nous sommes intéressés tout au long de cette période de stage aux différentes étapes qui sont nécessaires à la préparation et au post-traitement du calcul. D’autant plus que ce sont les étapes les plus coûteuse car elles nécessitent le temps d’un ingénieur. Nous avons donc cherché à minimiser le temps passé par un ingénieur à préparer et à traiter les résultats d’un calcul. Avec une réduction du temps d’environ 50%, juste pour la préparation du calcul, le travail effectué sera très utile à BOSCH. La société va pouvoir l’utiliser très régulièrement pour les calculs de vertèbres. Etant donné que nous avons vu qu’une raclette est unique, pour presque chaque voiture, qu’elle soit nouvelle ou non, un calcul aérodynamique est effectué et donc également un maillage. Les macros vont pouvoir être utilisées pour des études plus fondamentales sur les phénomènes de mécanique des fluides qui dégrade la qualité d’essuyage. Ces études nécessitent généralement un certains nombres de calcul pour plusieurs positions des essuieglaces, et la réalisation des maillages est une perte de temps considérable. Elles seront susceptibles d’évoluer dans les années à venir avec les nouvelles versions des programmes de CAO ou CFD. En effectuant quelques modifications, une adaptation à différents workflows tel que les calculs par EF sur l’élément en caoutchouc (cf. Figure 2 : composants de l’aérotwin : rubber element) est imaginable. D’un point de vue personnel, ce stage m’a permis d’apprendre la réalisation de macro pour le produit Microsoft et CATIA. Etant donné que dans l’industrie, nous cherchons toujours à gagner du temps en automatisant les opérations, je suis sûr que ces compétences acquises me serviront. J’ai également approfondit mes connaissances en mécanique des fluides et en méthode numérique (CFD). Rapport de stage Latourte Basile 43 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Bibliographie Ouvrages : • • • • • G. Perry, Visual Basic 6, Campus Press, 2005, 850 p., ISBN 2-27440-1795-7 J-M RABILLOUD, VB-VBA : Programmer efficacement Microsoft Excel, 46 p. Olivier Daube, Mécanique des fluides, 2005, 58 p. TGrid 5.0 : Text Command List, ANSYS Inc, 2008, 50p. Text User Interface, FLUENT Inc, 26 mai 2006, 12 p. Site internet : • • • Applications Excel [en ligne], JML85, juin 2003, disponible sur : http://pagespersoorange.fr/jml85/index.html Forum des développeurs [en ligne], disponible sur : http://www.developpez.net/forums/ CFD Online [en ligne], 2008, disponible sur : http://www.cfd-online.com/ Rapport de stage Latourte Basile 44 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Annexe 1 : présentation de Gambit GAMBIT is Fluent’s geometry and mesh generation software. GAMBIT's single interface for geometry creation and meshing brings together most of Fluent's preprocessing technologies in one environment. Advanced tools for journaling let you edit and conveniently replay model building sessions for parametric studies. GAMBIT's combination of CAD interoperability, geometry cleanup, decomposition and meshing tools results in one of the easiest, fastest, and most straightforward preprocessing paths from CAD to quality CFD meshes. As a state-of-the-art preprocessor for engineering analysis, GAMBIT has several geometry and meshing tools in a powerful, flexible, tightly-integrated, and easy-to use interface. GAMBIT can dramatically reduce preprocessing times for many applications. Most models can be built directly within GAMBIT's solid geometry modeler, or imported from any major CAD/CAE system. Using a virtual geometry overlay and advanced cleanup tools, imported geometries are quickly converted into suitable flow domains. A comprehensive set of highly automated and size function driven meshing tools ensures that the best mesh can be generated, whether structured, multiblock, unstructured, or hybrid. GAMBIT's range of CAD readers allow you to bring in any geometry, error free, into its meshing environment. GAMBIT also has an excellent boundary layer mesher for growing optimum grid cells off wall surfaces in your geometries for fluid flow simulation purposes. Pour plus d’informations : http://www.fluent.com/software/gambit/preprocessing_wp.pdf Rapport de stage Latourte Basile 45 ED-WS/EAB4 Automatisation d’un procédé de maillage volumique pour calcul aérodynamique ____________________________________________________________________________ Annexe 2 : présentation de TGrid TGrid: Unstructured Surface Wrapping and Volume Mesh Generation TGrid is a specialized preprocessor used to create unstructured tetrahedral and HexCore meshes for complex and very large surface meshes. TGrid offers advanced prism layer creation tools including collision detection and sharp corner handling. TGrid is also equipped with an advanced wrapping procedure that produces a high quality, size function driven connected triangular surface mesh from a large set of unconnected faceted surfaces. TGrid's robust, automated algorithms save preprocessing time and generate high-quality meshes for CFD analysis in FLUENT. Surface and volume meshes may be imported into TGrid from GAMBIT, ANSYS, CATIA, I-DEAS, NASTRAN, PATRAN, Pro/ENGINEER, Hypermesh, and more. Extensive tools are included in TGrid for improving imported surface mesh quality and for rapidly assembling meshes from multiple parts. TGrid's convenient mesh quality diagnostic tools allow for easy verification of mesh size and quality. Pour plus d’informations : http://www.fluent.com/software/tgrid/tgrid5_specs.pdf Rapport de stage Latourte Basile 46 ED-WS/EAB4