• Aucun résultat trouvé

Premier algorithme de transfert radiatif : évaluation de local

Chapitre III : Chaine méthodologique pour la modélisation prédictive des photobioréacteurs

III.3 Mise en œuvre numérique d’algorithmes de Monte Carlo

III.3.1 Premier algorithme de transfert radiatif : évaluation de local

local

Pour l’exemple précédent nous avons considéré connu le champ de vitesse de réaction locale, or nous avons vu dans le chapitre 1 que, dans le cas de réactions photochimiques, pour estimer cette vitesse il faut connaitre la vitesse locale d’absorption des photons .

Comme dans le chapitre 1, plaçons nous dans une configuration radiative très simple : le milieu est purement absorbant (il n’y a pas de diffusion) et le coefficient linéique d’absorption est connu, la concentration et la section efficace spécifique d’absorption du microorganisme sont donc connues. De plus est indépendant de la longueur d’onde : le milieu est dit « gris ». La géométrie inclut deux types de surfaces : les surfaces éclairantes et les surfaces non éclairantes. Dans les deux cas elles sont non réfléchissantes. Les surfaces éclairantes émettent une densité de flux surfacique homogène. Une complexité supplémentaire est tout de même ajoutée par rapport au chapitre 1 : les surfaces émettent de façon lambertienne, chaque élément de surface émet dans toutes les directions dirigées vers le milieu. Nous avons discuté au chapitre 1 la difficulté qu’une émission lambertienne apporte, puisque cela demande d’intégrer sur toutes les directions d’émissions. Nous allons voir ici qu’ajouter cette intégrale dans un algorithme de Monte Carlo se fait aisément. Nous illustrerons (voir figure 32) cet algorithme dans deux

géométries différentes : la lame monodimensionnelle, présentée au chapitre 1, et le réacteur DiCoFluV.

Dans un premier temps nous allons donner un algorithme qui permet de calculer non pas (valeur locale), ni (valeur moyenne) mais , qui est la proportion de photons absorbés par les microorganismes. et sont liés par la relation simple III.10 donnée plus loin. Cet algorithme consiste à échantillonner tout d’abord une position d’émission sur les surfaces émettrices (voir figure 32), pour sommer les contributions de tous les éléments de surface éclairante. Une direction d’émission est ensuite échantillonnée, afin d’intégrer sur l’ensemble des directions d’émission. Une demie droite est ainsi définie par la position d’émission et la direction d’émission. Le photon sera absorbé sur cette demie droite, soit dans le volume réactionnel, soit par la première paroi rencontrée. Pour déterminer cette position d’absorption une longueur est échantillonnée selon la fonction de densité de probabilité des longueurs d’absorption donnée au chapitre 1 :

(I.41)

Les détails de mise en œuvre de l’échantillonnage sont donnés dans l’annexe 1. Cette longueur est comprise entre 0 et l’infini. Plus la concentration est forte, plus le milieu devient absorbant (l’épaisseur optique augmente), plus les longueurs d’absorption tirées deviennent, en moyenne, courtes. Si le photon est absorbé avant de rencontrer une surface, il est absorbé dans le volume un poids égal à 1 lui est attribué. En revanche s’il est absorbé par une paroi le poids qui lui est attribué est égal à 0. La proportion de photons absorbés dans le volume est estimée en réalisant un grand nombre de tirage et en calculant la moyenne des 0 et des 1. L’algorithme est le suivant :

Algorithme 2 : Calcul de la proportion de photons absorbés

(1) Une position d’émission est échantillonnée aléatoirement et de façon uniforme sur l’ensemble des surfaces éclairantes

(2) Une direction d’émission est échantillonnée aléatoirement selon une densité de probabilité lambertienne sur l’ensemble des directions pointant vers le milieu (donc sur un hémisphère)

(3) Une longueur d’absorption est échantillonnée selon la densité de probabilité des longueurs d’absorption donnée par l’équation I.41.

