• Aucun résultat trouvé

Génération d’une carte d’importance

6.4 Procédés modifiant le nombre de particules créées

6.4.1 Génération d’une carte d’importance

𝑖=1 𝜇𝑖𝑑𝑖) (201)

L’exponentielle d’atténuation n’est cependant calculée que si elle doit subir une roulette, évitant ainsi son calcul dans les autres cas. Les roulettes appliquées à la création de la particule et aux interfaces ne sont actives qu’après un certain nombre d’histoires donné par l’utilisateur, afin de ne pas entraver l’estimation de la carte d’importance décrite par la suite en6.4.

On notera finalement que le splitting n’est pas utilisé aux interfaces. D’abord, le poids de la particule est susceptible de diminuer davantage : à une interface, on ne sait pas encore si le splitting sera nécessaire. De plus, les parcours des particules créées seraient tous identiques jusqu’à leur arrivée à la sphère, puisqu’elles sont transportées en ligne droite sans interaction. Leur transport coûtant du temps de calcul, il est alors préférable d’utiliser, si besoin, le splitting seulement à l’entrée de la sphère.

Ces techniques auxiliaires au transport pseudo-déterministe s’appliquent toutes après la création de la particule déterministe. Les particules éliminées par les roulettes doivent toutefois être créées et parfois transportées jusqu’à ce que leur poids soit trop faible. Il serait alors idéal que, dès le départ, ces particules ne soient pas créées. Les techniques décrites précédemment sont donc également accompagnées d’une roulette russe et d’un splitting réalisés avant la création de la particule déterministe. Ils sont destinés, respectivement, à limiter le nombre de particules de poids faibles créées et à augmenter le nombre d’interactions dans la sphère. Le détail de leur fonctionnement est décrit dans la partie suivante.

6.4 Procédés modifiant le nombre de particules créées

6.4.1 Génération d’une carte d’importance

La roulette effectuée à l’entrée de la sphère permet de réduire le temps passé à suivre des particules de poids trop faible. En revanche, même lorsqu’elles sont éliminées durant leur transport, ces particules doivent préalablement être créées, nécessitant un temps de calcul important pour les différents échantillonnages nécessaires (décrits en 5.5.2). Une manière d’éviter ces calculs, pour une partie d’entre elles, consiste à utiliser la roulette russe avant leur création. Dans cette implémentation du transport pseudo-déterministe, ceci est effectué à l’aide d’une grille en trois dimensions, qu’on appellera «carte d’importance», qui définit pour chaque position de l’espace la probabilité de créer ou non une particule pseudo-déterministe après une diffusion.

On constate par exemple, dans certains cas, que les poids des particules créées dans certaines régions de l’espace sont presque toujours en dessous du seuil de la roulette lorsqu’elles arrivent à la sphère. Pour illustrer le problème, reprenons la configuration utilisée dans la partie 6.2.2 (figure 48), en remplaçant uniquement la plaque d’aluminium par du plomb de 2 cm d’épaisseur. Cette configuration est illustrée ci-dessous sur la figure53.

Figure 53 – Visualisation de la configuration de simulation pour l’étude des roulettes liées à la carte d’importance.

On superpose à cette géométrie une grille de voxels de dimensions 1000×1000×1000, centrée sur la cuve. Un voxel représente alors un cube de 0,5 mm de côté. Lorsqu’une particule déterministe est créée, la valeur du voxel où l’interaction a eu lieu est incrémentée de 1. Après la simulation de108 particules déterministes, on obtient une carte du nombre de particules créées en fonction de leur position, représentée ci-dessous en figure54. La sphère pseudo-déterministe est placée à 45 cm de la face droite de la cuve et n’est pas visible ici. Ses caractéristiques n’auraient de toute façon, ici, pas d’importance.

Figure 54 – Carte du nombre de particules déterministes créées en fonction de la position dans l’espace pour la configuration de test de la figure53(voxels sommés selon l’axe avant-arrière) Ce résultat permet de mettre en évidence que la plupart des particules déterministes sont ici créées à l’entrée du faisceau dans la cuve, symétriquement selon son axe central. On observe également de nombreuses créations de particules sur le bord de la plaque de plomb, du côté du faisceau, où de nombreux photons interagissent. Cette carte est exactement équivalente à celle qu’on obtiendrait en comptabilisant le nombre de diffusions dans chaque voxel.

Imaginons maintenant une nouvelle grille de voxels identique à la dernière. Lorsqu’une particule déterministe atteint la sphère (avant de subir éventuellement une roulette ou un splitting), la valeur du voxel dans lequel elle a été créée est incrémentée de son poids. On obtient ainsi une cartographie du poids total amené à la sphère par les particules créées dans chaque région de l’espace. La carte obtenue après création de108particules déterministes est présentée ci-dessous en figure55.

