WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Etude neutronique d'une configuration d'un cœur à  base du combustible uranium-thorium


par Hakim BOUZOURDAZ et Houssem MAKHLOUFI
Université Ferhat Abbas Sétif-1 - Master 2020
  

Disponible en mode multipage

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

ÉíÈÚÔáÇ ÉíØÇÑÞãíÏáÇ

ÉíÑÆÇÒÌáÇ ÉíÑæåãÌáÇ

íÜÜãáÚáÇ ËÜÜÍÈáÇæ íÜÜáÇÚáÇ ãÜÜíáÚÊáÇ ÉÑÇÒæ

Université Ferhat Abbas Sétif 1 1

ÜÜíØÓ ÓÇÈÚ ÊÇÍÑ ÉÜÜÜÚãÇÌ

Faculté des Sciences

ãæÜÜÜáÜÜÜÜÚÜÜáÇ ÉÜÜÜíÜÜÜáÜÜÜÜß

Département : Physique ÁÇíÒí : ãÓÞ

MEMOIRE DE MASTER

DOMAINE : Sciences de la Matière
FILIERE : Physique

SPECIALITE : Physique des Rayonnements

Thème

Étude neutronique d'une configuration d'un coeur

à base de combustible Uranium-Thorium

Présenté par : Dirigé par :

BOUZOURDAZ Hakim Dr S.E BENTRIDI

MAKHLOUFI Houssem

Promotion : 2020/2021

REMERCJI EMENT

Merci notre ALLAH de nous avoir donné le courage et la foi.

Ce Mémoire a été rendu disponible grâce à l'aide de plusieurs
personnes à qui nous tenons à exprimer notre gratitude.

Nous tenons à exprimer notre gratitude à notre encadreur de
mémoire, Mr. BENTRIDI SalahEddine pour sa patience, sa
disponibilité et surtout ses conseils avisés, qui nous ont aidés à
alimenter notre réflexion.

Nous remercions également les professeurs de l'Université Farhat
Abbas Sétif-1 en particulier les professeurs de Faculté des
Sciences, qui nous ont fourni les outils nécessaires à la réussite de
nos études universitaires.

Nous tenons à exprimer notre gratitude aux amis et collègues qui
nous ont apporté un soutien moral et intellectuel tout au long de
notre parcours à l'Université.

Nos profonds remerciements vont également à toutes
les personnes qui nous ont aidés et soutenue de prés ou de loin.

DEDICACE

Tout d'abord je remercier ALLAH qui m'avoir aidé et donné la
patience et le courage durant mon parcours d'étude.

Je dédie cet événement marquant de ma vie :

A ma chère mère pour tous ses sacrifices, son amour, sa tendresse, son soutien et ses prières tout au long de mes études,

A l'âme pure de mon père, que ALLAH lui fasse miséricorde, A mon collègue de projet de la fin d'étude HOUSSEM,

A ma chère soeur YASMINA, pour ses encouragements constants et son soutien moral,

A mes chers frères AISSA, TEYAB pour leur soutien et leurs encouragements,

A toute ma famille pour leur soutien tout au long de mon parcours

universitaire,

Que ce travail soit un accomplissement de vos soi-disant désirs, et une évasion de votre soutien indéfectible,

Merci d'être toujours à mes côtés.

« HAKIM »

DéDICACE

Je tiens à la fin de ce travail à remercier ALLAH le Tout Puissant de
m'avoir donné la foi et de me permettre d'en arriver.
Je dédie ce modeste travail à :
Ma mère qui m'a encouragée depuis mon enfance.
Mon père qui a sacrifié sa vie pour faire de moi ce que je suis
aujourd'hui.
A ma chère soeur IMEN et ma chère fiancée LINDA, source de joie
et de bonheur,
Et à toute ma famille, source d'espoir et de motivation,
A tous mes amis et collègues dans la carrière universitaire, en
particulier HAKIM, HABIB,
A vous, cher lecteur,
Que ce travail soit un accomplissement de vos soi-disant désirs, et
une évasion de votre soutien indéfectible,
Merci d'être toujours à mes côtés.

« HOUSSEM »

Remerciement : Dédicace :

Sommaire :

Liste des Figures : Liste des Tableaux :

Introduction : 1

Chapitre 1 : Notions de neutronique et physique des réacteurs 3

I. Notions sur les réacteurs nucléaires à fission : 3

I.1. Interaction neutron-matière : 3

I.2. La section efficace d'interaction nucléaire : 4

I.3. La fission nucléaire et la réaction en chaîne : 6

I.4. La criticité et le facteur de multiplication : 8

I.5. Principe et composants d'un réacteur nucléaire à fission : 10

I.6. Les grandeurs neutroniques : 14

II. Les filières nucléaires et générations de réacteurs : 14

II.1. Classification des filières nucléaires : 14

III. Le concept des Petits Réacteurs Modulaires (SMR : Small Modular Reactor) 17

III.1. C'est quoi un SMR ? 17

a. Avantages et utilisation potentielle des SMR : 17

b. Fonctionnement et technologie d'un SMR : 19

c. Le réacteur du type NuScale comme exemple d'étude : 19

Chapitre 2 : Modélisation et simulation du réacteur 21

I. Modélisation et Simulation avec le code MCNP5 : 21

I.1. Modélisation géométrique : 21

I.2. Modélisation physique : 23

II.3. Le Code de Simulation MCNP5 : 25

3.1. Description du code MCNP5 : 26

3.2. Structure du fichier MCNP : 26

3.2.1. La carte des Cellule : 27

3.2.2. Les Univers et le réseau (Universe & Lattice) : 28

3.2.3. La carte des Surfaces : 29

3.2.4. Définition des données dans MCNP : 32

a. Définition de la source : 32

i. La carte KCODE : 32

ii. La carte source KSRC : 32

b. Définition des matériaux : 33

c. Tallies : 34

II. Automatisation du calcul et interprétation des données par le langage PYTHON 35

II.1. Le Langage Python : 35

II.2. Intégration du Python dans la modélisation et simulation du réacteur : 36

II.3. Description détaillés du Code [Criticité_Crt.py] : 36

3.1 Les Bibliothèques : 36

3.2. Les paramètres initiaux : 37

a. Les variables : 37

b. Les constants : 38

3.3. Les fonctions: 39

a. La fonction Fuel (enr_U5, f_UO2) : 39

b. La fonction ZAID_Fuel(enr_U5, f_UO2) : 40

c. La fonction header(enr_U5, f_UO2, H_core): 41

e. La fonction Crt_info() : 47

f. La fonction Crt() : 47

II.4. Intégration du Python dans la production des figures : 49

4.1. Description du Code [ plot.py] : 49

4.2. Code d'interprétation graphique de contour [Plotting_FMESH.py ] : 51

4.3. Description du Code [Plot_Spectrum.py ] : 53

Chapitre 3 : Résultats et Discussion 56

I. Méthodologie de calcul : 56

II. Le calcul de test pour la recherche de la configuration critique : 56

II.1. Préparation de fichier Input : 56

II.2. Obtention de l'enrichissement critique : 57

II.3. Calcul des grandeurs neutroniques : 59

III. Calcul des configurations à combustible Uranium-Thorium : 63

III.1. Obtention de l'enrichissement critique : 63

III.2. Calcul des grandeurs neutroniques : 64

III.3. Calcul du facteur de conversion THORIUM-URANIUM-233 : 68

Conclusion : 73

Références : 75

Résumé :

Liste des Figures :

Figure 1.1 : Schéma représentatif d'une interaction binaire : neutron, noyau 4

Figure 1.2 : Section efficace de fission du noyau U235 (data from NNDC) 5

Figure 1.3 : Schéma descriptif d'une réaction en chaine e fission 8

Figure 1.4 : Extrait du calepin de notes de E. Fermi montrant les calculs de criticité développés en 1941 11

Figure 1.5 : Schéma de principe d'un coeur de réacteur nucléaire à fission. 13

Figure 1.6: Récapitulatifs des 4 générations d'installations nucléaires selon la classification du Forum GENIV 16

Figure 1.7 : Schéma artistique et descriptif d'un réacteur SMR de type NuScale 18

Figure 2.1 : Vue d'ensemble du réacteur SMR_NuScale sous forme de cylindres emboités 22

Figure 2.2 : Coupes transversale et longitudinale du réacteur 22

Figure 2.3 : La section d'un élément combustible avec son modérateur 23

Figure 2.4 : Les données des sections efficaces 49

Figure 3.1 : Organigramme montrant la procédure d'une génération d'un fichier Input MCNP5 avec un script

Python ainsi que son exécution 57
Figure 3.2 : Organigramme simplifié montrant la procédure de recherche de la configuration critique en fonction

de l'enrichissement enr_U5 58

Figure 3.3 : Spectre neutronique moyen de l'ensemble du combustible pour la configuration de test 60

Figure 3.4 : Distribution spatiale du flux neutronique au niveau de la section centrale du coeur 61

Figure 3.5 : Distribution spatiale du taux de fission au niveau de la section centrale du coeur 62

Figure 3.6 : Distribution spatiale du taux de capture au niveau de la section centrale du coeur 62

Figure 3.7 : Spectre neutronique des différentes configurations, calculé sur le volume combustible total 65

Figure 3.8 : La distribution spatiale du flux neutronique moyen des six configurations : 66

Figure 3.9 : La distribution spatiale du taux de fission des six configurations : 67

Figure 3.10 : La distribution spatiale du taux de capture des six configurations : 69

Liste des Tableaux :

Tableau 1.1 : Bilan énergétique d'une réaction de fission pour U235 ..7

Tableau 2.1 : Les propriétés physiques de la mixture. 25

Tableau 2.2 : Bibliothèque des cartes des surfaces reconnues par MCNP. 30

Tableau 2.3 : Différents tallies utilisés par MCNP. 34

Tableau 3.1 : Résultats de calcul MCNP incluant la recherche de criticité 59

Tableau 3.2: Récapitulatif des taux de réactions dans le combustible et pour chaque isotope majeur 63

Tableau 3.3 : Récapitulatif des résultats de recherche d'enrichissement critique pour les différentes configuration

Uranium-Thorium 64

Tableau 3.4 : Comparatif de la réserve fissile entre les différentes configurations 72

Introduction

1

Introduction

Introduction :

L'énergie est un élément indispensable au développement socio-économique des sociétés. Dans un monde qui espère réduire fortement les émissions de CO2, l'énergie nucléaire est une alternative sérieuse, qui a déjà démontré sa rentabilité au préalable depuis sa découverte et son exploitation il y moins d'un siècle. Aujourd'hui, les combustibles fossiles assurent encore les deux-tiers de la production mondiale d'électricité et alimentent la quasi-totalité des moyens de transports. [1] L'énergie nucléaire, à côtés des énergies renouvelables, entre autres, peut être l'un des éléments d'une stratégie fiable et équilibrée visant à décarboniser les secteurs de l'industrie, de l'immobilier, d'entreprise et des transports. L'énergie nucléaire contribue pour environ dix pour cent de la production mondiale d'électricité (situation janvier 2021). Sur les 33 pays qui exploitent des centrales nucléaires dans le monde entier, 13 - dont la Suisse - couvrent plus d'un quart de leurs besoins en électricité avec des centrales nucléaires. Sur les 36 nations de l'OCDE, 18 produisent de l'électricité via de telles centrales. Dans ces pays, la part de l'énergie nucléaire est, en moyenne, d'un peu moins de 30%. En 2020, ce sont les Etats?Unis qui ont produit le plus d'électricité nucléaire avec 94 installations (deux sont en construction), devant la France (56 réacteurs), la Chine (49 réacteurs) et la Russie (38 réacteurs).

Début 2021, on recensait dans le monde 441 réacteurs en exploitation dans 33 pays. Sur les 33 centrales nucléaires japonaises en état de fonctionnement, seules neuf étaient connectées au réseau début 2021. Les autres étaient à l'arrêt. Au Pays du Soleil Levant, depuis l'accident de réacteur de Fukushima-Daiichi, en 2011, toutes les centrales nucléaires opérationnelles ont été peu à peu déconnectées du réseau. Là-bas, les exploitants ne peuvent redémarrer les réacteurs que s'ils réussissent toutes les étapes de la procédure de remise en service renforcée.

Contrairement à l'Allemagne et à la Suisse, la plupart des autres pays disposant de l'énergie nucléaire continuent d'investir dans cette technologie qui semble être plus propre en termes d'émission carbone par rapport aux autres technologies conventionnelles. Ainsi, début 2021, 54 centrales nucléaires étaient en construction dans le monde, dont 14 en Chine. [2]

Les changements climatiques constituent aujourd'hui le principal problème écologique à l'échelle mondiale. L'électronucléaire fait partie des technologies sobres en carbone qui peuvent contribuer à réduire les émissions de gaz à effet de serre (GES) tout en mettant à disposition les quantités d'énergie toujours plus importantes qui sont nécessaires à des populations en augmentation et au développement socio-économique .Les centrales nucléaires n'émettent pratiquement pas de GES ni de polluants atmosphériques durant leur période d'exploitation et ne sont à l'origine que d'une très faible quantité d'émissions sur l'ensemble

2

Introduction

de leur cycle de vie. Le nucléaire assure la sécurité énergétique et le développement industriel en fournissant de l'électricité de manière fiable et à des prix stables et prévisibles.

Récemment, un regain d'intérêt dans certains pays, s'est manifesté à l'égard du thorium en tant que partie prenante du cycle combustible nucléaire. Bien que cet élément soit très abondant sur Terre, il n'est pas fissile et ne peut donc pas être utilisé directement comme combustible nucléaire ; son utilisation en réacteur ne peut s'envisager qu'en association avec des éléments fissiles capables d'entretenir une réaction en chaîne et produire à partir de cet élément fertile, un élément fissile, en l'occurrence l'uranium 233. De ce fait, le développement de réacteurs utilisant le thorium ne présente pas d'intérêt technico-économique sur le court ou le moyen terme, mais plutôt s'inscrit dans une stratégie de longue durée pour préserver la réserve utile du combustible fissile, notamment qu'il de plus en plus difficile de trouver des gisements d'uranium avantageux en termes de coût d'exploitation et de revient. [3]

L'intérêt pour une utilisation industrielle à court ou moyen terme du thorium se limite donc aux quelques pays, comme l'Inde, ayant des ressources importantes en thorium et limitées en uranium. C'est dans ce contexte qu'un nouveau concept a été développé dite Petit Réacteur Modulaire (Small Modular Reactor : SMR).

Le SMR est défini comme un réacteur d'une puissance électrique généralement inférieure à 300 MWe. Ces types de réactions sont plus petit que les réacteurs conventionnels et sont fabriqués et assemblées dans des usines dédiées pour être transporté ensuite sur son site d'installation. Ceci permettra de réduire le coût de construction représentant un avantage économique. D'autre part, leur conception repose sur une meilleure efficacité du confinement et plus de sûreté grâce à des dispositifs de refroidissement passifs. Les SMR peuvent également fonctionner en mode cogénération pour produire à la fois de l'eau douce et de l'électricité. Tel que défini par l'Agence internationale de l'énergie atomique qui est la possibilité de produire de l'eau douce par dessalement nucléaire à un coût socialement acceptable. [4]

Dans notre Projet de fin d'étude, nous avons utilisé le Code MCNP5 (Monte Carlo Neutron Particule version 5.0) pour faire la modélisation physique et géométrique d'un coeur de réacteur de type SMR (modèle NuScale) doté d'un combustible Uranium-Thorium. Il est question dans ce travail d'automatiser le calcul de la criticité avec le langage PYTHON en vue d'obtenir une configuration critique en fonction de quelques paramètres tel que l'enrichissement d'U-235 et la fraction volumique d'UO2 dans le combustible. On a également utilisé le même langage de programmation, moyennant certaines librairies et modules pour l'interprétation graphique des tallies concernant la distribution de flux neutronique, le taux des réactions (la fission et la capture).

Chapitre n°01

Notions de neutronique et physique des

réacteurs

Chapitre 1 Notions de neutronique et physique des réacteurs

3

Chapitre 1 : Notions de neutronique et physique des réacteurs

I. Notions sur les réacteurs nucléaires à fission :

I.1. Interaction neutron-matière :

Dès la découverte du neutron en 1932 par le physicien anglais J. CHADWICK, les expériences ont été mise en place, visant à étudier l'interaction de cette particule neutre électriquement mais aussi massive. Il a été possible de découvrir divers types d'interaction physique entre le neutron et la matière d'une manière générale. La plus pertinente est celle découverte en 1939 quelques années après la mise en évidence du neutron, par l'équipe d'Otto HAHN en Allemagne, conduisant à la découverte de la fission nucléaire. [5] Quelques années auparavant, d'autres scientifiques ont pu mettre en évidence les réactions de transmutation des éléments et isotopes par l'absorption de neutron par le noyau cible. Après la découverte de la fission nucléaire, Il a fallu 3 années de recherches intensives au physicien américain d'origine italienne, E. Fermi pour réaliser la première expérience d'une pile atomique en décembre 1942, à base de l'uranium enrichi comme combustible et du graphite comme modérateur. C'était la première expérience ou l'être humain a pu entretenir une chaine réaction de fission nucléaire pour libérer le premier Watt de puissance d'origine nucléaire.

Ainsi, le neutron étant une particule neutre, il n'interagit pas par le biais de forces coulombiennes avec l'atome en général mais il interagit plutôt avec le noyau via l'interaction nucléaire forte (Fig. 1.1). Cette interaction peut comprendre les différentes formes : [5]

o Diffusion élastique (n, n) : le neutron et le noyau cible agissent plutôt comme des corps rigides et échangent uniquement de l'énergie cinétique