(4) Un poids est attribué au photon en fonction de sa position d’absorption :

a. Si est plus petit que la distance à la première surface rencontrée, le photon est absorbé dans le volume par une microalgue, son poids est égal à 1. L’algorithme va à l’étape (5).

b. Si est plus grand que la distance à la première surface rencontrée, le photon est absorbé par la surface, son poids est égal à 0. L’algorithme va à l’étape (5). (5) L’algorithme boucle à l’étape (1) en incrémentant les indices 1 d’une unité jusqu’à avoir

Figure 32 : Illustration de l’algorithme 2 dans deux géométries : une lame (à gauche) et le réacteur DiCoFluV (à droite).

Figure 33 : Illustration de l’algorithme 3 (échantillonnage « inverse » des chemins optiques) dans deux géométries : une lame (à gauche) et le réacteur DiCoFluV (à droite)

Dans cet algorithme nous retrouvons les notions évoquées plus haut : l’échantillonnage sur les surfaces éclairantes permet de sommer les contributions de chaque élément de surface, c'est-à-

dire d’intégrer sur l’ensemble des surfaces éclairantes. De même l’échantillonnage des directions d’émission permet d’intégrer sur les directions d’émission. En d’autres termes, on échantillonne des chemins optiques, c'est-à-dire une trajectoire possible pour un photon. Dans cet exemple un chemin optique est défini par une position d’émission, une direction d’émission, et une longueur d’absorption. De même que l’algorithme 1 échantillonne des positions dans le volume et somme leur contribution à la vitesse moyenne de réaction, l’algorithme 2 échantillonne des chemins optiques et somme leur contribution à la proportion de photons absorbés.

L’algorithme 2 évalue la proportion de photons absorbés dans le volume, notée . La relation entre et est la suivante :

(III.10)

Avec la densité de flux émise par les surfaces émettrices en tout point et la surface spécifique éclairée de la géométrie considérée. Il serait possible d’évaluer directement sans passer par grâce à l’algorithme 2, en changeant l’attribution des poids. À l’étape (4)a. un poids non pas égal à mais directement égal à est affecté aux photons absorbés dans le milieu.

L’algorithme 2 est donc en mesure de calculer . Nous cherchons à présent à calculer local pour une position donnée , c'est-à-dire la quantité de photons qui partent des fibres et sont absorbés en . Nous pourrions imaginer un algorithme qui, comme précédemment, échantillonne des chemins optiques qui vont de la surface des fibres jusqu’à l’absorption en , cependant il faut attribuer un poids égal à zéro à tous les chemins qui ne finissent pas en . Un tel algorithme pose des problèmes de convergence : en effet nous ne parviendrons jamais à échantillonner un chemin optique qui se termine exactement en .

Une solution à ce problème est de se servir de la réciprocité des chemins optiques. Plutôt que de suivre les photons depuis les fibres vers la position , nous allons faire le contraire : partir de et remonter jusqu’aux fibres (voir figure 33). Cette technique, très classique en transfert radiatif, revient à intervertir émission et absorption : les photons sont « émis » à la position du volume et ils sont « absorbés » par les surfaces éclairantes. Entre ces deux événements, le suivi de photon reste cependant identique à celui d’un algorithme « direct », avec les mêmes phénomènes physiques (dans le cas présent uniquement l’absorption, mais cela restera valable lorsque nous ajouterons la diffusion ou la réflexion). Comme précédemment, les chemins optiques échantillonnés se terminent soit par une absorption sur une paroi soit par une absorption dans le volume. Les chemins qui partent du volume et arrivent dans le volume

n’existent pas physiquement, le poids qui leur est attribué est égal à zéro. De même pour ceux qui partent du volume et se terminent sur une surface non éclairante. En revanche, les chemins optiques qui prennent fin sur une surface éclairante, sont des chemins optiques qui contribuent à , le poids qui leur est attribué est non nul. Déterminer l’expression de ce poids constitue une difficulté des algorithmes dits « inverses ». Le calcul du poids demande un travail sur la formulation intégrale qu’on ne détaillera pas ici. Pour cet algorithme le poids attribué à un chemin optique allant d’un point du milieu jusqu’à une surface émettrice vaut (Dauchet et al., 2013; Fournier, 2003).

