• Aucun résultat trouvé

2.2 Technique MC en physique m´ edicale

2.2.2 PENELOPE

Dans cette partie, nous justifions le choix du code et d´etaillons, la structure et le fonctionnement de PENELOPE. Ces pr´ecisions sont importantes, notamment, en vue d’une meilleure compr´ehension de la partie traitant de l’acc´el´eration du code (partie 3). 2.2.2.1 Justification de l’utilisation du code PENELOPE

L’outil que nous d´eveloppons est fond´e sur le code PENELOPE. Notre choix s’est port´e sur ce code car il est reconnu pour le r´ealisme des mod`eles de la physique des basses ´energies impl´ement´es. Or cette caract´eristique est un atout pour l’estimation de la DP, surtout engendr´ee par des particules de faibles ´energies. De plus, l’utilisation de ce code dans des configurations de radioth´erapie a d´ej`a ´et´e valid´e, notamment, dans notre laboratoire [Habi 09]. Notre choix a ´egalement ´et´e motiv´e par le fait que de nombreux d´eveloppements sur le code PENELOPE ont ´et´e entrepris au sein de notre ´equipe (voir la partie 2.2.2.5). Par ailleurs, nous avons pu mettre en ´evidence les manques d’un code de classe I tel que MCNPX pour l’estimation des faibles doses en dehors d’un champ de traitement d’une configuration de radioth´erapie (voir l’annexe D).

2.2.2.2 Description du code PENELOPE