Figure 55 – Carte du poids total apporté à la sphère par les particules déterministes en fonction de la position de leur création pour la configuration de test de la figure53 (voxels sommés selon l’axe avant-arrière, échelle logarithmique)

Cette carte est très différente de la précédente : on s’aperçoit ici que les particules créées à l’entrée de la cuve (en particulier dans la partie gauche du faisceau), ne contribuent que très peu au poids amené à la sphère, malgré leur très grand nombre. Au contraire, les particules créées dans la partie droite de la cuve, après la plaque de plomb, sont peu nombreuses mais contribuent à elles seules de manière bien plus importante. Étant en bord de cuve, elles n’ont qu’une faible épaisseur d’eau à traverser avant d’atteindre la sphère et leur poids n’est que peu réduit. À l’inverse, les particules créées à l’entrée de la cuve doivent traverser la plaque de plomb pour atteindre la sphère : leur poids est fortement diminué et leur contribution devient négligeable. On obtient ainsi des régions de l’espace où de très nombreuses particules sont créées, mais sans contribuer significativement à l’estimation.

Finalement, le rapport des deux cartes précédentes, en figure 56ci-dessous, nous donne la cartographie du poids moyen amené à la sphère par particule déterministe créée. La valeur d’un voxel est une estimation de l’espérance du poids, à l’arrivée à la sphère, d’une particule déterministe créée à cette position. C’est cette carte qu’on appelle «carte d’importance», puisqu’elle donne l’importance des particules créées en chaque voxel vis-à-vis de l’estimation réalisée.

Figure 56 – Carte du poids apporté à la sphère par particule créée, en fonction de la position de leur création (voxels sommés selon l’axe avant-arrière). La région vide (en blanc) entourant la cuve ne contient aucune donnée puisque aucune particule n’y a été créée.

Cette dernière carte met encore davantage en évidence la faible contribution des particules créées à l’entrée de la cuve. La contributiontotale de cette région, sur la figure55, semblait encore conséquente à cause du nombre élevé de particules créées. La contribution individuelle de ces particules est en réalité extrêmement faible.

On remarque également que, parmi les particules créées dans le faisceau, celles provenant de son bord droit contribuent davantage. Il s’agit des particules pour lesquelles l’angle de diffusion nécessaire pour atteindre la sphère est le plus faible, et ce sont donc celles dont le poids est le moins réduit par l’échantillonnage non-analogue de la direction.

Globalement, on constate dans cet exemple qu’il pourrait être préférable d’attendre qu’une particule passe d’elle-même l’obstacle de plomb avant d’utiliser le transport pseudo-déterministe, puisque les contributions des particules déterministes créées avant sont négligeables. La roulette russe basée sur la carte d’importance a alors ici pour objectif d’empêcher la création de particules pseudo-déterministes avant la plaque de plomb.

Au cours de la simulation, la valeur du voxel dans lequel une interaction pseudo-déterministe a lieu permet de savoir a priori quel poids il est possible d’attendre pour la particule qui sera créée. La roulette russe peut alors être appliquée en comparant ce poids attendu au poids seuil𝑤𝑆, avant même de débuter la création de la particule. S’il s’avère que le poids de la particule, lors de son arrivée à la sphère, est tout de même très différent de la valeur attendue, alors la particule subira une roulette ou un splitting à ce moment-là.

On notera que la carte d’importance pourrait comporter jusqu’à trois dimensions supplémentaires pour tenir compte de l’énergie et de la direction des particules au moment de l’interaction. Cependant, le choix a été fait de n’utiliser que la position, afin de ne pas

trop complexifier le paramétrage. De plus, cette carte reste une estimation, qui sera d’autant plus précise que le nombre de particules créées dans chaque voxel est grand. Augmenter le nombre de dimensions accroît considérablement le nombre de particules nécessaires pour réaliser une estimation correcte et retarde ainsi l’application de la roulette.

Enfin, afin d’être calculée en temps réel durant la simulation, la carte d’importance est représentée par un objet dynamique dans le code. Or, dans Phoebe, ce type d’objet ne peut pas être partagé par plusieurs processeurs lors d’une utilisation en parallèle, et chaque processeur possède donc sa propre carte (qui est donc calculée plus lentement). À terme, il pourrait être préférable d’utiliser une carte statique, qui serait calculée par l’ensemble des processeurs dans une simulation préliminaire puis réutilisée en tant que fichier d’entrée supplémentaire. La première solution a cependant été choisie pour la facilité d’utilisation et d’implémentation.