o Diffusion inélastique (n, n') : le noyau absorbe le neutron ensuite le réémet avec une nouvelle énergie cinétique

o Capture radiative (n, y) : dans ce cas, le neutron est capturé par le noyau qui passe à un état excité sans réémettre le neutron, un rayonnement gamma est émis pour revenir à l'état stable

o Transmutations (n, a), (n, p), etc. : il s'agit d'une capture neutronique suivie par la réémission d'une particule alpha ou proton afin de retourner à l'état fondamental, le noyau cible se transmute en un nouvel élément chimique

o Fission (n, v n) : c'est l'interaction clé dans les systèmes multiplicateurs de neutrons, ou le neutron provoque la scission du noyau cible, généralement lourd, en plus des fragments de fission (les parties les plus lourdes obtenues en fin d'interaction), la fission

Chapitre 1 Notions de neutronique et physique des réacteurs

4

est accompagnée par l'émission d'autres neutrons, qui peuvent à leur tour provoquer d'autres réactions de fission.

Axe d'incidence

n

Noyau cible

Figure 1.1 : Schéma représentatif d'une interaction binaire : neutron, noyau

I.2. La section efficace d'interaction nucléaire :

Toutes ces réactions, sont traduites par un paramètre physique qui représente la probabilité qu'une telle ou telle réaction nucléaire puisse avoir lieu, comme une fonction de la cible et de l'énergie du neutron incident. On parle ainsi de la section efficace, par analogie à la section géométrique effective dans laquelle une collision mécanique puisse avoir lieu entre deux sphères solides. La section efficace microscopique d'interaction, notée a, quant à elle représente l'étendue de l'interaction nucléaire forte entre la particule incidente (neutron) et la cible (noyau). [6]

La section efficace microscopique est mesurée en 1barn = 10-24cm2. Elle peut être spécifique à chaque type d'interaction, comme elle peut être globale pour indiquer d'une manière générale l'interaction entre le neutron incident et le noyau cible quelque soit la nature de l'interaction. On peut écrire dans ce cas :

atot = adiff_elas + adiff_inelas + 0-Capture +
·
·
· + afiss = 6i

i

L'allure de la section efficace microscopique est obtenue à partir des données expérimentales, en mesurant des taux de réactions nucléaires R :

6 =

R

nyNdx

Avec : n: nombre de neutrons se déplaçant à la vitesse y, atteignant une cible d'épaisseur dx caractérisée par une densité atomique N

Par la suite, ces mesures sont extrapolées pour obtenir une sorte de fonction évaluée. C'est ainsi qu'on obtient les bibliothèques de données sur les sections efficaces de différents isotopes pour un intervalle d'énergie donné de neutron incident. Plusieurs bibliothèques existent dans ce sens,

Chapitre 1 Notions de neutronique et physique des réacteurs

5

ENDF, JENDL, ... qui peuvent être consultés sur des supports numériques ou via des portails internet dédiés. [6]

D'une manière générale, une section efficace microscopique d'interaction neutron-noyau est caractérisée par trois composantes majeures (voir figure 1.2) :

§ La partie linéaire en v?1 ??? valable sur un intervalle d'énergie du neutron incident E??~eV

§ La zone des résonnances, sous forme d'une série de pics (extremums d'interactions quantifiés), souvent connue comme la forêt des résonnances. Cette partie s'étend pour des énergies comprises entre quelques eV et quelques dizaines à centaines d'eV.

§ La dernière partie est la zone des neutrons rapides, elle commence juste après la seconde zone des résonnances, elle peut avoir une tendance croissante mais souvent non régulière

Figure 1.2 : Section efficace de fission du noyau U235 (data from NNDC)

On notera que l'énergie des neutrons incidents peut être considérée selon plusieurs classification, dont la plus simple qu'on citera ici est la classification en : [7]

·

Chapitre 1 Notions de neutronique et physique des réacteurs

6

Neutrons thermiques ou lents : ce sont les neutrons dont l'énergie n'excède pas 1eV. 0.025eV pour la limite thermique et 0.625eV pour la limite lente. Ils sont très efficaces en termes de fission car la probabilité qu'ils induisent une telle réaction est relativement importantes comparée au reste du spectre énergétique.

· Neutrons intermédiaires ou épithermiques : leur énergie est comprise entre la limite des thermiques ou lents jusqu'à la fin de la zone des résonances ?? ?? ? [1, ~104]eV

· Neutrons rapides : leur énergie est supérieure à 104eV

D'autre part, il est important de mentionner la section efficace macroscopique, qui est une donnée nucléaire directement mesurable et représente une valeur moyenne sur un volume donnée. Cette grandeur est liée à la densité des noyaux cibles ainsi qu'à la section efficace microscopique : [7]

??[????-1] = ??[????-3].??[????2]

En plus, l'inverse de ??[????] = 1 / ?? nous informe sur le libre parcours moyen que traverse un

neutron entre deux collisions successives. Souvent cette notion est utilisée pour mieux appréhender les milieux modérateur (réduisant la vitesse des neutrons incidents) ainsi les dimensions géométriques minimales d'une configuration dite critique.

I.3. La fission nucléaire et la réaction en chaîne :

Mis à part la fission spontanée qui peut avoir lieu pour des noyaux très lourds (??2 / = 50) et

??

qui nécessite par de particule extérieure, la fission d'un noyau provoquée par un neutron incident, dite « fission induite » comme définie plus haut, représente l'interaction principale sur laquelle repose le principe de l'énergie nucléaire depuis sa découverte jusqu'au applications développées dans les dernières 70 ans. Elle concerne essentiellement les noyaux lourds, présentant un excès en neutrons et présentant une certaine stabilité critique, qui peut être facilement brisée avec un neutron de très faible énergie. En effet, l'éclatement d'un noyau dit fissile après avoir capturer un neutron d'une certaine énergie, en deux ou plusieurs fragments, appelés « Produits de fission », est accompagnée par un dégagement d'énergie. On parle d'une réaction exothermique. [8]

Le bilan énergétique d'une telle réaction pour un noyau d'uranium 235 est résumé dans le tableau suivant :

Chapitre 1 Notions de neutronique et physique des réacteurs

7

Tableau 1.1 : Bilan énergétique d'une réaction de fission pour U235. [9]

Contribution

Énergie [MeV]

Caractéristique

 

Fragments de fission

Neutrons de fission

?? de fission

Neutrinos/anti-neutrinos

166.2

4.8

8.0

9.6

Instantanée localisée

Instantanée
délocalisée

Instantanée perdue

188.6 [MeV] ~93%

?? des PF ?? des PF

7.0

7.2

Différée

14.2 [MeV] ~7%

Total

202.8

 
 
 

Il est bien évident que la majorité de l'énergie de fission est emportée par les fragments de fission et elle principalement récupérée localement sous forme de chaleur ou énergie thermique. C'est cette énergie en question qui est exploitée dans la production énergétique basée sur l'énergie nucléaire.

Pour produire davantage de chaleur il faudrait répéter la réaction de fission autant de fois que possible pour atteindre le bilan macroscopique souhaitée, sous forme de puissance thermique ou plus précisément en densité de puissance d??[??????????

????3 ]. [9] Pour y faire, E. Fermi avait la

brillante idée en 1939, de concevoir un système qui permet la multiplication des neutrons qu'on pourra utiliser pour provoquer la fission nucléaire des noyaux d'uranium 235 déjà présent dans l'uranium naturel, avec une abondance naturelle ou bien artificiellement augmentée et on parle dans ce cas d'uranium enrichi en U235. Il faut réunir ainsi les conditions physiques et géométriques, à savoir : la quantité d'uranium nécessaire ainsi qu'une dimension suffisamment grande pour minimiser les fuites géométriques des neutrons issus de la fission pour réutiliser une fraction suffisante encore une fois dans d'autres fission, dans un cycle répété et entretenu d'une manière presque autonome par le système lui-même, sans le laisser toute fois diverger jusqu'à atteindre des puissances thermiques incontrôlables.

Chapitre 1 Notions de neutronique et physique des réacteurs

8

Figure 1.3 : Schéma descriptif d'une réaction en chaine e fission

C'est ainsi que le concept de la réaction de fission en chaîne est né (Fig. 1.3), il sera exploité par la suite pour faire diverger la première pile atomique (équivalent d'un réacteur nucléaire à fission) en décembre 1942 à l'université de Chicago. Dans ce contexte-là, il était beaucoup plus question de maîtriser l'énergie nucléaire pour des fins militaires (bombes atomiques d'Hiroshima et de Nagazaki en Août 1945). C'est bien des années après qu'on fera le retour vers le premier concept de Fermi pour produire de l'énergie thermique à base de fission nucléaire, en vue de l'exploitation de cette énergie thermique dans les centrales de production électrique. [10]

I.4. La criticité et le facteur de multiplication :

Le principal souci dans un système multiplicateur de neutrons (cas d'un réacteur nucléaire à fission) et de pouvoir contrôle ce système (modifier sa puissance, assurer la stabilité et la sûreté). Ceci est directement lié au contrôle de la réaction en chaîne, ce qui signifie le contrôle du nombre de la population neutronique dans une génération à l'autre. Ainsi, dans un réacteur nucléaire on veille toujours de garder un ratio entre les deux générations, proche de l'unité ; signifiant ainsi qu'à chaque génération on reproduit le même nombre de neutrons que précédemment. [11]

Ce ratio est défini comme « le facteur de multiplication ?? », et il est donné par :

Chapitre 1 Notions de neutronique et physique des réacteurs

9

Nombre de neutrons dans la génération Ni+1

k =Nombre de neutrons dans la génération Ni

Selon l'éloignement ou le rapprochement de k de l'unité, on définira trois situations des systèmes multiplicateurs de neutrons :

· Système sous-critique : k < 1 ; la réaction en chaîne ne peut pas être entretenue est le système s'éteindra aussitôt que la source de neutrons initiaux est retirée

· Système critique : k = 1 ; la réaction en chaîne est autoentretenue par le système et la source de neutrons initiaux peut être retirée et la population neutronique est essentiellement gérée par la fission nucléaire

· Système sur-critique : k > 1 ; la réaction en chaîne est accélérée et croissante, le système divergera rapidement et ne peut plus être contrôlée

La définition du facteur k nécessite un calcul des différents paramètres pouvant affecter la population neutronique, en termes de neutrons produits et neutrons perdus. Il s'agit essentiellement d'un équilibre entre deux phénomènes antagonistes, de création de neutrons (fission, réflexion) et d'annihilation (capture, fuite géométrique).

Dans un contexte géométrique infini, il est possible moyennant certaines considérations de définir un facteur de multiplication propre à la composition chimique et isotopique du réacteur nucléaire. Un calcul intuitif, permet d'aboutir à la célèbre formule de Fermi qui définit le facteur de multiplication infini koe :

koe = E. P. f . ?

Avec :

å : facteur de fission rapide.

p : facteur anti-trappe (capture par résonnance).

f : facteur d'utilisation thermique (absorption thermique).

ç : facteur d'absorption thermique dans le combustible.

Dans le cas d'un système défini physiquement et géométriquement comme fini, on utilisera le facteur de multiplication effectif ke f f. Ce facteur peut être écrit en fonction de koe moyennant

les probabilités de fuites géométriques correspondantes à chaque groupe énergétique des neutrons incidents :

n

keff = koe X P1 X P2 X ...X Pn= koe H Pi

i

Dans le cas particulier d'un système à deux groupes énergétiques ; neutrons lents et neutrons rapides, cette expression se réduit à :

Chapitre 1 Notions de neutronique et physique des réacteurs

10

Chapitre 1 Notions de neutronique et physique des réacteurs

11

Chapitre 1 Notions de neutronique et physique des réacteurs

k?????? = koe X ???????? X ????????

Avec :

????h: Probabilité anti-fuite des neutrons thermiques (Thermal Non-Leakage) ????: Probabilité anti-fuite des neutrons rapides (Fast Non-Leakage)

On définit également la réactivité p qui permet de mesurer la déviation du système par rapport à la criticité :

????????-1

p[??????] =

?????? ??

Ainsi, en fonction de la valeur de p on peut s'énoncer sur le statut du système de la même manière :

o

p

=

0

alors

k??????

=

1

le réacteur est critique.

o

p

>

1

alors

k??????

>

1

le réacteur est sur-critique.

o

p

<

1

alors

k??????

<

1

le réacteur est sous-critique.

Elle peut être également exprimée par rapport à la fraction totale des précurseurs /3?? de neutrons

retardés, notée /3?????? = ? /3??. Ces neutrons retardés sont en effet les neutrons qui permettent le pilotage et le contrôle du réacteur car ils sont émis à des échelles temporelles perceptibles par l'être humain. Ils sont émis par en différé par des Produits de Fission obtenus dans un état excité et qui se désexcite par l'émission d'un ou plusieurs neutrons. Ces PF sont rassemblés dans des groupes de précurseurs en fonction de leur demi-vie d'émission neutronique autour d'une valeur moyenne qui réunit ces noyaux précurseurs dans le même groupe /3??.

Ainsi, la réactivité peut être définie relativement à cette fraction effective comme :

p$[???????????? = $] =

p

/3??????

I.5. Principe et composants d'un réacteur nucléaire à fission :

Le principe d'un système critique multiplicateur de neutrons, repose sur la fission nucléaire et son entretien d'une manière presque indépendante de la source initiale de neutrons et de la rendre autonome en fonction de la composition physique et la conception géométrique du système lui-même. [12]

C'est ainsi que les premiers calculs de criticité fait à la main, ont été entrepris en premier par l'illustre physicien E. Fermi (Fig. 1.4). Actuellement un tel calcul, peut se faire d'une manière beaucoup précise mais plus complexe en utilisant des codes de calcul dédié à cette finalité.

Figure 1.4 : Extrait du calepin de notes de E. Fermi montrant les calculs de criticité développés en 1941

Pour y parvenir, il faudrait réunir trois composants principaux qui permettent la confection de base d'un coeur de réacteur nucléaire, dans lequel siège la production de l'énergie thermique à base de fission nucléaire. Ces composants principaux sont cités par ordre d'importance comme suit (Fig. 1.5):

a. Le combustible nucléaire : confectionné à partir des éléments fissiles, essentiellement de l'Uranium, qui est abondant dans la nature et qui comprend un isotope fissile, l'uranium 235, caractérisé par une demi-vie de T1,2 5 = 0.7 X 109années et une fraction atomique

naturelle (appelé enrichissement) e5?????? = 0.7202%. Le reste de l'uranium naturel est composé majoritairement de l'uranium 238, caractérisé par T1,2

8 = 4.47 X 109années et

une fraction atomique naturelle de 99.2742%, [11] en plus d'une infirme fraction de l'isotope uranium 234, issu de la filière de désintégration naturelle de l'uranium 238. Il est caractérisé par T1,2

5 = 0.245 X 106années et une fraction atomique naturelle de 0.0055%,

ce qui le rend négligeable généralement dans les calculs de criticité, ou on peut considérer que l'uranium naturel est composé essentiellement des deux isotopes majeurs U235 et U238. Pour atteindre la criticité dans un système donné, dont on veut que la géométrie soit relativement compacte, il est important d'augmenter la probabilité de fission par rapport à la capture radiative ou la fuite géométrique, c'est ainsi qu'on procède à l'enrichissement de l'uranium par des procédés physico-chimiques pour atteindre des fractions d'U235

12

supérieures à 1% ; on parle dans ce cas d'uranium enrichi. La majorité des centrales nucléaires fonctionnent avec des réacteurs avec un uranium enrichi aux environs de 5%.

Il est important de noter que dans le cycle du combustible à base d'uranium naturellement ou artificiellement enrichi et après une certaine durée de fonctionnement, un autre élément synthétique (n'existe pas dans la nature) comprenant des isotopes fissiles apparait suite à la capture radiative de l'uranium 238, appelé noyau fertile :

238 + 0??

92 ?? 1 ? 9 2??

239 ? --?

??-(23min)

239 ? --? 93 ????

??-(2.3??)

239 (24 000 ??????)

94????

Des captures successives de cette isotope peuvent conduire à la production d'autres isotopes, à savoir : 94????

240 ; 241 94???? ; 242 94???? ; 94????

244 . Ainsi on parle du cycle combustible Uranium-Plutonium, ou il est réutilisé dans certaines industries nucléaires énergétiques comme élément fissile mélangé avec certaines proportions avec de l'uranium (MOX). Dans le sens, le Thorium 232, présente le même caractère fertile de l'U238, ou il est possible d'obtenir un noyau fissile, à savoir uranium 233, suite à une capture radiative du Th232 :

232 + 0?? 233

9 0??h 1 ? 9 0??h ?--?

233 ? --? 9 1????

233 (160 000 ??????) 9 2 ??

??-(22.3min) ??-(27??)

On parle ainsi du cycle Uranium-Thorium, qui est le sujet du présent travail.

b. Le modérateur : les neutrons lents ou thermiques possèdent une très grande probabilité d'induire une fission nucléaire, d'où l'intérêt de les ralentir quand ils sont issus avec une grande énergie cinétique, des fissions nucléaires ou émis lors de la désexcitation des noyaux précurseurs. Pour faire, la cinétique des particules nous apprennent que le choix d'un matériaux léger (1 = ?? = 20) et diffuseur (?????? ?? ?? ») permet suite à des chocs élastiques successives de réduire l'énergie de ces neutrons rapides jusqu'à la ramener à l'intervalle d'intérêt ???? ? [0,1]????. Ainsi on parle d'un milieu modérateur, principalement de l'eau (légère ??2?? ou lourde ??2??)c ou un composé à base de carbone comme c'est le cas du graphite.

c. Le caloporteur : c'est un milieu qui a des propriétés thermiques et calorifiques favorables au transport de l'énergie thermique produite sur place dans le matériau fissile, dans des circuits thermo-hydraulique en vue de transformer cette énergie en énergie mécanique (turbine des générateurs). Il est choisi selon sa capacité calorifique ou chaleur spécifique ??[??. ??-1. ????-1]. L'eau est très largement utilisée dans différentes conceptions des réacteurs nucléaires, mais on peut également trouver des caloporteur gazeux, métaux liquides ou des sels fondus. [12]

d.

Chapitre 1 Notions de neutronique et physique des réacteurs

13

L'absorbant neutronique ou barre de contrôle : c'est un matériau caractérisé par une très grande section efficace de capture, d'où l'appellation « poison neutronique » signifiant qu'une présence importante de tels élément dans le coeur d'un réacteur nucléaire peut mener à l'extinction irréversible de ce dernier. Les absorbants sont utilisés de deux façons dans les réacteurs nucléaires ; sous forme liquide ou des sels sont solvés dans l'eau de refroidissement du coeur afin de réduire la population neutronique en vue de contrôler la criticité (un effet lent est obtenu dans ce cas), soit sous forme de barre solide qui peuvent être insérés à toute moment, partiellement ou totalement pour le même but avec un effet rapide. Elles sont également utilisées comme des barres de sécurité pour l'arrêt brusque du coeur, avec une insertion totale de toutes les barres d'absorbant. On citera le Bore-10, Cadmium et le Gadolinium. D'autres poisons neutroniques d'origine fissiogénique, peuvent être présents dans le combustible comme descendants de produits de fission, tels que le Samarium, Gadolinium et Xénon. Il faut donc prendre en considération leur proportion et son évolution dans le temps afin de pouvoir mieux estimer la criticité et la réactivité du système.

e. Le réflecteur : c'est un matériau qui permet d'augmenter l'efficacité de la fission et d'améliorer l'économie du bilan neutronique, en réduisant les pertes par fuite géométrique. C'est dans ce sens, qu'il disposé géométriquement autour du coeur du réacteur et il est choisi par les matériaux diffusants et moins absorbants des neutrons. Il permet ainsi de réduire la fuite des neutrons vers l'extérieur du coeur, pour des raisons d'efficacité comme on vient de l'avancer mais également pour des raisons de protection pour réduire la population neutronique à l'extérieur du réacteur. [12]

Barre de contrôle (Absorbant neutronique)

Combustible Nucléaire (U)

Modérateur

Capture (-)

Fission (+)

Modération

Figure 1.5 : Schéma de principe d'un coeur de réacteur nucléaire à fission.

Chapitre 1 Notions de neutronique et physique des réacteurs

14

I.6. Les grandeurs neutroniques :

L'étude neutronique d'un réacteur nucléaire à fission nécessite la connaissance et la définition de certains paramètres qui nous informent sur l'état du coeur à l'instant t, connaissant sa composition physique et sa conception géométrique. On retiendra : [8]

1. Densité de neutrons [n. cm-3] : Est définie comme le nombre de neutrons par unité de volume. Elle est représentée par la fonction : n(v)

2. Flux neutronique [n. cm-2. s-1] : C'est le nombre de neutrons de vitesse v, traversant perpendiculairement une surface unitaire à un instant t. il peut être écrit en fonction de la densité neutronique et la vitesse moyenne des neutrons v :

d)(v) = v. n(v)

