Module LTM (Lecture de Tallys MCNP )

Les résultats des tallys demandés sont stockés par MCNP dans un fichier (son suffixe est m). LTM lit ce fichier, il met les résultats sous forme de tableau qu'il passe au module appelant (REM).

Module DPH (Données Physiques )

Certains des noyaux présents dans le volume sont radioactifs, ils ont souvent plusieurs voies de désintégration. L'équation différentielle d'évolution de la composition des éléments de volume fait intervenir les constantes de décroissances (inverse de la période) des diverses voies de désintégration. C'est le module DPH qui, à la demande du module REM, prépare ces données à partir de la base de données JEFF3T dans laquelle se trouve, pour chaque noyau, la liste de ses modes de décroissance et leur période.

Module IME (Intégration de la Matrice d'Evolution)

C'est ce module qui assure la partie déterministe du calcul pour chaque élément de volume. L'équation à intégrer est :

$ {\frac{{dN_{i}}}{{dt}}}$ = $ \Phi$$ \Sigma_{{i\neq j}}^{}$ < Yj $\scriptstyle \rightarrow$ i$ \sigma^{{cap}}_{{j}}$$ \varphi$ > Nj + $ \Sigma_{{i\neq j}}^{}$Y'j $\scriptstyle \rightarrow$ i$ \lambda_{{j}}^{}$Nj - $ \Phi$ < $ \sigma_{{i}}^{{abs}}$$ \varphi$ > Ni - $ \lambda_{{i}}^{}$Ni

avec :

$ \Phi$: le nombre de neutrons source par seconde

$ \varphi$ : le flux de neutrons par neutron source

Ni : le nombre de noyaux de l'élément i à l'instant t

Yj $\scriptstyle \rightarrow$ i : le rapport d'embranchement de la réaction menant du noyau j vers le noyau i

$ \Phi$ < Yj $\scriptstyle \rightarrow$ i$ \sigma_{{j}}^{{cap}}$$ \varphi$ > Nj : le taux moyen de réaction sur le noyau j conduisant au noyau i

Y'j $\scriptstyle \rightarrow$ i : le rapport d'embranchement de décroissance du noyau j conduisant au noyau i

$ \lambda_{{j}}^{}$ : la constante de décroissance du noyau j

$ \Phi$ < $ \sigma_{{i}}^{{abs}}$$ \varphi$ > Ni : le taux moyen de réaction d'absorption d'un neutron par le noyau i

$ \lambda_{{i}}^{}$ : la constante de décroissance totale du noyau i

On peut écrire cette équation sous forme matricielle, où le vecteur $ \overrightarrow{N} $ représente l'ensemble des noyaux d'un élément de volume et A la matrice des coefficients (sections efficaces, décroissances radioactives) :

$ {\frac{{d\overrightarrow{N}}}{{dt}}}$ = A$ \overrightarrow{N} $

Dans le cas particulier des réacteurs à sels fondus (RSF), on introduit un terme supplémentaire dans l'équation différentielle représentant l'évolution de la composition. L'équation devient :

$ {\frac{{d\overrightarrow{N}}}{{dt}}}$ = A$ \overrightarrow{N} $ + $ \overrightarrow{B} $

où le vecteur $ \overrightarrow{B} $ représente l'alimentation : il permet de spécifier le nombre de noyaux ajoutés ou retirés par seconde, dans les éléments de volume.

Les éléments des matrices d'évolution sont fournis par le module appelant (REM). Le vecteur $ \overrightarrow{N} $, la composition courante dans l'élément de volume, et le vecteur $ \overrightarrow{B} $ sont, eux aussi, fournis par REM.

IME se charge de l'intégration de l'équation différentielle. Cette intégration se fait par une méthode Runge Kutta du 4ième ordre (RK4) à pas variable, qui permet d'obtenir une intégration plus stable qu'avec les méthodes d'intégration linéaires.

Il s'agit donc de calculer un nouveau vecteur, $ \overrightarrow{N_{1}} $ qui représente la nouvelle composition au bout du temps d'intégration, disons $ \Delta$t, dont nous allons voir comment il est déterminé afin de conserver une précision de calcul suffisante.

  • IME fait une première intégration sur le temps $ \Delta$t, et obtient le vecteur $ \overline{{N_{1}}}$ qui correspond au vecteur à l'instant t+$ \Delta$t.
  • IME fait ensuite deux intégrations successives sur des temps d'intégration divisés par deux, obtenant $ \overline{{N'_{1}}}$ à t+ $ {\frac{{\Delta \textrm{t}}}{{2}}}$ et $ \overline{{N'_{2}}}$ à t+$ \Delta$t.
  • IME vérifie que l'écart quadratique entre les vecteurs $ \overline{{N_{1}}}$ et $ \overline{{N'_{2}}}$n'est pas supérieur à une valeur consigne fixée par le programme appelant.
     
    • Si la consigne est satisfaite, IME garde $ \overline{{N'_{2}}}$comme nouvelle composition, et agrandit le pas d'intégration pour l'intégration suivante.
 
    • Si la consigne n'est pas satisfaite, IME refait le calcul ci-dessus, mais en prenant comme pas d'intégration, $ {\frac{{\Delta \textrm{t}}}{{2}}}$, et comme demi temps $ {\frac{{\Delta \textrm{t}}}{{4}}}$. Il vérifie à nouveau si la consigne est satisfaite. Si oui, il garde la nouvelle valeur de $ \overline{{N'_{2}}}$ (qui correspond, dans ce cas, au temps t+ $ {\frac{{\Delta \textrm{t}}}{{2}}}$) mais n'augmente pas le pas d'intégration suivant : la composition change trop vite, il faut continuer à intégrer sur des petits pas.
 
    • Si la consigne n'est toujours pas satisfaite, IME refait le calcul en divisant de nouveau le pas d'intégration par deux, etc.

Ces vérifications sont faites cellule par cellule. Ainsi, certains éléments du volume, dans lesquels la composition change lentement, peuvent avoir des pas d'intégration assez grands et d'autres, dans lesquels la composition change rapidement, de petits pas d'intégration. Les différentes cellules sont synchronisées régulièrement, à l'occasion du calcul des paramètres globaux du réacteur (temps d'ajustement, de synchronisation).

Grâce aux vérifications d'écarts quadratiques sur les vecteurs de composition calculés, on obtient un pas d'intégration qui est ajusté à la dynamique du réacteur, cellule par cellule. Pendant les phases transitoires, le vecteur $ \overrightarrow{N} $ change rapidement, on a des temps d'intégration courts du fait que la consigne n'est pas (toujours) satisfaite. Lorsque le réacteur atteint l'équilibre, le vecteur $ \overrightarrow{N} $ change peu, les pas d'intégration peuvent être grands.

Remarque : sur des temps longs, le flux moyen calculé par MCNP ne peut plus être traité comme constant. La variation des < $ \sigma$$ \phi$> peut cependant être estimée (par REM), ce qui permet de continuer à suivre l'évolution des compositions sans repasser par un calcul MCNP, qui est de loin plus long à faire que ces intégrations RK4.

Ajustement

IME boucle sur des intégrations successives, en ajustant ses pas d'intégration (RK4) de façon indépendante dans chaque élément de volume. Mais on demande aussi à IME de vérifier que la puissance du réacteur et sa réactivité ne changent pas au cours du temps. Ceci suppose qu'IME suspende les intégrations au même instant dans toutes les cellules, qu'il calcule ces paramètres, qu'il vérifie que leur variation ne dépasse pas la consigne donnée. Ainsi, IME reçoit une consigne pour les paramètres qu'on lui demande de contrôler et aussi un intervalle de temps, appelé « temps d'ajustement ». IME modifie le « temps d'ajustement » selon la stabilité des paramètres qu'il contrôle.

Lorsque le temps d'ajustement est atteint dans toutes les cellules, IME calcule la puissance et la réactivité . Il vérifie que la variation de ces paramètres, depuis le dernier temps d'ajustement, est inférieure à la consigne qui lui a été fixée. Si l'un de ces paramètres varie trop, IME recommence ses calculs sur un intervalle de temps (temps d'ajustement) plus court.

Le prochain « temps d'ajustement » est fixé en fonction de la difficulté à respecter les consignes :

  • Si les consignes sont satisfaites d'emblée, et qu'elles l'avaient été au calcul précédent, le « temps d'ajustement » est augmenté pour le calcul suivant.
  • Si les consignes sont satisfaites d'emblée, mais qu'elles ne l'avaient pas été au calcul précédent (on avait réduit le « temps d'ajustement ») IME garde le même « temps d'ajustement » pour la suite.
  • Si les consignes n'étaient pas satisfaites d'emblée, IME prend comme nouveau « temps d'ajustement » le temps qui a permis de satisfaire les consignes.

Notons qu'on peut demander à IME de travailler à puissance constante. Dans ce cas, IME corrige directement les éventuelles variations de puissance en agissant sur le nombre de neutrons source, ce qui reviendrait, s'il s'agissait d'un réacteur hybride, à changer l'intensité du faisceau et, s'il s'agissait d'un réacteur critique, à changer le niveau de flux neutronique, par exemple en agissant sur les barres de contrôle.

  La puissance dépend du nombre de fissions qui se produisent, et de l'énergie libérée lors d'une fission. IME la calcule, sur l'ensemble des cellules, par :

P = $ \Phi$$ \Sigma_{{i}}^{}$Ni < $ \sigma_{{i}}^{{fis}}$$ \varphi$ > $ \varepsilon_{{i}}^{}$

avec :

$ \Phi$: le nombre de neutrons source. C'est sur ce terme qu'IME agit pour ajuster la puissance.

Ni : le nombre de noyaux de l'élément fissile i

< $ \sigma_{{i}}^{{fis}}$$ \varphi$ > : la section efficace moyenne de fission du noyau i

$ \varepsilon_{{i}}^{}$ ; l'énergie de fission du noyau i, c'est-à-dire l'énergie libérée lors de la fission d'un noyau de l'élément i.

  La réactivité est, par définition, le nombre de neutrons créés par les fissions divisé par le nombre total de neutrons absorbés, ce qui s'écrit :
k = $ {\frac{{n_{cr\acute{e}\acute{e}s}^{fis}}}{{n_{tot}^{abs}}}}$ = $ {\frac{{\Phi \Sigma _{i}N_{i}\upsilon _{i}<\sigma _{i}^{fis}\varphi >}}{{\Phi ...  ...igma _{i}^{n,2n}\varphi >-2\Phi \Sigma _{i}N_{i}<\sigma _{i}^{n,3n}\varphi >}}}$$ \upsilon_{{i}}^{}$ est le nombre moyen de neutrons créés lors de la fission d'un noyau i

Quand les paramètres sont dans les limites fixées, IME appelle une procédure du module appelant (en jargon informatique, c'est un « callback ») qui lui rendra la main ultérieurement. Par l'intermédiaire de cette procédure, tout type d'ajustement peut être fait, qui simule une intervention extérieure sur le réacteur, et/ou sur l'alimentation, par exemple pour ajuster la réactivité. En effet, IME lui-même ne peut pas ajuster la réactivité, car cela suppose une modification de la composition des cellules, ou du vecteur d'alimentation. Ce genre d'action est réservé à un module de plus haut niveau, voire au programme principal.

Synchronisation

Un instant, dit « temps de synchronisation » peut être fixé à IME. Il est mesuré en temps absolu : le calcul sera suspendu à un instant ts qui est le temps écoulé depuis le démarrage du réacteur. Lorsque ce temps est atteint dans toutes les cellules, IME calcule, comme lors des ajustements, la puissance et la réactivité, puis appelle une procédure du module appelant qui lui rendra la main ultérieurement.

IME fonctionne ainsi de façon autonome, calculant les compositions des différents éléments de volume du réacteur au cours du temps, par intégrations successives de l'équation différentielle. Mais ceci ne continue pas indéfiniment. IME s'arrête au bout d'un temps fixé par le programme appelant, dit « temps total d'intégration » (également appelé « pas MCNP ») et lui rend la main. En effet, il arrive un moment où il faut refaire un calcul MCNP avec les compositions trouvées par IME, obtenir les nouvelles valeurs de < $ \varphi$ > et des < $ \sigma$$ \varphi$ >, puis reprendre les intégrations avec une matrice d'intégration mise à jour. Ceci se fait sous le contrôle du module appelant, (REM).