• Non ci sono risultati.

Appendice N – Codici di calcolo utilizzati

N/A
N/A
Protected

Academic year: 2021

Condividi "Appendice N – Codici di calcolo utilizzati"

Copied!
6
0
0

Testo completo

(1)

Appendice N – Codici di calcolo utilizzati

Il codice MCNP

Il codice MCNP-4C[I.3][4.14][7.6][N.1] è un codice di tipo Monte Carlo (MC) sviluppato dal Los Alamos National Laboratori (LANL) per la risoluzione dell’equazione del trasporto e per il calcolo degli autovalori di un sistema critico anche in una complessa geometria tridimensionale.

MCNP risolve problemi dipendenti dall’energia e dal tempo, relativi a neutroni, fotoni, elettroni, non tramite la risoluzione dell’equazione integro-differenziale come farebbe un metodo deterministico, ma simulando la storia delle particelle che si muovono nella geometria in esame. E’ comunque possibile dedurre l’equazione che descrive la densità di probabilità delle particelle nello spazio delle fasi. Il metodo consiste nel seguire ogni singola particella dal momento della nascita, lungo il suo cammino, fino alla sua "morte" (per fuga, assorbimento, etc.).

Il MC è un metodo statistico, genera numeri pseudo-casuali che vengono associati via via alle interazioni che subiscono le particelle ed al luogo in cui queste avvengono.

Nel codice MCNP tutte le opzioni vengono gestite da input. Il codice è “user-friendly”, ovvero in esso è prevista una serie di parametri di default, nell’eventualità di assenza di diversa specificazione.

Una caratteristica molto importante del codice è il “restart”, ovvero la possibilità di salvare i risultati parziali in modo da poterli riprendere o per una successiva elaborazione o se l’errore statistico risulta essere ancora troppo elevato.

MCNP usa librerie di dati atomici e nucleari ad intervalli energetici continui e/o discreti che, per essere utilizzate dal codice, devono essere riprocessate e rese in formato appropriato tramite un codice deputato a questa funzione (ad esempio il codice NJOY[N.1]). Esistono librerie già inserite nel codice con dati nucleari ed atomici relativi ad intervalli energetici continui. L’utente può selezionare le specifiche tabelle di dati tramite identificatori univoci per ogni tabella, detti ZAIDs.

È consentito specificare una grande varietà di condizioni per la sorgente senza dover modificare il codice. In pratica si definiscono l’energia, il tempo, la posizione, la direzione di volo ed altri parametri come la cella o la superficie da cui parte la particella. I parametri di ingresso in sede di definizione della sorgente possono anche essere definiti come funzione di altri parametri.

MCNP tratta come si è detto geometrie 3D organizzate in celle (e riempite di specifici materiali) definite dall’utente: le celle sono ottenute da intersezioni, unioni e complementi di regioni delimitate da superfici. Queste ultime, a loro volta, sono calcolate fornendo i coefficienti delle equazioni di superfici analitiche o per punti noti. Le superfici implementate nella versione 4C sono di 1°, 2°, 4° grado e possono essere combinate tramite operazioni booleane. Ci sono diversi modi per il controllo degli errori commessi in fase di definizione della geometria.

Anche l’output di questo codice è alquanto flessibile, in quanto i risultati da riportare sono definiti nell’input dall’utente per mezzo di apposite opzioni definite “tally”.

Il sistema MONTEBURNS

Il MONTEBURNS[I.4][7.7] effettua il calcolo di vita di un reattore accoppiando i codici MCNP-4B ed ORIGEN-2.1. E’ costituito dal programma ausiliario MONTEB (scritto in FORTRAN) e da una procedura PERL che provvede a chiamare l’esecuzione dei vari codici nella successione prevista come indicato in fig. N.1.

(2)

Figura N.1 – Descrizione del sistema Monteburns

L’utente specifica la geometria, la composizione iniziale dei materiali e gli intervalli di tempo da considerare. La principale funzione del MONTEBURNS è quella di trasferire le sezioni d’urto ad un gruppo ed i flussi valutati con MCNP ad ORIGEN per il calcolo di burnup e successivamente trasferire le composizioni risultanti da ORIGEN a MCNP. Tutto questo avviene ciclicamente più volte.

Il codice ORIGEN esegue i calcoli di burnup (implementando il matrix exponential method). Necessita dei seguenti dati:

- composizione iniziale e quantità di materiale;

- sezioni d’urto microscopiche ad un gruppo per ogni isotopo;

- tassi di rifornimento (feed) e/o di rimozione per ogni materiale (opzionali); - durata del periodo o dei periodi di irradiazione;

- flusso o potenza per l’irradiazione.