3. Fluence [n. cm-2] : C'est le flux total intégré sur le temps. Sa notation usuelle est : '

Ltt'

4. Taux de réaction [ fission. cm-2. s-1] : Nombre de réactions de fission par unité de volume en '??', causé par des neutrons dont l'énergie est autour de E.

Ti (r'', E, t) = Ei(r'', E, t)d)(r'', E, t).

5. Puissance [Watts] : Soit un réacteur de volume V, un flux de neutron d) avec N

Noyaux /cm3. Si af est la section efficace de fission, on a : No? d) [??`????`????

????-3 ], dans tout

le volume V on aura VNafd) [fission]. La puissance réacteur est [8] :

VN

P [W] = o fd)

c

II. Les filières nucléaires et générations de réacteurs :

II.1. Classification des filières nucléaires :

Une filière nucléaire représente un ensemble complet de procédés et de technologies visant à exploiter les réacteurs nucléaires. Elle constitue un cycle d'une chaîne d'activités industrielles depuis l'extraction des minerais d'uranium, leur traitement, fabrication et conditionnement du combustible nucléaire, le fonctionnement des réacteurs et la conversion de l'énergie nucléaire en électricité ou énergie thermique selon le besoin, le retraitement du combustible usé, le recyclage et la gestion des déchets nucléaires (stockage ou entreposage définitif) et finalement le démantèlement de ces installations. Pour définir une filière nucléaire on l'associe principalement au type du réacteur nucléaire qui lui -même est distingué par rapport à d'autres, en fonction du : [13]

·

Chapitre 1 Notions de neutronique et physique des réacteurs

15

Combustible : ça comprend UO2 naturel, plus ou moins enrichi ; les mélanges d'oxydes uranium-plutonium (MOX), mélange d'oxydes uranium-thorium

· Modérateur : sa présence signifie qu'on vise à utiliser beaucoup plus les neutrons thermiques pour provoquer la fission, pour cela on peut utiliser de l'eau légère ou lourde, le graphite ou du béryllium. Les réacteurs à neutrons rapides, plus compactes et plus enrichi ne nécessite pas de modérateur.

· Fluide Caloporteur : eau pressurisée, eau bouillante, gaz (hélium, CO2), métal liquide, sels fondus

Une génération de réacteur correspond aux progrès majeurs intégrés la génération en question en termes de sûreté de fonctionnement, de sécurité et d'économie du combustible ou encore de compétitivité.

Conventionnellement, il existe quatre générations d'installations nucléaires :

- Les réacteurs de la 1ère génération : ce sont les prototypes et les premiers réacteurs de taille industrielle à usage commercial mis en service entre 1950 et 1970. Ils sont entrés en service et exploités d'une manière opérationnelle avant les années 1970. IL s'agit essentiellement des installations d'après-guerre (1939-1945). Ces réacteurs devaient faire la démonstration du potentiel de la puissance atomique mise au service de l'énergie civile. Des réacteurs à uranium naturel comme combustible, le graphite comme modérateur et gaz carbonique comme caloporteur (UNGG). [13]

- Les réacteurs de la 2nd génération : ces réacteurs sont entrés en service à partir des années 1970. Ils correspondaient à la nécessité d'une meilleure compétitivité de l'énergie nucléaire et d'une amélioration de l'indépendance énergétique, dans un contexte de fortes tensions sur le cours des énergies fossiles (choc pétrolier de 1973). La majorité des réacteurs actuellement en exploitation dans le monde sont des réacteurs de génération 2. Il s'agit notamment des Réacteurs à Eau Pressurisée (REP) ou à eau bouillante (REB). On notera également quelques réacteurs à neutrons rapides (RNR) mais dont le développement a été fortement réduit à cause des polémiques sur l'énergie nucléaire et les déchets produits à haute activité radioactive, surtout lors des accidents pouvant survenir lors du fonctionnement de ces installations (accidents Tchernobyl et Three miles Island). [13]

- Les réacteurs de 3ème génération : C'est la génération en cours de développement et qui s'apprête à prendre progressivement le relais. Elle est beaucoup plus regardante en termes de sûreté et de sécurité (résistance renforcée aux agressions externes, type chute d'avion). Ces réacteurs tirent les enseignements du retour d'expérience de

Chapitre 1 Notions de neutronique et physique des réacteurs

16

l'exploitation des réacteurs de génération 2, des accidents de Three Miles Island et de Tchernobyl ainsi que des attentats du 11 septembre 2001. Trois réacteurs sont en projet et qui répondent à ces critères : l'EPR (european pressurized reactor), l'AP1000 (advanced pressurized de 1 000 MWe) américano-japonais et l'AES 2006, dernier modèle de 1 200 MWe du VVER russe.

- Les réacteurs de la 4ème génération : correspond aux réacteurs, actuellement en conception, qui pourraient voir un déploiement industriel à l'horizon 2040-2050. Ils sont en rupture technologique totale avec tout ce qui a été réalisé jusqu'à présent. Les recherches sur ces systèmes du futur sont menées dans le cadre du Forum international Génération IV qui a établi les quatre critères auxquels ils devront répondre : la durabilité, la sûreté, la compétitivité économique et la résistance à la prolifération nucléaire. [13]

Figure 1.6 : Récapitulatifs des 4 générations d'installations nucléaires selon la classification du Forum

GENIV

Selon le Forum International Generation IV, qui est une initiative du département d'énergie américain pour instaurer une collaboration internationale en termes de classification et développement des systèmes nucléaires de 4ème génération, six configurations sont retenues dans une première phase de recherche et développement, à savoir [13]:

· Réacteur à Neutrons Rapides à Caloporteur Gaz (GFR : Gaz-cooled Fast Reactor)

·

Chapitre 1 Notions de neutronique et physique des réacteurs

17

Réacteur à Neutrons Rapides à Caloporteurs Plomb (LFR : Lead-cooled Fast Reactor)

· Réacteur Nucléaire à Sels Fondus (MSR : Molten Salt Reactor)

· Réacteur à Neutrons Rapides à Caloporteur Sodium (SFR : Sodium-cooled Fast Reactor)

· Réacteurs Nucléaire à Très Haute Température (VHTR : Very High Temperature Reactor)

· Réacteurs à Eau Supercritique (SCWR : SuperCritical Water Reactor)

III. Le concept des Petits Réacteurs Modulaires (SMR : Small Modular Reactor)

III.1. C'est quoi un SMR ?

Selon les instances officielles internationales et mondiales de l'énergie nucléaire, on désigne conventionnement par un Petit Réacteur Modulaire (ou Small Modular Réacteur), tout réacteur à fission nucléaire appartenant à la catégorie des réacteurs produisant une puissance électrique nette inférieure ou égale à 300??????. [14] Il faut savoir que les SMR ont été déjà utilisé, initialement comme réacteurs de recherche, ensuite comme solution militaire pour la propulsion navale et éventuellement pour les engins spatiaux (satellite, station spatiale, navette spatiale...). Actuellement ils refont surface avec un concept totalement nouveau et assez innovant dans l'industrie nucléaire énergétique.

a. Avantages et utilisation potentielle des SMR :

Il faut dire que c'est cet aspect modulaire qui rend les SMR beaucoup plus attractifs et prometteurs pour concurrencer dans le marché énergétique mondiale, d'autres solutions plus vertes et plus écologiques. Il est prévu de concevoir et de construire un SMR prêt pour être installer sur site, une fois acheminé par un transport logistique relativement accessible vu les tailles des SMR qui sont en cours de développement.

Ces derniers se base essentiellement soit sur les technologies déjà utilisé (Génération II+) ou bien sur des technologies nouvelles (Génération III+), en alternant entre les différentes filières existantes et celles en cours de recherche et de développement.

Les spécificités des cahiers de charges des projets SMR ont été dictées par l'observation des problèmes rencontrés par les projets de réacteurs en cours ; à savoir :

1. Une taille/puissance plus réduite que celle des réacteurs existants : 10 à 100 MWe dans la plupart des cas, et au maximum 300 MW, contre 900 à 1 700 MW. Ceci permet déjà de réduire les coûts (principal obstacle rencontré par les projets nucléaires de nombreux pays)

Chapitre 1 Notions de neutronique et physique des réacteurs

18

et d'adapter la solution nucléaire à des sites isolés, souffrant habituellement d'un manque de main-d'oeuvre qualifiée et de coûts élevés de réalisation.

Figure 1.7 : Schéma artistique et descriptif d'un réacteur SMR de type NuScale

2. Un caractère modulaire standardisé (figure 1.7), diminuant les couts et les délais de livraison, par l'industrialisation des composants et du montage. Ceci représente en effet, une adaptation progressive de la puissance de la centrale à l'évolution des besoins, tout en rendant possible l'extension de puissance par un montage d'un réseau de modules supplémentaires [15] ;

3.

Chapitre 1 Notions de neutronique et physique des réacteurs

19

Un confinement plus aisé, grâce à l'intégration des composants dans un volume réduit et hermétiquement clos. Ce qui permet de réduire les risques de prolifération et permettre une gestion réduite au strict minimum. Ainsi, certains SMR sont conçus pour être immergés dans une piscine ; voire même construits en souterrain pour accroître leur sécurité ;

4. Une fabrication et un assemblage possible dans une usine dédiée, avant envoi sur le site où ils peuvent être installés plus facilement qu'un réacteur classique.

5. Ils présentent une certaine souplesse, dans la mesure où il n'est pas nécessairement connecté à un vaste réseau électrique, et peut être combinés avec d'autres modules s'il faut produire plus d'électricité. [15]

b. Fonctionnement et technologie d'un SMR :

Les petits réacteurs modulaires (Small Modular Reactors) sont une catégorie de réacteurs nucléaires à fission, de taille et puissance plus faibles que celles des réacteurs conventionnels, fabriqués en usine et transportés sur leur site d'implantation pour y être installés. Les réacteurs modulaires permettent de réduire les travaux sur site, d'accroître l'efficacité du confinement et la sûreté des matériaux nucléaires. Les SMR (d'une puissance de 10 à 300 MW) sont proposés comme une alternative à moindre coût, ou comme complément, aux réacteurs nucléaires conventionnels. Les concepts de SMR sont très variés y comprennent des réacteurs à neutrons thermiques et réacteurs à neutrons rapides qu'ils peuvent être conçus pour pouvoir se reproduire. Lorsque ces réacteurs produisent de l'électricité, ils émettent suffisamment de neutrons pour convertir les éléments non fissiles en éléments fissiles. ; certains de ces SMRs sont des versions simplifiées des réacteurs existants, d'autres mettent en oeuvre des technologies entièrement nouvelles. Tous utilisent la fission nucléaire. [16]

c. Le réacteur du type NuScale comme exemple d'étude :

Dans le domaine des réacteurs SMR, NuScale Power, basé à Portland (Oregon) dans les Etats-Unis d'Amérique, est parmi les entreprises pionnières qui se sont lancés dans cette filière de recherche et de développement des nouveaux SMR [17]. On pourra également citer, la firme Oklo .inc qui développe actuellement son modèle phare « Aurora » à côté de l'entreprise TerraPower, la société d'innovation nucléaire soutenue par Bill Gates, qui s'est lancé dans le développement d'un nouveau petit système de réacteur modulaire associé à une unité de stockage à sel fondu. Ce nouveau concept, baptisé Natrium, est développé en partenariat avec GE Hitachi Nuclear Energy.

Dans le présent travail on s'est intéressé au modèle NuScale (35MWe) pour appliquer la modélisation et la simulation MNCP5 ainsi que l'automatisation de calcul via le langage Python, en prospectant un mélange de combustible Uranium-Thorium.

Chapitre 1 Notions de neutronique et physique des réacteurs

Pour ce modèle d'étude, Le concept de base était basé sur les configurations utilisées dans un REP type. Cette approche permet l'utilisation de l'expertise actuelle de l'industrie et des capacités de fabrication. Le coeur utiliserait 17x17 assemblages combustibles (Carburant UO2, ou mixture UO2/ThO2). Les combustibles à base d'uranium et de thorium-uranium sont évalué avec plusieurs proportions et l'enrichissement correspondant à la criticité de l'assemblage est défini en utilisant un calcul automatisé faisant appel au code MCNP5 via un script Python. Le coeur en question est composé d'un bloc carré intérieur de 16 assemblages et les 8 assemblages périphériques sans barres de commandes [18].

20

Chapitre n°02

Modélisation et simulation du réacteur

Chapitre 2 Modélisation et simulation du réacteur

21

Chapitre 2 : Modélisation et simulation du réacteur

I. Modélisation et Simulation avec le code MCNP5 :

Dans ce chapitre on va présenter l'essentiel de la modélisation géométrique et physique du réacteur étudié et ce en utilisant le code MCNP5. Le but de cette partie est d'établir une méthode semi-automatique transcrite en « Python » pour la génération d'une configuration donnée (fichier INPUT), lancer le calcul et vérifier le résultat en lisant la sortie (fichier OUTPUT) et modifier l'entrée encore une fois si nécessaire pour déterminer l'enrichissement critique correspondant. En utilisant les tallies disponibles dans le MCNP5, il sera également question de définir certains paramètres neutroniques de ce coeur, tel que le flux et les taux de réaction.

I.1. Modélisation géométrique :

La première étape d'une modélisation numérique dans le calcul des réacteurs est bien de définir la géométrie du système. Pour faire, et selon le modèle du réacteur choisi, type : SMR de la compagnie : NuScale, il est question de définir 24 assemblages carrés (17 x 17) de crayons de combustible, le tout plongé dans un volume cylindrique rempli d'eau légère, contenu dans un baril métallique (en fer inoxydable). La géométrie cylindrique est un très bon choix en effet, pour modéliser ce genre de coeur de réacteur nucléaire, tant que les assemblages sont disposés selon une symétrie axiale qui permet une certaine distribution spatiale symétrique des grandeurs physiques.

Dans la présente étude on considère cinq volumes cylindriques depuis l'extérieur (Fig. 1) :

1. Le conteneur du circuit primaire du réacteur (Primary reactor Vessel) en acier inoxydable d'une épaisseur de 15 cm, d'un rayon externe de 137 cm et d'une hauteur totale de 374.8cm ;

2. L'eau du circuit primaire de refroidissement compris entre les parois internes du conteneur du circuit primaire et la surface externe du baril qui contient le coeur du réacteur (d'un rayon de 85cm) et une hauteur effective de 344.8cm ;

3. Le baril du coeur (Core barel), c'est le conteneur immédiat de l'assemblage combustible, d'une épaisseur de 10cm, avec un rayon externe de 85cm et d'une hauteur totale de 176cm ;

4. Piscine intérieure du coeur ou le volume d'eau dans lequel baigne l'assemblage du combustible (coeur du réacteur), elle est d'un rayon de 75cm et d'une hauteur effective de 156cm ;

Chapitre 2 Modélisation et simulation du réacteur

5. Le coeur composé de 24 assemblages carrés (17x17) de crayons combustibles, disposés selon deux grands axes perpendiculaires de 06 assemblage chacun et le reste est disposé d'une manière identique sur chaque quart du système (Fig. 2.2).

L'eau

R

R'

e1

e2

Le Coeur du réacteur

Le Conteneur

Baril du Coeur

Figure 2.1 : Vue d'ensemble du réacteur SMR_NuScale sous forme de cylindres emboités

22

(XY) (XZ)

(a) : la projection axiale (b) : la projection longitudinale

Figure 2.2 : Coupes transversale et longitudinale du réacteur

Chapitre 2 Modélisation et simulation du réacteur

23

I.2. Modélisation physique :

