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

Documents pareils