I file di input per ORIGEN sono abbastanza complessi da preparare e gli output sono di grosse dimensioni. Il sistema MONTEBURNS agevola l’utilizzatore nella gestione di questi file. La creazione dell’input e l’analisi dell’output è infatti svolta automaticamente dal programma MONTEB, sì che l’utente deve solo preparare un file di input semplificato per il MONTEBURNS. Quattro sono i file di ingresso utilizzati dal codice MONTEBURNS:

• il file di input per MCNP;

• il file di input per MONTEBURNS propriamente detto (mbfile.inp); • il feed input file;

• la mappa delle sezioni d’urto.

Il file mbfile.inp descrive tutti i parametri richiesti per l’esecuzione del caso da considerare (di seguito sono elencati i principali):

- numero di materiali presenti nell’input MCNP da bruciare (<50) e loro identificazione;

- volumi delle celle MCNP che contengono i materiali da bruciare (se diversi da quelli calcolati da MCNP);

- potenza nominale totale generata dal sistema rappresentato nell’input MCNP (MWth); - energia recuperabile per fissione (in MeV);

(3)

- numero di intervalli di irradiazione (burn steps) esterni ed interni;

- numero di predictor steps;

- libreria di sezioni d’urto ORIGEN da usare all’inizio del primo step di calcolo (PWR, BWR, CANDU, LMFBR, 0.0253 eV);

- criterio di tolleranza per determinare quali isotopi sono “importanti”; - isotopi per i quali l’utilizzatore vuole comunque ottenere dei tally.

Il feed input file (mbfile.feed) consente all’utilizzatore del codice di aggiungere o rimuovere dal sistema differenti quantità di materiali durante ognuno dei burn step esterni, variare la potenza prodotta durante ciascun intervallo di irraggiamento e/o trascinare materiali da una regione ad un’altra. Se l’utente vuole eseguire un calcolo a potenza costante senza aggiunta o rimozione di materiali non deve creare il feed input file (sono sufficienti i tempi di irradiazione già descritti nell’input principale di MONTEBURNS).

Per ciò che concerne la mappa delle sezioni d'urto, gli identificatori utilizzati per riconoscere gli isotopi in MCNP sono differenti da quelli utilizzati in ORIGEN2. Occorre pertanto, nel calcolo MONTEBURNS, specificarli entrambi. Il file “mbxs.inp” provvede a elencare gli identificatori. Per gli isotopi considerati “importanti” da MONTEBURNS e per i quali non è presente un identificatore in questo file viene prodotto un warning per indicare che non sono state trovate le sezioni d’urto e che vengono utilizzate al loro posto le sezioni d’urto di default di ORIGEN2 senza la possibilità che il materiale venga trasferito al codice MCNP.

Il codice CARL

Nonostante attualmente siano disponibili altri codici atti a calcolare l'inventory radiotossico del combustibile (MCB, ecc.) si è scelto, nell'ambito del presente lavoro, di utilizzare un codice sviluppato dal nostro gruppo, denominato CARL, che consente una notevole flessibilità nel

trattamento e nella presentazione dei dati. Il codice, sviluppato in ambiente MATLAB®, è

attualmente giunto alla versione 2.2 ed è disponibile nel database della NEA al sito http://www.nea.fr/abs/html/nea-1735.html.

Il codice di calcolo CARL (CAlculation of Radiotoxicities Lifetime)[I.4][N.2] permette di determinare l’evoluzione temporale dell'inventory radiotossico del combustibile fresco utilizzabile in un reattore nucleare e del waste in uscita dallo stesso. Esso consente di visualizzare i grafici delle radiotossicità e di altri parametri interessanti, quali calore di decadimento, attività, ecc., dei singoli elementi assieme ai loro prodotti figli. In input sono richieste le quantità (espresse in grammi) dei singoli nuclidi che compongono il combustibile (ottenibile ad esempio con altri codici, quali l’MCB o il MONTEBURNS). Il codice CARL può effettuare calcoli riguardanti combustibili nucleari contenenti combinazioni di plutonio, uranio e/o torio (nelle diverse composizioni isotopiche), così come di combustibili contenenti anche altri elementi transuranici (nettunio, americio, curio). Gli elementi del combustibile fresco ed esausto presi in considerazione sono sia gli attinidi (torio, uranio, nettunio, plutonio, americio e curio) che i prodotti di fissione e di attivazione di maggior rilievo ai fini radioprotezionistici:

Th232, U232,U233, U234, U235, U238, Np237, Pu238, Pu239, Pu240, Pu241, Pu242, Pu243, Pu244, Am241, Am242m, Am243, Cm242, Cm243, Cm244, Cm245, Rb87, Sr90, Zr93, Nb94, Tc99, Pd107, Sn126, I129, Cs135, Cs137, Sm147, Sm151, Eu154, Se79, Cr51, Mn56, Fe59, Co60, Ni65, Cu64, Zn65, Zn69, Zr95, Mo99, Ta182, W187