Algorithme 3 : Calcul de local, pour une position donnée

(1) Une direction d’émission est tirée aléatoirement et de façon isotrope (sur l’ensemble des directions partantes de )

(2) Une longueur d’absorption est échantillonnée selon la densité de probabilité des longueurs d’absorption donnée par l’équation I.41.

(3) Un poids est attribué au photon en fonction de sa position d’absorption :

a. Si est plus petite que la distance à la première surface rencontrée, le photon est absorbé dans le volume par une microalgue, ce chemin optique part du volume et finit dans le volume, il n’existe pas physiquement, son poids est égal à 0. L’algorithme va à l’étape (4).

b. Si est plus grande que la distance à la première surface rencontrée, le photon est absorbé par la surface.

i. Si la surface est non éclairante, le chemin optique échantillonné n’existe pas physiquement, son poids est égal à . L’algorithme va à l’étape (4). ii. Si la surface est éclairante, le poids du chemin optique est égal à .

L’algorithme va à l’étape (4).

(4) L’algorithme boucle à l’étape (1) en incrémentant les indices d’une unité jusqu’à avoir effectué réalisations

Une autre qualité des algorithmes de Monte Carlo est celle de pouvoir estimer pour chaque réalisation plusieurs poids . Par exemple pour cet algorithme, pour chaque réalisation on peut, après avoir échantillonné un chemin optique, calculer deux poids : le premier ( ) correspondant au calcul de , et un deuxième ( ) correspondant au calcul de l’irradiance locale . Aux étapes (3)a et (4)b.i. de l’algorithme 3 les deux poids sont égaux à 0, mais à l’étape (3)b.ii., les deux poids suivants sont calculés :

Pour le même nombre de chemins optiques échantillonnés deux grandeurs physiques sont calculées : comme la moyenne des et comme la moyenne des . Dans cet exemple, comme nous avons fait l’hypothèse d’un milieu gris, le passage de à peut se faire en post traitement, une fois les réalisations effectuées. En revanche, dès que nous ajouterons les aspects spectraux dans les chapitres 4 et 5, le passage de à en post traitement deviendra impossible (car et dépendront de la longueur d’onde), et le calcul de poids multiples montrera tout son intérêt. Pouvoir attribuer plusieurs poids à un même chemin optique s’avérera donc très utile pour gagner en temps de calcul. Ainsi nous ne serons pas obligés de lancer deux algorithmes distincts : un pour le calcul de et un pour le calcul de , ce qui double le temps de calcul (car c’est l’échantillonnage des chemins optiques qui requiert le plus de temps de calcul, voir III.3.2), un seul algorithme suffira. Dans ce chapitre nous utiliserons également des poids multiples pour contrôler les fuites de photons (voir III.3.3.3).

Ces premiers algorithmes de Monte Carlo montrent bien la conservation de la compréhension des phénomènes physiques lors de la résolution de l’équation de transfert radiatif (avec une nuance en ce qui concerne le calcul des poids d’algorithmes « inverse », qui demande une analyse de la formulation intégrale). De plus cela montre que ces algorithmes sont très flexibles : en ajoutant des étapes supplémentaires dans le suivi de photons nous pourrons par la suite ajouter les réflexions sur les parois ou la diffusion multiple. Il est même possible de simuler le procédé solaire complet, en ajoutant un suivi des photons non pas jusqu’aux surfaces du réacteur mais également à travers les structures éclairantes, voir jusqu’au soleil, en intégrant sa position dans le modèle. Il s’agit d’une démarche classique dans le cadre du dimensionnement de champs d’héliostats, afin de calculer les ombrages des héliostats en fonction de la position du soleil (Delatorre et al., 2014).