Nous considérons un combustible sous forme de mixture homogène d'Uraninite (UO2) et de Thorite (ThO2). Le crayon est enveloppé d'une protection en Zircolay-4 avec une séparation de vide d'une soixante de microns. L'élément combustible est montré dans la figure 3 ci-dessous. Les fractions d'UO2 et de ThO2 sont reliées par l'équation d'unitarité suivante :

??????2[%] + ????h??2[%] = 1.00 = 100%

Ainsi, une fois l'un des deux paramètres est fixé, par exemple??????2[%], il serait trivial d'obtenir l'autre paramètre ????h??2[%] = 100 - ??????2[%] pour définir la constitution de notre combustible en termes des fractions isotopes majeurs de l'uranium et l'isotope unique du thorium, à savoir :

235 ; 9 2 U

92 U 238 et 90??h

232 .

Figure 2.3 : La section d'un élément combustible avec son modérateur

L'ensemble Crayon combustible + gaine de protection est complètement baigné dans un volume carré d'arrêt 1.2626????, comme c'est montré sur la figure 2.3. Cette structure est répétée 289 fois (17 x 17) pour obtenir un assemblage carré. Ce dernier est également répété 24 fois, ce qui donne un total de 6936 crayons combustible dans l'ensemble du coeur.

De cette manière, on définira un combustible comme étant fonction de deux paramètres principaux : la fraction volumique de l'uraninite dans le combustible ??????2[%] et l'enrichissement en 235 U de cette fraction, noté ????????5[%]. Le tableau ci-dessous donne les valeurs de constantes physiques et atomiques des éléments constituants du combustible et son

Chapitre 2 Modélisation et simulation du réacteur

24

modérateur et la définition de la masse volumique du combustible considéré comme un mélange incompressible de deux matériaux incompressibles. Ainsi, il est évident d'écrire :

f9

Pfuet [Cm3] = fu02 X PU02 + fTh02 X PTh02

La fraction de chaque isotope sera obtenue à partir de cette densité ainsi que les fractions massiques correspondantes de chaque composant. Ceci dit, la masse molaire de l'uranium est fonction de l'enrichissement en 92 ??

235 :

MU = MU5 X enrD5 + Mug X (1 - enru5)

En plus de éléments qui seront nécessaires pour la définition physique du réacteur, on utilisera la composition de la gaine en Zircolay-4 ainsi que l'acier inoxydable utilisé comme conteneur mécanique.

Zircolay-4 : alliage de zirconium (98,23 % en masse), d'étain (1,45 %), de chrome (0,10 %), fer (0,21 %), et hafnium (< 0,01 %).

Acier inoxydable () : 50% de fer, au moins 10,5% de chrome et moins de 1,2% de carbone.

Les propriétés physiques de la mixture

Ingrédient

Formule
Chimique

Masse Molaire

p(g/cm3)

Fraction(%)

Combustible

UO2

269.747

10.6

VUO2

ThO2

264.036

9.86

VThO2

Modérateur

H2O

18.0148

1.0

VH2O

Zircaloy-4

Zy4

alliage de zirconium
(98,23 % en masse), d'étain
(1,45 %), de chrome
(0,10 %), fer (0,21 %), et
hafnium (< 0,01 %).

6.56

--

Acier

inoxydable

Inox

50% de fer, au moins 10,5%
de chrome et moins de
1,2% de carbone.

7.76

--

Composition chimique et isotopique

Isotope

Masse
atomique
(g/mole)

La fraction massique (g/cc)

La fraction atomique
(atom/
barn.cm)

Chapitre 2 Modélisation et simulation du réacteur

25

U235

M5 =

235.04

f5= (VUO2 X PUO2 × MU235 × e5) / (MU235 × e5 + MU238 × (1-e5) + M0 × 2)

F5= (f5/M5) × NA× 1E-24

U238

M8 =

238.05