In uscita vengono forniti grafici delle seguenti quantità:

- Global Toxicity expressed as Volume of Water vs. Time (fig. 1): quantitativo minimo di acqua in cui si deve disciogliere il materiale affinché questa rimanga potabile (secondo le norme, assumendo un consumo annuo di 913 litri/persona), in funzione del tempo;

(4)

- Total Radiotoxicity vs. Time (fig. 2): grafico della radiotossicità totale in funzione del tempo;

- Total Radiotoxicity/Energy vs. Time (fig. 3): rapporto tra la radiotossicità e l’energia erogata dal materiale fissile in funzione del tempo;

- Total Activity vs. Time (fig. 4): attività totale in funzione del tempo;

- Decay Powers vs. Time (fig. 5): andamento in funzione del tempo del calore di decadimento totale;

- Total Dose vs. Time (fig. 6): dose totale, in funzione del tempo, che il materiale racchiudente il waste riceve nel tempo;

- Contribution of Various Isotope Activities vs. Time (fig. 7): attività in funzione del tempo dovuta ai singoli isotopi;

- Contribution of Various Isotope Radiotoxicities vs. Time (fig. 8): radiotossicità in funzione del tempo dovuta ai singoli isotopi;

- Contribution of Single Isotope Activities vs. Time - Transuranics (fig. 9): contributo alla radiotossicità, in funzione del tempo, dei singoli isotopi transuranici

- Contribution of Single Isotope Activities vs. Time - Fission products and activation

materials (fig. 10): contributo all’attività, in funzione del tempo, dei vari isotopi prodotti di

fissione ed attivazione;

- Contribution of Single Isotope Radiotoxicities vs. Time - Transuranics (fig. 11): contributo alla radiotossicità in funzione del tempo di vari isotopi transuranici;

- Contribution of Single Isotope Radiotoxicities vs. Time - Fission products and activation

materials (fig. 12): contributo alla radiotossicità in funzione del tempo dei vari prodotti di

fissione e attivazione;

- Gamma Spectrum (fig. 13): grafico 3-D dell’attività gamma in funzione del tempo e dell’energia delle radiazioni emesse dal waste;

- Equivalent Dose Rate vs. Time (fig. 14, 15) : si tratta di due grafici che mostrano l’equivalente di dose da raggi gamma in funzione del tempo in aria ed in cemento;

- Burning Efficiencies (fig. 16, 17, 18): grafici 3-D che mostrano la differenza in massa, per gli isotopi costituenti il combustibile, fra le quantità in ingresso e in uscita.

Il codice CARL basa i suoi algoritmi di calcolo sulle equazioni di Bateman[2.8]. Si consideri infatti una catena di decadimenti:

1D2D3D4

con costanti di decadimento (pari al logaritmo neperiano di 2 diviso il periodo di dimezzamento) λ 1, λ 2, λ 3, λ 4. Le equazioni differenziali che governano il fenomeno sono:

dN1 = - λ1N1dt dN2 = λ 1N1dt – λ 2N2dt dN3 = λ 2N2dt – λ 3N3dt dN4 = λ 3N3dt – λ 4N4dt

(5)

1 2 0 0 1 2 1 1 1 2 3 1 2 1, ( ) ( ) ( ) ( ( ) i n n t t t t n i n i n i i n m n m m n m i m i i m A N c e dt N c e c e c e c λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ λ − − − − = = = ≠ = ⋅ = ⋅ + + ⋅⋅⋅ + ⋅ ⋅ ⋅⋅⋅ = = − ⋅ − ⋅⋅⋅ − −

)

Ottenuti i valori delle attività di ogni singolo radionuclide in funzione del tempo è possibile ricavare tutte le grandezze di cui sopra.

Il codice WIMS

Nei primi anni ’60[I.3], furono sviluppati dalla AEE Winfrith (ora AEA Technology) una serie di programmi di calcolo (derivati da SOFOCATE, MUFT, METHUSELAH) finalizzati alla valutazione di grandezze fisiche relative al reticolo di reattori nucleari quali la distribuzione del

flusso neutronico, i valori di keff e k∞ e la vita.

Questi programmi furono successivamente assemblati in un unico codice (di tipo deterministico), il WIMS (Winfrith Improved Multigroup Scheme). La prima versione del codice fu rilasciata e resa disponibile presso la NEA Data Bank nel 1964. Questa prima versione fu adattata per essere utilizzata su computer CYBER; a quel tempo i computer di Winfrith disponevano di una memoria su supporto magnetico di 32K, ma il compilatore FORTRAN usato permetteva al codice di richiedere memoria soltanto durante l’esecuzione del codice stesso (una specie di allocazione dinamica di memoria). Probabilmente fu proprio questo aspetto del WIMS che lo ha fatto arrivare fino ai giorni nostri.

