• Non ci sono risultati.

Il codice MCNP

Nel documento L’uso del gadolinio nella NCT (pagine 102-106)

Capitolo 8 Analisi e definizione dei codici di calcolo (MCNP PENELOPE)

8.2. Il codice MCNP

Per la simulazione dei neutroni e dei fotoni gamma, necessaria in particolare per valutare le dosi al tessuto sano, è stato utilizzato il codice Monte Carlo MCNP, ormai diventato un punto di riferimento nella comunità scientifica, sia nella versione MCNP5 [208], sia nella versione MCNPX 2.5.0 [207].

MCNP (MonteCarlo N-Particle Transport Code) risale agli anni ’40 ed è stato sviluppato dal Los Alamos National Laboratory (LANL) statunitense. E’ scritto in FORTRAN77 ed è in grado di simulare il trasporto di neutroni, fotoni gamma ed elettroni utilizzando il metodo Monte Carlo. Può quindi essere utilizzato per problemi di dosimetria e fisica medica, di schermatura e di criticità. Insieme al codice MCNP vengono distribuiti il programma MCNPX che estende le capacità di simulazione al trasporto di un notevole numero di particelle elementari e ioni (protoni, deutoni, mesoni, ecc…), il programma VISED [209] (un tool di visualizzazione della geometria molto utile per la verifica dei dati geometrici inseriti) e le relative librerie di sezioni d’urto messe a punto e mantenute presso il gruppo X5 di Los Alamos, elaborate direttamente dai dati ENDF/B [210] tramite il codice NJOY [211] e preparate in un apposito formato denominato ACE (A Compact ENDF).

Tra i numerosi vantaggi del codice sono da sottolineare soprattutto una dettagliata descrizione di qualsiasi geometria tridimensionale (consentendo di specificare qualsiasi superficie del primo e secondo ordine ed alcune superfici del quarto ordine) e l’utilizzo di librerie di sezioni d’urto continue in funzione dell’energia (possono eventualmente essere utilizzate anche librerie multigruppo).

Il programma per la sua concezione si è imposto alla comunità scientifica ed il suo impiego si è esteso su scala mondiale.

Vanno forniti come input al codice la geometria, la composizione dei materiali presenti e le relative librerie di sezioni d’urto. E’ possibile inoltre utilizzare numerose tecniche di controllo della varianza.

Il codice fornisce in uscita una descrizione dei dati di input utilizzati, i dati fisici del problema, la popolazione di particelle ed il numero di collisioni nelle varie celle ed i risultati corredati delle relative statistiche.

Si analizzano ora le principali caratteristiche di MCNP. Esso è un codice completo, in cui tutte le opzioni vengono gestite da input senza che l’utilizzatore debba costruire apposite subroutines per le proprie esigenze. La variabile energia non è suddivisa in gruppi, fini o larghi che siano. L’uso di dati "continuous energy" evita di introdurre approssimazioni nei calcoli, pur richiedendo un notevole spazio di memoria per l'immagazzinamento dei dati.

Il codice è "user friendly", ovvero in esso è prevista una serie di parametri di default, nell'eventualità di assenza di diversa specificazione.