f5= (VU238 X PUO2 × MU238 × (1- e5) /
(MU235 × e5 + MU238 × (1-e5) + M0 × 2)

F8= (f8/M8) × NA× 1E-24

Th232

MTh =

232.03806

fTh=VTh×PTh×MTh/(MTh+M0×2)

FTh=(fTh/MTh) × NA × 1E-24

H

MH = 1.0079

fH=VHPH2o×MH×2/(MH×2+M0)

FH= (fH/MH) × NA× 1E-24

0

MO = 15.999

(ToT)=f(U02)+f0(H20)+f0(Th02)

FO= (fO/MO) × NA× 1E-24

Zirconium (Zr)

MZr = 91,224

/

/

Etain (Sn)

MSN = 118,71

/

/

Chrome (Cr)

MCr =

51,9961

/

/

Fer (Fe)

MFe= 55,845

/

/

Carbone (C)

MCr =

12,0107

/

/

Hafnium (Hf )

MHf = 178,49

/

/

Tableau 2.1 : Les propriétés physiques de la mixture.

II.3. Le Code de Simulation MCNP5 :

Le nom de code MCNP est l'abréviation Monte Carlo N-Particle, et il désigne un logiciel codé en Fortran et basé sur les méthodes Monte-Carlo. Ces méthodes basées sur les nombres aléatoires ont été inventé dans les années quarante par les scientifiques Nicholas Metropolis et

Chapitre 2 Modélisation et simulation du réacteur

26

Stanislas Ulam, durant leur implication dans le projet américain d'armement nucléaire MANHATTAN, à Los Alamos. [19]

Ce code permet de simuler le transport des particules neutres et chargés (neutrons, photons, électrons) dans la matière, en se basant en particulier le calcul neutronique des réacteurs nucléaires. Il a été développé et toujours sujet de développement par le laboratoire de recherche américain "Los Alamos National Laboratory" (LANL). Aujourd'hui, il représente le code de calcul le plus utilisé dans des applications orientées vers l'utilisation des radiations en physique médicale, la neutronique, la radioprotection et la physique des détecteurs.

3.1. Description du code MCNP5 :

Le code MCNP consiste en une méthode probabiliste qui permet la résolution de l'équation de transport par une méthode de tirage aléatoire. Chaque particule émise aura une histoire propre à elle. Il suit chacune des particules émises depuis leur naissance jusqu'à leur disparition en tenant compte des probabilités d'interactions avec les différents matériaux rencontrés, représentées par les sections efficaces dans les librairies annexes au code. Pour générer un fichier d'entrées, il est nécessaire de définir certaines parties nécessaires pour le déroulement du calcul. Ces parties, appelées cartes (CARD) sont essentiellement : les cellules autant que volumes dans l'espace, les surfaces englobant les cellules, les matériaux contenus dans ces cellules, ainsi que les paramètres de la simulation et le type de réponses souhaitées. [19] 3.2. Structure du fichier MCNP :

Comme il a été mentionné plus haut, le fichier d'entrée doit contenir des informations sur la géométrie du problème à simuler : Surfaces et Cellules, la composition physique du problème : les matériaux : leurs compositions élémentaires et/ou isotopiques, leurs densités massiques, les sections efficaces correspondantes aux réactions physiques prévues, localisation et caractéristique de la source initiale, les réponses qu'on souhaite récupérer et la technique de réduction de variance pour optimiser les calculs .

D'une manière générale, le fichier d'entrée est composé de trois blocs :

Titre (1 ligne)

Les Cellules : des volumes construits à partir des surfaces et plans Une ligne vide de séparation obligatoire

Les surfaces : ça permet de délimiter les volumes constituants du problème à simuler

Une ligne vide de séparation obligatoire

Données physiques : Matériaux, Sources, Tallies, Mode, ...

Chapitre 2 Modélisation et simulation du réacteur

3.2.1. La carte des Cellule :

La cellule est identifiée par un nombre qui lui est attribuée et sera utilisé par la suite pour la reconnaître et la différencier des autres cellules. Elle est constituée d'un volume rempli de matériau ou de vide. Dans le premier cas, la masse volumique du matériau en question doit être fournie. Cette densité peut être indiquée soit par une valeur positive (densité ou fraction atomique), soit par une valeur négative (masse volumique en g/cc). Une cellule est construite à partir d'une ou plusieurs surfaces et doit présenter un volume fermé. Cette construction est possible avec les opérateurs algébriques d'intersection « : » ou d'union « ». Il est également possible de construite une cellule comme la soustraction d'un petit volume à partir d'un plus grand volume (volume complémentaire « # »). Ce dernier est utilisé dans des systèmes à volumes emboîtés.

La cellule est déclarée sous cette forme : [19]

j m d geom params

avec

j : numéro de la cellule donné par l'utilisateur;

m : numéro du matériau qui occupe le volume de la cellule si elle n'est pas vide;

d : densité du matériau (+ : atomes/cm3) ou (- : en g/cm3) ;

geom : c'est l'ensemble des surfaces qui délimite le volume de la cellule incluant les opérateurs booléens;

params : optionnel, utilise des mots clé comme IMP (importance de la particule), Vol(définit le volume de la cellule si le MCNP ne peut pas le calculer).

Dans notre cas, on présente un exemple de carte cellules introduite dans l'input MCNP :

1

3

-1.0 -3000 -2000 1000

(60:50:-40) IMP:N=1

 

2

2

-7.76 40 -50 -60

(30:20:-10) IMP:N=1

 

3

3

-1.0 -30 -20

10 (5:-6:7) IMP:N=1

 

4

2

-7.76 -6000 -5000

4000 (3000:2000:-1000)

IMP:N=1

5

0

6000:-4000:5000

IMP:N=0

 

27

Chapitre 2 Modélisation et simulation du réacteur

28

3.2.2. Les Univers et le réseau (Universe & Lattice) :

Comme dans les réacteurs nucléaires sont construits à partir d'une répétition d'assemblage identiques d'une manière complète ou partielle, il est souvent pratique d'utiliser la carte Universe et Lattice (Univers et Réseau) dans la construction géométrique des cellules constituant le coeur du réacteur. Un univers est constitué d'un ensemble de cellules emboîtées dans un même volume global, donc il est relativement plus complexe géométriquement par rapport à un simple volume sphérique, cylindrique ou même cubique [19]. C'est le cas d'un élément combustible qui baigne dans son volume de modérateur. Dans ce cas, on modélise le crayon combustible par un long cylindre, inclus une gaine de protection et le tout est présent dans un volume parallélépipède de section carré et qui est rempli d'eau (Fig. 2.3). Une fois la cellule UNIVERSE est définie, il est possible désormais de la répéter n fois et autant qu'on le veut pour construire notre assemblage de combustible, lui-même défini comme un univers contenant plusieurs d'autres univers identiques, et ce avec l'option FILL (remplir). Par la suite, l'ensemble du coeur est construit à partir d'un arrangement judicieux des assemblages de combustibles dans leur espace et géométrie qui leur est dédiée.

7 0 -5 6 -7 IMP:N=1 FILL=6 $reactor core universe 6 0 1 -2 3 -4 IMP:N=1 U=6 LAT=1 FILL=-4:3 -4:3 0:0 &

C universe 6

is

geometrical arrangement of

fuel

assemblies

5

5 5

5 5 5 5

5

&

 
 
 
 
 
 

5

5 5

1 1 5 5

5

&

 
 
 
 
 
 

5

5 1

1 1 1 5

5

&

 
 
 
 
 
 

5

1 1

1 1 1 1

5

&

 
 
 
 
 
 

5

1 1

1 1 1 1

5

&

 
 
 
 
 
 

5

5 1

1 1 1 5

5

&

 
 
 
 
 
 

5

5 5

1 1 5 5

5

&

 
 
 
 
 
 

5

5 5

5 5 5 5

5

 
 
 
 
 
 
 

C

les

univers

1

et

4

sont

définis

ici comme

des

réseaux

C univers

1 (zone 1)

10

0

100

-200

300 -400 IMP:N=1 U=1 LAT=1 FILL=11 $fuel box

11

3

-1.0

700

IMP:N=1 U=11 $out of cladding filled with water

12

4

-6.5

800

-700 IMP:N=1 U=11 $Zircaloy cladding

13

0

900

-800

IMP:N=1 U=11 $void gap

14

1 -{Rho_Fuel:.7f} -900 IMP:N=1 U=11 $fuel pin

Les univers 7, 6, 5 et 1 sont introduits dans l'input MCNP comme suit :

Chapitre 2 Modélisation et simulation du réacteur

C univers 5 (rempli d'eau)

50 -1.0 1 -2 3 -4 IMP :N=1 U=5

3.2.3. La carte des Surfaces :

La définition des surfaces nécessaires pour la construction des cellules, intervient bien après la définition de celles-ci. Même si cet ordre semble parfois non conforme, il est basé sur l'importance de l'intuition humaine dans conception de la géométrie (disposition des volumes) qu'on veut utiliser, pour faire ressortir par la suite le besoin en surfaces utilisables.

Les surfaces sont définies comme suit : [19]

j geom a liste

j : est un nombre compris entre 1 et 99999 désignant le numéro de la surface, geom : représentent l'abréviation d'une surface comme mot clé reconnue par le programme MCNP pour définir une surface ou un plan. Ces dernières sont données dans le tableau 2.2 a : sont les coefficients de l'équation de la surface qui nous permettent de définir, l'emplacement de la surface, ses dimensions caractéristiques (Rayon d'une sphère ou cylindre) et son orientation.

29

30

Chapitre 2 Modélisation et simulation du réacteur

Tableau 2.2 : Bibliothèque des cartes des surfaces reconnues par MCNP [19].

Ainsi, on donne dans l'exemple suivant, les surfaces utilisées dans notre géométrie :

Chapitre 2 Modélisation et simulation du réacteur

C The Surface Block

1 PX -21.42 $ half of 21.42 cm = 17*1.26 cm

2 PX 0

3 PY -21.42

4 PY 0

5 CZ 70

6 PZ -{H_core/2:.2f}

7 PZ {H_core/2:.2f}

10 PZ -{H_core/2+28.00:.2f}

20 PZ {H_core/2+28.00:.2f}

30 CZ 75 $ ~ external radius of zone4

40 PZ -{H_core/2+38.00:.2f}

50 PZ {H_core/2+38.00:.2f}

60 CZ 85 $ for 20-cm radial reflector

C another cylinder

1000 PZ -{H_core/2+122.40:.2f}

2000 PZ {H_core/2+122.40:.2f}

3000 CZ 122

4000 PZ -{H_core/2+137.40:.2f}

5000 PZ {H_core/2+137.40:.2f}

6000 CZ 137

C for 7 cells per assembly side of 21.42 cm (factor of 17/7 on standard dimensions)

the box pitch the box pitch the box pitch the box pitch

100

PX

0

$

1st

surface

of

200

PX

1.2626

$

2nd

surface

of

300

PY

0

$

3rd surface

of

400

PY

1.2626

$

4th

surface

of

31

32

Chapitre 2

 
 
 
 

Modélisation et simulation du réacteur

700

C/Z

0.6313

0.6313

0.47610

$

Zircalloy cladding

800

C/Z

0.6313

0.6313

0.41895

$

void gap

900

C/Z

0.6313

0.6313

0.41295

$

fuel pin

On notera que dans notre cas, la hauteur du coeur a été prise comme un paramètre ou variable, qui sera gérée par un code Python qu'on écrit dans ce sens.

3.2.4. Définition des données dans MCNP :

a. Définition de la source :

MCNP comprend plusieurs types de source, à titre d'exemple on citera : la source générale définie par la carte SDEF, la source de surface définie par la carte SSR et la source de criticité généralement utilisée conjointement avec la carte de criticité KCODE.

Nous allons nous intéresser à la dernière source étant donné que nous traitons un problème de criticité.

i. La carte KCODE : apparaît sous le format : [19]

KCODE nsrck rkk ikz kct

nsrck: donne le nombre de neutrons par cycle.

rkk : donne la valeur initiale de keff.

ikz : donne nombre de cycles à ne pas prendre en considération dans le calcul final,

kct : donne le nombre total de cycles.

La carte KCODE est introduite dans l'input MCNP de notre modèle comme suit :

************* Criticality card ***************************** KCODE 4000 1 50 150

ii. La carte source KSRC :

Dans tous les problèmes de calcul neutronique avec MCNP, il est nécessaire d'utiliser une source de neutrons, notamment dans le calcul de criticité. Il donc impératif de la source initiale de neutrons qui provoqueront par la suite de la fission et vont générer à leur tour des sources de neutrons induits. Dans notre cas, une source du type ksrc [19] est utilisée et elle est définie par les positions X, Y et Z des sites sources de neutrons de fissions dans le problème. Il est important de choisir des positions appartenant à des volumes contenant de la matière fissile. Elle prend le format suivant :

ksrc x1 y1 z1 x2 y2 z2 ... xn yn zn

Chapitre 2 Modélisation et simulation du réacteur

33

ksrc : nom de la carte définissant la position de la source de fission initiale, xk yk zk : position de la source de fission initiale. Dans notre problème, on a défini quelques points sources se trouvant dans les crayons combustibles (centre des cylindres combustibles) :

KSRC -33.4 33.4 0 33.4 33.4 0 -33.4 -33.4 0 33.4 -33.4 0

& -22 22 0 22 22 0 -22 -22 0 22 -22 0

b. Définition des matériaux :

Les matériaux constituants la cellule sont définis par la carte :

Mm zaid1 fraction1 zaid2 fraction2...

m: est le numéro du matériau qui rempli une ou plusieurs cellules, le 0 est réservé pour le vide
zaid : Cette entrée se décompose en identifiant atomique et isotopique ZZZAAA.nnx, où Z est

le numéro atomique de l'élément considéré, A sa masse atomique, ainsi qu'un identifiant nn désignant la bibliothèque de section efficace utilisée dans le calcul et la classe de la bibliothèque donnée par x : c pour continue (spectre continu) et d pour discontinue (en groupes d'énergie). Fraction : est la fraction atomique ou massique du constituant i (élément/isotope) du matériau en question. Une fraction négative désigne une fraction/densité massique et une fraction positive désigne une fraction/densité atomique. [19]

La carte des matériaux est introduite dans l'input MCNP comme suit :

C Material Card

C Fuel composition

m1 92238.60c {-d_U8:.7f} &Uranium 238 92235.60c {-d_U5:.7f} &Uranium 235 90232.60c {-d_Th:.7f} &Thorium 232 8016.60c {-d_O16_Fuel:.7f} $ Oxygen 16

C Stainless steel composition

m2 6000.60c 0.08 14000.60c 2.00 24000.42c 19.50 25055.60c 1.50 &

26000.42c 67.34 28000.42c 9.50

C Water composition

m3 1002.60c 2 8016.60c 1

mt3 hwtr.01t

C Cladding made from Ziraloy

m4 40000.60c 0.988548 8016.60c 0.00773128 26056.60c 0.00372108

Chapitre 2 Modélisation et simulation du réacteur

34

c. Tallies :

Le code MCNP dispose de plusieurs enregistreurs, appelés Tallies qui permettent d'enregistrer la réponse du système ou la grandeur d'intérêt. Souvent cette grandeur est normalisée au volume ou au nombre de particules sources, ce qui nécessite un traitement numérique pour retrouver les grandeurs physiques souhaitées. L'essentiel de ces tallies est résumé dans le tableau 2.3 ci-dessous. Dans notre étude et selon l'usage dans les problèmes de neutroniques, le tally de flux de volume F4 est souvent le plus utilisé [19], moyennant une carte de multiplication FM qui permet de passer d'une grandeur brute (flux neutronique) à des grandeurs qui lui sont dépendantes (taux d'interaction, énergie déposée, ...).

Dans ce cas de figure il est nécessaire d'indiquer au code de calcul ou veut-on calculer le flux de volume, c-à-d les cellules d'intérêts, généralement il s'agit des cellules contenant de la matière fissile pour étudier le comportement du combustible ou des cellules contenant des matériaux ou échantillons à irradier. D'une manière générale, un tally est défini comme suit :

Fkn: X S1 S2 ... Sn tally de surface

Fkn: X C1 ... Cn . tally de volume

Avec :

k : un nombre entre 0 et 99 destiné à différentier les tallies de même type,

n : un chiffre entre 1 et 8 destiné à indiquer le type de tally calculé,

X: le type de particule,

Si : une surface sur laquelle on veut calculer le tally,

Ci : une cellule dans laquelle on veut calculer le tally.

Tableau 2.3 : Différents tallies utilisés par MCNP.[19]

Chapitre 2 Modélisation et simulation du réacteur

35

En plus des tallies géométriques qui permettent d'obtenir des valeurs moyennées sur une surface ou un volume, il est possible d'utiliser des tallies avec un certain maillage (carétsien ou cylindrique) et obtenir la distribution spatiale des grandeurs en question dans une zone donnée. Cette fonction est assurée par les tallies FMESH qui sont associés à la carte de multiplication FM de la même manière que pour les tallies de valeurs moyennes (Fn). IL est possible ainsi de visualiser les grandeurs annexes telles que le taux de réaction (fission, capture), la densité de puissance moyennant dans la zone d' intérêt. la carte FMESH se présente comme suit : [19]

FMESH14:n GEOM=xyz ORIGIN= -75 -75 -5 & $ cartesian geom. & origin of mesh

IMESH=

75 IINTS=

150

&

$

initial

X

and number

of

x-meshs

JMESH=

75 JINTS=

150

&

$

initial

Y

and number

of

y-meshes

KMESH=

5 KINTS=

1

 

$

initial

Z

and number

of

z-meshes

FM14 6.022E23 $ Avogadro constant used as multiplicator

II. Automatisation du calcul et interprétation des données par le langage PYTHON

II.1. Le Langage Python :

Python est un langage de programmation orientée objet (au même titre que les autres langages de programmation C, C++, fortran, java . . .), développé en 1989 par Guido VAN ROSSUM. On pourra citer ses principales caractéristiques :[20]

y' C'est un langage « open-source » : son utilisation est gratuite et les fichiers sources sont disponibles pour d'éventuels développement par la communauté des utilisateurs et experts.

y' Simple et très lisible.

y' Doté d'une bibliothèque libre de modules et utilitaires bien fournie, pour différentes utilisations : Calcul scientifique, Statistiques, Bases de données, Visualisation graphique ...

y' grande portabilité : indépendant vis à vis du système d'exploitation (linux, Windows, MacOs).

y' Orienté Objet : création d'objets définis par leur propres attributs et fonctions, pouvant même interagir avec d'autres objets de même nature ou même classe selon les méthodes prédéfinies et établies au préalable dans ce sens.

ü

Chapitre 2 Modélisation et simulation du réacteur

36

Typage dynamique : le typage (association une variable avec son type et allocation zone mémoire en conséquence) est fait automatiquement lors de l'exécution du programme, ce qui permet une grande flexibilité et rapidité de programmation, mais qui se paye par une surconsommation de mémoire et une perte de performance. [20]

ü Présente un support pour l'intégration d'autres langages ainsi que la gestion des fichiers et commandes dans n'importe quel système d'exploitation

II.2. Intégration du Python dans la modélisation et simulation du réacteur :

Dans ce qui suit, on présentera le code développé par Python dans le cadre de ce mémoire afin de gérer les simulations MCNP depuis la création du fichier INPUT (configuration donnée), l'exécution d'une simulation MCNP, lecture du fichier de sorite OUTPUT et l'interprétation graphique des résultats obtenus. On veillera à expliquer chaque partie du code, dans une logique d'apprentissage par l'exemple qui nous semble plus judicieuse dans le contexte de ce travail.

II.3. Description détaillés du Code [Criticité_Crt.py] :

3.1 Les Bibliothèques :

Avant de commencer à écrire le code, il est nécessaire d'inclure ou d'importer des bibliothèques qui facilitent la mise en oeuvre de certaines opérations et commandes pour une application donnée, afin de doter cette dernière des fonctions et modules supplémentaires sans être obligé de les coder par soi-même. Cette large bibliothèque de module et fonctions permet un gain de temps et d'effort assez important, qui seront orientés vers le développement de l'application elle-même et de la rendre de plus en plus efficace et portable.

Il faut donc au départ importer les packages avec l'instruction suivante :

import [nom de module]

· Le module math :

import math

C'est un module qui permet d'avoir accès aux fonctions mathématiques comme le cosinus (cos), le sinus (sin), la racine carrée (sqrt), le nombre (pi) et bien d'autres ...

· Le module os :

import os

Ce module fournit une façon portable pour l'utilisation des fonctionnalités dépendantes du système d'exploitation. Si on veut simplement lire ou écrire un fichier, on fait appel à la fonction « open() ». Par contre, si on veut manipuler les chemins de fichiers, on utilise le module

Chapitre 2 Modélisation et simulation du réacteur

37

« os.path », et si on veut lire toutes les lignes de tous les fichiers de la ligne de commande, on utilise le module fileinput. [21]

· Le module numpy :

Import numpy

La bibliothèque numpy quant à elle, permet d'effectuer des calculs numériques avec Python. Elle introduit une gestion facilitée des tableaux de nombres ainsi que des solveurs numériques des systèmes d'équations. [21]

· Le module decimal :

from decimal import *

Le module decimal fournit une arithmétique en virgule flottante rapide et produisant des arrondis mathématiquement corrects.

· Le module re :

import re

Le module re fournit une prise en charge complète des expressions régulières de type Perl en Python. En effet, il permet la recherche ciblée d'un mot ou une expression pour la récupération des données ou des valeurs recherchées dans les fichiers output. [21]

Une fois l'importation des bibliothèques nécessaires est terminée, on adopte une précision arithmétique pour définir le degrés de précision pour les nombres obtenus lors des calculs arithmétiques. La valeur par défaut du module Decimal est jusqu'à 28 chiffres significatifs. Cependant, il peut être modifié à l'aide de la méthode getcontext().prec . [21]

getcontext().prec = 12

3.2. Les paramètres initiaux :

a. Les variables :

Dans la suite de notre code Criticité_Crt.py, il y'a certaines paramètres qui sont obtenus par des entrées demandées par le programme PYTHON. Une fois ces paramètres introduits par l'utilisateur, une configuration est construite, correspondant à un jeu donné de paramètres d'entrée. Il s'agit notamment de l'enrichissement de l'uranium, la fraction du dioxyde d'uranium ainsi que la hauteur active de l'élément combustible.

i. enr_U5 : la valeur initiale d'enrichissement d'U5, introduite par l'instruction suivante :

enr_U5 = float(input('Give the value of U5 enrichment in [%]: '))

38

Chapitre 2 Modélisation et simulation du réacteur

ii. f_UO2 : la valeur initiale de la fraction d'UO2, introduite par l'instruction suivante :

f_UO2 = float(input('Give the value of UO2 volume fraction [%] in fuel .'))

iii. H_core : la valeur initiale de la hauteur du coeur du réacteur:

H_core = float(input(Give the active hight of the core [cm]: '))

b. Les constants :

À partir de là, nous avons inclus toutes les données nécessaires dont nous avons besoin pour calculer la composition physique du coeur en termes de fractions et densités massiques. Ainsi on définira toutes constantes, les unités et les coefficients de multiplication nécessaires comme la constante d'Avogadro, l'eV, le Barn , les masses molaires des isotopes et des matériaux qui entrent dans la composition des différentes parties du réacteur.

i. La constante d'Avogadro, l'eV et le Barn :

# Constants

NA = 6.022140E23 eV = 1.602176E-19 barn = 1.0E-24

 

ii. Les masses molaires des isotopes du combustible :

# Fuel composition Molar masses

M_U5 = 235.04000

M_U8 = 238.05000

M_Pu9 = 239.05216

M_U = 0.01 * (M_U5 * enr_U5 + M_U8 * (100-enr_U5))

M_Th = 232.03806

iii. les masses molaires des éléments légers :

# Water and Organic Matter Molar masses

M_H1 = 1.00790

M_O16 = 15.99900

M_C12 = 12.01074

M_N14 = 14.00670

iv. les masses molaires d'uraninite et de thorite :

# Uraninite and Thorite Molar Masses:

M_UO2 = (M_O16*2)+0.01*(M_U5*enr_U5+M_U8*(100-enr_U5)) M_ThO2 = (M_O16*2)+M_Th

v. Chapitre 2 Modélisation et simulation du réacteur

39

les densités des matériaux de base :

# basical Compound densities [g/cc]

Rho_UO2 = 10.60000 # Uraninite [g/cc]

Rho_ThO2 = 9.86 # Thorite [g/cc]

Rho_Wtr0 = 1.00 # Water at normal P,T conditions [g/cc]

Rho_SiO2 = 2.65000 # Silica or Quartz [g/cc]

vi. la puissance constante de conversion de 1 mégawatt pour passr du flux MCNP au flux physique :

# 1MW power conversion constant : Physical Flux to MCNP Flux

C = 7.62E16

3.3. Les fonctions:

a. La fonction Fuel (enr_U5, f_UO2) :

Nous avons définit toute une fonction pour les calculs propre au combustible, nommée « Fuel Definition », elle dépend de deux paramètres : l'enrichissement d'U-235 et la fraction volumique d'UO2 dans le combustible. Ces deux variables sont déclarées comme des variables globales(on utilise ainsi l'étiquette « global » pour ces variables) , ce qui signifie qu'elles seront reconnues dans tout le code. Ainsi, certains paramètres sont définis :

1. La masse molaire d'UO2 en fonction d'enrichissement d'U-235, cette masse est généralement proche de la masse d'U-238, mais comme nous travaillons dans les réacteurs l'enrichissement varié en fonction de la valeur d'U-235, et pour être plus prisé il faudrait recalculer la masse molaire d'URANIUM.

2. On calcule la fraction massique de l'UO2 : elle correspond de la masse présente de l'UO2 dans un volume unitaire de 1 cm3. Cette fraction est prise égale à 100% dans le cas d'un combustible à base d'UO2 pur. Elle variera ensuite en fonction de la fraction du Thorite ajoutée dans le combustible.

3. De même manière la fraction massique du ThO2 est définie et calculé.

4. Pour vérification, on demande au programme d'afficher les résultats pour un contrôle visuel avec la fonction « print () », qui affiche le résultat des calculs :

· {Rho_Fuel:.7f} # la densité de combustible

· {d_UO2:.7f} # la densité d'oxyde d'URANIUM

· {enr_U5:.3f} # l'enrichissement d'U-235

·

Chapitre 2 Modélisation et simulation du réacteur

40

{d_ThO2:.7f} # la densité d'oxyde de THORIUM

# The Fuel definition

def Fuel(enr_U5, f_UO2):

global d_UO2, d_ThO2, Rho_Fuel, M_UO2

M_UO2 = (M_O16*2)+0.01*(M_U5*enr_U5+M_U8*(100-enr_U5))#1

d_UO2 = f_UO2 * Rho_UO2 * 0.01 # 2

d_ThO2 = (100-f_UO2) * Rho_ThO2 * 0.01 # 3

Rho_Fuel = d_UO2 + d_ThO2 print(f"""

The Fuel mass density is {Rho_Fuel:.7f} [g/cc]") with:

Uraninite density fraction of {d_UO2:.7f} [g/CC] U5 enriched with {enr_U5:.3f} [%]

Thorite density fraction of {d_ThO2:.7f} [g/cc]

""") # 4

return Rho_Fuel

b. La fonction ZAID_Fuel(enr_U5, f_UO2) :

Une seconde fonction, appelée ZAID_Fuel est définie également pour calculer les fractions isotopiques et chimiques pour chaque matériau utilisé dans le fichier MCNP :

Ø d_U : la fraction massique de l'Uranium naturel

Ø d_U5 : la fraction massique de l'Uranium-235

Ø d_U8 : la fraction massique de l'Uranium -238

Ø d_Th : la fraction massique du Thorium

Ø d_O16_UO2 : la fraction massique d'Oxygène provenant de l'uraninite

Ø O16_ThO2 : la fraction massique d'Oxygène provenant de la Thorite

Ø d_O16_Fuel : la fraction massique totale d'Oxygène provenant de tout le combustible.

# The isotopes fraction definition

def ZAID_Fuel(enr_U5, f_UO2):

global d_UO2, d_ThO2, Rho_Fuel, M_UO2

global d_U5, d_U8, d_Th, d_O16_Fuel

# Matrix with ZAID generation

Chapitre 2 Modélisation et simulation du réacteur

41

d_U = d_UO2 * (M_U / M_UO2) d_U5 = 0.01 * (d_U * enr_U5) d_U8 = 0.01 * (d_U * (100 - enr_U5)) d_Th = d_ThO2 * (M_Th / M_ThO2)

# Oxygen fraction calculation

d_O16_UO2 = (d_UO2 * M_O16 * 2) / (M_UO2) d_O16_ThO2 = (d_ThO2 * M_O16 * 2) / (M_ThO2) d_O16_Fuel = (d_O16_UO2 + d_O16_ThO2) return d_U8, d_U5, d_Th, d_O16_Fuel

c. La fonction header(enr_U5, f_UO2, H_core):

Avec la fonction « header() » qui dépend des deux paramètres l'enrichissement d'U5 et la fraction d'UO2, il est possible ainsi de générer un fichier INPUT de type MCNP. Cette fonction permettra donc de créer un fichier texte (INPUT) avec toute la géométrie et la physique nécessaire pour le calcul MCNP. Elle permettra également d'exécuter le calcul une fois que le fichier input est généré correctement.

ON définit également la règle de nomination des fichiers afin de respecter la limitation en nombre de caractère pour les noms de fichiers, qui est imposée par MCNP, tout en incluant les informations nécessaires pour reconnaître les caractéristiques de la configuration générée. Ainsi, on définit les variables de nom de fichiers, à savoir « filename » pour (INPUT) et « output » pour (OUTPUT) comme indiqué dans la ligne 6 et 7, par exemple lorsque nous saisissons des valeurs d'enrichissement enr_U5 = 5% et la fraction volumique f_UO2 = 99%, un fichier input sera généré sous l'appellation U99e5.

Une fois que ce dernier est généré, la commande de calcul sera exécutée via la ligne :

« os.system(f'mcnp5 in={filename} out={Output}') »

Ceci permettra de faire appel au code MCNP à travers notre programme Python et l'exécuter dans son environnement. Une fois le calcul terminé, un fichier output est générée selon la règle de nomination déjà prédéfinie :

· INPUT : U99e5

· OUTPUT : U99e5O

En plus pour renormaliser les résultats des tallies obtenues par MCNP, on introduit les densités atomiques de chaque isotope/élément majeur dans le combustible, qui sont introduit dans les lignes 10-13.

Chapitre 2 Modélisation et simulation du réacteur

42

# Header Definition

def header(enr_U5, f_UO2, H_core): global filename, Output

Rho_Fuel=Fuel(enr_U5, f_UO2) # Files naming protocol

filename = f"U{int(f_UO2)}e{int(enr_U5)}" # la ligne 6

Output = f"U{int(f_UO2)}e{int(enr_U5)}O" # la ligne 7

d_U8, d_U5, d_Th, d_O16_Fuel=ZAID_Fuel(enr_U5, f_UO2) # Normalization coefficient for tally volume flux

N_U5 = (d_U5 * NA * 1E-24 * C)/M_U5 # la ligne 10

N_U8 = (d_U8 * NA * 1E-24 * C)/M_U8 # la ligne 11

N_Th = (d_Th * NA * 1E-24 * C)/M_Th # la ligne 12

N_Fuel = N_U5 + N_U8 + N_Th # la ligne 13

# Writing the MCNP input file

with open(f"{filename}", "w+") as header_card: header_card.write(

f""" c Head of the input file

c MCNP Simulations input

---c

----

c U5 Enrichment = {enr_U5:.3f} %

c UO2 volume fraction = {f_UO2:.2f} %

c Giving a Fuel density = {Rho_Fuel:.6f} [g/cc]

c

----

c Cell definition

----

c start file for MCNP project 2021

C NuScale SMR model

C

43

Chapitre 2 Modélisation et simulation du réacteur

 

1

2

3

4

3

2

3

2

-1.0 -3000 -2000 1000 (60:50:-40) IMP:N=1 -7.76 40 -50 -60 (30:20:-10) IMP:N=1

-1.0 -30 -20 10 (5:-6:7) IMP:N=1

-7.76 -6000 -5000 4000 (3000:2000:-1000)

IMP:N=1

5

0

6000:-4000:5000 IMP:N=0

 
 

7

0

-5 6 -7 IMP:N=1 FILL=6

 
 

6

0

1 -2 3 -4 IMP:N=1 U=6 LAT=1 FILL=-4:3 -4:3

0:0

&

5

5

5 5 5 5 5 5 &

 
 

5

5

5 1 1 5 5 5 &

 
 

5

5

1 1 1 1 5 5 &

 
 

5

1

1 1 1 1 1 5 &

 
 

5

1

1 1 1 1 1 5 &

 
 

5

5

1 1 1 1 5 5 &

 
 

5

5

5 1 1 5 5 5 &

 
 

5

5

5 5 5 5 5 5

 
 

C univers 1 (zone 1)

10 0 100 -200 300 -400 IMP:N=1 U=1 LAT=1 FILL=11

11 3 -1.0 700 IMP:N=1 U=11

12 4 -6.5 800 -700 IMP:N=1 U=11

13 0 900 -800 IMP:N=1 U=11

14 1 -{Rho_Fuel:.7f} -900 IMP:N=1 U=11

C univers 5 (rempli d'eau)

50 3 -1.0 1 -2 3 -4 IMP:N=1 U=5 $LAT=1 FILL=51

C The Surface Block

1 PX -21.42 $ half of 21.42 cm = 17*1.26 cm

2 PX 0

3 PY -21.42

4 PY 0

5 CZ 70 $ the closest radial dimension to the fuel assembly

6 PZ -{H_core/2:.2f}

7 PZ {H_core/2:.2f}

10 PZ -{H_core/2+28.00:.2f}

20 PZ {H_core/2+28.00:.2f}

30 CZ 75 $ ~ external radius of zone4

40 PZ -{H_core/2+38.00:.2f}

Chapitre 2 Modélisation et simulation du réacteur

44

50 PZ {H_core/2+38.00:.2f}

60 CZ 85 $ for 10-cm of Core's baril made with stainless steel

C primary vessel of the reactor

1000 PZ -{H_core/2+122.40:.2f}

2000 PZ {H_core/2+122.40:.2f}

3000 CZ 122 $ inner radius of the primary vessel

4000 PZ -{H_core/2+137.40:.2f}

5000 PZ {H_core/2+137.40:.2f}

6000 CZ 137 $ outer radis of the primary vessel

C for 7 cells per assembly side of 21.42 cm

100 PX 0

200 PX 1.2626

300 PY 0

400 PY 1.2626

700 C/Z 0.6313 0.6313 0.4761 $ outer radius of cladding

800 C/Z 0.6313 0.6313 0.41895 $ inner radius of cladding

900 C/Z 0.6313 0.6313 0.41295 $ fuel pin cell radius

C

C General cards

C

C PRDMP 2J 1

C

C The Materials (fuel at 900 K except Pu-

240 not available, D2O and Zircalloy at 300 K)

C

C Real fuel made from a mixture of UO2 and ThO2

m1 92238.60c {-d_U8:.7f} & 92235.60c {-d_U5:.7f} & 90232.60c {-d_Th:.7f} &

 
 

8016.60c

{-d_O16_Fuel:.7f}

 
 

m2 6000.60c

0.08 14000.60c 2.00 24000.42c

19.50 25055.60c 1.50

&

26000.42c

67.34 28000.42c 9.50

 
 

m3 1002.60c

2 8016.60c 1

 
 

mt3 hwtr.01t

 
 
 

m4 40000.60c

0.988548 8016.60c 0.00773128

26056.60c 0.00372108

 

Chapitre 2 Modélisation et simulation du réacteur

45

C Virtual materials used to calculate reaction rates

m235 92235.60c 1 8016.60c 2

 
 
 
 
 
 
 
 

m238 92238.60c 1 8016.60c 2

 
 
 
 
 
 
 
 

m232 90232.60c 1 8016.60c 2

 
 
 
 
 
 
 
 

C The Source

 
 
 
 
 
 
 
 

C

 
 
 
 
 
 
 
 

KSRC -33.4 33.4 0 33.4 33.4

0

-33.4

-33.4

0

33.4

-33.4

0

&

-22 22 0 22 22 0 -22

-22

0 22

-22 0

 
 
 
 
 

C KCODE 4000 1 100 200

 
 
 
 
 
 
 
 

KCODE 20000 1 50 800

 
 
 
 
 
 
 
 

C Flux volume tally calculation for real material : mixture of UO2 and ThO2

C Fission rate reaction for fuel material

F104:N (14 < (U=11) < (U=1))

SD104 5.35729E+01

FM104:N ({N_Fuel:.3e} 1 -6)

C Capture rate reaction for fuel material

F114:N (14 < (U=11) < (U=1))

SD114 5.35729E+01

FM114:N ({N_Fuel:.3e} 1 -2)

C

C Flux volume tally calculation for virtual material : pure UO2 with 100% o

f U5

C Fission rate reaction for fuel material

F504:N (14 < (U=11) < (U=1))

SD504 5.35729E+01

FM504:N ({N_U5:.3e} 235 -6)

C Capture rate reaction for fuel material

F514:N (14 < (U=11) < (U=1))

SD514 5.35729E+01

FM514:N ({N_U5:.3e} 235 -2)

C

C Flux volume tally calculation for virtual material : pure UO2 with 100% o

f U8

C Fission rate reaction for fuel material

F804:N (14 < (U=11) < (U=1))

SD804 5.35729E+01

Chapitre 2 Modélisation et simulation du réacteur

46

FM804:N ({N_U8:.3e} 238 -6)

C Capture rate reaction for fuel material

F814:N (14 < (U=11) < (U=1))

SD814 5.35729E+01

FM814:N ({N_U8:.3e} 238 -2)

C

C Flux volume tally calculation for virtual material : pure ThO2

C Fission rate reaction for fuel material

F204:N (14 < (U=11) < (U=1))

SD204 5.35729E+01

FM204:N ({N_Th:.3e} 232 -6)

C Capture rate reaction for fuel material

F214:N (14 < (U=11) < (U=1))

SD214 5.35729E+01

FM214:N ({N_Th:.3e} 232 -2)

C Fmesh card of fission distribution central CS of the core (10cm thick)

FMESH34:n GEOM=xyz ORIGIN= -140 -140 -5

IMESH= 140 IINTS= 280 &

JMESH= 140 JINTS= 280 &

KMESH= 5 KINTS= 1

FM34:N -7.62E16 0 -

2 $ Spatial distrib. of capture cst for 1MW power equivalent !!!!

""")

os.system(f'mcnp5 in={filename} out={Output}')

Après avoir exécuté la séquence de calcul MCNP, un fichier de sortie est généré et qui contient les informations sur la criticité de la configuration, à savoir : le facteur de multiplicateur effectif « k_eff », sa déviation standard « le Sigma », la fraction des neutrons thermiques, intermédiaires et rapides.

Cette étape est réalisée en effectuant une lecture du fichier de sortie avec la fonction « scan_k ».

scan_k = open(f"{Output}", "r")

for line in scan_k:

global k_eff, sigma, Thermal, Epithermal, Fast line = line.strip() # strip end-on-line

if re.search(r'keff = w', line): # and len(line)==7:
target_line = line.split(' ')

#print(f'{R}',target_line[8],f'\u00B1{target_line[15]}')

k_eff = float(target_line[8])

sigma = float(target_line[15])

#print(f'{R:.2f}',target_line[8],f'\u00B1{target_line[15]}')

# Modification of 28/11/2020: adding the fissionning neutrons

if re.search(r'(<0.625 ev)', line):

target_neutrons = line.split(' ')

Thermal = f'{(target_neutrons[12])}'

Thermal = float(Thermal.replace('%', ''))

Epithermal = f'{target_neutrons[27]+target_neutrons[28]}'

Epithermal = float(Epithermal.replace('%', ''))

Fast =

f'{target_neutrons[40]+target_neutrons[41]+target_neutrons[42]}'

Fast = float(Fast.replace('%', ''))

#print(f'{k_eff:.5f} {sigma:.5f}', Thermal, Epithermal, Fast)

scan_k.close()

return k_eff, sigma, Thermal, Epithermal, Fast

Chapitre 2 Modélisation et simulation du réacteur

47

e. La fonction Crt_info() :

Cette fonction Crt_info() permet d'enregistrer et d'archiver les différents résultats obtenus par la fonction « scan_k », en les transcrivant dans un fichier à part pour chaque configuration simulée :

file = 'Results'

def Crt_info():

global Rslt

Rslt = f"{file}"

with open(f"{Rslt}", "a+") as Crt_info_file:

Crt_info_file.write(f"""{H_core:.2f} {f_UO2:.5f}

{enr_U5:.3f} {k_eff:.5f} {sigma:.5f} {Thermal:.3f} {Epithermal:.3f}

{Fast:.3f}

""")

Chapitre 2 Modélisation et simulation du réacteur

48

f. La fonction Crt() :

La fonction Crt() a un rôle principale dans notre code PYTHON, elle repose sur un test arithmétique du résultat de calcul principal, c-à-d la valeur de keff, en la comparant au trois situations possibles, à savoir : keff < 1 (sous-critique), keff = (critique) et keff > 1 (sur-critique). Pour des raisons pratiques, on chercher un keff compris entre 1 et 1 + epsilon, où « epsilon » est la tolérance en pcm de la déviation du keff critique. Cette tolérance, est également définie comme paramètre ajustable dans le code. Un pas de variation de l'enrichissement « delta » est introduit et qui nous permet de modifier la configuration (composition isotopique et chimique du combustible) comme une fonction de l'enrichissement.

Ainsi, en démarrant d'une configuration test, une fois le calcul MCNP terminé et le keff obtenu, la fonction Crt() décidera d'augmenter ou de réduire l'enrichissement avec le pas « delta » pris comme constant et égal à 0.1% Avec epsilon = 0.005 (500pcm).

Cette opération est répétée N fois jusqu'à l'obtention d'un keff compris dans l'intervalle :

1 < k_eff < 1 + epsilon

Le code va s'arrêter en affichant un message, signifiant qu'une configuration critique est obtenue dans l'intervalle de valeurs souhaité.

def Crt():

global k_eff, epsilon, delta, enr_U5, f_UO2, filename, Output, H_core

epsilon = 0.00500

delta = 0.10

if (k_eff > 1 + epsilon):

enr_U5 = enr_U5 - delta

f_UO2 = f_UO2

H_core = 100

os.system(f'del runt* srct* meshta* "U{int(f_UO2)}e{int(enr_U5)}"')

os.system(f'del "U{int(f_UO2)}e{int(enr_U5)}O" ')

header(enr_U5, f_UO2, H_core)

Crt_info()

Crt()

elif (k_eff < 1):

enr_U5 = enr_U5 + delta

f_UO2 = f_UO2

H_core = 100

os.system(f'del runt* srct* meshta* "U{int(f_UO2)}e{int(enr_U5)}"')

os.system(f'del "U{int(f_UO2)}e{int(enr_U5)}O" ')

header(enr_U5, f_UO2, H_core)

Crt_info()

Crt()

else:

os.system(f'del runt* srct*')

# Crt_info()

print(f'keff = {k_eff:.5f} ,On parle d'un réacteur critique.')

exit()

return k_eff

Chapitre 2 Modélisation et simulation du réacteur

II.4. Intégration du Python dans la production des figures :

4.1. Description du Code [ plot.py] :

Le Python offre la possibilité de faire des interprétations graphiques des fonctions et des données, en faisant appel à des modules dédiés (gratuits et open-source) avec une qualité égale ou meilleure que certains logiciels commerciaux. Un des modules les plus utilisés est « Matplotlib » [23]. Ainsi, comme premier exercice d'apprentissage et maîtrise de ce module, on a construit un code « plot.py », qui permet de tracer les données des sections efficaces des diverses isotopes, tel que l'URANIUM et du THORIUM, en utilisons les données récupérées sous forme de fichiers textes du site américain du BROOKHEAVEN National Laboratory: https://nndc.bnl/sigma.

Ces fichiers des sections efficaces d'intérêt (fission, capture) sont répertoriés dans un dossier comme c'est montré ci-dessous dans la figure 2.4.

Figure 2.4 : Les données des sections efficaces [22].

49

Chapitre 2 Modélisation et simulation du réacteur

50

En exploitant les fonctionnalités du Python en termes de gestion et manipulation des fichiers et dossiers, il est possible de lire le contenu du dossier « data » qui contient les fichiers des différentes sections efficaces des isotopes d'intérêt neutronique et de proposer à l'utilisateur de choisir l'un des fichiers à interpréter graphiquement.

import matplotlib.pyplot as plt import csv import os import numpy as np

fig, ax = plt.subplots()

# Manage and edit files in directory

path = './data'

Files = []

dir_list = os.listdir(path)

N = len(dir_list)

# print(dir_list, N)

for i in range(N):

Files.append(dir_list[i]) print(f'{i+1}.{Files[i]}')

Choice = input('Give the number of file to plot : ... ')

n = int(Choice)

# Reading the data file

file = f'./data/{Files[n-1]}'

# read the lines from the file

with open(f'{file}', "r") as f:

lines = f.readlines()

f.close()

En = []

Le courbes sont traces en utilisant les axes logarithmiques comme il est d'usage dans ce genre de représentations à cause des intervalles de valeurs des sections efficaces ainsi que des énergies des neutrons incidents.

Chapitre 2 Modélisation et simulation du réacteur

51

Sigma = []

with open(f'{file}', 'r') as csvfile:

plots = csv.reader(csvfile, delimiter=',')

next(plots, None) # skip the header

for row in plots:

En.append(float(row[0]))

Sigma.append(float(row[1]))

En = np.array(En)

Sigma = np.array(Sigma)

# showing and saving the plot

ax.loglog(En, Sigma)

# Creating the plot

# Tuning the canevas

ax.set(xlabel='Incident Neutron Energy [eV]', ylabel='Cross-

Section [barn]',

title=f'Neutron Cross-Section:{Files[n-1]} ')

ax.grid()

fig.savefig(f"./img/{Files[n-1]}.png")

plt.show() #affichage de la figure

« plot.py »

4.2. Code d'interprétation graphique de contour [Plotting_FMESH.py ] :

Avec le code « Plotting_FMESH.py », il nous est possible de tracer la distribution spatiale du flux neutroniques au niveau de la section centarle du coeur du réacteur avec un maillage adéquat qui permet de distinguer les crayons combustibles des parties modérateurs. Ce code permet en effet, de lire les fichiers « Meshtal » générés par l'exécution du code MCNP, via la carte du tally FMESH, ensuite il procède à la triangulation des deux coordonnées XY pour construire une figure de contour (2D) de la valeur physique désirée : flux neutronique ou taux de réaction.

# Implementation of matplotlib function

import matplotlib.pyplot as plt

import matplotlib.tri as tri

import matplotlib.path as mpath

import matplotlib.patches as mpatches

Chapitre 2 Modélisation et simulation du réacteur

52

from matplotlib import ticker, cm

from matplotlib.gridspec import GridSpec

from mpl_toolkits.axes_grid1 import make_axes_locatable

import numpy as np

import csv

import re

from itertools import islice

x = [] #X meshgrid

y = [] #Y meshgrid

z = [] #Z meshgrid cell level

# Reading the XY mesh values

file = 'meshtal'

filename = f'{file}'

with open(f'{filename}', 'r') as csvfile:

for line in islice(csvfile, 13, None):

plots = csv.reader(csvfile, skipinitialspace=True, delimiter=' ')

for row in plots:

x.append(float(row[0]))

y.append(float(row[1]))

x = np.array(x)

y = np.array(y)

print(x, y)

triang = tri.Triangulation(x, y)

fig, axs = plt.subplots(nrows=1, ncols=1) #, sharex=True, sharey=True) #, figsize = ())

# Getting the Z-value results from the data file

with open(f'{filename}', 'r') as results:

for line in islice(results, 13, None):

results = csv.reader(results, skipinitialspace=True, delimiter=' ')

Res = []

for row in results:

Res.append(float(row[3]))

Z = np.array(Res)

Rmax = max(Z)

Rmin = min(Z) #min(Z)

print(Z)

Chapitre 2 Modélisation et simulation du réacteur

53

tcf = axs.tricontourf(triang, Z, levels=np.linspace(Rmin, Rmax, 50), cm ap=cm.jet)

axs.set_xlabel(r'X (cm) ')

axs.set_title(f'{filename}')

circle1 = plt.Circle((0,

0),

75,

linewidth=1.5,

linestyle='--', color='r', fill=False)

circle2 = plt.Circle((0,

0),

85,

linewidth=1.5,

linestyle='--', color='r', fill=False)

circle3 = plt.Circle((0,

0),

122,

linewidth=1.5,

linestyle='--', color='r', fill=False)

circle4 = plt.Circle((0,

0),

137,

linewidth=1.5,

linestyle='--', color='r', fill=False)

axs.add_artist(circle1)

axs.add_artist(circle2)

axs.add_artist(circle3)

axs.add_artist(circle4)

#shared Y axis

axs.set_ylabel(r'Y (cm) ')

axs.set_aspect('equal')

divider = make_axes_locatable(plt.gca())

cax = divider.append_axes("right", "05%", pad="3%")

plt.colorbar(tcf, cax=cax)

plt.show() #affichage de la figure

« Plotting_FMESH.py »

4.3. Description du Code [Plot_Spectrum.py ] :

import numpy as np

import matplotlib.pyplot as plt import csv

import os

# Preparing the canevas (figure)

Pour déterminer le flux neutronique sur le volume du coeur, nous avons utilisé un code écrire par le langage PYTHON qui nous a permis de tracer le spectre du flux neutronique via la lecture de fichier « Spectrum » générés par l'exécution du code MCNP inclus dans le fichier «Criticité_Spectrum.py», via la carte du tally F4 (1/ ????2) flux volumique normaliser par neutron source obtenu par le code MCNP pour la cellule d'intérêt avec un découpage d'énergie de 413 groupes d'énergie neutronique en utilisant la carte E0.

Chapitre 2 Modélisation et simulation du réacteur

54

fig, ax = plt.subplots()

File = 'spectrum' #[]

Counter = 0

title = {'U99':1, 'U75':2, 'U67':3, 'U50':4, 'U33':5, 'U25':6}

# read the lines from the file

with open(f'{File}', "r") as f:

lines = f.readlines()

f.close()

En = []

Flux99 =

[]

Flux75 =

[]

Flux67 =

[]

Flux50 =

[]

Flux33 =

[]

Flux25 =

[]

with open(f'{File}', 'r') as csvfile:

plots = csv.reader(csvfile, delimiter=' ') next(plots, None) # skip the header for row in plots:

En.append(float(row[0])) Flux99.append(1.802e+15*float(row[1])) Flux75.append(1.782e+15*float(row[2])) Flux67.append(1.775e+15*float(row[3])) Flux50.append(1.760e+15*float(row[4])) Flux33.append(1.745e+15*float(row[5])) Flux25.append(1.738e+15*float(row[6]))

En = np.array(En)

Flux99 = np.array(Flux99)

Flux75 = np.array(Flux75)

Flux67 = np.array(Flux67)

Flux50 = np.array(Flux50)

Flux33 = np.array(Flux33)

Chapitre 2 Modélisation et simulation du réacteur

Flux25 = np.array(Flux25)

# Creating the plot

# Tuning the canevas

ax.set(xlabel='Incident Neutron Energy [eV]', ylabel='Flux [n/cm2]', title='Neutron Spectrum')

ax.grid()

ax.loglog(En, Flux99, drawstyle='steps', label='UO2 = 99%') ax.loglog(En, Flux75, drawstyle='steps', label='UO2 = 75%') ax.loglog(En, Flux67, drawstyle='steps', label='UO2 = 67%') ax.loglog(En, Flux50, drawstyle='steps', label='UO2 = 50%') ax.loglog(En, Flux33, drawstyle='steps', label='UO2 = 33%') ax.loglog(En, Flux25, drawstyle='steps', label='UO2 = 25%') ax.legend(loc='lower center', handlelength=3, handleheight=3.5)

# showing and saving the plot fig.savefig("test.png", DPI=600) plt.show()

« Plot_Spectrum.py »

55

Chapitre n°03

Résultats et discussion

Chapitre 3 Résultats et discussion

56

Chapitre 3 : Résultats et Discussion

Dans ce chapitre 03, nous présenterons les résultats de simulations numériques ; obtenus par le code MCNP et ce en utilisant les scripts développés en langage Python pour l'automatisation des calculs, dans le but de définir une configuration critique d'un assemblage combustible constitué d'une une mixture homogène d'oxyde d'Uranium et de Thorium. En plus des calculs de criticité, il a été également question de calculer certains paramètres neutroniques caractéristiques du coeur, à savoir le flux, le taux de réaction ainsi que leur distribution spatiale.

I. Méthodologie de calcul :

La méthodologie que nous avons adoptée pour faire la simulation est basée sur trois étapes principales :

1. Dans la première phase ; il s'agit de préparer le script Python qui permet de générer le fichier input pour le code MCNP et ce pour un modèle de coeur du type NuScale [18].

2. La deuxième étape ; consiste à trouver exécuter le script de recherche de criticité, comme une fonction de l'enrichissement en U235 pour un mélange donné. Pour cela on utilise le code « Criticité_Crt.py » programmé en Python. Cette étape est effectuée avec un calcul rapide (1000 neutrons par cycle) pour réduire le temps de calcul par itération.

3. Dans la troisième et dernière phase ; une fois une configuration critique est obtenue avec faible précision, on augmente le nombre de neutrons par cycle, ainsi que le nombre de cycles en respectant la règle d'usage : 4000 à 5000 neutrons pour 100 Cycles actifs. À ce stade 20000 neutrons par cycle sont utilisés. La convergence vers la configuration critique nécessitera trois itérations au plus, avec un temps de calcul plus important par itération (entre 90 et 120 min par itération). À cette étape-là, les tallies de flux et taux de réaction sont enregistrés et interprétés par la suite, en utilisant des scripts Python pour le tracé graphique.

II. Le calcul de test pour la recherche de la configuration critique :

II.1. Préparation de fichier Input :

On prépare le fichier input selon les standards et formats du code MCNP, tout en respectant les règles de définition des différents blocs (Cellules, Surfaces, Matériaux, Physique) constituant ce fichier. Il est important d'inclure toutes les informations concernant le modèle du coeur qu'on veut simuler, en l'occurrence, un coeur SMR du type NuScale. Dans ce sens, il faut vérifier que

Chapitre 3 Résultats et discussion

la géométrie est correcte et qu'elle ne présente aucune singularité ou erreur dans la définition des volumes et surfaces. Une fois qu'un fichier input typique est obtenu correctement, moyennant un calcul MCNP5 de vérification, ce modèle est inclus dans le script Python qui permet de générer automatiquement les fichiers input en fonction des paramètres de la configuration à simuler (Cf. Tableau 2.2: Les propriétés physiques de la mixture), à savoir : l'enrichissement en U235 et la fraction volumique de l'oxyde d'UO2 dans le mélange combustible, comme c'est montré dans l'organigramme ci-dessous.

Une configuration test initiale est définie avec ??????2[%] = 99%, et ce pour être utilisée dans la vérification du script de recherche de l'enrichissement critique correspondant, avec une valeur initiale ????????5[%] = 5%. Un fichier input « U99e5 » est créé à ce stade en vue de son exécution.

MCNP_Input_Generator.py

Géométrie

Physique

Modèle NuScale

> mcnp5 in=U99e5 out=U99e5O

MCNP Input : U99e5

57

Figure 3.1 : Organigramme montrant la procédure d'une génération d'un fichier Input MCNP5
avec un script Python ainsi que son exécution

II.2. Obtention de l'enrichissement critique :

À ce stade-là, nous avons donc un script Python qui permet de générer et d'exécuter le fichier input « U99e5 » de la configuration en question, qui est une fonction de deux paramètres physiques : ??????2[%] et ????????5[%] ainsi qu'un paramètre géométrique qu'est la hauteur active de l'assemblage combustible : ??[????]. Une qu'un calcul MCNP est terminé, le script MCNP_Input_Generator.py, va lire le fichier Output et renvoyer le facteur de multiplication effectif, résultat du calcul de la carte kcode, ainsi que sa déviation standard et la contribution des trois catégories neutroniques dans fission en chaîne, à savoir les neutrons thermiques

Chapitre 3 Résultats et discussion

58

(E ?? < 0.625????), neutrons intermédiaires (0.625 = E ?? = 100??????) et les neutrons rapides (E??> 100??????)

Dans ce calcul test, pour 1000 neutrons/cycle sont utilisés avec 80 cycles actifs. Le résultat indique un ???????? = 0.87784 traduisant ainsi une configuration largement sous-critique. L'enrichissement initial proposé ne permettant donc pas d'obtenir une configuration critique, le script Python « Criticité_Crt.py » ; comprenant une boucle test pour vérifier la valeur de ????????, va prospecter avec une règle d'itération linéaire, les valeurs de ????????5[%] jusqu'à l'obtention d'une valeur qui correspond à une configuration critique. On considérera une configuration critique, toute configuration dont 0.99500 = ???????? = 1.00500.

Non

> mcnp5 in=U99e5 out=U99e5O

Test : ???????? critique ?

Oui

Affichage et
enregistrement

de ????????

Géométrie

Physique

MCNP_Input_Generator.

py

MCNP Input : U99enr_U5

Modèle NuScale

?????????? = ?????????? + ???????

Figure 3.2 : Organigramme simplifié montrant la procédure de recherche de la configuration critique en fonction de l'enrichissement enr_U5

Chapitre 3 Résultats et discussion

59

Ainsi, si l'enrichissement initial ne permet pas d'avoir une configuration critique, un nouvel enrichissement est défini à partir du premier enrichissement en rajoutant un pas, ajusté manuellement, selon la vitesse de convergence des calculs. Pour ceci, une première batterie de simulations est lancée avec 1000 neutrons/cycle pour voir la tendance et la vitesse d'approchement de la valeur critique. Dans le cas d'une tendance assez lente, le pas ?????????5 est ajusté afin de réduire le nombre d'itérations et vice-versa. Une fois un pas est jugé raisonnable, on procède à des calculs avec 5000 neutrons/Cycle pour avoir un premier résultats critique acceptable.

Dans le cas de notre exemple, 4 itérations sont nécessaires avec un pas ??????????? = 0.9% pour atteindre une configuration critique :

Tableau 3.1 : Résultats de calcul MCNP incluant la recherche de criticité

???????? = ????% (??????????

= ??%), ??????????? =

??.??%

 

??????????

 

????????

 

5

 

0.87784

 

5.9

 

0.91284

 

6.8

 

0.94528

 

7.7

 

0.97227

 

8.6

 

0.99771

 

Configuration critique : ???????? =

????% ; ?????????? = ??%,

?????????? =

??.??%

II.3. Calcul des grandeurs neutroniques :

Une fois que l'enrichissement critique initial est obtenu, il sera réinjecté dans le même script avec un nombre de neutrons plus importants, à savoir 20000 neutrons/Cycle. Dans ce de figure l'enrichissement vérifie toujours la condition de criticité et on peut procéder au calcul des grandeurs neutroniques :

1. Le spectre neutronique moyen sur l'ensemble de l'assemblage combustible (les tallies sont enregistrés dans tous les crayons de combustibles) ;

2. La distribution spatiale du flux, le taux de réaction de fission et le taux de réaction de capture, pour le mélange combustible

Chapitre 3 Résultats et discussion

60

3. Le calcul du taux de réaction de fission et de capture pour chaque isotope constituant le combustible, à savoir U235, U238 et Th232 sur l'ensemble des caryons combustible pouvant contenir ces éléments.

Pour cela, deux fichiers distincts sont utilisés :

- le premier : Critcality_Spectrum.py qui permet d'obtenir le spectre neutronique avec un découpage à 413 groupes énergétiques des neutrons

- le second : Criticité_crt.py, qui permet de calculer les distributions spatiales des flux et taux de réaction, moyennant le tally FMESH qui permet de calculer le tally F4 sur un maillage défini par l'utilisateur, couvrant toute la section centrale du coeur du réacteur.

Moyennant des scripts de tracé graphique écrits en Python dans ce sens et faisant appel au module Matplotlib qui offre des grandes possibilités d'interprétation et représentation graphique des données et fonctions : Plot_spectrum.py et FMESH_Plotting.py

Les résultats de calcul pour cette première configuration test, dont le combustible est essentiellement fait d'UO2, sont présentés ci-après.

Figure 3.3 : Spectre neutronique moyen de l'ensemble du combustible pour la configuration de test f_UO2=99%, enr_U5=8.6%

Chapitre 3 Résultats et discussion

61

Le spectre neutronique obtenu (Fig. 3.3) présente une prédominance épithermique à rapide avec une faible proportion des thermiques.

Les données de la tally FMESH sont obtenus dans des fichiers « meshtal » séparés qui seront lus et interprétés avec le script FMESH_Plotting.py. Ainsi, la distribution du flux (Fig. 3.4), montre un flux maximal au centre qui décroit d'une manière non symétrique (des élongations diagonales en X) vers les bords du coeur jusqu'à atteindre les limites du circuit primaire. Les barils et circuits primaires sont montrés par des cercles en pointillés rouges.

Figure 3.4 : Distribution spatiale du flux neutronique au niveau de la section centrale du coeur

De la même manière les taux de fission et de capture au niveau du combustible sont interprétés graphiquement via le même script FMESH_Plotting.py.

On peut constater sur la figure 3.5, que la géométrie du coeur est bien visible et très bien reproduite par le biais du taux de réaction, qu'il soit de fission ou de capture. La figure 3.5, le score de la fission, montre bien que le siège de cette réaction est bien les crayons de combustible. La capture quant elle, non distinctive (Fig. 3.6) est majoritairement présente dans le combustible avec quelques sites de degrés moindre au niveau des conteneurs, la plus importante se trouve au niveau de la paroi intérieure du baril du coeur avec une fraction au niveau de l'eau de modération.

Chapitre 3 Résultats et discussion

62

Figure 3.5 : Distribution spatiale du taux de fission au niveau de la section centrale du coeur

Figure 3.6 : Distribution spatiale du taux de capture au niveau de la section centrale du coeur

Chapitre 3 Résultats et discussion

Pour finir l'intégrale des taux de fission et capture sont calculés sur tout le volume combustible ainsi que pour les isotopes majeurs séparément. Les résultats sont récapitulés dans le tableau ci-dessous.

Tableau 3.2 : Récapitulatif des taux de réactions dans le combustible et pour chaque isotope majeur

?? ?????? = ????% (?? ???????? = ??%), ??????????? = ??.??%

Matériau

????[???????? ????. ????????

/

?????????? [?? ??????/??????]

?????????? [????????/??????]

???????? [??????????/??????]

Combustible

2.365 x 10-2

1.93424E+14

1.99647E+14

3.93071E+14

U235

2.038 x 10-3

1.81729E+14

5.99406E+13

2.416696E+14

U238

2.139 x 10-2

1.17030E+13

1.35032E+14

1.46735E+14

Th232

2.249 x 10-3

2.99381E+10

4.72790E+12

4.7578381E+12

Dans ce cas, on peut estimer à titre indicatif le taux de conversion du Thorium 232 en Uranium 233, permettant ainsi de remplacer les noyaux d'Uranium 235 perdus par fission ou capture radiative :

(Capture)Th232

FC = (Capture+fission)U235

=

4.72790E+12

= 0.0195 ? 2%

(5.99406E+13 + 1.81729E+14 )

63

Ce résultat est tout à fait évident vu cette configuration présente une fraction du Tho2 à 1%, ce qui est très faible pour obtenir un facteur de conversion significatif.

III. Calcul des configurations à combustible Uranium-Thorium :

Dans ce qui suit, on choisit d'explorer cinq configurations avec un combustible à base d'Uranium et de Thorium, supposé homogène avec un calcul de densité utilisant la loi d'un mélange incompressible. Les fractions d'UO2 utilisés sont respectivement 75%, 67%, 50%, 33% ???? 25%. Ainsi, on peut appliquer la méthodologie de calcul à chaque configuration comme cela a été discuté dans le paragraphe précédent.

III.1. Obtention de l'enrichissement critique :

Les résultats des calculs lancés avec le code Criticité_Crt.py sont rassemblés dans le tableau ci-après. On peut bien constater que d'une manière intuitive on s'attend à ce que l'enrichissement augmente à chaque fois qu'on réduit la fraction volumique de l'UO2 et ce pour assurer une réserve de matière fissile qui permet d'obtenir la criticité.

Chapitre 3 Résultats et discussion

64

Tableau 3.3 : Récapitulatif des résultats de recherche d'enrichissement critique pour les différentes configuration Uranium-Thorium

Configuration

???????? [%]

??????????

??????????[%]

[%]

Critique

Nombre
d'itérations

1er Configuration

99

1

8.6

4

2ème Configuration

75

25

14.6

6

3ème Configuration

67

33

16.6

2

4ème Configuration

50

50

23 .6

7

5ème Configuration

33

67

34.6

11

6ème Configuration

25

75

45.6

11

On a regroupé dans le tableau 3.3, toutes les configurations y compris la configuration de test initiale, considérant uniquement de l'Uranium comme combustible. Ces résultats ont été obtenu avec un calcul rapide, en utilisant 5000 neutrons/cycle et un nombre total de cycles égal à 150. Une itération coûte environ 4 min en temps de calcul machine.

Comme les mélanges sont graduellement augmentés en Thorium, l'enrichissement de départ est toujours pris égale à celui calculé dans la configuration précédente, vu que l'enrichissement doit augmenter à chaque fois qu'on réduit la fraction de l'UO2 dans le combustible.

III.2. Calcul des grandeurs neutroniques :

En premier lieu, pour chaque configuration on calcule le spectre neutronique via le tally F4 avec un partage énergétique de 413 groupes. Les résultats sont regroupés sur le même graphe (Fig. 3.7).

La figure en question montre bien que le spectre neutronique moyenné sur tout le volume combustible est pratiquement identique dans toutes les configurations, sauf la première configuration test, ou on peut observer un léger épaulement dans la composante gauche (thermique et intermédiaire) du spectre. Ceci traduit par l'augmentation de la capture neutronique dans la partie thermique au fur et à mesure qu'on augmente la fraction du Thorium 232. Par contre dans la partie rapide, les spectres se confondent pratiquement.

Chapitre 3 Résultats et discussion

65

Figure 3.7 : Spectre neutronique des différentes configurations, calculé sur le volume combustible

total

La distribution spatiale du flux neutroniques de chacune des six configurations est présentée dans la figure 3.8, toutes regroupées afin de permettre meilleure comparaison visuelle.

Les mêmes allures de distribution flux au niveau de la section centrale du coeur sont obtenues, avec une décroissance non symétrique, caractérisée par des élongations diagonales en X. par contre une forte intensité du flux au centre du coeur est enregistrée dans la configuration n°1 dont le combustible est principalement fait d'UO2.

De même, la figure 3.9 montre que la répartition de la fission est bien la même dans toutes les configurations et il est difficile de distinguer les légères différences dans l'intensité du taux de fission entre une configuration et une autre. Par contre, on remarque bien que des maximums sont bien visible au niveau des bords du coeur, notamment au niveau des coins du carré centrale. Ceci est dû à la population neutronique réfléchie par l'eau de modération, ainsi que la distribution du flux neutronique notamment au niveau des coins.

Chapitre 3 Résultats et discussion

(a)

(c)

(e)

(d)

(b)

(f)

Figure 3.8 : La distribution spatiale du flux neutronique moyen des six configurations : (a) UO2=99%, (b) UO2=75%, (c) UO2 = 67%, (d) UO2=50%, (e) UO2=33%, (f) UO2=25% 66

Chapitre 3 Résultats et discussion

(a)

(c)

(e)

(f)

(d)

(b)

Figure 3.9 : La distribution spatiale du taux de fission des six configurations : (a) UO2=99%, (b) UO2=75%, (c) UO2 = 67%, (d) UO2=50%, (e) UO2=33%, (f) UO2=25%

Chapitre 3 Résultats et discussion

68

La figure 3.10, quant à elle nous permet de visualiser la capture au niveau de section centrale du coeur de chaque configuration. Encore une fois, une très grande similitude est observée entre les six configurations. On constate un très grand taux de capture au centre de la section du coeur avec quelques plus ou moins d'extremums au niveau de certains crayons combustibles.

D'autres part, la paroi interne du baril du coeur présente de forte capture neutronique, due essentiellement au fer 56 présent dans l'acier constituant cette première barrière.

III.3. Calcul du facteur de conversion THORIUM-URANIUM-233 :

La bonne répartition des taux de fission et de capture permet dans ce cas de figure, d'une part d'obtenir une meilleure consommation de l'élément fissile initial U235 et d'autre part une production d'un nouvel élément fissile U233 via la réaction nucléaire :

232 + 0 ??

1 233

90??h 90??h 233 92 ??

91???? 233

??-(22.3 min) ??-(27??)

Il est dont impératif de définir quel est le taux de production de l'U233 (qui correspond à la capture neutronique du Th232) par rapport au taux de disparition de l'U235 (qui correspond à la fission et la capture neutronique de l'U235).

Ainsi nous présentons dans les tableaux ci-dessous, les valeurs numériques de taux de fission et capture pour chaque élément, tout en déduisant le total de la réaction nucléaire impliquant un neutron.

Par la suite, on définit le facteur de conversion de chaque configuration :

FC = (Capture)Th232

(Capture+fission)U235

Ce facteur a été déjà calculé pour la première configuration et sa valeur remarquablement très basse ( ~ 2%), reflétant la très faible fraction du Thorium dans la composition du combustible. La valeur de 1% était utilisé uniquement pour ne pas attribuer une valeur nulle dans la fraction de l'isotope Th232 dans la carte du matériau 1 dans le fichier input, ce qui causerait une erreur de compilation dans le code MCNP et aurait empêcher le déclenchement du calcul numérique. On présentera dans ce qui suit les taux de conversion pour chacune des six configurations.

Chapitre 3 Résultats et discussion

(e)

(c)

(a)

(b)

(d)

(f)

69

Figure 3.10 : La distribution spatiale du taux de capture des six configurations : (a) UO2=99%, (b) UO2=75%, (c) UO2 = 67%, (d) UO2=50%, (e) UO2=33%, (f) UO2=25%

Chapitre 3 Résultats et discussion

3.1. 1ere Configuration :

Isotopes

Fission

Capture

Total (Fission + Capture)

Mixture

1.93424E+14

1.99647E+14

3.93071E+14

U235

1.81729E+14

5.99406E+13

2.416696E+14

U238

1.17030E+13

1.35032E+14

1.46735E+14

Th232

2.99381E+10

4.72790E+12

4.7578381E+12

(Capture)Th232 FC = (Capture+fission)U235

=

4.72790E+12

= 0.0195 - 2%

 

(5.99406E+13 + 1.81729E+14 )

3.2. 2eme Configuration :

Isotopes

Fission

Capture

Total (Fission + Capture)

Mixture

1.93679E+14

2.02137E+14

3.95809E+14

U235

1.84600E+14

6.13740E+13

2.45974E+14

U238

8.29612E+12

9.30033E+13

1.0129942E+14

Th232

7.49391E+11

4.77015E+13

4.8450891E+13

(Capture)Th232 FC = (Capture+fission)U235

=

4.77015E+13

= 0.1939 - 19%

 

(6.13740E+13 + 1.84600E+14)

(Capture)Th232 FC = (Capture+fission)U235

=

5.76707E+13

= 0.2335 -23%

 

(6.16647E+13 + 1.85218E+14 )

3.3. 3eme Configuration :

Isotopes

Fission

Capture

Total (Fission + Capture)

Mixture

1.93427E+14

2.02789E+14

3.96216E+14

U235

1.85218E+14

6.16647E+13

2.468827E+14

U238

7.23632E+12

8.34484E+13

9.068472E+13

Th232

9.90037E+11

5.76707E+13

5.8660737E+13

70

Chapitre 3 Résultats et discussion

3.4. 4eme Configuration :

Isotopes

Fission

Capture

Total (Fission + Capture)

Mixture

1.94372E+14

2.02263E+14

3.96635E+14

U235

1.87929E+14

6.28733E+13

2.508023E+14

U238

4.97218E+12

6.27176E+13

6.768978E+13

Th232

1.50421E+12

7.66867E+13

7.819091E+13

(Capture)Th232 FC (Capture+fission)U235

=

7.66867E+13

= 0.3057 - 30%

 

(6.28733E+13 + 1.87929E+14)

3.5. 5eme Configuration :

Isotopes

Fission

Capture

Total (Fission + Capture)

Mixture

1.94210E+14

2.02396E+14

3.96606E+14

U235

1.89437E+14

6.37894E+13

2.532264E+14

U238

2.77970E+12

4.25921E+13

4.53718E+13

Th232

2.01810E+12

9.60293E+13

9.80474E+13

FC = (Capture)Th232

(Capture +fission)U235

=

9.60293E+13

= 0.3792 - 38%

 

(6.37894E+13 + 1.89437E+14)

(Capture)Th232

FC =

(Capture+fission)U235

=

1.05483E+14

= 0.4143 - 41%

 

(6.42613E+13 + 1.90292E+14)

3.6. 6eme Configuration:

Isotopes

Fission

Capture

Total (Fission + Capture)

Mixture

1.94288E+14

2.01621E+14

3.95909E+14

U235

1.90292E+14

6.42613E+13

2.545533E+14

U238

1.76828E+12

3.18745E+13

3.364278E+13

Th232

2.26157E+12

1.05483E+14

1.0774457E+14

71

Chapitre 3 Résultats et discussion

72

Il est tout à fait attendu que le taux de conversion présente une forte corrélation avec la fraction du ThO2 dans le combustible. La dernière configuration présente la valeur maximale à 41%, signifiant que pour chaque 10 fissions d'uranium 235, il est possible de récupérer 4 noyaux d'uranium 233 pour remplacer les noyaux fissiles. Ce calcul est purement statique et théorique et ne prend pas en considération la dynamique du réacteur lors du fonctionnement mais il est assez significatif sur l'intérêt du cycle Thorium dans l'industrie énergétique nucléaire.

On constate également, que mis à part la première configuration ou le combustible est essentiellement de l'UO2, la densité atomique de la matière fissile dans les configurations Uranium-Thorium avec différentes fractions volumiques, est restée relativement constante pour assurer la criticité du système, comme le montre le tableau récapitulatif ci-dessous. Très probablement des calculs de plus haute précision (nombres de neutrons important par cycle) permettront de mieux appréhender l'allure de cette densité critique de l'U235.

Tableau 3.4 : Comparatif de la réserve fissile entre les différentes configurations

Configuration

????

[ ????. ??]

????

[ ????. ??]

??????????????[%]

????[%]

N??????

N??????

UO2=99%

2.038 X 10-3

2.25 X 10-4

2.36

??.????

UO2=75%

2.621 X 10-3

5.62 X 10-3

23.6

????.??

UO2=67%

2.662 X 10-3

7.42 X 10-3

28.44

????. ????

UO2=50%

2.824 X 10-3

1.12 X 10-2

37.91

????.????

UO2=33%

2.732 X 10-3

1.50 X 10-2

47.44

????.????

UO2=25%

2.727 X 10-3

1.68 X 10-2

52.32

????.????

73

Conclusion

Conclusion :

Dans notre mémoire nous avons utilisé le code de calcul du transport neutronique basé sur les méthodes de Monte-Carlo, le code MCNP5 qui est largement utilisé pour le calcul de criticité des réacteurs et assemblages de combustible nucléaire. Pour effectuer un calcul MCNP5, il faut fournir un fichier d'entrée (INPUT) décrivant la géométrie du système ; qu'elle soit simple ou complexes, ainsi que la composition chimique et isotopique des matériaux constituants ce système (fractions massiques ou atomiques, densité, ...) et finalement la physique qu'on veut simuler (Source, interactions, grandeurs physiques, criticité, ...) moyennant enregistreurs d'évènements, appelés « TALLY ».

Dans ce travail, il a été donc possible d'apprendre l'utilisation de ce code par la modélisation de géométries simples en premier temps, ensuite des géométries plus complexes, comprenant la création de réseaux de cellules de combustibles (assemblages de crayons de combustibles) selon l'arrangement et la disposition géométrique souhaitée. Tester plusieurs configurations en termes de composition chimique et isotopique, nécessite à chaque de redéfinir les matériaux dans le fichier d'entrée et souvent un travail manuel est lourd à effecteur à chaque qu'on veut attribuer les valeurs de fractions massiques ou atomiques des éléments constituants le combustible à titre d'exemple, ainsi que la densité d'un mélange. Pour cela, on s'est appuyer sur le langage PYTHON pour rendre ces modifications automatiques et ce en introduisant uniquement les paramètres principaux qui définissent une configuration donnée, comme l'enrichissement en U235 et la fraction de l'UO2 dans le mélange Uranium-Thorium qu'on a adopté pour le présent travail et c'est au script python de générer le fichier d'entrée selon les standards et le format du MCNP5.

Dans le même sens, on a pu également contrôler la création de fichier, leur gestion, l'exécution d'un calcul MCNP et finalement l'extraction des informations et données d'intérêts depuis les fichiers de sorties (OUTPUT, MESHTAL) comme le keff, sa déviation standard, etc....

En plus, il nous a été possible de maîtriser les interprétations et représentations graphiques des résultats de calculs, comme le spectre neutronique, les distributions spatiales du flux, des taux de réactions (fission et capture) par le biais des modules Python dédiés (Matplotlib). Tout ceci a été possible en utilisant des scripts Python qui ont été écrits dans le cadre de ce projet de fin d'étude.

On a étudié également le cas d'un réacteur SMR de type NusScale (150MWth et 35MWe) qu'on a modélisé et calculer avec MCNP5, dans l'hypothèse d'un combustible à base d'une mixture homogène d'UO2 et ThO2, pour différentions proportions.

Conclusion

Sur le plan le plan pratique, on a exploré 6 configurations, dont une première configuration préliminaire constituée d'un combustible à base d'UO2, ensuite on a commencé à réduire la proportion de celui-ci et augmenter cette du ThO2. Pour les six configurations, les résultats de calcul, montrent un flux neutronique avec un maximum au centre qui décroit vers les bords, avec une partie centrale présentant des élongations diagonales (en forme de X). le spectre neutronique quant à lui, est caractérisé par une prédominance rapide montrant une faible modération des neutrons dans le coeur.

Les taux de réactions de fission et capture, présentent les mêmes allures dans toutes les configurations. La fission, est maximale sur les bords du coeur, notamment dans les coins du carré central, traduisant très probablement les maximas du flux dans les coins et surtout la réflexion des neutrons au contact du volume d'eau de modération qui entoure complètement le coeur. La distribution spatiale des de la fission et de la capture reproduit très fidèlement la géométrie des coeurs (assemblage en crayons).

Un facteur de conversion du thorium en uranium 233 a été calculé et une valeur maximale pour la configuration présentant la plus grande fraction du ThO2, mais nécessitant un plus grand enrichissement (~45%) de la fraction de l'UO2. Cet effet, reflète en effet la nécessité de préserver une densité atomique (presque constante) de la matière fissile qui correspond à la situation critique du coeur.

L'automatisation nécessiterait également quelques améliorations, notamment dans l'algorithme de recherche de criticité, en utilisant un pas de variation de l'enrichissement recherché, puisse y être dynamique et surtout qu'il soit fonction du résultat de keff pour se libérer de l'ajustement manuel du pas de variation. D'autres améliorations peuvent être également apportés pour la stratégie de calcul ainsi que l'exploitation des résultats de calcul (lecture et interprétation des fichiers de sortie).

74

75

Références

Références :

[1]. https://www.oecd-nea.org/upload/docs/application/pdf/2019-12/aen-bref.pdf.

[2]. Kernenergie, «l'energie nucleaire dans le monde,» 2021. [en ligne]. Available: https://www.kernenergie.ch/fr/l-energie-nucleaire-dans-le-monde- content---1--1071.html.Technologically Sound Alternative. Springer; 2017. 283 p.

[3]. D. Atomique, «une filiere nucleaire au thorium,» 2 janvier 2015 . [en ligne]. Available: https://www.cea.fr/comprendre/pages/energies/nucleaire/essentiel-sur-une-filiere-nucleaire-au-thorium.aspx

[4]. NEA, «petit reacteur modulaire,» 08 november 2020. [en ligne]. https://www-oecd-nea.org/jcms/

[5]. Marguet s. La physique des reacteurs nucleaires. Lavoisier; 2011. 1235 p.

[6]. Reuss P. Precis De Neutronique. Edp Sciences; 2012. 541 P.

[7]. Wiesenfeld B. Introduction A La Neutronique Ed.1. Paris:

[8]. BOUSENNA A. Physique Nucleaire 3. Les Reactions Nucleaire.

[9]. [Réf. 25] M.F.James « Energy Released In Fission ». Journal Of Nuclear Energy Vol 23 P.529 1969.

[10]. Le fonctionnement d'un reacteur nucleaire. De la fission a la reaction en chaine. Cea. Commisariat a l'energie atomique, 2002.

[11]. Reuss P.Fission Nucleaire, Reaction En Chaine Et Criticite. Edp Sciences; 2018. 290P.

[12]. Jaouen c, beroux p. Generalites sur les reacteurs nucleaires. Annales des mines realites industrielles. 2012;aout 2012(3):113-27.

[13]. https://www.gen-4.org/gif/

[14]. Pedraza Jm. Small Modular Reactors For Electricity Generation: An Economic And Technologically Sound Alternative. Springer; 2017. 283 P.

[15]. https://www.iaea.org/fr/themes/petits-reacteurs-modulaires

[16]. https://fr.wikipedia.org/wiki/petits reacteurs modulaires

[17]. www.nuscalepower.com

[18]. S. M. Modro. J. E. Fisher. Multi-Application Small Light Water Reactor Final Report . December 2003.

[19]. X-Monte-Carlo Team. MCNP Manuel: A GENERAL Monte-Carlo N-particle Transport Code. Version 5. Los Alamos National Laboratory; 2003.

[20]. Le site officiel du langage de programmation Python : https://www.python.org/

[21]. La bibliothèque standard : https://docs.python.org/fr/3/library/index.html

[22]. Le Centre National de Données Nucléaires (NNDC) : https://nndc.bnl/sigma.

[23]. Le site officiel de la Bibliothèque MATPLOTLIB : https://matplotlib.org

ÉãÇÏÊÓÇ

äÇãÖæ

ÉÚÔãáÇ ÊÇíÇäáá ÇåÌÇÊäÅ

äã áíáÞÊáÇæ ÇåÊãáÇÓ äíÓÍÊæ ÉíææäáÇ ÊáÇÚÇãáÇ ÁÇäÈ

: ÕÎáã

í ÉÚÊÑãáÇ íáÇßÊáÇ äã ÏÍáá

ÏÇÌíÅ æå

áãÚáÇ

ÇÐå

äã ÏåáÇ .ãæíÑæËáÇ

ÉÑæÏÈ ÉÑíÛÕ ÉíØãä Éíææä ÊáÇÚÇã ÉÓÇÑÏ ìáÅ äíËÍÇÈáÇ äã ÏíÏÚáÇ åÌÊÇ ÏæÞæáÇ

ÑÕäÚáÇ

ÏíÏÌÊ

äã

ÞÞÍÊáÇæ

ãæíÑæËáÇæ

ãæíäÇÑæíáÇ äã ÏæÞæÈ áíßÓä ÑíÛÕ íææä áÚÇã

ÈáÞá ØíÓÈæ ÓäÇÌÊã äíæßÊ

áÚÇÊáÇ

áÏÚã

íäæÑÊæíäáÇ

ÞÏÊáÇß

ÉíäæÑÊæíäáÇ åÕÆÇÕÎ ÖÚÈ ÏíÏÍÊ ááÇÎ äã

ßáÐæ ÏæÞæáá íÑÇØÔäáÇ Ç

ÉÊãÊ í

äæËíÇÈáÇ

ÉÌãÑÈáÇ

ÉÛáæ æáÑÇß íÊäæã ÉÇßÇÍãáÇ ÌãÇäÑÈ ãÇÏÎÊÓÇÈ Çãåá íäÇßãáÇ

ÚíÒæÊáÇæ )ØÇÞÊááÇÇæÑÇØÔäáÇÇ(

 
 
 
 
 
 

.ÊÇÈÇÓÍáÇ

Résumé :

Pour réduire les coûts élevés de construction des réacteurs nucléaires, améliorer leur sûreté, réduire leur production de déchets radioactifs et assurer la pérennité du combustible, de nombreux chercheurs se sont tournés vers l'étude de petits réacteurs nucléaires modulaires (SMR) à cycle thorium. Le but de ce travail est de trouver une composition homogène et simple pour le coeur d'un petit réacteur nucléaire NuScale à combustible issu de l'uranium et du thorium et de vérifier le renouvellement de l'élément fissile pour le combustible, en déterminant certaines de ses propriétés neutroniques telles que flux, vitesse de réaction (fission et capture) et leur distribution spatiale à l'aide d'un programme de simulation MCNP5 et le langage de programmation PYTHON pour l'automatisation des calculs.

Summary :

To reduce the high construction costs of nuclear reactors, improve their safety, reduce their production of radioactive waste and ensure the sustainability of the fuel, many researchers have turned to the study of small modular nuclear reactors (SMR) thorium cycle. The aim of this work is to find a homogeneous and simple composition for the core of a small NuScale nuclear reactor fueled from uranium and thorium and to verify the renewal of the fissile element for the fuel, by determining certain of its neutron properties such as flux, reaction rate (fission and capture) and their spatial distribution using a simulation program MCNP5 and the programming language PYTHON for the automation of calculations.

Mots Clés : MCNP, SMR, NuScale, Neutronique, Fission, Criticité, Uranium, Thorium, Python, Matplotlib, Numpy, Script.






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"L'imagination est plus importante que le savoir"   Albert Einstein