Il codice WIMS-D fu sviluppato tra il 1963 ed il 1965, a questo sviluppo ne seguirono altri negli anni successivi. L’ultima versione di WIMS, conosciuta col nome di WIMS-D/5B è in realtà una combinazione della versione originale della AEA Technology (WIMS-D/2B) migliorata con vari contributi forniti dai vari utilizzatori del codice sparsi per il mondo. WIMS-D è stato provato con successo in geometrie di tipo slab, pins cilindrici, oppure cluster di pins di reattori tipo AGR, CANDU, RBMK; esso può anche essere usato, con attenzione, per altri tipi di reattore. Manca però la geometria sferica e, quindi, non può essere usato per i reattori HTR a pebble.

Col succedersi delle generazioni di computer furono sviluppate a Winfrith nuove versioni del codice, quali la versione LWRWIMS e la WIMSE; queste versioni furono realizzate a scopo commerciale e tuttora non sono disponibili gratuitamente per la comunità scientifica. Nel 1969 fu implementata la prima versione di WIMSE, con lo scopo di calcolare reticoli di reattori tipo HTR che prevedevano una “doppia” eterogeneità, data dall’uso di sferette eterogenee di combustibile, compattate in una matrice di grafite.

Il WIMSE segnò una svolta nell’evoluzione del WIMS perché esso fu strutturato in maniera modulare e non più come il WIMS-D aggiungendo di volta in volta opzioni possibili che peggioravano la leggibilità per i programmatori e la semplicità d’uso per gli utilizzatori.

La strategia adottata nell’implementazione del WIMSE ha portato alla realizzazione del codice WIMS7 (figura N.2). In questo pacchetto, al codice trasportistico è stato aggiunto un codice MC (MONK), probabilmente per superare le limitazioni legate all’assenza di geometria sferica nel WIMS. Successivamente è stato sviluppato il WIMS8, ultimo nato della catena WIMS. La suddivisione in moduli del codice WIMS8 lo rende estremamente flessibile e diminuisce la possibilità di propagazione di errori da una parte all’altra del codice; infatti le informazioni scambiate tra un modulo ed un altro del codice sono limitate ad un set di file avente un ben definito formato.

(6)

Il WIMS-D/5B.12 (aggiornato recentemente nella sua struttura e nelle librerie neutroniche da un progetto internazionale finanziato dalla IAEA), usato nel presente lavoro per alcuni calcoli preliminari, ha un numero minore di opzioni rispetto alle versioni 7 e 8 ma questo lo rende facile da usare e molto utile nel calcolo rapido dei parametri nucleari di cella nonché per calcoli di vita di prima approssimazione. Con tale codice si possono calcolare keff, k∞, la distribuzione del flusso neutronico, i ratei di produzione di vari tipi di nuclidi, la “vita” di un elemento di combustibile, ecc. Esso è un codice di tipo deterministico, bidimensionale e per questo non si possono affrontare problemi con geometrie troppo complesse (il codice risolve geometrie di tipo omogeneo, a “slab”, cilindriche e “cluster” non troppo complicati).

Figura

Figura N.1 – Descrizione del sistema Monteburns
Figura N.2 - L'evoluzione storica del codice WIMS

Riferimenti

Documenti correlati

Martedì 26 febbraio 2019 ore 21.00 INFORMAZIONI tel: +39 342 14 99 351 e-mail: info@associazionenuovagenerazione.it Collegio Artigianelli Corso Palestro 14 Torino.

• Option 2: E’ necessario indicare sulla prima riga il numero degli strati da analizzare e poi, sulle righe successive fornire indicazione per ogni strato, indicando, il tipo

Nel Capitolo 4, infine, è stato descritto il simulatore realizzato e successivamente sono stati presentati i risultati ottenuti utilizzando due diversi modelli di generazione di

• UNI EN ISO 10077-2 Prestazione termica di finestre porte e chiusure, calcolo della trasmittanza termica, metodo numerico per telai.. • UNI 10348 Riscaldamento degli

Anche dove esiste da anni un database che raccoglie le procedure chirurgiche e mediche nei pazienti con FF 13 , gli audit fatti nel tempo evidenziano l’estrema variabilità dei tempi

Questo esercizio muove dalla consapevolezza che l’Italia è af- fetta da una diseguaglianza generazionale che ha radici profonde: andamenti demografici pregiudicati dalla ca- renza

Given the different propensity of women and men to guess, and given that closed ended items are more likely to incite guessing than open ended items (Luskin and Bullock 2011),

By giving courts such discretion, the aim of predictability of legal decisions would be foiled.64 Furthermore, in Sweden, the labour law system does not explicitly provide the