Le code PENELOPE est un ensemble de routines ´ecrites en fortran 77 permettant le transport des photons et des ´electrons sur une large gamme d’´energie (du dixi`eme de keV au GeV) `a l’int´erieur d’une grande vari´et´e de mat´eriaux (´el´ementaires ou mixtes). Son architecture g´en´erale se compose d’un programme principal penmain.f faisant appel `a deux biblioth`eques principales de fonctions : penelope.f et pengeom.f. Leur rˆole est le suivant :

– Les fonctions de la biblioth`eque pengeom.f rendent possible la mod´elisation de g´eom´etries complexes sous forme de volumes homog`enes appel´es body ou module et d´elimit´es par des surfaces quadratiques. Elles permettent ´egalement le calcul de diff´erentes distances `a l’int´erieur de la g´eom´etrie.

– Les fonctions de la biblioth`eque penelope.f permettent principalement le trans- port des particules par ´echantillonnage de leur d´eplacement selon les lois de la physique.

Le programme principal s’appuie, successivement, sur trois fichiers d’entr´ee ´ecrits par l’utilisateur et d´efinissant la configuration de la simulation :

– un fichier d’entr´ee principal ayant pour extension .incontenant les param`etres

de la source, ceux de l’absorption et de la diffusion multiple pour chaque mat´eriau et ceux des techniques de r´eduction de variance utilis´ees ;

– un fichier mat´eriaux ayant pour extension .mat contenant les donn´ees utiles `a

la simulation des interactions pour chacun des mat´eriaux, notamment les sections efficaces ;

2.2. TECHNIQUE MC EN PHYSIQUE M ´EDICALE 33 – un fichier g´eom´etrie ayant pour extension .geo contenant la d´efinition g´eom´e-

trique de la configuration. Celle-ci peut ˆetre visualis´ee `a l’aide du programme gview accompagnant PENELOPE.

En pratique, le programme penmain.f d´etermine la trajectoire d’une particule en ´echantillonnant sa succession de pas `a l’aide des routines STEP (issue de pengeom.f) et JUMP (issue de penelope.f). La routine JUMP d´etermine la longueur DS du pas jusqu’`a la prochaine interaction. La routine STEP d´eplace g´eom´etriquement la particule le long de sa direction jusqu’`a la distance DS ´echantillonn´ee par JUMP. Cependant, si une surface d´elimitant le body est travers´ee le long de DS (la variable NCROSS indiquant le nombre de surfaces crois´ees), la particule est arrˆet´ee et positionn´ee juste apr`es cette surface. Afin de terminer le pas dans le nouveau body, les routines JUMP puis STEP sont appel´ees une nouvelle fois. Apr`es chaque pas, une interaction est r´ealis´ee `a l’aide de la routine KNOCK de penelope.f. Cette routine conf`ere `a la particule des nouvelles ´energie et direction. Selon le type d’interaction ´echantillonn´e (type d´efini par ICOL), une particule secondaire peut ˆetre cr´e´ee et stock´ee par l’interm´ediaire de la routine STORES dans la pile des particules secondaires pour un traitement ult´erieur. Les particules sont ainsi suivies jusqu’`a leur absorption dans le milieu. Les param`etres d’absorption sont d´efinis par les variables EABS.

La figure 2.1 est un diagramme de flux illustrant les appels successifs des diff´erentes routines dans le programme principal penmain.f. Le rˆole des routines suppl´ementaires apparaissant sur le diagramme de flux est d´etaill´e ci-dessous :

– La routine PEINIT initialise l’ensemble des variables d’entr´ee `a partir du fichier utilisateur .in.

– La routine GEOMIN initialise la g´eom´etrie en s’appuyant sur le fichier utilisa- teur .geo.

– La routine LOCATE permet la localisation de la particule dans la g´eom´etrie d´efinie par le fichier .geo.

– La routine CLEANS initialise la pile des particules secondaires.

– La routine START ajuste les variables de transport des ´electrons et des positrons primaires ou sortis de la pile secondaire de fa¸con `a ce que leur suivi ne commence pas au milieu d’une diffusion multiple.

34 CHAPITRE 2. ESTIMATION DE LA DP PAR SIMULATION MONTE CARLO D´ebut PEINIT(EMAX,NMAT,IRD,IWR,INFO) GEOMINI(PARINP,NPINP,NMAT,NBOD,IRD,IWR) N = 0 N ← N+1 KPAR,E,r=(X,Y,Z),d=(U,V,W),WGHT,ILB LOCATE CLEANS START JUMP(DSMAX,DS) STEP(DS,DSEF,NCROSS) NCROSS > 0 ? KNOCK(DE,ICOL) MAT = 0 ? E < EABS ? SECPAR(LEFT) LEFT > 0 ? N < NTOT ? Fin oui oui oui oui oui

F i g u r e 2.1 – Diagramme de flux du programme principal penmain.f de PENELOPE.

2.2.2.3 Sp´ecificit´e du code PENELOPE : la m´ethode du random hinge Une des particularit´es du code PENELOPE pour le suivi des ´electrons est l’utilisation de la m´ethode random hinge en compl´ement de la technique d’histoire condens´ee de classe II (voir la partie 2.1.3).

Entre deux interactions catastrophiquesde la m´ethode de l’histoire condens´ee, le

random hinge simule l’ensemble des faibles d´eviations angulaires et des pertes d’´energie par un unique ´ev`enement artificiel [Fern 93]. L’´electron est d’abord transport´e selon sa direction initiale jusqu’`a une certaine distance τ ´echantillonn´ee sur l’intervalle [0, S] o`u S est la distance entre les deux interactions catastrophiques . Puis, l’´electron subit

une d´eviation angulaire χ et est d´eplac´e d’une distance S − τ . La figure 2.2 illustre le fonctionnement de la m´ethode random hinge.

Cette technique compl´ementaire `a celle de l’histoire condens´ee permet une meilleure prise en compte des d´eplacements lat´eraux et de la d´eviation angulaire pour un d´epˆot

2.2. TECHNIQUE MC EN PHYSIQUE M ´EDICALE 35 d’´energie plus r´ealiste. C’est en partie grˆace `a ce proc´ed´e que le code PENELOPE permet le suivi des particules de faible ´energie de fa¸con tr`es r´ealiste.

F i g u r e 2.2 – Simulation de l’effet global des collisions ´elastiques entre deux collisions

catastrophiques par la m´ethode Random Hinge.

2.2.2.4 Mod`ele de diffusion et ´energie d’absorption

Pour chaque mat´eriau, les param`etres propres au mod`ele de diffusion des ´electrons et positons, pr´esent´es ci-dessus, ainsi que les ´energies d’absorption associ´ees `a chaque particule sont donn´es sous l’entˆete SIMPAR dans le fichier d’entr´ee .in. Nous les

d´etaillons ci-dessous :

– EABS(KPAR,M) est le seuil ´energ´etique en dessous duquel la particule de type KPAR est absorb´ee dans le mat´eriau M. Il est d´efini pour chaque mat´eriau et type de particule ;

– C1(M) est la deflexion angulaire moyenne produite par la diffusion multiple sur un pas ´equivalent au libre parcours moyen entre deux ´ev`enements ´elastiques

catastrophiquesdans le mat´eriau M. C1 varie de 0 pour une simulation purement

d´etaill´ee `a 0,2 correspondant `a une d´eviation moyenne de 37˚ ;

– C2(M) est la fraction moyenne maximale d’´energie perdue entre deux ´ev`enements ´elastiquescatastrophiques dans le mat´eriau M. Sa valeur maximale autoris´ee

est 0,2 ;

– WCC(M) est la perte d’´energie seuil en eV pour les collisionscatastrophiquesin´e-

lastiques dans le mat´eriau M ;

– WCR(M) est la perte d’´energie seuil en eV pour l’´emission de rayonnement de frei- nage dans le mat´eriau M.

Ces param`etres jouent un rˆole important sur la pr´ecision et le temps des simulations. Ils doivent ˆetre choisis avec pr´ecaution et en connaissant les ph´enom`enes physiques mis en jeu.

2.2.2.5 D´eveloppements dans le laboratoire Parall´elisation du code

Un projet de recherche men´e dans le laboratoire a permis de d´evelopper une version parall´elis´ee de PENELOPE–2006. En effet, l’ind´ependance de chaque histoire simul´ee permet leur traitement en parall`ele. Le code PENELOPE–2006 a ´et´e parall´elis´e en utilisant l’interface MPI [Tola 06]. Ces travaux ont permis d’acc´el´erer consid´erablement la convergence des simulations.

36 CHAPITRE 2. ESTIMATION DE LA DP PAR SIMULATION MONTE CARLO Impl´ementation de diverses techniques de r´eduction de variance

Nos ´equipes ont impl´ement´e plusieurs techniques de r´eduction de variance dans la version parall´elis´ee de PENELOPE. Il s’agit des techniques du splitting angulaire, du splitting du rayonnement de freinage et enfin du splitting circulaire [Poum 08]. Certaines de ces techniques vont ˆetre utilis´ees pour le calcul de la dose hors-champ.

Impl´ementation du transport des protons

Des travaux sont en cours sur l’impl´ementation du transport des protons dans le code PENELOPE dans le cadre du projet PROUESSE de d´eveloppement d’un logiciel de planification de traitement pour la protonth´erapie.