Una caratteristica fondamentale del Monte Carlo è la sua capacità di trattare geometrie complicate. Ciò deriva dal fatto che, indipendentemente dalla complicazione della geometria dell'intero sistema, solo la geometria in prossimità della particella deve essere considerata per identificare il suo "random walk". La geometria viene descritta combinando varie superfici di contorno, a ognuna delle quali è associato un verso per poter indicare in quale delle due parti, in cui le superfici dividono lo spazio, è presente l'oggetto in questione. In particolare la geometria del MCNP si basa su celle, che costituiscono l'unità base. Esse sono costituite da superfici di primo, secondo e quarto grado (piano, sfera, cilindro, cono, ellissoide, iperboloide parabolico, toro ellittico o circolare). Si usa la convenzione che se in un punto vale f(x,y,z)<0, dove f(x,y,z) rappresenta l'espressione matematica della superficie, lo spazio va considerato, a partire dal punto, in senso negativo rispetto alla superficie. Il verso diviene positivo se f(x,y,z)>0. Le celle possono essere espresse tramite l'applicazione degli operatori dell'algebra booleana (intersezione, unione, complemento, indicati con: "blank", “:”, “#”) a tali elementi semplici. Nella definizione della geometria bisogna non solo semplificare il più possibile l'input, ma anche costruire le regioni con delle celle che nell'insieme non richiedano un eccessivo tempo di calcolo. Le celle dividono il sistema nei diversi materiali di cui è costituito, ma anche in regioni di diversa importanza, ai fini della riduzione della varianza. Così può succedere che celle adiacenti possono contenere lo stesso materiale ed avere importanza diversa, ma anche che celle adiacenti contenenti materiale differente abbiano la stessa importanza.

Per quanto riguarda le sezioni d’urto, con il codice MCNP vengono installati i files contenenti i dati di tutti gli isotopi possibili. Tali dati sono distinti dal programma principale in modo da permettere di aggiornarli senza toccare il file sorgente. In input perciò basterà inserire le composizioni mediante i numeri di identificazione degli isotopi e la loro densità relativa. Se si vuole inserire altre librerie bisogna riportarle nel formato ACE, specifico del codice.

Ogni tabella di dati nucleari disponibile viene indicizzata in un apposito file, XSDIR, nel quale sono elencati gli identificatori (ZAID) di tutti i nuclidi presenti nelle varie librerie. L’utilizzatore dovrà semplicemente specificare le composizioni dei vari materiali in ingresso al codice tramite tali ZAID (che sono costituiti dal numero atomico Z, dal numero di massa A e da un ulteriore codice che varia a seconda della libreria). Esistono anche tra

le librerie disponibili circa 2000 sezioni d'urto utili per l'attivazione o la dosimetria e che interessano più di 400 nuclei bersaglio in stato eccitato e fondamentale. Tali sezioni d'urto possono essere utilizzate per calcolare i tassi di reazioni, ma non come sezioni d'urto di trasporto.

Sono presenti tutti gli estimatori (tallies) di pratica utilità: tally di superficie per calcolare la corrente integrata e il flusso medio su una superficie, tally di volume per calcolare il flusso medio di una cella e l’energia depositata in una cella, tally puntuale per calcolare il flusso in un punto. L'estimatore di volume in MCNP (tally tipo F4) è un "track-lenght estimator", cioè calcola il flusso integrato tramite la valutazione delle tracce in una cella, le quali, essendo in numero superiore alle collisioni, danno una stima più accurata rispetto alla tecnica “real collision” usata in altri codici.

I risultati sono forniti in termini di particelle/cm2 per particella sorgente. Al fine di convertire questa quantità in dose va inserita in input una riga del tipo Fm4 (tally multiplier) con i valori dei fattori di passaggio flusso-dose. Questo metodo è raccomandato per calcolare la dose equivalente dovuta ai neutroni, la dose equivalente ambientale e la dose efficace. In alternativa è possibile fornire quelli che vengono detti heating numbers. In questo caso il codice calcola la dose assorbita in modo approssimato utilizzando il concetto di KERMA. Si assume cioè che l’energia cinetica trasferita alle particelle cariche sia depositata localmente. Si tratta di una approssimazione che è valida a certe condizioni:

- vi sia la situazione di equilibrio CPE (charged particle equilibrium) almeno transitoriamente, cioè il range delle particelle primarie deve essere molto maggiore di quello delle particelle cariche secondarie;

- le perdite radiative nel mezzo siano trascurabili.

Spesso tuttavia le suddette condizioni non sono soddisfatte nelle seguenti situazioni: - all’interfaccia tra due zone con diversa composizione o densità;

- vicino al margine di un fascio di particelle o in regioni molto vicine ad una sorgente di radiazione;

- quando lo spettro dei fotoni si modifica drasticamente nel penetrare attraverso un particolare mezzo;

- quando un fascio di fotoni di elevata energia incide su un bersaglio con elevato numero atomico Z (caso in cui le perdite radiative non sono più trascurabili).

Usando l’approssimazione del KERMA la dose può essere valutata usando la seguente espressione:

( ) ( )

∑∑

= = = N j T i T E H E N C D 1 1 φσ (8.1)

dove D è la dose valutata come kerma espressa in Gy/particella sorgente;

C è un valore calcolato con la formula:

M N C= ⋅ 10× ⋅ −24× Aη 10 1 10 602 , 1

1,602 x 1010 è il fattore di passaggio da Mev/g a Gy; 1 x 10-24 è il fattore di passaggio da barn a cm2;

NA è il numero di Avogadro = 6,022 x 1023 mol-1; η è il numero di atomi per molecola;

M è la massa molare del materiale in grammi;

Ф è lo score della fluenza espressa in particelle/cm2;

N è il numero di particelle sorgenti;

σT è la sezione d’urto atomica totale in funzione dell’energia, espressa in barn;

H è lo heating number in funzione dell’energia, espresso in MeV per collisione.

La sommatoria nell’equazione (8.1) va fatta su tutte le tracce marcate nel volume (T) e su tutte le particelle sorgenti (N). Insieme con il codice MCNP viene fornito un database di

heating numbers.

Quando si usa il metodo degli heating numbers la scheda fm4 viene ad avere una struttura del tipo:

fm4 I m -5 -6

dove “I” è una costante basata sia sul materiale, sia sul numero di particelle sorgenti di interesse nel particolare problema trattato utilizzata per la normalizzazione. Essa incorpora il valore di C prima descritto, nonché qualsiasi altro fattore di conversione necessario per calcolare la quantità desiderata. Il valore di m indica un numero di materiale che è stato descritto in input, quello nel quale si vuole calcolare la dose. Il valore -5 nell’esempio fornito indica che lo score deve essere moltiplicato per la sezione d’urto microscopica totale σT(E) mentre il valore -6 indica che ogni score deve essere moltiplicato per l’heating

number H(E) corrispondente.

Dopo che i vari estimatori selezionati hanno effettuato il calcolo, MCNP fornisce l'output con i "tallies" ad ognuno dei quali è associato R, ovvero l'errore relativo stimato, che rappresenta l'errore relativo statistico stimato al livello di 1 σ. Il teorema del limite centrale assicura che, per N→∞, la probabilità che il risultato vero rientri in x±R è del 68%, mentre diventa del 98% se l'intervallo di confidenza si allarga a x±2R. E' importante notare che il concetto di confidenza non riguarda l'accuratezza del risultato rispetto al valore reale, bensì la precisione del calcolo Monte Carlo, che interessa la fluttuazione statistica dei risultati di un calcolo. Per poter stimare tale accuratezza bisogna riferirsi alle incertezze dei dati fisici, del modello, delle tecniche di campionamento e delle approssimazioni usate nel calcolo. Esiste una correlazione tra R e la qualità del calcolo che si può riassumere nella tabella 8.2.

Range di R Qualità del calcolo

0.5 - 1.0 non significativo

0.2 - 0.5 il risultato può essere 5 volte superiore o inferiore al risultato reale

0.1- 0.2 discutibile

< 0.10 generalmente affidabile

< 0.05 generalmente affidabile per rivelatori puntuali

Tab. 8.2 - correlazione tra R e la qualità del calcolo in MCNP

In MCNP si definisce FOM (figure of merit) la quantità:

1

2

dove T (min) ≡ tempo di calcolo. Più alta è la FOM, maggiore è l'efficienza dell'estimatore. Man mano che aumenta il numero di particelle analizzate la FOM deve mantenersi costante, poiché da una parte aumenta T, ma dall'altra, per avere la sovrapposizione dell'intervallo di confidenza con la risposta esatta, diminuisce l'errore relativo. E' quindi proprio la FOM che permette all'utente di sapere se il problema è stato ben posto e che ogni particella è stata seguita nella sua storia per evitare di trascurarne qualcuna che potrebbe inficiare negativamente il risultato finale.

La FOM, oltre ad essere usata come indicatore di affidabilità del "tally", ha anche almeno due altri importanti usi:

- si possono effettuare diversi test brevi (con T uguale e piccolo), in modo da variare i parametri delle tecniche di riduzione della varianza e da scegliere poi quelli che danno la FOM più alta, ovvero R più basso.

- Si può stabilire il tempo CPU richiesto per ottenere un valore desiderato di R, tramite la relazione:

T~ 1/(R2 * FOM).

Si può dire che la FOM tiene conto di tutti i fattori che possono influenzare l'efficienza di un calcolo Monte Carlo; infatti essi si possono classificare in tre categorie:

1) efficienza del conteggio delle storie;

2) dispersione dei conteggi significativi ("non zero"); 3) tempo CPU per storia.

I primi due fattori sono infatti dipendenti da R, mentre l'ultimo è legato a T.

Un ulteriore mezzo di verifica utile per stabilire l'affidabilità degli intervalli di confidenza è il VOV ("variance of the variance"). Il VOV include il terzo e il quarto momento della funzione di densità di probabilità del punteggio delle storie (PDF) ed è molto più sensibile alle fluttuazioni degli alti punteggi rispetto a R, che include invece il primo e il secondo momento di PDF.

Si trova che VOV decresce, in funzione di N, come 1/N; il criterio, secondo il quale l'intervallo di confidenza scelto è affidabile, si basa sul fatto che VOV deve scendere al di sotto di 0.1; però, a differenza di R, per ottenere questo obiettivo, è sufficiente un numero di storie 10 volte più basso. E' possibile inserire l'andamento di VOV nel file di uscita OUTP in funzione di N ed anche stampare VOV per ogni "intervallo di tally"; questa opzione però aumenta la quantità di memoria dedicata all'immagazzinamento dei tally di 2/5.

Nel documento L’uso del gadolinio nella NCT (pagine 102-106)