Maquette logiciel Python

La maquette logiciel pour le calcul des facteurs de vue a été développée en Python et fournie par notre tuteur du CEA, Romain Le Tellier. Les deux modules qui ont été au centre du projet sont d'une part l'échantillonnage des points sur la géométrie et d'autre part, l'intégration numérique pour le calcul des facteurs de vue. Par ailleurs, ces deux modules font appels à des classes de la bibliothèque ROOT du CERN pour la géométrie et le lancer de rayon.

 

Algorithme de type Monte Carlo Ray-Tracing

Pour discrétiser la géométrie utilisée pour la simulation, un échantillonnage uniforme est réalisée grâce à un algorithme Monte Carlo de lancer de rayon, ou en anglais Monte-Carlo Ray-Tracing (MCRT). L'intégration numérique est aussi réalisée par un algorithme général de type MCRT.

 

La discrétisation qui est réalisée sur le premier module permet de déterminer un point de départ potentiel d'une radiation. Pour ce faire on construit une sphère englobant la structure étudiée (ici le cœur du réacteur, en jaune sur la figure) qui est échantillonnée (points rouges). Un point est alors choisi aléatoirement et un disque tangent à la sphère est construit. Ce disque est lui aussi échantillonné (points verts) et un de ces point est enfin choisi comme point de départ de la radiation.

 

Figure 2. Schéma de la sphère englobante et de l'échantillonnage des points sur la géométrie.

Les rayons sont lancés sur la géométrie puis rebondissent sur les surfaces rencontrées ainsi que sur la boîte englobante, un certain nombre de fois. Suivant une approche probabiliste de Monte Carlo, les points engendrés sur la géométrie par ces rayons, sont assurés d'être distribué uniformément. Après l’échantillonnage des points sur la géométrie, la sphère englobante est discrétisée en plusieurs surfaces. Puis une hémisphère unitaire est tracée, centrée sur une surface cible, puis discrétisée par l'algorithme MCRT. Le calcul du facteur de vue associée à cette surface cible est réalisé par sommation discrète sur les points échantillonnés de l'hémisphère.

 

Bibliothèque ROOT

La bibliothèque ROOT, développée par le CERN est utilisée pour la génération de la géométrie et le lancer de rayon, notamment avec le paquet Geometry. C'est une bibliothèque originellement implémentée en C++. Au cours de ce projet, elle a été cependant utilisée au travers de son interface PyROOT adaptée au langage Python et dans sa version 6.24/00. Le paquet Geometry permet l'utilisation d'une classe GeoManager qui est utilisée pour la gestion de la géométrie et sa discrétisation.

 

Créez votre propre site internet avec Webador