Optimisation À L'Aide D'Algorithmes Génétiques D'Un Stratifié Poreux Soumis À Un Flux Thermique en Convection Naturelle
Optimisation À L'Aide D'Algorithmes Génétiques D'Un Stratifié Poreux Soumis À Un Flux Thermique en Convection Naturelle
Optimisation À L'Aide D'Algorithmes Génétiques D'Un Stratifié Poreux Soumis À Un Flux Thermique en Convection Naturelle
Mémoire présenté
à la Faculté des études supérieures de l'Université Laval
dans le cadre du programme de maîtrise en génie mécanique
pour l'obtention du grade de maître es sciences (M.Se.)
2007
Cette étude traite de l'optimisation d'un échangeur de chaleur constitué d'une jux
taposition de différentes couches de matériaux poreux. Grâce à un réseau interne de
pores, un fluide refroidissant est libre de circuler à travers l'échangeur par convection
naturelle. La problématique consiste à déterminer la distribution optimale de porosité
et l'ordonnancement idéal des matériaux de la série de couches qui minimisent la tempé
rature maximale dans le refroidisseur. Au cours de cette analyse, la chaleur transmise au
système émane d'une plaque chaude adjacente au stratifié. Le flux thermique est donc
fixe sur cette frontière. Le champ de température et l'écoulement, déterminés selon
les caractéristiques physiques et dimensionnelles du stratifié, sont calculés de manière
numérique. Les équations de conservation de quantité de mouvement et d'énergie sont
résolues par une méthode basée sur les volumes finis. Le processus d'optimisation se
rattachant à la distribution de porosité et à l'assignation des matériaux dans le stratifié
est réalisé à l'aide d'un algorithme génétique (AG). De plus, une composition opti
male du système, correspondant à un minimum global, peut être atteinte sous certaines
contraintes, s'exprimant notamment en matière de coût et de masse. Cette approche
permet également de dimensionner l'échangeur, car l'AG a la capacité d'éliminer une
portion du stratifié afin de répondre aux exigences demandées.
i
Abstract
In order to meet modem engineering needs in terms of cooling Systems (e.g., cooling
of electronics), porous structures (e.g. metallic foams) are regarded as an interesting
alternative to fins due to their large surface of heat transfer per volume. In this paper,
we investigate the optimal configuration of a porous médium structure in order to reduce
its thermal résistance. The System studied represents a stacking of porous layers, in
which a cooling fluid circulâtes, adjacent to a heat-generating surface. The flow within
the staking is driven by natural convection. The objective of this work is to minimize
the hot spot température of the system. The design variables are the porosities and
materials of each layer. The thermal performance is evaluated with a CFD code based
on the finite volume approach. The hot spot température minimization is pursued under
global mass and cost constraints, with a genetic algorithm (GA). The GA détermines
the optimal porosities and solid material of each layer. Purthermore, the optimal total
length of the stacking is indirectly determined by the GA as layers can be added or
removed in order to improve the global performance and satisfy the constraints. The
results of the présent study reveal that an appropriate distribution of porosity and
material benefits the minimization of the température in a layered porous médium.
ii
"Un expert est une personne qui a fait toutes les erreurs qui peuvent être
faites dans un domaine très étroit"
Niels Bohr, 1885-1962
m
Avant-propos
IV
Table des matières
Résumé i
Abstract ii
Avant-propos iv
1 Introduction 1
1.1 Problématique 1
1.2 Revue bibliographique 3
1.3 Objectifs 6
1.3.1 Objectif principal 6
1.3.2 Objectifs secondaires 7
1.4 Méthodologie et présentation du document 7
2 Modèle mathématique 8
2.1 Présentation de la géométrie du système 9
2.2 Description du modèle mathématique 10
2.3 Solution analytique du régime couche limite 17
2.3.1 Approximation par ordre de grandeur du régime couche limite . 18
v
2.3.2 Approche par la méthode intégrale du régime couche limite . . . 20
2.3.3 Porosité optimale en régime couche limite 24
2.4 Plage d'opération du modèle 24
2.5 Propriétés des matériaux employés 26
2.6 Conclusion 27
M o d è l e numérique 28
3.1 Maillage utilisé 29
3.2 Discrétisation par volumes finis 30
3.2.1 Exemple de résultats numériques 33
3.3 Indépendance de maillage 34
3.4 Validation du modèle numérique 37
3.5 Conclusion 44
A l g o r i t h m e génétique 45
4.1 Introduction 46
4.2 Mécanismes de l'algorithme génétique 48
4.2.1 Génération de la population initiale 48
4.2.2 Décodage 49
4.2.3 Correction des individus 51
4.2.4 Évaluation des individus 53
4.2.5 Classement des individus 54
4.2.6 Sélection 56
4.2.7 Reproduction 57
4.2.8 Recherche locale 58
4.2.9 Mutation 61
4.2.10 Nouvelle génération 63
4.2.11 Critère d'arrêt et convergence 64
4.3 Conclusion 65
R é s u l t a t s de l'optimisation 66
5.1 Optimisation sans contraintes 67
5.1.1 Influence de la longueur sur la résistance thermique 67
5.1.2 Effet du nombre de couches 72
5.1.3 Distribution de porosité 72
5.1.4 Masse et coût 75
5.2 Optimisation sous une contrainte de masse 77
5.3 Optimisation sous une contrainte de coût 81
vi
5.4 Optimisation sous une combinaison de contraintes de masse et de coût 83
Conclusion 93
Bibliographie 96
A E x e m p l e de p r o b l è m e dimensionnel 101
vii
Liste des tableaux
vm
5.2 Longeur efficace en fonction du nombre de Rayleigh, N = 10, em = ec ==
0, D = 0.001 71
IX
Table des figures
1 Schéma de l'échangeur 10
2 Représentation schématique d'un empilement de micro-conduits . . . . 12
3 Développement de la couche limite thermique et température maximale
dans le stratifié 20
1 Exemple de maillage : L = 1, N = 4, Ny = 16 29
2 Discrétisation par volumes finis 30
3 Distribution de température et profil de vitesse dans un échangeur po
reux, tf> = 0.5, Ra = 10 15 , L = 5, D = 0.001 33
4 Distribution de température et profil vitesse dans un échangeur poreux,
(f) = 0.5, Ra = 10 15 , L = 5, D = 0.001 34
5 Exemple du maillage utilisé avec le logiciel Fluent : L = 1, N = 1,
Nv = 16, D = 0.001 39
15
6 Validation du modèle : T en fonction de y, <f> — 0.5, Ra = 10 , L = 5,
D = 0.001 40
15 17
7 Validation du modèle : T en fonction de y, 4> — 0.5,Ra = 10 — 10 ,
L = 5, D = 0.001 41
x
4.7 Schéma du domaine de la recherche locale appliquée au chromosome de
porosités, N = 2, x = 2 60
4.8 Exemple de recherche locale appliquée au chromosome de porosité, iV =
6, x = 1 60
4.9 Exemple de recherche locale appliquée au chromosome de matériaux,
N =b 62
4.10 Exemple de mutation, N = 2 63
xi
5.13 Nombre de couches d'aluminium dans la structure poreuse optimale selon
la combinaison de contraintes de masse et de côut, Ra = 1015, L = 1.0,
N = 10,D = 0.001 89
5.14 Nombre de couches d'acier dans la structure poreuse selon la combinaison
de contraintes de masse et de côut, Ra = 1015, L = 1.0, TV = 10,
D = 0.001 90
5.15 Nombre de couches vide dans la structure poreuse selon la combinaison
de contraintes de masse et de côut, Ra = 1015, L = 1.0, N = 10,
D = 0.001 91
XI]
Liste des symboles
Lettres Latines
K Perméabilité [m 2]
Pe Nombre de Peclet
//
q flux de chaleur [W m~2]
xiii
Ra Nombre de Rayleigh
Re Nombre de Reynolds
T Température [K]
Lettre grecques
4> Porosité
6 Température [K]
Indices et e x p o s a n t s
c référence au coût
D référence au conduit
xiv
F référence au fluide
in référence à l'entrée
m référence à la masse
s référence au solide
T référence à la Température
xv
Chapitre 1
Introduction
1.1 Problématique
Au tournant du 21 e siècle, l'utilisation des circuits intégrés prolifère dans une large
gamme d'appareils de consommation. Notamment, l'effervescence du domaine des té
lécommunications et des ordinateurs personnels incite les fabricants à concevoir des
composantes électroniques de plus en plus performantes. De plus, d'importants efforts
sont dédiés à la miniaturisation des systèmes. Selon la loi de Moore [1], le nombre de
transistors que contiennent les microprocesseurs sur une puce de silicium double tous
les 18 mois. Depuis les trois dernières décennies, cette prédiction s'est avérée juste.
Cependant, au cours des dernières années, on remarque un certain ralentissement dans
la progression technologique. Les difficultés sont en partie attribuables aux effets quan-
tiques associés à l'infime taille des composants, ainsi qu'aux problèmes de dissipation
I
2
thermique [2]. En effet, le transfert de chaleur est un aspect fondamental dans le de
sign des systèmes électroniques modernes [3]. D'ailleurs, le marché mondial du contrôle
thermique est estimé à 5.7 milliards de dollars en 2006 et on juge qu'il grimpera jusqu'à
8.7 milliards de dollars vers 2011 [4]. L'optimisation du contrôle thermique constitue
donc un défi à relever pour l'ingénierie moderne.
Au cours de cette étude, l'emploi des matériaux poreux dans la fabrication d'un
echangeur de chaleur sera étudié. Plus précisément, il sera question du rôle que joue
l'architecture des pores sur le transfert thermique. Pour ce faire, un stratifié constitué de
la juxtaposition d'une série de différentes couches poreuses sera considéré. La porosité
du milieu, dénotée par 0 dans cet ouvrage, varie entre 0 et 1. Une valeur faible de
la porosité correspond à une architecture qui présente peu de pores. Pour <j) près de
1, le système est très poreux. L'écoulement interne sera mû par convection naturelle.
La porosité ainsi que les matériaux de chaque strate seront optimisés dans le but de
minimiser la température maximale du système, et ce, sous des considérations de masse
et de coût.
Boomsma et al. [10] ont évalué le transfert de chaleur dans un echangeur com
posé d'une mousse d'un alliage d'aluminium. Le matériau poreux étudié offre un ratio
surface-volume de l'ordre 10 000 m 2 / m 3 , ce qui permet de concevoir des systèmes très
compacts. La porosité du milieu est modifiée en compressant la mousse. Avant com
pression, la porosité de la structure de type open — cell atteint 95% et possède 40 PPI
(pores per linear inch). Les résultats de l'étude indiquent que la mousse d'aluminium
compressée performe particulièrement bien au plan thermique. En effet, les échangeurs
poreux génèrent des résistances thermiques deux à trois fois moins importantes que les
meilleurs refroidisseurs commerciaux opérant dans les mêmes conditions. Egalement,
Hetsroni et al. [11] arrivent à des conclusions similaires, à la suite d'études expérimen
tales sur un echangeur poreux fabriqué d'acier inoxydable fritte. Les auteurs démontrent
4
qu'un refroidisseur constitué d'une structure ayant une porosité de l'ordre de 30% per
met de dissiper de grandes quantités de chaleur pour un faible volume. Cependant, pour
de faibles porosités, le système requiert une grande puissance de pompage.
Haack et al. [12] ont étudié les propriétés thermiques d'un échanger de chaleur fabri
qué de mousse métallique. L'expérience démontre que, pour de grandes températures,
le refroidissement est accentué en diminuant la dimension des pores. Cependant, les
mesures indiquent que la diminution de la taille des pores engendre une plus grande
perte de pression. De plus, les auteurs découvrent que pour un écoulement de fluide
calorifique donné, l'augmentation de la densité du milieu accroît le nombre de Nusselt
(le nombre de Nusselt correspond au ratio des échanges thermiques convectifs par rap
port aux échanges thermiques conductifs). La performance thermique d'une structure
poreuse est donc substantiellement influencée par la géométrie des pores.
Wei et Joshi [16] s'intéressent pour leur part à un dissipateur de chaleur (heat sink)
dédié au refroidissement de composantes électroniques. L'échangeur en question consiste
en un empilement de couches dans lesquelles sont façonnés des micro-conduits (micro —
channel). Pour un flux de chaleur donné, le refroidisseur étudié requiert une puissance
de pompage moindre, car l'empilement présente davantage de surface d'échange qu'une
simple couche. Aussi, l'étude démontre, de manière numérique, que la résistance ther-
1
La théorie constructale de l'optimisation global sous des constaintes locales explique de manière
simple les formes qui émergent dans la nature. C'est l'idée que l'architecture des écoulements provient
d'un principe de maximisation de l'accessibilité des flux, dans le temps, et dans les configurations libres
de changement. Cette théorie fut développée par [15].
5
Jiang et al. [19] s'intéressent à deux types de micro-échangeurs, l'un fait de micro
conduits (MCHE) et l'autre, de micro-canaux poreux (MPHE). Les auteurs étudient
les systèmes autant sous l'aspect numérique qu'expérimentale. Leurs résultats révèlent
que les performances thermiques reliées à l'échangeur MPHE sont meilleures que pour
un système MCHE. Cependant, les pertes de pression associées aux canaux poreux sont
nettement supérieures. Également, les auteurs démontrent que pour les deux types de
refroidisseur étudiés, le transfert de chaleur par unité de volume est extrêmement élevé
comparativement aux échangeurs conventionnels. L'emploi de micro-structure dans la
fabrication d'échangeur de chaleur permet donc de créer des systèmes plus performants
et plus compacts.
En convection naturelle, une relation basée sur des équations de similitude, dévelop
pée par Bejan [20], caractérise la variation de la température à la paroi verticale d'un
milieu poreux soumis à un flux thermique constant. Les travaux de l'auteur permettent
d'établir un lien analytique entre la distribution de température et les propriétés des
milieux comme la perméabilité et la conductivité équivalente. La structure poreuse étu
diée est isotrope. L'analyse peut donc s'appliquer à des matériaux tels que des mousses
métalliques.
1.3 Objectifs
Modèle mathématique
H
9
\ J t t t t t, 11 / .
couche 1 couche 2 couche 3 couche 4 ^ -
^ &
iude
a i a 2 a 3 a 4 ^ -s
M K l K2 K3 K4 / .2 H
<h
-e-
(j) 2 <)) 4
ri
Plaq
y °
g
* ^ # ^
y<>
î t t t Vt t. Tt t t
entrée oo
Dans cette étude, les échanges thermiques reposent sur la dynamique des fluides
en milieu poreux. Un milieu poreux est constitué d'une matrice solide comprenant un
réseau de minuscules cavités reliées entre elles. Ce réseau de pores permet au fluide
de circuler à travers le matériau. À l'échelle des pores, soit au niveau microscopique,
les caractéristiques de l'écoulement sont telles que la vitesse et la pression sont très
irrégulières. Cependant, au plan expérimental, ces quantités d'intérêt se mesurent dans
un volume comprenant plusieurs pores. Sur cette moyenne spatiale macroscopique, ces
quantités d'intérêt varient de manière régulière en considération de l'espace et du temps,
ce qui permet un traitement analytique. Par conséquent, au lieu de résoudre les équa
tions de conservation de la quantité de mouvement et d'énergie pour la partie fluide
et l'équation de conduction thermique dans la matrice solide, dans chacun des pores,
on procède plutôt à une évaluation moyennée spatialement de l'écoulement et de la
distribution de température. Mentionnons que le modèle mathématique employé dans
ce mémoire requière une certaine simplicité, car lors de l'optimisation par algorithmes
génétiques (voir section 4), le système thermofluide est résolue un grand nombre de fois.
Il est à noter que bien que la température du solide et fluide aient à la même valeur
localement, à l'échelle du stratifié, un échange thermique se produit entre les deux
médiums. Dans ce document la température symbolisée par la lettre T correspond
donc à la fois à la température du fluide et à la température du solide. Les indices / et
s sont alors éliminés.
La porosité <f> du milieu est définie comme la fraction du volume total occupée par
les pores :
Une couche ayant une porosité égale à 0 signifie qu'elle est composée complètement
d'un matériau solide alors qu'une porosité de 1 correspond à une couche de fluide.
Lorsque l'on traite de convection en milieu poreux, une autre caractéristique entre en
jeu. Il s'agit de la perméabilité. Cette caractéristique du milieu est intrinsèquement liée
à la porosité. La perméabilité, représentée par la variable K, correspond à la capacité
du milieu poreux à laisser circuler le fluide. Cette propriété peut être déterminée empiri
quement ou à l'aide de corrélations [34]. En général, la perméabilité peut dépendre de la
direction. Dans ce cas, la perméabilité est représentée par un tenseur. Si la perméabilité
est la même dans toutes les directions, il s'agit alors d'un scalaire.
Dans de cette étude, on fait l'hypothèse que les pores se composent d'une multitude
de micro-conduits cylindriques orientés verticalement. Le nombre de capillaires par
unité de volume définit la porosité du milieu. Dans ce cas, la perméabilité de la structure
est anisotrope, soit dirigée uniquement selon l'axe y et nulle selon l'axe x. Le schéma
présenté à la figure 2.2 illustre ce type de structure poreuse.
K (dP
L3
u =0 (2.6)
K (dP \ . .
(27)
» = -7UH
En convection naturelle, l'interaction du champ de gravité avec le gradient de densité
constitue le moteur de la convection (force d'Archimède). L'expansion thermique du
fluide induit donc un mouvement convectif. Pour prendre en considération cet effet,
l'approximation de Boussinesq [35] est considérée dans ce mémoire. Celle-ci stipule
que la variation de densité est proportionnelle à la variation de température. Selon le
premier terme de la série de taylor de cette hypothèse, l'équation d'état caractérisant
la densité est :
p = p0[l-(3(T-T0)} (2.8)
u = 0 (2.9)
En intégrant l'éq. (2.11) par rapport à y sur la hauteur du stratifié, on obtient l'expres
sion de la vitesse dans les pores en fonction de x :
où T = T(x,y). L'équation (2.13) permet calculer la vitesse dans chacun des pores
grâce à la distribution de température dans le milieux poreux. L'étape suivant consiste
à caractériser l'équation d'énergie dans le système composé d'une partie solide et d'une
partie fluide.
La partie solide du stratifié est constitué d'un matériau conducteur tel que du cuivre
ou l'aluminium. On fait l'hypothèse que la conductivité du fluide refroidissant employé
est beaucoup plus faible que celle du solide. Cette simplification est valide pour un fluide
standard tel de l'air ou de l'eau [37]. Dans ces conditions, on obtient que kf/ks —► 0.
La conductivité thermique équivalente du milieu est alors approximée par la relation
suivante [38] :
u-VT=—V-(fcegVr) (2.15)
vdT = d2aeqT
dy dx2
température T^. Conséquemment, les conditions frontière pour le cas d'un empilement
de micro-conduits sont :
à x =0 ' dx
ax = L ,§£ = 0
ày = 0 ,T = Tœ (2.18)
Afin de permettre une plus grande flexibilité dans l'analyse des équations ther
mofluides, le problème est traité adimensionnellement. En introduisant les relations
suivantes :
T —T
(2.19)
Hq"/kf
v
* = TT(k
US (2 20)
-
fl {pfcPfH)
1
K{(j)) 1 (D :>,
"M—g = ■&*[* < <2-21>
x = x/H , y = y/H
D = D/H , k =
i
Ra = tlJUl ï- 2.22
kf af fif
âeq = °^ (2.23)
a
f
Le nombre de Rayleigh tel que défini à l'éq. (2.22) ne se base pas sur la perméabilité,
comme il est généralement le cas dans les modèles de convection en milieux poreux
car dans cette étude, la perméabilité est optimisée. La version adimensionnelle des
équations de conservation, éq. (2.13)-éq. (2.16), devient ainsi :
ax=0 à SE = _ l
a x: = L/H SE = n
U
' dx
ày = 0, ,f = 0 (2.26)
Tout d'abord, débutons l'analyse avec l'équation d'énergie simplifiée éq. (2.16) :
, .dT(x,y) d2T(x,y)
K p g 0 ATV
vr *LËJL a (2.29)
AT
f = keq— (2.30)
a (2M!
' w~^r
Grâce aux équations (2.31) et (2.30), il est possible d'estimer la température en
régime couche limite sur la paroi chaude en fonction de la position verticale. Ainsi, AT
devient :
Fto-Too)-!?,01"™) (2.32)
\keq gppKJ
Ainsi, par une analyse d'ordre de grandeur, on découvre que la température à la paroi
chaude devrait augmenter selon Tw (y) oc y1/3. En raison du développement vertical de
la couche limite thermique, il est possible de déduire que la température maximale
du système se situe à la paroi chaude dans la partie supérieure de l'échangeur comme
l'illustre la figure 2.3. De plus, l'analyse par ordre de grandeur prédit que la température
maximale dans le milieu poreux sera proportionnelle à :
20
1/3
■L max ~ (2.34)
KRa keq K t
T 4 A u t.
T A sortie
V
I t M4
hrff t M *
FiG. 2.3 - Développement de la couche limite thermique et température maximale dans
le stratifié
Une approche basée sur la méthode intégrale est utilisée afin de raffiner les résultats
analytiques obtenus grâce à une analyse d'ordre de grandeur. Cet exercice a aussi pour
objectif de caractériser la variation de température à la paroi chaude en régime couche
limite.
f ^ = «'■eq
f (2.35)
^/y dx2
= d fx
^~ v (T(x,y)-T00)dx (2.37)
pcp oy Jo
v (x) VI- x
r
x
T(x>y)s-Toc (TUîrt-rooHi (2.38)
(2.37) d'après les expressions (2.38), on obtient une relation permettant de connaître
l'épaisseur de la couche limite thermique 8T en fonction de la position verticale y :
'3r> \l> 2
! -%h) (2-39)
Selon cette analyse, l'épaisseur de la couche limite croît selon y1/2. La vitesse ver
ticale du fluide dans le milieu poreux est calculée grâce à l'équation (2.13). À la paroi
chaude, l'expression de la constante V est :
v = 9P PK f
/ (Tw - Too) dy
Vo
y gf3pKq" rïîr"(3a
/ 3 ne \ ll'2
fiH keq Jo \ V
* W [H) J- OO - , n TJ '■ TT ~- TJ \ T/ V
k q„H H H\ V
/ i v 1/3
T 1M f m <242)
-®- {l*lZlt) '
Suite à cette analyse par la méthode intégrale, on déduit que la température à la
paroi chaude varie proportionnellement à y1/2. La température maximale atteinte au
sein du stratifié, située ky = H sur la paroi chaude, diminue avec le nombre de Rayleigh
selon :
L/3
T
- -L65 U Ï ^ J (2 43)
-
De plus, l'épaisseur de la couche limite à y = 1 correspond à :
/ ~e \1/3
*r = 1.65 \-^f-^\ (2.44)
\RakeqK I
Ces dernières relations sont similaires aux résultats issus de l'approche par ordre de
grandeur. En comparant les équations éq. (2.33) et éq. (2.42), on remarque que l'aug
mentation de température à la frontière chaude, dans les deux cas, est proportionnelle
à Ra~1^ k~qlz K~1/3. Cependant, l'expression (2.42) suggère que la température varie
selon y 1 / 2 , alors que l'équation (2.33) propose une variation plutôt selon y1/3. Cette
différence entre les exposants provient de l'estimation de la vitesse dans la couche li
mite. Lors de l'analyse d'ordre de grandeur, on estime que la vitesse demeure constante
selon x alors que pour le cas de la méthode intégrale on propose plutôt un profil de vi
tesse décroissant (éq.2.38). Les résultats du modèle numérique, présentés ultérieurement
(chapitre 3), démontreront que l'approximation issue de la méthode intégrale s'avère
être plus représentative de la distribution de température à la paroi. Néanmoins, les
deux techniques employées concordent quant à l'estimation de la valeur et de la position
de la température maximale dans l'échangeur.
24
Grâce aux expressions analytiques développées dans les sections précédentes, il est
possible d'estimer le profil de température à la paroi chaude en fonction des paramètres
du fluide refroidissant, de l'intensité de la sollicitation thermique et des propriétés des
couches du stratifié. D'après les résultats de l'approche intégrale, la température maxi
male dans l'échangeur est (éq. (2.43)) :
( i Y 1/3
T m a x = 1.65 =——
\Ra keq K)
Ainsi, pour un fluide donné et un échangeur doté d'une seule couche poreuse aux
propriétés constantes, on peut exprimer la température maximale en fonction de la
porosité. La fonction (2.45) évaluée entre 0 et 1 atteint un minimum situé à 4>opt = 0.414.
Cette valeur correspond à une porosité optimale, en régime couche limite pour une seule
couche.
V D
Pe = >> 1 (2.46)
De plus, l'équation de Darcy tel que présenté à l'éq. (2.5) n'est valable que dans
le cas d'un écoulement laminaire. Pour un écoulement en conduite, la transition de
laminaire à turbulent s'effectue autour d'un nombre de Reynolds de 2300 [39]. Ainsi,
l'écoulement dans un pore doit respecter :
V D
ReD = < 2300 (2.47)
où V est la vitesse moyenne maximale dans un pore situé près de la plaque chaude et D
le diamètre du pore. La vitesse calculée selon la loi de Darcy correspond à une vitesse
moyennée. La vitesse réelle dans les pores est :
V=~ (2.48)
V D
ReD = — — < 2300 (2.49)
6 Pr
1.006 RaWRWkWÙ , N
ReD = %— - < 2300 2.50
ç Pr
où le nombre de Prandtl correspond à Pr = v/a. De cette dernière expression, éq. (2.50),
on conclut que le nombre de Reynolds dans les micro-conduits est fonction des pa
ramètres géométriques du stratifié par l'entremise des variables <j> et D, du type de
matériau qui constitue l'échangeur avec keg, du nombre de Rayleigh et du nombre de
20
Considérant que la masse de l'air est beaucoup faible que la masse des métaux
énumérés au tableau précédent, celle-ci est négligée et la masse totale du stratifié est
^ e s propriétiés thermiques de l'acier correspondent à celles du fer pur qui représente la limite
supérieure en terme de conductivité thermiques
27
supposée égale à la somme des masses individuelles de chacune des couches. Ainsi, la
masse normalisée se calcule de la manière suivante :
N
M
M'
= ^r-m=EpAl-<Pj) ^J (2-52)
Pîn j=i
C = Y,m(1-(f>j)A£j (2-53)
e
où ëj représente le coût normalisé de la j couche.
2.6 Conclusion
Modèle numérique
La méthode des volumes finis se révèle être une approche très efficace dans la réso
lution de systèmes sujets à des lois de conservation. Elle est d'ailleurs largement utilisée
en mécanique des fluides [41]. Cette méthode sera donc employée dans cette étude pour
résoudre le problème thermofluide présenté au chapitre précédent. Au cours du pré
sent chapitre, les principaux éléments du modèle numérique seront abordés tel que : le
maillage utilisé (section 3.1 ) et la discrétisation du domaine (section 3.2 ). Ensuite,
l'indépendance de maillage et la validation des résultats seront traités (section 3.3 et
section 3.4).
'AH
2!)
mtMmmHM
-xi
Kl
eu
/ s
7-1
o' y -
ai
s P
s "-S
y n
mmmmtm
f 4-
3 4
.
couche
physique
V. T = 0
Cette méthode de calcul numérique repose sur des bilans de masse, de quantité de
mouvement et d'énergie sur des volumes de contrôle qui sont définis par le maillage.
La méthode des volumes finis permet de remplacer des équations différentielles par
un système d'équations algébriques. Chaque noeud du maillage est situé au centre
d'un volume de contrôle élémentaire. Sur les frontières de ce volume, les équations
différentielles partielles sont converties en intégrales de contour. Les gradients s'évaluent
alors comme des flux. Le flux qui entre dans un volume est identique à celui qui sort
du volume adjacent, il y a donc conservation. Pour un système bidimensionnel, les
volumes se réduisent à des rectangles de contrôle. Comme l'illustre la figure 3.2, dans de
cette étude, un maillage structuré est employé. Les équations qui régissent le problème
thermofluide sont évaluées autour des points situés au centre des cellules. Une notation
inspirée des points cardinaux sert à identifier les cellules entourant le volume central.
Ainsi, les indices n, s, e, w désignent respectivement les positions situées nord, au sud,
à l'est et à l'ouest du volume central indiqué par la lettre p. À la figure 3.2, les indices
inscrits en lettre majuscule correspondent aux centres des cellules voisines, alors que
les indices minuscules représentent les différentes frontières de la cellule centrale.
U
N
M * * * ** K
n
y
.ZZ-Y,
x- u
w I LE
"- - 7 S •
C> '.115
.. .
EZ2
..-',/'
y
y
y
T
w#
W
K
w
e L
E
:::: / K
::__ y,
:: : /, s
y U
• S
kM M M Ts
Selon cette méthode de discrétisation, l'équation d'énergie (2.16) évaluée sur les
mailles situées à l'intérieur des conditions limites devient :
31
La vitesse au centre des surfaces de contrôle est calculée d'après un schéma amont
du premier ordre. Ainsi, l'amplitude de la vitesse à la limite du volume de contrôle d'une
cellule s'estime grâce à l'intensité de la vitesse de la maille située en amont. En considé
rant ce schéma, de même que la formulation de la vitesse démontrée à l'équation (2.13),
le terme relatif à la convection dans l'équation d'énergie devient :
te i-n Q
s:si (- *¥) ** - » ( - ^ - - ^ ) ™
Une fois que la discrétisation des équations différentielles est terminée, le système
32
aP TP + aN TN + as Ts + aE TE + aw Tw = r
aN 0 (3.6)
as = Axv(x)
Ay Keqw
aw Ax
Ay KeQe
aE
Ax
r -asTs (3.7)
Une fois que la discrétisation par volumes finis est complétée, il est alors possible
de calculer la distribution de température et de vitesse donnée. Un exemple de résul
tats obtenus grâce au modèle numérique décrit dans le présent chapitre est illustré à
la figure 3.3. Il s'agit d'une simulation réalisée selon les paramètres recommandés par
l'indépendance de maillage, traitée à la prochaine section 3.3. L'image de gauche in
dique la distribution de température au sein de l'échangeur. On remarque nettement
le développement de la couche limite thermique à la paroi. Ce phénomène se manifeste
par mince région colorée adjacente à la source de la chaleur. La couleur variant du bleu
au rouge souligne le changement de température qui se produit dans le milieu poreux.
La température maximale se retrouve au sommet de la paroi, comme il a été démontré
à la section 2.3 et illustré à figure 2.3. La portion de droite de l'illustration présente
la distribution de vitesse dans les pores du refroidisseur. La vitesse maximale s'observe
près de la source de chaleur. Le fluide initialement à une température froide, se réchauffe
au contact de la structure solide chaude, ce qui induit un écoulement vers le haut dans
les micro-conduits. En s'éloignant de la paroi, les effets convectifs s'amenuisent rapide
ment. On constate alors que pour la longueur d'échangeur considérée L — 5, une large
partie du milieu poreux ne contribue pas aux échanges thermiques.
maxj max,j+l
<i% (3.10)
:/;max,j-
35
max max
15 1.4568E-3 - 4.1717E-5 -
30 1.4546E-3 0.15 % 4.4871E-5 7.56 %
60 - - 4.5502E-5 1.41 %
120 - - 4.5876E-5 0.82 %
La même procédure est répétée pour les différents matériaux soumis à l'étude. Après
l'analyse des résultats numériques, on constate que la densité du maillage n'est pas
influencée par le type de matériau constituant le refroidisseur poreux. Cependant, il faut
préciser que cette conclusion s'applique seulement aux métaux conducteurs énumérés
au tableau 2.1. De plus, cet exercice révèle que pour un matériau donné, la densité de
noeuds requise est fonction à la fois du nombre de Rayleigh et de la porosité <fi. Pour des
porosités élevées, l'étude d'indépendance recommande un plus grand nombre de cellules
que pour de faibles porosités. Une comparaison des résultats montrés aux tableaux 3.1
et 3.2 démontre bien la nécessité d'affiner le maillage avec l'augmentation de la porosité.
Ces tableaux présentent la variation de température maximale en fonction de la taille
du maillage pour différentes valeurs de 0 d'un système donné. On constate aussi que la
densité de noeuds Ny requise augmente en fonction du nombre de Rayleigh. En d'autres
termes, on retrouve le maillage le plus fin pour un Ra et un (f) élevés. Cette relation est
présentée au tableau 3.3, où l'on retrouve la variation du Ny requis en fonction du Ra
et de (j). Egalement, des stratifiés composés de divers matériaux aux porosités variées,
semblables à ceux présentés au chapitre 5, ont été étudiés. L'examen indique que la
densité de noeuds requise pour atteindre l'indépendance de maillage dans le cas d'un
échangeur fait de plusieurs couches différentes est moindre que celle exigée pour une
structure dotée d'une porosité très élevée (0=0.95) et ce pour la gamme de nombre de
Rayleigh considérée.
Ny f1 -*max,i ^max,i-fl
-* max,i + l
f± -*max,i Jmax,i|l
■*■ m a x , î + l
- max max
15 l,7430E-3 - 4,657E-5 -
30 l,7459E-3 1.66 6,148E-5 32,02 %
60 l,7462E-3 0.017 6,881E-5 11,91 %
120 - - 7,598E-5 10,43 %
240 - - 7,825E-5 2,98 %
480 - - 7,884E-5 0,75 %
T(x = L, y= l)
-J: f < 1% (3.11)
T(x = 0, y=l)
Afin que les profils de température et de vitesse calculés sous Fluent reflètent les don
nées du modèle numérique de ce mémoire, les propriétés du fluide refroidissant ainsi que
38
s'annexe à l'entrée créant ainsi une zone tampon entre le stratifié et la condition li
mite imposée dans Fluent. Cette dernière modification a pour objectif de permettre au
fluide de pénétrer librement dans le milieu poreux sans être influencé par les conditions
imposées à l'entrée du système. Grâce à l'addition de ces zones, il est possible de fixer
des conditions de pressure inlet et pressure outlet à l'entrée et à la sortie du modèle
Fluent. Le différentiel de pression imposé est nul de sorte que le moteur de l'écoulement
soit uniquement la convection naturelle. La figure 3.5 illustre le modèle formé du milieu
poreux central et des deux régions supplémentaires. Le maillage du système, réalisé
avec le logiciel Gambit [43], respecte les caractéristiques décrites à la section 3.1 quant
aux nombre de noeuds linéique Ny et à la forme des cellules.
Pressure outlet - 0
I- *i
4 4 4 k\i 44 4 4 4
zone : sortie
K = 0, Ky= »
6 = 0.95
milieu poreux
K = 0, K=l/32d>D2
6 = 0.5
l H
/ i ■-
zone : entrée
K = oo, K = oo
6=1
JA
L i A A
V entrée
7^
' oo
AA A A
Pressure inlet ■* 0
où a = Ra~]/3 k~q^ K'1^ et b = 1/2. Bien que cette relation soit approximative,
les résultats numériques doivent néanmoins refléter une certaine similitude. La figure
(3.6) présente les résultats obtenus pour le profil de température à la paroi chaude d'un
échangeur poreux en aluminium doté d'une porosité de 0 = 0.5 ayant une longueur
L = 5 qui est soumise à un flux thermique caractérisé par un nombre de Rayleigh
de 1015. On retrouve sur cette figure trois courbes correspondant respectivement à la
solution estimée par l'équation (3.13) issue de l'approche analytique, la solution fournie
par Fluent et celle du modèle numérique à valider.
1 1 1 l S
/ /
0.8 -
/ /
/ /
S
ta o.6 - /
/
/
/
i 0.4
/ /
/ /
0.2 - / /
- » - modèle numérique
modèle Fluent
méthode intégrale
- » * ^ ' i
xlO4
0 1 2 3 4
Température à la paroi chaude Tw
10
Résultats Ra=1015
T = 3.62 10-4 y~° W,\
CD" Fluent Ra = 1015
Résultats Ra = 1016
cC
M Fluent Ra = 1016
o Résultats Ra = 10" ^"
■ r-l
7
S Fluent R a = 10'
^
cd ^
a T = 1.68 1 0 4 y 0 5 8
cd
i—*
-cd
d)
t*
T = 7.84 ÎO 5 y^-57
+J
Kl
?H
0)
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
Position verticale dans le stratifié, y
grandeur des quantités en jeu. Les values obtenues grâce à l'équation 3.13 sont environ
10% supérieures aux résultats calculés d'après les approches numériques basées sur les
volumes finis. De plus, on remarque que les résultats de Fluent et du modèle numérique
coïncident fortement. D'ailleurs, cette similarité entre les deux modèles numériques est
particulièrement grande pour l'ensemble des nombres de Rayleigh traités, comme en
témoigne la figure 3.7 qui illustre la variation de température à la paroi chaude calculée
d'après les deux approches.
Les simulations indiquent bien que Tw évolue comme une puissance de y. Indépen
damment de la porosité du milieu, pour le modèle numérique developé dans ce mémoire
l'exposant b moyen est 0.56 alors que dans Fluent ce paramètre correspond plutôt à
0.59, tel que montré aux tableaux 3.5 et 3.6.
Une grande importance est portée au calcul de la température maximale, car il s'agit
du critère à minimiser lors de l'optimisation. Par conséquent, il est primordial de bien
évaluer cette quantité lors de la modélisation. Le tableau 3.7 compare les valeurs de
températures maximales obtenues à la suite des deux types de simulation numérique.
Les différences relatives entre les résultats fournis par le calcul Fluent et ceux du modèle
42
TAB. 3.5 - Coefficients de l'expression f(y) = ayb, (f> = 0.5, N = 1, L = 5,£> = 0.001
Fluent Modèle
Ra a b a b
14
10 7.9812E-4 0.617 7.9498E-4 0.615
15
10 3.6148E-4 0.589 3.6193E-4 0.586
10i6 1.6749E-4 0.587 1.6844E-4 0.583
1017 7.7679E-5 0.586 7.8418E-5 0.571
1018 3.6055E-5 0.586 3.6832E-4 0.548
de cette étude sont de l'ordre de 1% et moins. Cette concordance est aussi valable pour
de grandes porosités comme l'indique le tableau 3.8.
Le transfert de chaleur global extrait de la plaque chaude peut être quantifié par
la température moyenne à la paroi. Ce paramètre adimensionnel est calculé selon l'ex
pression suivante :
43
r m o î / = f1 fw dy (3.14)
Jo
3.5 Conclusion
Le problème thermofluide que constitue l'échangeur poreux est résolu grâce à une
approche numérique basée sur les volumes finis. Au cours de ce chapitre, les principaux
éléments du modèle ont été présentés en détail. Dans un premier temps, on traite
du maillage et de la discrétistion du domaine. Puis, une analyse d'indépendance de
maillage est présentée. Les résultats du modèle numérique sont ensuite comparés à ceux
issus du logiciel commercial Fluent. La grande similitude, pour la plage d'opération
considérée, entre les résultats de Fluent et ceux de cette étude permet de valider le
modèle employé. De plus, les résultats numériques indiquent que les expressions issues
de la méthode intégrale, présentée à la section 2.3, permettent d'estimer la valeur de
la température maximale avec une précision d'environ 10%. Pour un empilement de
couches données, il est désormais possible de calculer numériquement avec certitude la
température maximale au sein du stratifié. L'étape suivante consiste à minimiser cette
température en optimisant l'architecture poreuse de l'échangeur. Cette optimisation est
réalisée grâce à un algorithme génétique.
Chapitre 4
Algorithme génétique
45
46
4.1 Introduction
L'algorithme génétique (AG) est une technique de recherche qui s'inspire des prin
cipes biologiques de l'évolution. L'AG agit sur une population de solutions potentielles
en appliquant des principes de sélection naturelle afin de générer un meilleur design.
Pour chacune des nouvelles générations créées, un ensemble d'individus est sélectionné
en fonction de leur niveau de performance par rapport au problème d'optimisation. Ces
individus, supérieurs aux autres, sont ensuite combinés en utilisant des opérateurs sem
blables à ceux que l'on retrouve dans le monde de la génétique. Au fil des générations,
ce processus permet au groupe d'évoluer et de s'adapter à son environnement.
La figure 4.1 illustre les étapes définissant la procédure d'optimisation par algo
rithme génétique. Tout d'abord, une population initiale est créée aléatoirement, chaque
individu représentant une structure particulière d'un stratifié, c'est-à-dire un design.
Des ajustements sont portés aux individus dont la configuration ne respecte pas le sens
physique du problème. Ensuite, ces individus sont évalués puis classés selon un indice de
performance. Parmi les meilleurs, certains sont sélectionnés pour former un ensemble
de parents. Grâce à un opérateur de reproduction, des enfants sont issus du groupe
de parents. Par la suite, des opérations de mutation et de recherche locale modifient
ces enfants de manière à bien couvrir l'ensemble du domaine de design. C'est ainsi
qu'une nouvelle population, possédant une partie des meilleures caractéristiques des
générations précédentes, est créée. Ce processus se répète jusqu'à ce qu'un critère de
convergence soit respecté.
Population initiale
Décodage
Correction
Évaluation Nouvelle
^ population
Y
Sélection
t
Croisement
y
Recherche
locale
y
Mutation
y
Décodage
y
Correction
Meilleurs
individus y
Nouvelle
F population
>r
Non
( Convergence
"J~Oui
0
FiG. 4.1 - Schéma de fonctionnement de l'algorithme génétique
48
individu
^
chromosome c h r o m o s o m e de
de m a t é r i a u porosité
~>»/
gène de gène de
matériau porosité
bit
0 1 0 0 0 0 0 10 0 1 1 1 0
couche1 couche couche: couche,
4.2.2 Décodage
Comme il a été mentionné à la section 4.2.1, la porosité, qui peut prendre une valeur
comprise entre 0 et 1, est codée sur 5 bits et est traitée comme une variable discrète.
Le fractionnement du domaine est linéaire ce qui implique que la différence entre deux
valeurs de porosité successives est constante. Ainsi, la précision sur cette variable est
fonction du nombre de bits utilisé pour coder un gène. Dans ce cas, la résolution est de
1/25, soit environ 3%. Le système numéral employé pour représenter ce type de gène est
le code Gray [45]. Ce choix est particulièrement approprié aux algorithmes génétiques,
car les nombres d'un même voisinage diffèrent très peu dans leur représentation binaire.
Cette représentation permet d'améliorer la convergence et le temps de calcul de l'AG
soumis à une optimisation globale sur des paramètres continus [46].
Les gènes reliés aux matériaux sont encodés de la même manière que les gènes de
porosité. Ainsi, grâce au système numéral employé, deux variables correspondant à des
matériaux positionnés successivement dans la liste 2.1 ne diffèrent que par un seul bit.
50
Étant donné que les gènes de matériaux sont codés sur deux bits, quatre combinaisons
sont possibles. La quatrième combinaison est réservée à une couche vide (cfi = 1).
Les matériaux un à trois correspondent respectivement à de l'aluminium, du cuivre
et de l'acier. La figure suivante, qui reprend l'exemple présenté à la section précédente
(figure 4.2), illustre la manière dont on décode l'architecture d'un stratifié à partir d'une
chaîne binaire.
matériau porosité
~>s~~
couche. couche, couche couche,
0 1 0 0 0 0 0 10 0 1 1 1 0
matériaux porosité
code Gray correspondance code Gray correspondance
Représentation physique
eu al 0.1250 0.3750
t t t t
matériau ï matériau 2 porosité, porosité 2
Selon cette modélisation, un stratifié constitué de dix couches (N=10) peut acquérir
70
2 architectures différentes. Dans ce contexte, l'emploi d'un AG s'avère être un outil
puissant pour trouver efficacement une solution à un problème d'optimisation.
r>i
4.2.3 Correction des individus
Une fois le décodage des chaînes binaires terminé, il est possible que l'architecture
d'un ou plusieurs individus ne respecte pas le modèle physique. Par exemple, une couche
vide doit être positionnée à l'extrémité de la structure pour que la résolution numérique
soit valide. Si tel est le cas, des corrections doivent être apportées à l'architecture
poreuse afin que le calcul thermofluide soit significatif. Un nouvel opérateur a donc
été créé afin de remplir cette tâche. Ce dernier inspecte chaque nouveau phénotype
afin de déceler de potentielles anomalies. Deux types d'ajustement sont apportés aux
individus. Premièrement, le dernier matériau de la liste désigne une couche vide dont
la porosité correspondante est <>
/ = 1. Par le fruit du hasard, lors de la génération de
la population initiale, ou suite à une mutation (voir section : 4.2.9), il se peut que la
quatrième combinaison de matériau soit attribuée à une couche ayant une porosité autre
que 100%. Dans ce cas, un nouveau matériau, sélectionné aléatoirement, est assigné à
la couche et la porosité est conservée. Dans un même ordre d'idées, lorsqu'une variable
de porosité atteint la valeur maximale (<j) = 1), le gène de matériau couplé avec cette
dernière doit correspondre à une couche vide. Par conséquent, une strate vide apparaît
uniquement lorsqu'une des variables de porosité l'impose.
Deuxièmement, un stratifié doté d'une couche vide au cœur de sa structure est dé
pourvu de sens physique. En effet, une strate dont la porosité est de 100% fait office
de frontière adiabatique, car la conductivité thermique de cette dernière est nulle. Par
conséquent, les couches qui succèdent une couche vide ne contribuent plus au transfert
de chaleur et deviennent alors thermiquement inutiles. Lors de la résolution thermo
fluide, ce type de configuration ne pose pas de problème. Cependant, l'évaluation de
la masse et du coût est biaisée par la contribution de la portion superflue du stratifié.
Également, l'AG associe une valeur de performance à un phénotype, sans connaître
la nature du problème traité (voir section 4.2.4). Lors d'un problème non contraint,
l'algorithme génétique tentera alors d'optimiser cette portion en vain, ce qui aura pour
effet d'accroître le nombre d'évaluations d'individus inutilement. C'est pourquoi un
opérateur spécifique à ce problème a été conçu. La stratégie est simple : une fois que
les ajustements relatifs au couplage des variables sont réalisés, l'opérateur parcourt les
chromosomes à la recherche de couches vides. Lorsqu'une couche ayant une variable
4> = 1 est rencontrée, l'opérateur élimine les couches subséquentes en remplaçant les
gènes de matériaux et de porosité par ceux associés au vide. En d'autres termes, le
stratifié est tronqué à partir de la strate vide la plus près de la paroi chaude. Cette
52
Chromosome Chromosome de
de matériau porosité
Phénotype initial
1 3 4 4 4 0.1 0.7 1 1 1
Tronquage de la séquence
Après que les corrections aient été apportées à la population, les individus sont prêts
à être évalués. Le processus d'optimisation repose principalement sur la performance
des individus, désignée par une fonction objectif symbolisée par f(x) où x représente
un individu. L'algorithme génétique fonctionne donc sans connaître la nature du pro
blème. En effet, l'AG traite seulement un ensemble de solutions auxquelles des valeurs
numériques de f(x) sont associées. La qualité d'une solution est donc mesurée par la
valeur de f{x). L'algorithme minimise la valeur de la fonction objectif. Ainsi plus f(x)
est faible, meilleur est considéré le phénotype.
où eTO et ec sont des paramètres qui accentuent l'effet de la pénalité. Mco et Cco re
présentent respectivement les contraintes de masse et de coût. Lorsque les contraintes
ne sont pas respectées ( -^- > 1 et/ou ■£- > 1 ) la valeur de T m a x est multipliée
par un scalaire proportionnel au carré de l'écart entre les propriétés du stratifié et les
propriétés maximales admises. Cette opération a pour but de réduire les probabilités
que ce type de configuration se reproduise au sein de la population. Dans le cas où M
et C demeurent sous les limites prescrites, la pénalité disparaît et la fonction objectif
correspond uniquement à T m a x .
Après avoir évalué les individus, on classe ces derniers selon leur qualité. Cette
étape a pour but de classer les individus selon leur performance par rapport aux autres
membres du groupe. Ce classement sera ensuite employé lors de la sélection qui est dé
crite à la section suivante. Généralement, la valeur numérique calculée à l'équation (4.2)
est utilisée seulement dans une étape intermédiaire servant à déterminer la performance
absolue des individus d'une population par rapport à l'environnement. Une autre fonc
tion, nommée fonction de classement, sert à transformer les valeurs de la fonction
objectif f(x) en mesure de classement relatif :
F(x)=g(f(x)) (4.3)
55
fw-4^ («)
La qualité des différentes solutions proposée est désormais quantifiée par le résultat
de l'expression 4.5. Une fois le classement achevé, l'étape suivante consiste à sélectionner
les phénotypes aux fins de la reproduction à partir de la liste qui vient d'être construite.
56
4.2.6 Sélection
En biologie, les organismes évoluent au fil des générations afin de mieux s'adap
ter aux changements de leur environnement. Les mécanismes à la base de l'évolution
sont la sélection naturelle et la variation génétique. Face à des changements de leur
environnement, certains individus d'une population possèdent des attributs génétiques
qui favorisent leur survie, et du même coup, leur chance de se reproduire. Ces derniers
transmettent alors leur bagage génétique à leurs enfants qui forment la nouvelle généra
tion. En répétant ce processus de sélection sur plusieurs générations, la population tend
à s'améliorer. C'est sur ce principe fondamental de la nature que se base la recherche
de l'algorithme génétique.
Avec l'AG, la sélection consiste à déterminer le nombre de fois qu'un individu est
choisi pour se reproduire, et par le fait même, le nombre d'enfants que cet individu
produira. Cette opération est complémentaire au classement des individus impliqués
à la section précédente. Le mécanisme de la sélection se base sur l'ordonnancement
des solutions formulées à l'équation 4.5 pour établir les probabilités de reproduction
des membres de la population. Ainsi, l'individu qui détient la plus grande valeur de
F(x) possède les meilleures chances de se reproduire. Toutefois, selon la technique de
sélection employée, il n'est pas automatiquement assuré que ce dernier sera choisi.
Plusieurs algorithmes de sélection ont été développés dans la littérature. Parmi les
plus performants, on retrouve la sélection stochastique universelle [47] (SUS). Cette
dernière est employée au cours de cette étude. La méthode SUS utilise les valeurs de
performance relative F(x) issues du classement, calculées grâce à l'équation (4.5), pour
déterminer la probabilité de reproduction des individus. Chaque individu est positionné
sur un segment de longueur S, où S correspond à la somme des performances relatives,
soit S = Yld=\dFi (x). L'espace qu'occupe un individu Sj sur ce segment est propor
tionnel El SB. performance au sein du groupe tel que :
F
s = m (46)
croissant de longueur. Finalement, pour désigner quels individus seront choisis, cette
méthode utilise Nsei pointeurs simultanément, où Nsei correspond au nombre de sélec
tion requise. Ces pointeurs sont également espacés entre-eux d'une distance équivalente
à S/Nsei. Le premier pointeur se positionne aléatoirement dans l'intervalle [0,S/Nsei\.
Cette stratégie permet de réduire le risque qu'un même phénotype soit sélectionné plu
sieurs fois comme c'est le cas avec d'autres méthodes de sélection comme la roulette.
Grâce à la répartition des probabilités selon la performance relative, les individus mieux
adaptés à leur environnement sont naturellement avantagés et donc plus susceptibles
de contribuer à la reproduction. Toutefois, il est possible que certains phénotypes de
moindre qualité puissent être sélectionnés lors du positionnement des pointeurs.
position aléatoire
1 2 3 4 5 I 6
0.0 0.33 0.54 0.70 0.82 0.93 1.0
X ™ x *± X - î
pointeur 1 pointeur 2 pointeur 3 pointeur 4
FlG. 4.5 - Sélection des individus par la méthode SUS, Nind=6 et iVse/=4
4.2.7 Reproduction
croisement successifs sont échangés entre les parents pour produire les enfants. La sec
tion entre le début de la chaîne binaire et le premier croisement demeure inchangée.
Ce processus est illustré à la figure 4.6. On peut constater que la coupure de la chaîne
binaire se fait au gré du hasard sans tenir compte de la longueur des gènes. Ainsi, la
nature discontinue de cette stratégie permet d'encourager l'exploration du domaine de
design plutôt que de favoriser une convergence vers un individu hautement performant
au début d'une recherche.
parent 2 1 1 0 ,1 1 0 1 1,1 1 1 0 0
1
eu eu 0 = 0.844 0 = 0.313
enfant 1 0 1 0 1 10 1 1 0 0 1 1 1 1
enfant 2 1 1 0 0 0 0 0 11 1 1 0 0 0
La recherche locale s'applique sur l'ensemble des individus d'une population, et ce,
périodiquement à toutes les Niocaie générations. La recherche locale ne s'effectue pas
à chaque génération en raison du temps de calcul associé à cette opération. De plus,
cette étape s'avère particulièrement utile après plusieurs générations, à l'approche d'un
optimum. La stratégie consiste à évaluer les voisins des individus dans l'espace de
design afin de vérifier la possibilité d'améliorer la fonction objectif f(x). Le voisinage
se définit à partir du phénotype d'un individu auquel on applique de légères variations.
Si ces modifications conduisent à une diminution de f(x), la structure initiale est alors
remplacée par le résultat de la recherche locale.
4>2+A(|>2
V
4>, - A<t>, î <!), + A * ,
I
o At
<t>2 - >2
<K
FiG. 4.7 - Schéma du domaine de la recherche locale appliquée au chromosome de
porosités, N = 2, x = 2
Chromosome Chromosome
de matériau de porosité
-^ ^
^
Phenotype initial
1 3 2 1 3
t 0.1 0.4 0.9 0.1 0.5
Voisin supérieur
4.2.9 Mutation
Dans la nature, la mutation est considérée comme une des forces dominantes de
l'évolution. Ce processus modifie aléatoirement le matériel génétique d'un organisme, ce
qui a pour effet de créer une nouvelle structure génétique. Certaines mutations peuvent
engendrer des modifications qui altèrent la performance d'un individu. Par exemple,
considérons la mutation d'un gène de porosité qui aurait pour effet de réduire fortement
la porosité d'une des premières couches de l'échangeur. Cela aurait pour conséquence
de limiter le passage du fluide, provoquant une concentration de la chaleur à la paroi
chaude. Ainsi, la modification impliquerait une diminution de performance pour l'in
dividu. Grâce à la sélection naturelle, les mutations défavorables sont graduellement
éliminées. En revanche, ces substitutions aléatoires peuvent parfois être fort bénéfiques.
Si tel est le cas, les modifications tendent à se propager au sein de la population au
fil des générations. Prenons le cas où une mutation change une couche d'acier en une
couche de cuivre. Le nouveau matériau étant bien plus conducteur que le précédent,
la répartition de chaleur au sein de l'échangeur sera améliorée. De ce fait, la perfor
mance du design sera bonifiée, et le cuivre tendra à s'imposer au cours des générations
subséquentes.
Chromosome Chromosome
de matériau de porosité
-^ ^
^
r^
1 2 1 0.1 0.4 0.8 0.1 0.5
Phenotype initial
Q
1 2 0.1 0.4 0.8 0.1 0.5
■
1
peuvent pas être obtenues par croisement. La mutation garantit que la probabilité de
générer une séquence spécifique n'est jamais nulle.
Plus concrètement, une fois que les enfants ont été générés, un opérateur parcourt
la chaîne binaire associciée à un individu et permute des bits aléatoirement selon une
certaine probabilité. Toutefois, les chances qu'un bit subisse une modification demeurent
faibles soit entre 0.001 et 0.01. Un taux de mutation trop élevé aurait pour effet de
faire diverger la recherche en raison de l'importance de l'altération des structures. La
figure 4.10 présente un exemple de l'impact d'une mutation sur un phénotype.
Après avoir été soumis à la mutation, les enfants sont alors prêts à être réinsérés
dans la prochaine génération. Au cours de cette étude, la technique employée pour
construire la nouvelle population se fonde sur une stratégie multiélitiste. En effet, un
groupe constitué des Nm meilleurs individus issus de la génération précédente forme la
base de la génération en cours de construction. La qualité des individus sélectionnés
se détermine grâce à la fonction de performance relative F (x) (éq. 4.5). Ensuite, on
complète la population, contenant Ninci individus, par les enfants issus du croisement.
Le nombre d'individus constituant la progéniture est alors égale k Ne — Ninct — Nm,
où Ne désigne le nombre d'enfants. Lors de l'étape de la reproduction, Ne nouveaux
M
phénotypes sont produits et la totalité de ces individus sont implantés dans la nouvelle
génération, et ce, sans tenir compte de la performance de ces derniers. De plus, la
proportion d'enfants par rapport aux élites doit être élevée afin d'explorer plusieurs
nouveaux designs et ainsi accentuer la diversité. Le rapport Ne/Nin^ utilisé dans ces
travaux est de 95%. Conséquemment, le nombre d'individus évalués nbevai au cours
d'une optimisation, sans l'application de recherche locale (voir section 4.2.8), est :
générations sans changement choisi est 250. Toutefois, un nombre total de générations
est aussi utilisé en guise de critère d'arrêt de sûreté.
4.3 Conclusion
Résultats de l'optimisation
Ce chapitre est consacré aux résultats obtenus suite à l'optimisation d'un stratifié
poreux à l'aide de l'algorithme génétique présenté au chapitre 4. La recherche d'un stra
tifié qui minimise la température maximale à la paroi est d'abord réalisée sans imposer
de contraintes. Lors du processus, l'AG est donc libre de choisir parmi l'ensemble des
matériaux proposés au tableau 2.1 et la gamme de porosités, sans considération à la
masse et au coût du stratifié. Ensuite, l'optimisation est effectuée avec une contrainte
de masse, puis avec une contrainte sur le coût. Finalement, la température critique du
système est minimisée en considérant une combinaison de contraintes sur la masse et
sur le coût de l'échangeur.
66
67
Etant donné que l'optimisation par algorithme génétique est un processus stochas
tique, le nombre de générations requises pour atteindre la convergence peut varier d'un
calcul à un autre, tout dépendant du parcours qu'effectue l'AG dans le domaine de de
sign lors de la recherche. Ainsi, afin de s'assurer de la reproductibilité des résultats, cinq
recherches en utilisant les mêmes paramètres sont réalisées pour chaque cas considéré.
Par exemple, le design optimal 2 présenté au tableau 5.1 a été obtenu à cinq reprises
lors d'optimisations différentes nécessitant respectivement 707, 392, 479, 442 et 425
générations.
où Leff désigne la longueur efficace. Numériquement cette limite est évaluée selon :
°ù Tmax (L) est la température maximale pour un L donné. Ainsi, lorsque l'amélioration
relative à l'augmentation de la longueur devient inférieure à 1%, on considère que la
longueur efficace est atteinte. Graphiquement, à la figure 5.1, cette limite, identifiée
par un carré noir, marque le début du plateau formé par la courbe Tmax(L). Pour des
14 18
valeurs de Ra variant de 10 à 10 , les longueurs efficaces, ainsi que les températures
maximales associées, sont présentées au tableau 5.2.
10
o
CD 10:
.iH L = 5.75
max
03
e oo e ao-0 »o£) e oo
0
3.5
IQDODD
-M 10
tri - Tni|1I'.||-|UJii^i u i i
-CD
-*- Ra = 1014
1.0 Ra = 1015
s - e
eu Ra = 1016
H 0.6 —*- Ra = 1017
Ra = 1018
10"
2 3 4 5 _ 6
L o n g u e u r du stratifié, L
Rayleigh. Ce phénomène indique que la couche limite thermique devient plus étroite
avec un Ra croissant. Cette observation est tout à fait cohérente avec les équations
d'approximation en régime couche limite (éq. 2.33-2.42). Selon l'approche analytique,
présentée à la section 2.3.2, l'épaisseur de la couche limite thermique à la sortie est :
ST = 1.65 Ra-Wk-WV'3
Lors d'une optimisation sans constrainte, l'AG converge vers une structure faite en
tièrement de cuivre, à l'image du stratifié présenté au tableau 5.1. La performance ther
mique devient alors uniquement dépendante de l'architecture poreuse. À la section 5.1.3,
la distribution de porosité au sein des structures optimales opérant en régime couche
limite thermique est abordée spécifiquement. Mentionnons que les stratifiés employés
pour construire la figure 5.1 comportent tous une distribution de porosité similaire.
70
Propriétés du stratifié
f M C
^ max
1.810E-4 1.282E+3 2.423E+4
Structure du stratifié
couches 1 2 3 4 5 6 7 8 9 10
matériaux eu eu eu eu eu eu eu eu eu eu
porosités 0.51 0.51 0.55 0.58 0.61 0.65 0.71 0.78 0.84 0.94
réalisés pour L = 0.25 sont présentés. On souligne que d'après les longueurs effectives
présentées au tableau 5.2 un stratifié dont L = 0.25 n'opère pas en régime couche
limite, et ce, pour la gamme de Ra étudiée. Ainsi, lorsque le paramètre Ra est grand,
le fluide se dilate fortement et la vitesse dans les pores devient plus importante, ce qui
favorise le transfert thermique. En dimininuant le Rayleigh, l'échange de chaleur par
convection s'amenuise, alors le refroidisseur requiert une plus grande surface d'échange.
C'est ce qui explique, à la figure 5.2, la grande porosité du stratifié pour Ra = 1014
comparativement à la distribution de matière associée à Ra = 10 18 .
T r
0.9
"a
o
■©-
0 8
£ -
a
'â 0.7
o
*<D
4->
• rH
M
g 0.6
o
OH
0.5
0.4 J L
On a fait une autre série de simulations avec de longs échangeurs afin de vérifier
la distribution de porosité quand le système opère en régime couche limite thermique.
Pour ce type d'écoulement, on observe que la distribution de porosité évolue de manière
similaire peu importe le nombre de Rayleigh considéré. La figure 5.3 illustre la porosité
des couches en fonction de la position relative dans la couche limite. Les valeurs de
longueurs effectives, obtenues à la section 5.1.1 sont employées en guise de valeurs de
références. L'abscisse de cette figure se définie comme : x/LefftRa. Par exemple, pour
lire une valeur correspondante à x — ÔT, il faut se référé à l'abscisse 1.0. Grâce à
cette représentation, il est possible de comparer sur une base commune l'architecture
poreuse des stratifiés soumis à différents Ra. D'après ce graphique, on remarque une
certaine ressemblance entre les optimisations. En effet, malgré que l'épaisseur ST varie
en fonction de l'intensité du Ra, les distributions de porosités au sein de la couche
limite sont semblables. Pour les couches adjacentes à la plaque chaude, l'optimisation
prescrit une porosité de 0.414. Ce résultat concorde avec les valeurs escomptées d'après
l'approche analytique présentée à la section 2.3.3. Dans la deuxième moitié du stratifié,
la densité de matière solide diminue progressivement pour atteinte de grandes porosités
à x = LefftRa.
0.9
-*- Ra = 1014 *
1
0.85 - G- Ra = 1015 O
D Ra = 1016 //
0.8 —*— Ra = 1017 l'f -
0.75 Ra = 1018 i 7/
0
o
O
o!'
CS
e
• r - l
4->
0.7
0.65
0.6 / */ ; ri
/
/Pi à"
-0) / / 0 .' / f
-M
0.55 - ' /
• r-H
^ / ■ D
/ /
c .#
O 0.5 -* /
PLH -0 ' ,. J
s- *'
0.45 #— ■ —Mf- rO^
^ --•
— .^
0.4 1 1
10 6
■ ; ;
( >
10 4 - * " *
o - -O" nu • ■ ■ ■ 1.1
» -Cr „.^ .n- _n, ■
10 3
o
CD
M
<s i o 2 -#-■ Ra=1014
- 9 - Ra = 1015
D Ra=1016
—*— Ra = 1017
-- - Ra = 1018
10 1
0 0.2 0.4 0.6 0.8
L o n g u e u r du stratifié, L / Leff, Ra
1 1 i i i i i i
f ■-•*-• L = 0.25
* / p - e - L = 0.50
0.9
' / n L = 0.75
i é / '
□ / 1 —*—L=1.00
tf 0-8
_ é 1 t -
F 1 f é / ' 1
eg L=1.50
f !
a * 0 D / ' ' ■-*-■ L = 2.00
U 0.7 ; / 7
'
*->
o 7 / / /
/ / 7
'§ 0.6 * ©-0 P / /'
O
fin i ' y
/ ' /
0.5 i D
0-0 .□ j /
é a ET - ^* *^
0- ■□' ET
■ — * ■ "
0.4 1 1 1 1 1 1
Après avoir étudié les résultats de l'optimisation sans contraintes du stratifié poreux,
l'étape suivante consiste à imposer une contrainte au système. Dans un premier temps,
on observe l'effet d'une masse maximale permise Mco sur la recherche d'un design
optimal. La valeur de Mco est déterminée à partir des résultats de l'optimisation non
contrainte obtenue à la section précédente, car pour que cette limite soit effective, il
faut que la masse maximale imposée soit inférieure à celle obtenue dans le cas non
contraint. Ainsi, les limites de masse correspondent à une certaine fraction des valeurs
présentées à la figure 5.4. Lors des simulations, le même nombre de variables de design
est octroyé au système. L'échangeur comprend 10 couches qui peuvent être fabriquées
à partir des matériaux énumérés au tableau 2.1. La précision des variables reliées à
la porosité demeure inchangée (voir section 4.2.2). On rappelle que l'objectif est de
minimiser la température maximale dans le stratifié, T m a x , tout en tenant compte d'une
masse limite. Dans ce cas, la fonction objectif correspond à l'équation (4.2) qui après
78
simplification s'écrit :
M
/ (x) = fmax \l + eT max -1,0
Mm
M c o /M s c o =0,C c o /C 8 C O =0
i
o/)
0.8
o./
0.6
o.',
0.4
0.3 T = 3.960E -4
I 0.2
0.1
max
M =2.488E+3
C = 4.703E+4
1 2 3 4 5 6 7 8 9 10
Couches du stratifié
Dans chacun des cas étudiés, la contrainte de masse est respectée. En fait, on
constate que la masse des designs présentés à la figure 5.7 correspond à la contrainte
imposée. Dans l'espace de design, les structures optimales se situent donc à la fron
tière de la contrainte. Afin de réduire le poids du stratifié, tout en mininimisant la
température maximale, l'AG emploie trois mécanismes : la substitution de matériaux,
l'augmentation de porosité et l'élimination de couches.
Pour une contrainte de masse de 75% (optimisation 1, fig 5.7), on observe que l'AG
remplace certaines couches de cuivre par de l'aluminium, un matériau qui offre une
bonne conductivité thermique tout en étant relativement léger. Les couches modifiées
79
Optimisation 1 Optimisation 2
M c o / M s c o = 0.75, e c =0 M
co /M
sco=0-50>Ec:
i 1
0.9 h 0.9
0.8 0.8
-eu 0.7 0.7
+J
'S 0.6 0.6
o
S 0.5 0.5
0.4 0.4
Optimisation 3 Optimisation 4
M C O /M S C O =0.25, e c =0 Mco/MSco=0'10.Eo=0
i 1
0.9 0.9
0.8 0.8
0.7 -fl> 0.7
+J
0.6 0.6
o
0.5 '-A
0.5
r,
0H
0.4 0.4
0.3 T = 4.505E-4 0.3 T =5.185E-4
max max
0.2 0.2
M =6.219E+2 M =2.537E+2
0.1 0.1
C = 9.286E+3 C = 3.910E+3
1 2 3 4 5 6 7 8 9 10 2 3 4 5 6 7 8 9 10
Couches du stratifié Couches du stratifié
FiG. 5.7 - Structures poreuses optimales sous une contrainte de masse, Ra = 1015,
L - 1.0, TV - 10, Mœ/Msœ = [0.75, 0.5, 0.25, 0.1], Cco/Csco = 0, D = 0.001
80
se situent à l'opposé de la plaque chaude. Comme il a été démontré à la section 5.1, les
échanges thermiques sont de forte intensité près de la plaque chaude et s'amenuisent
en s'éloignant de la source de chaleur. Par conséquent, les premières strates sont de
grande importance au plan du transfert thermique et doivent être conçues de manière à
distribuer efficacement la chaleur au sein de l'échangeur. Pour ce faire, les couches adja
centes à la source de chaleur requièrent un matériau possédant une grande conductivité
thermique. Ainsi, le fait de cibler les dernières couches pour réduire la masse globale
de l'échangeur s'avère être un choix judicieux. On observe à la figure 5.6 que les résul
tats issus de l'AG vont en ce sens. La première portion du stratifié, celle qui participe
le plus activement au transfert de chaleur, est faite de cuivre, ce matériau présentant
la meilleure conductivité thermique parmi les choix disponibles. La combinaison al-cu
offre un bon compromis entre la masse de la structure et les propriétés thermiques du
refroidisseur. D'ailleurs, on retrouve ce type de combinaison dans plusieurs modèles
d'échangeur de chaleur dédiés au refroidissement de composants électroniques [50].
Lorsque la limite massique devient encore plus importante, l'AG accentue davantage
la porosité globale du stratifié puis élimine des couches. Pour une contrainte de masse
de Mco/Msco =25%, la structure optimale est entièrement constituée d'aluminium, à
l'exception de la première couche qui demeure en cuivre. Afin de diminuer la masse de
l'échangeur, la porosité des couches peut être augmentée. Cependant, l'augmentation
de la proportion de fluide dans les strates détériore la conductivité équivalente keq,
telle que décrite à l'équation 2.14, et cela a pour effet de limiter le transfert de chaleur
par conduction au profit de la convection dans les premières couches. De manière à
conserver un juste milieu entre ces deux modes d'échange thermique, l'AG procède à
l'élimination des dernières couches. À la figure 5.7, les deux configurations qui résultent
de l'optimisation sous des contraintes de 25% et 10% de masse comprennent des couches
vides. Grâce à ce mécanisme, la longueur du stratifié est indirectement optimisée.
81
À cette étape, aucune restriction n'est imposée à la masse du stratifié. Une contrainte
de coût Cco est plutôt appliquée au système. La procédure utilisée est similaire à celle
présentée à la section 5.2. Le coût critique correspond à une fraction de la valeur calculée
lors de l'optimisation sans contraintes (voir fig. 5.6). Comme ce fut le cas dans la section
précédente, les valeurs de 75%, 50%, 25% et 10% du coût d'une structure optimale non
contrainte sont sélectionnés. On emploie un stratifié identique à celui de l'optimisation
sous une contrainte de masse soit : Ra = 10 15 , L = 1.0 et N = 10. Les nouveaux designs
obtenus d'après la fonction objectif décrite à l'équation (4.2) et réécrite sous la forme
simplifiée suivante sont présentés à la figure 5.8.
Dans le but de réduire le prix de la structure, l'AG emploie les mêmes stratégies
que lors de l'optimisation de la masse. Par exemple, dans le cas de la contrainte de
Cœ/Csco =75%, l'algorithme substitue deux des dernières couches de cuivre par de
l'aluminium, qui représente un matériau moins coûteux et qui possède de bonnes pro
priétés thermiques. Le stratifié conserve donc une large portion de cuivre près de la
paroi chaude ce qui favorise la distribution de chaleur. La configuration de la structure
poreuse ainsi que les performances thermiques du stratifié issu d'une optimisation sous
82
Optimisation 1 Optimisation 2
em=0,Cco/Csco=0.75 <V=0,C C O /C S C O =0.50
i
0.9
0.8
St
0.7
^ 0.6
g 0.5 3
o
I 0.4 h o 0.4
l
0.67 0.65 0.68 0.65
Al 0.58
0.61 S 0.5 0.61
0.55
° 0.4
ÇL, „.
f =4.374E-4 0.3 f =4.791E-4
max max
0.2
M = 1.005E+3 0.1 M = 5.528E+2
C = 1.177E+4 C = 4.715E+3
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Cou ches du strat ifié Couche s dvi stra tifié
FiG. 5.8 - Structures poreuse optimales sous une contrainte de masse, Ra L015
L = 1.0, A^ = 10, M/Msco = [0.75,0.5,0.25,0.1], C/Csco = 0, D = 0.001
<s:i
une contrainte de coût de 75% sont similaires aux résultats obtenus à la suite d'une
optimisation sur la masse de Mco/Msco =75%. Ces deux approches conduisent donc à
la même région de l'espace de design.
masse et celle de coût, plusieurs optimisations sont réalisées pour différents rapports
de Mco/Msco et Cco/Csco. Les résultats sont présentés à la figure 5.9. Également, des
exemples détaillés d'optimisations de combinaisons de contraintes (marquées par des
points jaunes) sont illustrés à la figure 5.10. Ces cas montrent l'allure générale des
stratifiés issus des principales zone d'optimisation que l'on retrouve à la figure 5.9.
o
o
IO Contrainte de
c
o
masse dominante
t;
O 0.6 — a — contrainte de masse
iO contrainte de coût
□ cas typiques
<3 O double contraintes
o
o
CD
-S
CD Contrainte de
coût dominante
-t-J
PI
o
o 5.530E A
J I
0.1 0.2 0.3 0.4 0.5 0.6
Contrainte de masse, M c o / M g c o
La première courbe, identifiée par des carrés bleus, correspond aux optimisations
exécutées seulement sous une contrainte de masse. On remarque que selon ces condi
tions, la relation entre le poids et le prix de l'échangeur est pratiquement linéaire. La
deuxième courbe, tracée en rouge, concerne les résultats issus d'optimisations impli
quant uniquement une contrainte de coût. Comme pour la première approche, la masse
du stratifié varie proportionnellement au prix imposé lorsque les contraintes de coût
Cco/Csœ sont supérieures à 50%. Dans cette région, les deux courbes sont d'ailleurs très
près l'une de l'autre, ce qui indique qu'il est possible d'obtenir un même design par l'en-
85
tremise des deux types de contraintes. En d'autres termes, si on réalise une optimisation
(dans la région où les deux contraintes se superposent) sous une contrainte de masse, la
structure optimale aura un coût associé. Si on utilise ce coût comme contrainte unique,
on obtiendra de nouveau le même design. En diminuant le coût maximal admissible, la
différence entre les configurations optimales issues des contraintes de masse et de coût
s'accentue. Les optimisations 3 et 4 de la figure 5.10 sont un bel exemple de cette diver
gence. Ce phénomène s'explique par l'apparition de couches d'acier dans la structure.
Pour un prix donné (Cco/Csco), la sélection de l'acier dans la fabrication produit des
stratifiés beaucoup plus massiques comme le témoigne l'optimisation 4 de la figure 5.10.
Effectivement, dans le cas d'une contrainte de masse, les designs optimaux sont tous
constitués de cuivre et/ou d'aluminium (voir optimisation 1, 2 et 3 à la figure 5.10), car
les strates d'acier alourdissent grandement la structure compte tenu du gain thermique
qu'elles procurent. Lorsque l'accent est plus porté sur le faible coût de l'échangeur, les
stratifiés optimaux sont généralement plus longs et plus denses. En somme, la figure 5.9
met en relief trois régions distinctives. Dans le cas où l'on réaliserait une optimisation
avec simultanément une contrainte de masse et une de coût, si on se situe au dessus de
la ligne bleu, seule la contrainte de masse sera effective. De même, sous la ligne rouge,
seule la contrainte de coût est active. Finalement dans la zone entre les deux lignes, on
retrouve les combinaisons de contraintes menant à deux contraintes actives.
Afin de mettre en évidence des cas où les deux contraintes seraient actives simul
tanément, les limites de masse et de coût sont sélectionnées judicieusement. Quelques
optimisations sont réalisées à l'intérieur de la région formée par les courbes de contrainte
de masse et de coût. Les combinaisons simultanées de contraintes identifiées par des
cercles verts sur la figure 5.9 et détaillés à la figure 5.11 indiquent qu'il est possible
d'imposer deux types de restrictions effectives. En effet, les valeurs prescrites de masse
et du coût sont plafonnées simultanément. Afin de réduire le poids global, les échan-
geurs de la figure 5.11 sont majoritairement fabriqués d'aluminium. On remarque que
pour répondre aux exigences demandées l'AG emploie deux types de combinaisons de
matériaux. L'association aluminium-acier réduit le coût tandis que la combinaison al-
cu minimise plutôt la masse. Fait intéressant à noter, le stratifié issu des contraintes
Mco/Msco = 30% et Cco/Csco = 20% est constitué des trois matériaux disponibles. De
plus, la position des matériaux dans ce refroidisseur concorde avec les observations réa
lisées aux sections précédentes (section 5.2-5.3). Le cuivre se situe près de la source de
chaleur alors que l'acier est relégué à la dernière portion de l'échangeur.
86
Optimisation 1 Optimisation 2
M c o / M s c o = 0.95, C œ / C s c o = 0.95 M n n / M c „ =0.50, C _ / C =0.50
i 1
0.9 0.9 ■
0.8 0.8
0.7 0.7
-V 0.6 - £ 0.6
o 0 5 '% 0.5 h
s*
o 0.4 O 0.4
0.3 T = 3.961E -4 0.3 T = 4.162E -4
0.2 max 0.2 max
0.1
M =2.362E+3 0.1 M = 1.246E+3
C = 4.464E+4
C = 2.091E+4
2 3 4 5 6 7 10 2 3 4 5 6 7 10
Couches du stratifié Couches du stratifié
Optimisation 3 Optimisation 4
M c o / M s c o = 0.20, C c o / C g c o = 0.90 M c o / M s c o = 0.90, C c o / C s œ = 0.20
i i
0.9 0.9
0.8 Al 0.8
0.7 Al OIM 0.7
^ 0.6 Al (17-1 •g 0.6
| 0.5 0.65 '§ 0.5
SH
O 0.4 O 0.4
CM P-l
0.3
T = 4.629E -4 0.3
T = 4.474E -4
max max
0.2 0.2
M = 4.967E+3 0.1
M =7.255E+3
0.1
C = 6.358E+4 C = 9.451E+4
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
Couches du stratifié Couches du stratifié
Optimisation 1 Optimisation 2
M
co /M
s c o = 0.20, C c o / C s c o = 0.1 1
M™, / MQ„ = 0.30, C„„ / C c = 0.2
i
0.9 ■ St 0.9
0.8 0.8
-V 0.7 MB 0.7
-M
' S 0.6 -g 0-6
g | 0.5
g 0.5 h
PH 0.4
Optimisation 3 Optimisation 4
M c o / M s c o = 0.35, C c o / C s c o = 0.15 , M c o / M s c o = 0.35, C c o / C s c o = 0.3
0.9 Al
St Al
0.8 0.97
Al St 0.94
Al 0.90
Al .<U 0.7 ÛJ Al Al 0.84
Al 0.84 St 0.84 -M Ol Al
• 0.77 3 0.6 0.74 U./4
Al AI 0.74 0.74 0.70
Al Al 0.68
Al 0.65 og 0.5 0.61
Al 0.58 0.61 0.58
0.55 ^ 0.4
f =4.568E-4 0.3 f =4.321E-4
max
0.2 M = 8.690E+2
M =8.559E+2
0.1
C = 7.065E+3 C = 1.368E+3
1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10
FlG. 5.12 - Nombre de couches de cuivre dans la structure poreuse optimale selon la
combinaison de contraintes de masse et de côut, Ra = 1015, L = 1.0, N = 10, D — 0.001
Aux figures 5.12 à 5.14, le gradient de couleur indique la teneur du matériau sélec
tionné au sein de l'échangeur. Par exemple, les designs constitués majoritairement de
cuivre se concentrent dans la région où les contraintes sont moins importantes (coin
supérieur droit). En accentuant les contraintes, le nombre de couches de cuivre di
minue progressivement. Près de l'origine, endroit du graphique où la combinaison de
contraintes est très restrictive en terme de masse et de coût, le cuivre est complètement
exclu de la composition des stratifiés optimaux. En ce qui concerne l'acier (figure 5.14),
89
!U
lu
FiG. 5.13 - Nombre de couches d'aluminium dans la structure poreuse optimale selon
la combinaison de contraintes de masse et de côut, Ra = 1015, L = 1.0, N = 10,
D = 0.001
!)()
!U
lu
FiG. 5.14 - Nombre de couches d'acier dans la structure poreuse selon la combinaison
de contraintes de masse et de côut, Ra = 1015, L = 1.0, N = 10, D = 0.001
!)l
i r~
!U
!U
_i i ' i_
FiG. 5.15 - Nombre de couches vide dans la structure poreuse selon la combinaison de
contraintes de masse et de côut, Ra = 1015, L — 1.0, N = 10, D = 0.001
92
son application se limite à la portion du domaine située sous la courbe des contraintes de
masse présentée à la figure 5.9. La plus forte utilisation de l'acier dans la structure opti
male se produit sous d'importantes contraintes de coût jumelées à de faibles limitations
sur la masse du système. L'aluminium pour sa part est fréquemment employé comme
le témoigne la figure 5.13. Ce matériau est d'ailleurs employé à la fois pour diminuer
le coût et réduire la masse. On retrouve donc des couches d'aluminium dans plupart
des architectures optimales issues de problèmes contraints. L'aluminium est combiné
au cuivre pour abaisser la masse de la structure et est jumelé à l'acier pour atteindre de
faibles coûts. On remarque aussi que l'emploi de l'alumium est plus prononcé lorsque les
limitations imposées sont importantes. Ce phénomène est illustré à la figure 5.13 par les
régions foncées. Lorsque que les limitations deviennent trop importantes, l'AG n'a pas
d'autre choix que de tronquer le stratifié. Dans ce cas, aucun matériau n'est attribué
à une ou plusieurs couches de l'échangeur. Comme il a été démontré à la section 5.2,
les couches vides se situent à l'opposé de la source de chaleur. La figure 5.15 met en
relief les régions du domaine de contraintes où la longueur de l'échangeur est réduite.
Dans le cas étudié {Ra = 10 15 , L = 1.0), l'élimination de strates se produit pour des
contraintes de masse de l'ordre de Mco/Msco < 40%. En somme, les figures 5.13 à
5.15 permettent de visualiser rapidement la composition générale d'un stratifié selon
les contraintes sélectionnées. Ces graphiques, de pair avec les distributions optimales
de porosité présentée à la section 5.1.3, forment un portrait complet de l'architecture
optimale de l'échangeur poreux sous à une combinaison de contraintes de masse et de
coût.
Dans cette étude, l'optimisation d'un stratifié poreux opérant en convection natu
relle a été réalisée. Les résultats indiquent qu'il est possible d'améliorer les performances
thermiques du refroidisseur en sélectionnant une distribution de porosités adéquate ainsi
qu'un ordonnancement idéal des matériaux de la série de couches. Les travaux révèlent
également que l'on peut déterminer des structures présentant de bonnes propriétés ther
miques tout en respectant des contraintes reliées à la masse et au coût. Un des aspects
novateurs de cette recherche est l'emploi d'un algorithme génétique dans le processus
d'optimisation. Cette technique permet de cerner rapidement un optimum d'un vaste
domaine en évaluant seulement une faible portion des solutions potentielles. Afin de
coupler le modèle numérique à l'AG, le problème fort complexe que représente l'optimi
sation du système thermofluide a été ramené à une expression simple qui tient compte
de la température, de la masse et du coût. Cette approche permet d'établir une in
teraction entre l'objectif de la recherche et l'architecture du refroidisseur. La méthode
employée dans ce document se distingue des autres travaux réalisés sur le sujet quant
à l'optimisation simultanée du type de matériaux et de la porosité.
93
94
96
97
[23] T. Fuhner, A. Erdmann, Improved mask and source représentations for automatic
optimization of lithographie process conditions using a genetic algorithm, Procee-
dings of SPIE - The International Society for Optical Engineering 5754 (1)(2005),
415-426.
[24] R. Le Riche, R.T. Haftka, Optimization of stacking séquence design for buckling
load maximisation by genetic algorithms, AIAA Journal 31 (5) (1993), 951-956.
[25] Z. Giirdal, R.T. Haftka, S. Nagendra, Genetic algorithm for the design of laminated
composite panels, SAMPE 30 (3)(1994), 29-35.
[26] G. Soremekun, Z. Gurdal, R.T. Haftka, L.T. Watson, Composite laminate design
optimisation by genetic algorithm with gêneralized elitist sélection, Computers and
Structures 79 (2)(2001), 131-143.
[27] R. Le Riche, R.T. Haftka, Improved genetic algorithm for minimum thickness
composite laminate design, Composite Engineering 5 (2)(1995), 143-161.
[28] V. G. Gantovnik, Z. Giirdal, L.T. Watson, A genetic algorithm with memory for
optimal design of laminated sandwich composite panels, Composite Structures 58
(4) (2002), 513-520.
[29] L. Valdevita, A. Pantanob, H. A. Stonea, A.G. Evansc, Optimal active cooling per
formance of met allie sandwich panels with prismatic cores, International Journal
of Heat and Mass Transfer 49, (21-22) (2006), 3819-3830.
[30] T. Dias Jr., L. F. Milanezb, Optimal location of heat sources on a vertical wall
with natural convection through genetic algorithms, International Journal of Heat
and Mass Transfer 49 (13-14)(2006), 2090-2096.
[31] R. Selbasa, O. Kizilkana, M. Reppichb, Chemical Engineering and Processing 45
(4) (2006), 268-275.
[32] F. Girard, Optimisation de laminés en utilisant un algorithme génétique, Mémoire
de maîtrise, Faculté des sciences et de génie, Université Laval, 2006.
[33] L. Wanga, L. Zhangb, D. Zhenga, An effective hybrid genetic algorithm for flow
shop scheduling with limited buffers, Computers and Opérations Research 33
(10)(2006), 2960-2971.
[34] D. Neild, A. Bejan, Convection in Porous Media, Springer, New-York, 1999.
99
[52] S. M. Al-Harbi, Numerical study of natural convection heat transfer with variable
viscosity and thermal radiation from a cône and wedge in porous média, Applied
Mathematics and Computation 170 (1)(2005), 64-75.
[57] J.K. Cochran, S.M. Horng, J.W. Fowler, A mufti-population genetic algorithm to
solve multi-objective scheduling problems for parallel machines, Computers and
opérations research 30 (7) (2003), 1087 -1102.
[58] N.S. Mera, L. Elliott, D.B. Ingham, A mufti-population genetic algorithm approach
for solving ill-posed problems, Computational mechanics 33 (4) (2004), 254-262
Annexe A
101
paramètres RaD2. Il est donc possible de considérer des résultats d'optimisation cor
respondant à des configurations poreuses ayant des valeurs différentes de D auquelles
on associe un nombre de Rayleigh approprié, en autant que la combinaison RaD2 soit
la même. Ainsi, dans le contexte du refroidissement de composantes électroniques, où
la taille des échangeurs est de l'ordre de 10 à 50 cm, il faudrait effectuer des simulations
pour des nombre de Rayleigh de l'ordre 1012 — 1013 lorsque (D = 0.001).
Annexe B
Cette annexe comprend une copie du script employé pour résoudre le problème
d'optimisation par algorithme génétique. On retrouve d'abord un résumé des principales
fonctions (section B.l). Ensuite, un exemple de la séquence des opérateurs utilisés dans
l'AG est présenté (section B.2). À la section B.3 chacun les opérateurs sont détaillés
selon leurs apparitions dans la routine d'optimisation.
103
/, Optimisation d'un stratifié poreux
*/, soumis à un flux thermique convection naturelle
•/. Date: 15.12.2006
'/. Université Laval, Québec
y.
'/, Ensemble de fonction constituant L'algorithme génétique.
%
y.
y.
'/, Création de population initiale
%
'/. crtbp - Crée une population initiale en binaire
'/, crtbase - Crée un vecteur de la base
y.
°/„ Décoder la population
t
'/, bs2rv.m - Transforme une chaîne de caractère
"L en vecteur de valeurs réelles
'/. rv2bs.m - Traduit la phénotype en chromosome
'/, enigma.m - Extrait la représentation binaire en code gray
'/. d'un nombre réel
y.
% Corriger les individus
t
'/, correctgene.m - Cette fonction modifie les gènes d'un chromosome
'/, Dépourvus de sens physique.
%
'/. troque.m - Cette fonction tronque les phénotypes qui
'/. possèdent une couche vide au sein de leur
% architecture.
y.
7t Fonction objectif
%
'/, naturelle.m - Résout le système thermofluide formé
y, formé d'un échangeur poreux en convection
*/■ naturelle
'/, pénalité.m - Modifie la valeur de fonction objectif si les
Z contraintes ne sont pas respectées
% matériaux.m - Banque de matériaux disponible
'/. lors de l'optimisation
'/, propriété.m - Charge les propriétés du matériau en lien
'/. avec la banque de matériaux
% conductivite.m - Calcule la conductivité équivalente
% perméabilité.m - Calucle la perméabilité de la structure
y.
% Classement des individus
%
'/. ranking.m - Assigne un indice selon la performance
y.
y. Sélection and reinsertion
y,
'/, reins.m - uniform random and fitness-based reinsertion
'/, sélect.m - high-level sélection routine
'/, sus.m - stochastic uni versai sampling
X Opérateurs de Mutation
y,
"/. mut.m - Effectue une mutation discrète
y.
°/. Opérateur de croisement
%
y, xovmp.m - croisement multipoint
y.
X Recherche locale
t
*/, locale.m - Effectue une recherche locale
y.
'/. Banque de données
%
Z histoire.m - Effectue à la gestion des phénotypes évalués X
% Fonction utile
%
'/, trapèze.m - Effectue un intégrale d'une fonction grâce à
'/. méthode des trapèzes
°/, tridiagC - Effectue la résolution d'un système matriciel
% tridiagonal
'/. Fin
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxy.y.xxxxxx
clear
clc
I; i c
graphique=0;
for ialpha=2:2
'/, dimension des populations
NIND = 3; '/, Nombre d'individus par sub-population
algo.nind=NIND;
MAXGEN = 5; y Nombre maximal de générations
algo.maxgen=MAXGEN;
MAXarret = 250; y Nombre génération sans changement
algo.maxarret=MAXarret;
% Paramètres du Stratifié
NSTRAT=10; '/. Nombre de couche stratifié
algo.nstrat=NSTRAT;
strat.nstrat=NSTRAT;
% Le nom de la simulation
nom_simulation=sprintf( 'maptoutecontrainte05_y,d' ,icont) ;
X gestion des répertoires ( création d'un nouveau dossier )
nom_simulation_rep=repertoire(nom_simulation);
if nbMat==4
PRECI_matID = 2; '/. Précision de la représentation binaire
'/. pour la variable : matlD
elseif nbMat==8
PRECI_matID = 3; '/, Précision de la représentation binaire
'/, pour la variable : matlD
end
algo.precimatid=PRECI_matID;
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
TIXIXIXIXIXIXIXIX Algorithme Génétique XXXXXXXXXXXXXXXXXXXXX
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
■/, Les contraintes
X Optimiser Tmax sous des contraintes de [masseMax, coutMax]
7. contrainte de masse
if icont <= length(massex) kk length(massex)~=0
masseMax=massex(icont)*masseScont;
rm=massex(icont);
else
masseMax=0;
rm=0;
end
7. contrainte de coût
if icont > length(massex) kk length(coutx)~=0
coutMax=coutx(icont-length(massex))*coutScont;
rc=coutx(icont-length(massex));
else
coutMax=0;
rc=0;
end
% Paramètres du stratifié
NSTRAT=10; '/. Nombre de couche stratifié
7. début de A . G.
PhenRejet = bs2rv(SelCh,FieldD);
[PhenRejet,SelCh,Dbase,stumieux,strat.algo] = locale(...
PhenRejet,SelCh,...
FieldD,...
PRECIjnatID,PRECI_poro,...
NSTRAT.MatDernier,porosite_max,...
Ra,Dbase,L,contraintes,stumieux,...
strat.algo);
if MAXGEN <100
topPlot=MAXGEN;
else
topPlot=100;
end
[Meilleur(gen+l).indice] = min(ObjV);
Moyenne(gen+l)=mean(ObiV);
allureMellleur(gen+l,:)=Phenfinal(indice,:);
if (Meilleur(gen+l)>Meilleur(gen+D) ...
I isnan(Moyenne(gen+D) I isnan(Meilleur(gen+l))
probleme=l;
'/. Savegarde des donne en b i n a i r e dans nom_fichier
nom_fichier=sprintf (''/.sWERREUR.Ra'/M.Od.L^/.l. ld_'/,s.mat ' , . . .
nom_simulation_rep,Ra,L,datestr(now, 30));
save(nom_fichier);
if graphique==l
'/, graphique
hold on
plot( Meilleur(uncentaine*100+l:uncentaine*100+topPlot),'ro');
plot( Moyenne(uncentaine*100+l:uncentaine*100+topPlot),'b+');
hold off
x l a b e H ' g é n é r a t i o n ' ) ; y l a b e K ' (f (x)) ' ) ;
t i t l e ( [ ' L e m e i l l e u r de l a g é n é r a t i o n ']);
text(0.5,0.90,['Meilleur = ', ...
num2str(Meilleur(gen+l))],'Units','normalized');
t e x t ( 0 . 5 , 0 . 8 5 , ['Génération = ' , num2str(gen)],'Units','normalized');
drawnow;
c If-
end '/. if graphique==l
7, critère d'arrêt
if Meilleur(gen+1)== Meilleur(gen)
% incrémenter le compteur
inchanger=inchanger+l;
else
% remise du compteur à zéro
inchanger=l;
end
'/. arrêt si le critère de convergence est atteint if inchanger > MAXarret
arret=l;
end
'/„ arrêt si le nombre de générations maximales est atteint
if gen >= MAXGEN
arret=l;
end
7. affichage à l'écran
if rt"=0
gen Meilleur inchanger= [gen,Meilleur(gen+l)/1000,inchanger] ;
else
gen Meilleur inchanger=[gen,Meilleur(gen+l)*1000,inchanger] ;
end
display( gen Meilleur inchanger) ;
114
if probleme==0
% Déterminer l ' a l l u r e de l a d e r n i è r e génération
disp(indice);
dispOCa c e s t n o t r e "plus m e i l l e u r 1 " ) ;
display(indice);
d i s p C L a configuration optimale e s t : ' ) ;
for i=l:NVAR_matID
disp(tableDmat(Phenf i n a K i n d i c e , ( i ) ) ) ) ;
disp(Phenf i n a K i n d i c e , (NVAR_matID+i))) ;
end
dispCTempérature Maximale ' ) ;
disp(Meilleur(gen+l));
[LeMeilleur,Dbase,T,v,Prop,strat,algo] = naturelle(strat,algo,...
Phenf i n a K i n d i c e , : ) , . . .
NSTRAT.Ra.Dbase,. . .
L,contraintes,1) ;
algo.alluremeilleur=allureMeilleur;
algo.meilleur=Meilleur;
algo.moyenne=Moyenne;
strat.distmat=Phenfinal(indice,1:NSTRAT);
s t r a t . d i s t p o r o = P h e n f i n a K i n d i c e , (NSTRAT+1) :2*NSTRAT) ;
s t r a t . t m a x = Prop(3);
strat.masse = Prop(l);
s t r a t . c o u t = Prop(2);
V.2- CUIVRE
tableDmat(i)={'cuivre'};
tableDdensite(i)=7691.6;
tableDk(i)=15247.2;
tableDcout(i)=18.9;
i-i+1;
7.3- ACIER
tableDmat(i)={'fer'};
tableDdensite(i)=6776.3 ;
tableDk(i)=3049.4;
tableDcout(i)=l;
i-i+i;
'/A- VIDE
tableDmat(i)={'vide'};
tableDdensite(i)=0;
tableDk(i)=0;
tableDcout(i)=0;
i-i+1I
if (length(tableDdensite)"=length(tableDk) &...
length(tableDmat)~=length(tableDk))
warning = ('trouble avec les indices');
end
nbDmat=length(tableDmat);
if CHX ==2
tableDmat='nulle';
tableDdensite='nulle';
tableDk='nulle';
tableDcout='nulle';
end
Z fin
B.3.2 Historique
7. Syntaxe: [ObjVhist,Tmaxhist.Dbaseini] =
'/. historique (première, Phen, Dbase, NSTRAT, Ra, L .masseMax, coutMax)
7.
"/, Paramètre d'entrée:
y. •/.
'/. première - appeler la fonction pour la "première " fois afin de
7, Créer une basse de donnée initiale. Pour ce faire
'/, première = 1 , l'appel de la fonction
'/. Dbase = 0
y.
'/, Phen - table contenant les phénotypes des individus
*/. chaque ligne correspond a un individu
'/. chaque colonne correspond à une variable
'/, la première moitié des variables correspondent
'/, aux matériaux qui composent les couches
'/, la seconde moitié correspond
'/, à la porosité de chacune des couches
y.
'/, paramètre de sortie :
y.
'/, ObjVhist - valeur de référence sur laquelle repose l'optimisation du
'/, Design. Par exemple, celle-ci peut correspond
'/, a la valeur maximale de la
*/, température atteinte dans la distribution de température a
'/. laquelle deux pénalités sont ajoutées afin de
'/, répondre a des contraintes de coût et de poids du
'/. Stratifié. Si aucun individu ne correspond
'/, dans la base de donne, la valeur de -1 est retournée.
y.
% Tmaxhist - Valeur de la température maximale atteinte
'/ Dans le stratifié. Si aucun individu ne correspond
'/, dans la base de donne, la valeur de -1 est retournée.
y.
y.
'/. Dbaseini - base de données initiale comprenant une série de -1
y.
'/, Exemple d'une ligne de la base de données:
'/, Dbase= [matériaux des couches, porosité des couches,...
'/. Ra, L, mas seMax, coutMax, Obj V, Tmax]
'/, Auteur: Charles Villemure
•/. 20.12.2006
function [ObjVhist.Dbaseini] = h i s t o r i q u e ( p r e m i è r e , P h e n , n b v a r , . . .
Dbase, ObjV)
7. nombre de v a r i a b l e (Nvar)
[seven.Nvar] = s i z e ( F i e l d D ) ;
if seven "= 7
error('FieldD doit avoir 7 rangées.');
end
if ~all(lb(scale).*ub(scale)>0)
errorC'Échelle logarithmique ne peut contenir 0 dans le domaine');
end
logsgn = slgndb(scale)) ;
lb(scale) = log( abs(lb(scale)) ) ;
ub(scale) = log( abs(ub(scale)) ) ;
delta = ub - lb; '/, intervalle
Prec = .5 .* len;
num = ("lin) .* Prec;
den ■ (lin + uin - 1) .* Prec;
for i = l:Nvar,
idx - li(i) :lf (i) ;
if code(i) '/. code Gray
Chrom(:,idx)=rem(cumsum(Chrom(:,idx)')',2);
end
Phen(:,i) = Chrom(:,idx) * [ (.5)."(1:len(i))' ] ;
Phen(:,i) = lb(i) + delta(i) * (Phen(:,i) + num(i)) ./ (1 - den(i));
end
expand = ones(Nind,1);
if any(scale)
Phen(;,scale) = logsgn(expand,:) .* exp(Phen(:,scale));
end
7. FIN
y.
•/ ( une colonne pour chaque individu )
i
7, PRECI_matID Précision en nombre de bit
'/. pour le type de matériel 7.
7. PRECI_poro Précision en nombre de bit
7. pour la porosité 7.
7. NSTRAT Nombre de couches dans le stratifié
'/.
7. MatDernier indice du dernier matériau possible
7,
7. Paramètre de sortie:
y,
7. Chrom Matrice contenant la description des gènes
7. sous la forme de chromosomes chaque ligne
7. Correspondant a un individu.
7. Construction du chromosome
Chrom=zeros(m,NSTRAT*(PRECI_matID+PRECI_poro));
tester=0;
if tester==l
Phen_test=bs2rvCChrom,FieldD);
pareil=Phen_test-Phen;
for i=l;m
for j"i:n
if Phen_test~=0
displayCPhen_testCi,j));
end
end
end
end
'/.fin
if nN — 2
if (nargs = = 1 )
Lind = Nind(2) ; Nind = Nind(l) ; BaseV = crtbase(Lind) ;
elseif (nargs == 2 & nL == 1)
BaseV = crtbase(Nind(2),Lind) ; Lind = Nind(2) ; Nind = Nind(l) ;
elseif (nargs == 2 & nL > 1)
if Lind ~= length(Lind), errorCLind et la Base ne concordent pas'); end
BaseV = Lind ; Lind = Nind(2) ; Nind = Nind(l) ;
end
elseif nN == 1
if nargs == 2
if nL == 1, BaseV = crtbase(Lind) ;
else, BaseV = Lind ; Lind = nL ; end
elseif nargs == 3
if nB == 1, BaseV = crtbase(Lind,Base) ;
elseif nB ~= Lind, errorCLind et la Base ne concordent pas') ;
else BaseV = Base ; end
end
else
error('Erreur sur les paramètres en entrée') ;
end
"/, Crée une structure de chromosomes aléatoires de longueur [Nind.Lind]
/, La base des chromosomes est donnée par le vecteur ligne basse des foyers
Chrom = floor(rand(Nind,Lind).*BaseV(ones(Nind,1),:)) ;
7. fin
Paramètre d'entrée:3
Paramètre de sortie:
ChromCi,((NSTRAT*PRECI_matID+ l*PRECI_poro+l):...
(NSTRAT*PRECI_matID+ 2*PRECI_poro)))...
=newChrom_poro(l,:); X porosité maximale
end X condition d'un indice trop eleve pour un Matériau
if (Phen(i,NSTRAT+2) == porosite_max )
paschanger=0;
else
paschanger=l;
end X if (Phen(i,NSTRAT+2) == porosite_max )
end X while pas changer
end X if NSTRA"=1
end X boucle en i sur les individus
'/.Fin
y,***** *************************************************************
function [Chrom,Phen] = tronque(Chrom,Phen,PRECI_matID,PRECI_poro,..
porosite.max,NSTRAT,MatDernier,...
traduction,Phen_possible)
y„******************************************************************.
[NIND,n]=size(Phen) ; */, n = nb de variables
7:1x1:1x1x1x1x1x1x1. b i n a i r e 7:1:1x1:1:1:1:1:1:1:1:1x1:1:1:1.
vmxaitvavavmtravavavxanuivava'a
for i=l:NIND
for j=l:NSTRAT
% Si la porosité max est atteinte
if Phen(i,NSTRAT+j)== porosite_max;
X Boucle sur les couches subséquentes
ymxmxmi7xan%y:avhyxatvxauvxay:ayxavxayxi.
'/, Paramètres variable de la fonction et du maillage '/,
y^vxa^xayxayxayxixayxayxayxyxayxayxavx/x/xi.
'/. NY est fonction de Ra
°/e*******************************************
if Ra <= lel4
NY = 30; "/. Discrétisation en "y"
elseif Ra > lel4 & Ra <= lel5
NY = 60;
130
H-l;
%L = 0.5; '/. Épaisseur de l'agencement (Épaisseur REELLE)
ep = ceil(NY*L/NSTRAT) ; '/, servant a multiplier le nombre
*/, de sous-couches par couche réelle
if ep < 5 '/, nombre de sous-couches minimales
ep = 5;
end
NLAYERS = ep*NSTRAT; '/, Discrétisation en "x"
'/. : nombre de couches (pour L'ALGORITHME)
DoverH = 0.001; '/, Diamètre des pores
'/. addimentionnel.
delta_y = 1/(NY-1); '/, Incrément en y
delta_y_2 = delta_y/2; '/. Incrément en y (moitié)
dx - L/(NLAYERS-1); % Incrémente en x
i=0;
j=0;
131
n=0;
%*************************************************************************
iterHist=l;
°/ 0 * ************************************************************************
yx/x/x/x/x/x/x/x/x/x/x/x/x/x/x/xa
'/, Propriété du stratifié poreux "/,
yxixixixixmxixixixixixixixixixix
y,*************************************************************************
'/, Déterminer les dimensions de la population
[NIND,NVAR]=size(Phen) ;
Prop(:,1)=masse_inds;
Prop(:,2)=cout_inds;
coutMax_inds=ones(NIND,1).*coutMax;
masseMax_inds=ones(NIND,l).*masseMax;
vx/x/x/x/x/x/x/x/x/x/x/x/x/x/x/xa
"/, Propriété du Stratifié poreux %
yx/x/x/x/x/x/x/x/x/x/x/x/x/XÂt'/xa
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
[ObjVhist,Tmaxhist]"historique(0,Phen,Dbase,NSTRAT,Ra,L.masseMax,coutMax);
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
y. Calculs des conductivités intermédiaires '/,
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
y**********************************************************************
avant=0;
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
X Resoulution de la Distribution de Température '/,
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
%**********************************************************************
X identifiant d'une porosité nulle
poro_nulle=0;
X
'/. Verfier si l'individu a déjà été calculé auparavant
X
yx/x/x/x/x/x/x/x/x/x/x/x/.yx/x/xm
XXXXX début de la résolution du profil de température XXXXXXXX
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
v(j)=permea(inds,j)*Ra*int_Ty(j);
end X boucle sur les couche NLAYERS
X
X résolution du profil de température
X
% cas au centre
aP(j) = -dy/dx*keqE(inds,j) -dy/dx*keqW(inds,j) -dx*v(j);
aN(j) = 0;
aS(j) = dx*v(j);
aW(j) = dy/dx*keqW(inds,j);
aE(j) = dy/dx*keqE(inds,j);
if i==(NY)
r(j) = 0 ; % condition limite entre
else
r(j) = -aS(j)*T(i+l, j) ; '/. partout ailleurs
end
end */, % boucle en j — > largeur du stratifié
if i==(NY)
r(j) = -dy ;
else
r(j) = -dy -aS(j)*T(i+i,j)j
end
if i==(NY)
r(j) = 0;
else
r(j) = -aS(j)*T(i+l,j);
end
if i==(NY)
r(j) = 0;
else
r(j) = -aS (j)*T(i+1,j)
end
f or(j=Nadia:NLAYERS)
aP(j)=i;
aE(j)=0;
aW(j)=0;
r(j)=0:
(MU]
if iter < 5
conv_v=0;
R_normal_vitesse=max(R_vitesse_brut);
R_vitesse(iter)=R_vitesse_brut(iter)/R_normal_vitesse;
else
R_vitesse(iter)=R_vitesse_brut(iter)/R_normal_vitesse;
if R_vitesse(iter) < tolérance
conv_v=l;
else
conv_v=0;
end
end
'/.
'/, convergence de la Température
R_tempera_brut(iter)=sqrt(sum(sum((T-T_ancien)."2)));
if iter < 5
conv_T=0;
R_normal_t empera=max(R_t empera_brut);
R_tempera(iter)=R_tempera_brut(iter)/R_normal_tempera;
else
R_tempera(iter)=R_tempera_brut(iter)/R_normal_tempera;
if R_tempera(iter) < tolérance
conv_T=l;
else
conv_T=0;
end
end
%
'/, Visualisation a l'écran :
'/, graph de diff_T, diff_v et T_max en fonction des itérations.
% %
if visu==l
figure(inds)
subplot(2,2,1);plot(loglO(T_max),'ro'); xlabeK'température maximale');
ylabel('loglO');
text(0.5,0.90,['T_max = ', num2str(T_max(iter))],'Units','normalized');
drawnow;
subplot(2,2,2);plot(loglO(R_tempera),'ro');...
xlabeK'résidus température conserved');
ylabel('loglO');
drawnow;
subplot(2,2,3);plot(loglO(conv_residus),'ro');
xlabeK'résidus température');
ylabel('loglO');
drawnow;
subplot(2,2,4);plot(loglO(R_vitesse),'ro');
xlabeK'différence de vitesse');
ylabel('loglO');
drawnow;
end
7. 7.
t
iter=iter+l ; 7. intégrateur
end 7, While pas convergence
7. fin de la Resolution de distribution de Temperaure
utixavata'/xa
VI. Optimisation 7.
ininnvxauu
7.display(iter) ;
7. Valeurs a minimiser
Tmax(inds,l) = max(max(T));
ObjVavantCinds, 1) = Tmax(inds,l) ;
Dbase(tous+l,:)=[Phen(inds,:),Ra,L,masseMax,...
coutMax,ObjV(inds,l),Tmax(inds,1)];
'/, mettre à jour le nb d'évaluation
algo.eval=algo.eval+1;
end '/, if de histoire ObjVhist
°/B ************************************************************************
iv/:a°avava
% Graphique '/,
mv/x/xava
%* ************************************************************************
if (graph==l)
for i=l:NY
hauteur(i)=(i-l)*(l/(NY-l));
end
for i=l:NLAYERS
largeur(i)=(i-l)*(l/(NLAYERS-l))*L;
pos_x(i)=(i-l)*L/(NLAYERS-l);
end
for i=l:(itermax-1)
nb_iter(i)=i;
end
figure (20)
meshdargeur,hauteur,T);
figure (21)
plot(pos_x,v);
figure (22)
contourdargeur,hauteur,T) ;
%************************************************************************
end '/, résolution pour les individus
% Fin
% Point : Est
for i=l:NIND "/, boucle sur les individus
for j=l:NLAYERS-l "/, boucle sur les couches
y. Point : West
for i=l:NIND "/. boucle sur les individus
for j=2:NLAYERS % boucle sur les couches
'/, cas ou les deux conductivités équivalentes sont nulles
if (keq(i.j) == 0 kk keq(i,j-l) == 0)
keqW(i,j)=0;
else
keqW(i,j)-(2*keq(i,j)*keq(i,j-l))/(keq(i,j)+keq(i,j-l));
end
end '/, boucle sur les couches
keqW(i,l)=keq(i,l);
end '/. boucle sur les individu
t Fin
B.3.10 Perméabilité
if nargin<4
disp('nécessite a, b, c et r en entrée.')
end
n=length(b);
if length(a)==n-l
a» [0 a] ;
elseif length(a)==n
a(l)«0;
end
if length(b)~=length(r)
dispCles vecteurs doivent avoir la même dimension ')
end
if length(c)<n-l
dispCLe vecteur c est trop court')
end
'/. Numerical Recipes, Press, Flannery, Teukolsky and Vetterling,
'/, Cambridge Univerisity Press (1986), section 2.6, page 40.
'/. Simple LU décomposition algorithm.
bet=b(l);
if bet==0
dispCbl ne peut être égale à 0 . . . ' ) ;
bet=eps;
end
u(l)=r(l)/bet;
for j=2:n
gam(j)=c(j-l)/bet;
bet=b(j)-a(j)*gam(j);
if bet==0
'/.dispC... probablement, baisions de pivoter ' ) ;
bet=eps;
end
u(j)=(r(j)-a(j)*u(j-l))/bet;
end
for j=n-l:-l:l
u(j)=u(j)-gam(j+l)*u(j + l) ;
end
#include "mex.h"
void mexFunctiondnt nbArgsOut, mxArray *sortie[],
int nbArgsIn, const mxArray «entrée [])
{ /** début fx **/
int longT;
int un;
int i;
double *inT;
double *T;
double *yt;
un=l;
//inT = mxGetPr(raxCreateDoubleArray(l,un,mxREAL));
/ * * Longeur de l ' e n t r é e 1, T * * /
longT = mxGetN(entree[0]);
*inT=0;
for(i=l;i<longT;i++ )
{
*inT=*inT+(T[i-l]+T[i])/2*yt[i-l] ;
}
}/**fin fx**/
if coutMax ~=0
ratio_cout = coût / coutMax;
else
ratio_cout=0;
end
if r a t i o _ c o u t < 0 I r a t i o n n a s s e < 0
error('erreur dans la pénalité au niveau des ratios');
end
'/. fin
B.3.14 Classement
FitnV = [] ;
Paramètre de sortie:
ChromlocaKigene, : )=Chrommeil(i , :) :
ChroralocaKigene+nbgenes, : )=Chrommeil(i , : ) ;
end
if isempty(positionliste)
error('positionliste=0, recherche dans enigma infructueuse');
end
end
end Y, boucle en j sur les gènes porosités
[checkNind,checkNvar]=size(Phenlocal);
if checkNvar~=NSTRAT*2
save('ErreurCheckNind')
error('ErreurCheckNind')
ond
if NSTRAT-=1
for i = l:m 7 boucle sur les individus
7. vecteurs couplés
matdiff=[]; '/, contient les différents mat du phénotype
combienmatdiff=[]; % contient le nb que fois qu'un mat est présent
unplus=l;
for istrat=l:NSTRAT
lemat=Phenmeil(i,istrat);
yela=find(matdiff==lemat);
if isempty(yela)
matdiff(unplus)=lemat;
combienmatdiff(unplus)=l;
unplus=unplus+l;
else
combienmatdiff(yela)=combienmatdiff(yela)+l;
end
end 7, for istrat
'/, c o n s t r u c t i o n des v o i s i n s
y.
if isempty(trouvevide)
y, c'est ok
elseif NSTRAT-=1
nbdemat=nbdemat-l;
end
if nbdemat==0
display(Phenmeil);
pause(5);
e r r o r C b e n c ' ' e s t vide p a r t o u t ! ! ! ' ) ;
end
'/, i n i t i a l i s a t i o n
un=[];
deux= [] ;
trois=[] ;
Phenlocal=[] ;
Phenlocal=[] ;
Chromlocal= [] ;
un = rep(matdiff(1),[1,combienmatdiff(1)] ) ;
deux = rep(matdiff(2),[1,combienmatdiff(2)]);
elseif nbdemat==3
un = rep(matdiff(1),[1,combienmatdiff(1)] );
deux = rep(matdiff(2),[1,combienmatdiff(2)]);
trois = rep(matdiff(3),[1,combienmatdiff(3)]);
*/, combler avec des matériaux vides si trop courts
if "isempty(trouvevide)
7. combien de matériaux vide
manque=NSTRAT-length([un.deux,trois]);
comblervide=rep(MatDernier,[1,manque]);
7, combler l'espace
else
PhenlocaKl, )=[un,deux,trois,porosité]
Phenlocal(2, ) = [un,trois,deux.porosité]
PhenlocalO, ) = [deux,un,trois.porosité]
Phenlocal(4, )=[deux,trois,un,porosité]
Phenlocal(5, )=[trois,un,deux,porosité]
Phenlocal(6, ) = [trois,deux,un,porosité]
end
end
'/, construction du chromosome
[ Chromlocal ] = rv2bs( Phenlocal, FieldD, ...
PRECI_matID, PRECI_poro, ...
NSTRAT, MatDernier) ;
end % nbdemat==l
end % boucle en i sur les individus
end */. if NSTRAT ~= 1
algo.stumieux=stumieux;
'/.Fin
x
'/, Paramètre de sortie:
y.
'/. NewChrom Matrice contenant la description des gènes
X sous la forme de chromosomes chaque ligne
X Correspondant à un individu. Résultats de du
X Croisement.
X
Xops = floor(Nind/2);
DoCross = randCXops, 1) < Px; '/, permet déterminer le cross ou pas
odd = l;2:Nind-l;
even = 2:2:Nind;
'/, Calcul les points de croisement pour chaque pair d'individus, tout
'/, dépendant de leur longueur effective et de la probabilité de croissement
'/, Px C Deux site égaux conduits à aucun croisement)
xsitesC:, 1) = MaskC:, Lind);
if Npt >= 2,
xsitesC:, 1) " ceil(xsites(:, 1) .* randCXops, 1));
end
'/, Croissement
NewChromCodd,:) - (01dChrom(odd,:).* Mask) + (01dChrom(even,:).*(~Mask));
NewChrom(even,:) = (OldChromCodd,:).*(~Mask)) + (OldChromCeven,:).*Mask);
'/. f i n
B.3.17 Mutation
B.3.18 Réinsertion
IsObjVCh = 0; IsObjVSel = 0;
if nargin > 4,
[mO, nO] = size(ObjVCh);
if nO "■ 1, errorCObjVCh doit être un vecteur colonne'); end
if NindP "- mO
errorCChrom et ObjVCh ne sont pas de la même taille'); 3
end
IsObjVCh = 1;
end
if nargin > 5,
[mO, nO] = size(ObjVSel);
if nO "■ 1, errorC ObjVSel doit être un vecteur colonne'); end
if NindO "- mO
errorCSelCh et ObjVSel ne sont pas de la même taille');
end
IsObjVSel = 1;
end
'/. Fin
if (NindCh/SUBPOP) ~= fix(NindCh/SUBPOP)
errorCChrom er SUBPOP ne sont pas de la même taille');
(sud
*/. fin