51
Introduzione all’uso di FLUKA Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli

Introduzione all’uso di FLUKA

Embed Size (px)

DESCRIPTION

Introduzione all’uso di FLUKA. Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli. Organizzazione generale del pacchetto Installazione, compilazione Struttura del file di input Esempio di file di input Intestazione Sorgente Geometria Materiali e composti Esecuzione di Fluka - PowerPoint PPT Presentation

Citation preview

Page 1: Introduzione all’uso di FLUKA

Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004

R. Brunetti, A. Menegolli

Page 2: Introduzione all’uso di FLUKA

Programma Organizzazione generale del pacchetto

Installazione, compilazione Struttura del file di input Esempio di file di input

Intestazione Sorgente Geometria Materiali e composti

Esecuzione di Fluka Card per la gestione dell'output

Programmi accessori Utilizzo delle routine utente

Compilazione dell'eseguibile personalizzato Flukaica (Fluka per ICARUS)

Page 3: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 3

Organizzazione del pacchetto• Fluka viene fornito come pacchetto precompilato per le versioni di SO UNIX/LINUX più diffuse.• L’archivio e tutta la documentazione (compreso un manuale on line) sono disponibili a partire dal sito: WWW.FLUKA.ORG.• L’albero di directory del pacchetto è cosi’ organizzato:

Main directory• Libreria precompilata principale (core di fluka) : libfluka.a

• Files contenenti informazioni base di fisica (sez. d’urto, tavole di parametri ecc..)

flukapro• Include files

(common blocks)

flutil• Script per la compilazione

e l’esecuzione

usermvax• Routines utente

Il direttorio di fluka si sviluppa a partire dal punto del file systemidentificato dal valore della variabile d’ambiente FLUPRO

Page 4: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 4

Installazione e compilazione

Una volta decompresso l’archivio nella directory specificata da FLUPRO è possibile procedere alla compilazione dell’eseguibile “standard”

(“standard” significa che non comprende nessuna routine scritta o modificata dall’utente)

La compilazione si esegue utilizzando uno degli script della directory FLUTIL

$FLUPRO/flutil/lfluka –m fluka

Questo comando genera per default un eseguibile chiamato flukahpL’opzione –m specifica di eseguire il link con la main library libflukahp.a

Se si desidera chiamare l’eseguibile con un diverso nome si può usare il comando:

$FLUPRO/flutil/lfluka –m fluka –o mionome

Il comando : $FLUPRO/flutil/lfluka –h

produce la lista delle possibili opzioni dello script

Page 5: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 5

What’s inside the physics data files:

sigmapi.bin: pion-N double-diff. cross sections

elasct.bin: elastic scattering cross sections

neuxsc_72.bin: low energy neutron multigroup xs

nuclear.bin: nuclear masses, mass excess, levels,and many other nuclear data for evaporation, pre-equilibrium,Fermi break up and photonuclear xs

fluodt.dat: Fluorescence data (photoelectric effect)

e6r1nds3.fyi:jef2.fyi: Fission products (for neutrons withjendl3.fyi: E<20 MeV)xnloan.dat:

}

Page 6: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 6

Il file di input• Il file di input contiene tutte le informazioni necessarie

per eseguire un RUN di FLUKA• Esso ha la forma di un normale file di testo contenente un numero variabile

di “DATA CARDS ” (o comandi)• Ogni “DATA CARD ” ha la seguente struttura:

• Le DATA CARD possono estendersi per più di una riga del file di input• La presenza del carattere “*” in colonna 1 indica una riga di commento

• Keyword• 6 valori numerici in formato floating point (“WHAT(j)”)• 1 stringa di caratteri (“SDUM”)

Attenzione !!! E’ ASSOLUTAMENTE NECESSARIO RISPETTARE LA TABULAZIONE DELLE DATA CARDS !!!

KEYWORD WHAT(1) WHAT(2) WHAT(3) WHAT(4) WHAT(5) WHAT(6) SDUM

*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789BEAM 2.0E-2 0.002 1.5 3.55 PHOTON

Attenzione !!! NON UTILIZZARE IL TASTO “TAB” PER SPOSTARE IL CURSORE

Page 7: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 7

Intestazione

L’intestazione del file di input contiene normalmente 2 data cards:

• Data Card : TITLE → E’ seguita da una riga di testo contenente una breve descrizione del run.

• Data Card : DEFAULTS → Predispone l’uso di parametri ottimali per uno specifico problema.

Raramente viene utilizzata anche la Data Card:

• Data Card : GLOBAL → Modifica le impostazioni di default per quello che riguarda l’utilizzo della memoria, l’eventuale biasing nel run, il modo di gestire le regioni geometriche ecc...

Page 8: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 8

EsempioTITLETest of muon propagation in sea water (seamu example on the web)* * Sets the standard defaults for this run* DEFAULTS NEW-DEFA*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789** Type of particles of the beamBEAM 1000.0 MUON+** Initial coordinate and direction of the beam particles*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789BEAMPOS 0.0 0.0 -50.0..........................

In questo caso viene usata la card : DEFAULTS = NEW-DEFA.I valori preimpostati in questo caso sono buoni per uno svariato numero di casi (“default dei default”).Altre card tra le più usate sono :

CALORIME NEUTRONS PRECISIO ICARUS

Page 9: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 9

SorgenteLa descrizione del fascio iniziale di particelle viene fatta utilizzando le due DATA CARD

BEAMBEAMPOS

BEAM : Specifica le caratteristiche del fascio in termini di: Energia cinetica (momento) WHAT(1) Spread nel momento WHAT(2) Divergenza del fascio (mrad) WHAT(3) Larghezza (profilo) lungo X WHAT(4) Larghezza (profilo) lungo Y WHAT(5) Peso statistico delle particelle WHAT(6) Nome della particella SDUM

BEAMPOS : Specifica la posizione e direzione del fascio in termini di: Coordinata X del centro WHAT(1) Coordinata Y del centro WHAT(2) Coordinata Z del centro WHAT(3) Coseno direttore lungo X WHAT(4) Coseno direttore lungo Y WHAT(5) (non usato) WHAT(6)

Il coseno direttore lungo Z è per default 1.0 se SDUM = void -1.0 se SDUM = NEGATIVE

Le unità di misura sono:GeVcmrad

Page 10: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 10

EsempioTITLETest of muon propagation in sea water (seamu example on the web)* * Sets the standard defaults for this run* DEFAULTS NEW-DEFA*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789** Type of particles of the beamBEAM 1000.0 MUON+** Initial coordinate and direction of the beam particles*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789BEAMPOS 0.0 0.0 -50.0..........................

In questo caso viene definito un fascio di MUONI POSITIVI, di 1000 GeV di momento, senza divergenza e senza spread, posizionato nel punto di coordinateX=0.0 ; Y=0.0 ; Z=-50.0La direzione del fascio è nel verso positivo dell’asse Z

Page 11: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 11

GeometriaLa geometria in Fluka è basata sui seguenti 4 concetti fondamentali:

1. Bodies2. Zones3. Regions4. Lattices

Body → Volume convesso finito od infinitoRegion → Porzione di spazio definita come combinazione di bodies tramite le operazioni booleane di unione, sottrazione ed intersezione. Una regione può non essere semplicemente connessa, ovvero può essere realizzata come unione di più Zones non contigueLattice → Volumi caratterizzati da molteplici repliche di una data “cella” elementare.

Una particolare regione (finita), che deve essere sempre presente e comprendere ogni altra regione definita nella simulazione è quella di BLACK HOLEEssa si comporta come un assorbitore totale, ogni particella che entri nellablack hole cessa di essere seguita dal programma.

Page 12: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 12

Formato della sezione di geometria

La sezione di geometria del file di input è compresa tra le due DATA CARDGEOBEGIN e GEOEND

E’ anche possibile specificare un file esterno, nel caso la descrizionedella geometria sia molto lunga

Page 13: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 13

Lista dei principali bodies disponibili

PLA : semispazio infinito delimitato da un generico pianoXYP : semispazio infinito delimitato da un piano a zXZP : “ “ “ “ a yYZP : “ “ “ “ a xRPP : parallelepipedo con lati paralleli agli assi coordinatiSPH : sferaXCC : cilindro infinito con asse // ad xYCC : “ “ “ // ad yZCC : “ “ “ // a z

Ognuno dei bodies disponibili viene definito tramite un numero variabile di parametri

Nel manuale sono elencate tutte le specifiche per la definizione

Page 14: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 14

Page 15: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 15

Page 16: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 16

Page 17: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 17

Page 18: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 18

Logica combinatoria per i bodies

BodiesZones

Regions

Unione, sottrazioneintersezione

OR → UNIONE DI ZONE + → INTERSEZIONE - → SOTTRAZIONE

Nel caso di solidi convessi finiti (parallelepipedi, cilidri, sfere ...) : (interno) + = La zona è il luogo dei punti contenuti entro il body

(esterno) - = La zona è il luogo dei punti esterni al body

Nel caso dei piani X, Y, Z :(interno) + = La zona è il luogo dei punti per cui x < x0 (y < y0) (z < z0)(esterno) - = La zona è il luogo dei punto per cui x > x0 (y > y0) (z > z0)

Page 19: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 19

Esempio

*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789GEOBEGIN 0.01 COMBINAT Geometry for the seamu example*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 SPH 1 0.0 0.0 0.0+5000000.0 RPP 2 -100000.0 +100000.0 -100000.0 +100000.0 -100.0 +100100.0 XYP 3 0.0 XYP 4 100000.0END*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789* black hole 1 5 1 -2 * vacuum at the beginning 2 5 2 3 * water layer 3 5 2 4 -3 * vacuum at the end 4 5 2 -4 END GEOEND

In questo esempio : la b-h (reg 1) è il luogo dei punti interni al body 1 ed esterni a 2 il vuoto (reg 2) è il luogo dei punti interni al body 2 ed interni a 3 l’acqua (reg 3) è il luogo dei punti interni al body 2, interni al body 4 ed esterni al body 3 il vuoto (reg 4) è il luogo dei punti interni al body 3 ed esterni a 4

Page 20: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 20

Uso di “OR”

A volte è necessario definire una regione come unione di zone anche disgiunte.A questo scopo si usa l’operatore “OR”.

Quando viene usato l’operazione di unione, devono essere sempre presentialmeno due operatori “OR”, che definiscono le zone da considerare.

Le zone considerate sono tutte quelle che seguono un “OR” fino al successivo(oppure fino alla fine della card)

Esempio:

Questo spazio identifica una prosecuzione di data card

Page 21: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 21

Materiali e compostiFluka possiede una lista di materiali predefiniti mostrata nella tabella seguente

Il Black-Hole è sempre 1Il vuoto è sempre 2

I materiali presenti nellalista possono anche essereridefiniti in numero e nome.

Nuovi materiali non presentipossono essere definiti usandonumeri progressivi a partire da26.....

“* = deprecati”

Page 22: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 22

Materiali e composti II

Ogni materiale (semplice o composto) utilizzato deve essere definito/dichiarato nel file di input. La definizione/dichiarazione dei materiali si effettua con le DATA CARD : MATERIAL, COMPOUND, (MAT-PROP)

MATERIAL → Definisce un materiale composto di un singolo elemento, oppure (se accoppiata alla scheda COMPOUND) un composto

WHAT(1) : numero atomico del materiale (se non accoppiata con COMPOUND, in tal caso = 0.0)WHAT(2) : peso atomico del materiale (se non accoppiata con COMPOUND, in tal caso = 0.0)WHAT(3) : densità (g/cm3)WHAT(4) : numero del materialeWHAT(5) : non usatoWHAT(6) : numero di massa del materiale (nel caso di isotopi)SDUM : nome del materiale

Page 23: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 23

EsempioIn questo esempio vengono definiti diversi materiali. Alcuni sono ridefinizioni,

altri sono nuovi

Page 24: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 24

Materiali e composti IIICOMPOUND → Definisce un materiale composto di più elementi

WHAT(1) & WHAT(2) > 0 :WHAT(1) = contenuto relativo (in atomi) del primo elemento

WHAT(2) = indice del primo elementoWHAT(1) < 0 & WHAT(2) > 0

|WHAT(1)| = contenuto relativo (in massa) del primo elementoWHAT(2) = indice del primo elemento

WHAT(1) < 0 & WHAT(2) < 0|WHAT(1)| = contenuto relativo (in volume) del primo elemento|WHAT(2)| = indice del primo elemento

In maniera analoga : WHAT(3)/WHAT(4) = dati per il secondo elemento WHAT(5)/WHAT(6) = dati per il terzo elemento

SDUM = nome del composto

Se sono necessari più di tre elementi, si aggiungono tante card COMPOUNDquante occorrono, ognuna con lo stesso SDUM

Page 25: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 25

Esempio

*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789*1) Hydrogen MATERIAL 1.0 1.0079 .0000899 3.0 HYDROGEN*2) Oxygen MATERIAL 8.0 15.999 0.001429 8.0 OXYGEN*3) Magnesium MATERIAL 12.0 24.305 1.738 9.0 MAGNESIU*4) Potassium MATERIAL 19.0 39.102 0.031165 11.0 POTASSIU*5) Calcium MATERIAL 20.0 40.08 1.54 12.0 CALCIUM*6) Sodium MATERIAL 11.0 22.990 0.038349 13.0 SODIUM*7) Chlorine MATERIAL 17.0 35.4529 0.0029947 14.0 CHLORINE *8) Sulphur MATERIAL 16. 32.066 2.070 15.0 SULFUR* 9) Sea water compound (Antares 1) using atom relative contents*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 MATERIAL 1.0341 18.0 SEAWATER COMPOUND 2.00000 3.0 1.008800 8.0 0.00943 13.0 SEAWATER COMPOUND 0.000209 11.0 0.001087 9.0 0.000209 12.0 SEAWATER COMPOUND 0.01106 14.0 0.005820 15.0 SEAWATER

In questo esempio, viene definito il composto “Acqua di Mare”. Vengono definiti gli elementi costitutivi ed in seguito il composto. Notare come l’ultima scheda

MATERIAL sia accoppiata alle schede COMPOUND

Page 26: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 26

Assegnazione materiali-regioniL’assegnazione dei materiali alle regioni avviene

tramite la DATA CARD ASSIGNMAt

WHAT(1) : numero del materialeWHAT(2) : limite inferiore del numero della regione (“da regione... WHAT(2)” )WHAT(3) : limite superiore del numero della regione (“a regione... WHAT(3)” )WHAT(4) : incremento nell’indice (“in passi di... WHAT(4)” )WHAT(5) : = 1.0 se nella regione è presente un campo magnetico : = 0.0 ignorato : < 0.0 default (nessun campo)WHAT(6) : non usatoSDUM : non usato

*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789MATERIAL 13.0 27.0 2.7 10.0 0.0 ALUMINUMASSIGNMA 10.0 1.0 15.0 1.0 1.0 ASSIGNMA 2.0 5.0 17.0 6.0 -1.0 ASSIGNMA 2.0 16.0 18.0 2.0 0.0

Page 27: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 27

Esecuzione

L’esecuzione del run si effettua lanciando il comando:

$FLUPRO/flutil/rfluka –e <eseguibile> -p <pemf file> -N<num cic prec.> -M<num di cicli> <inp file>

<eseguibile> = nome dell’eseguibile personalizzato (default “flukahp”)<pemf file> = nome del file .pemf contenente le tabelle preprocessate delle sezioni d’urto per i processi elettromagnetici<num cic prec> = numero di cicli già effettuati su quel file di input<num di cicli> = numero di clicli da effettuare<inp file> = nome del file di input

N.B la presenza del file .pemf è necessaria quando vengono attivati i processielettromagnetici. La preparazione del file .pemf è compito dell’utente, che deve

scrivere un file .peg e processarlo con lo script $FLUPRO/pemf/rpemf.Questa procedura non sarà più necessaria dalla prossima release di fluka.

N.B specificare il numero di cicli già effettuati serve ad inizializzare il generatorerandom con un nuovo seme, altrimenti gli eventi prodotti (a parità di input file)

sono identici ai precedenti.

Page 28: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 28

Esecuzione II

L’esecuzione del run avviene all’interno di una sottodirectory temporanea creatadallo script rfluka

e6r1nds3.fyi $FLUPRO/e6r1nds3.fyielasct.bin $FLUPRO/ elasct.binfluodt.dat $FLUPRO/ fluodt.datfort.1 ../ranexample001fort.11 example001.outfort.12 $FLUPRO/ libec_thihecufealw_10t.pemf (dummy)fort.15 example001.errfort.16 “geometry scratch”fort.2 ranexample002jef2.fyi $FLUPRO/ jef2.fyijendl3.fyi $FLUPRO/ jendl3.fyineuxsc.bin $FLUPRO/ neuxsc_72.binnuclear.bin $FLUPRO/ nuclear.binsigmapi.bin $FLUPRO/ sigmapi.binxnloan.dat $FLUPRO/ xnloan.dat

Notare che: core /dev/null

La fase di inizializzazionetermina con la creazione del

file .err(se il file .err non viene

creato ci sono problemi)

Nel file .err e .out si può controllare lo stato diavanzamento del run

Tips & Tricks : Per arrestare in modo pulito un run di Fluka si può creare nella dir del run un file “fluka.stop”(touch fluka.stop)

Page 29: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 29

Output di FLUKA

Si può suddividere l’output standard di fluka in due parti distinte:1. Comune standard Output

2. Output richiesto dall’utente

Comune standard output : file “.out”, file “.err”, file “ran*****”

Contiene un dump del file inputdati sui materiali, proprietà delfascio originale, geometria,tabelle di sezioni d’urto usate ecc...

Contiene informazioni suglierrori che si sono verificati

Contiene l’ultimo seme per il generatore random

Output richiesto dall’utente : uno o più files contenenti il risultato (scoring)di uno o più “estimatori” richiesti tramite le corrispondenti apposite DATA CARD.E’ possibile richiedere diversi tipi di estimatori per una svariata classe di problemisenza necessità di codice aggiuntivo.

Page 30: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 30

Fluenza

DEF: Flussodt

dvn

numero di particelle per unità di volume velocità

DEF: Fluenzacos

dA

dN

dA

dN

dV

dl

dA

dNN

k k

1Inoltre : densità di lunghezza di traccia

Inoltre se la lunghezza di traccia è calcolata in unità di “libero cammino medio” :

i collisiondensità dicoll

In generale viene fornita la fluenza media, ovvero la fluenza normalizzata per ilnumero di particelle totale (estimatori di volume), oppure che attraversano una data superficie (estimatori di superficie).

La fluenza è la quantità base per il calcolo degli estimatori.

Page 31: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 31

Available Estimators in FLUKA(without additional user code)

“Star” (i.e. inelastic interactions) density as a function of producing particle and region.

Energy density as a function of region, total or from electrons/photons only.

Star and energy density in a geometry-independent binning structure (cartesian or cylindrical), averaged over the run or event as a function of event.

Energy deposition weighted as a function of a quenching factor (Birks law). Step size independent of bin size. Time window. Coincidences and anticoincidences.

Fluence and current scoring as a function of energy and angle, via boundary-crossing, collision and track-length estimators coincident with regions or region boundaries.

Track-length fluence in a binning structure (cartesian or cylindrical) independent of geometry.

Particle yield from a target or differential cross section with respect to several different kinematic variables.

Residual nuclei.

Fission density.

Neutron balance.

There are no limit to the number of estimators and binnings within the total memory available (but a maximum number must be fixed at compilation time).

Page 32: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 32

Particelle Generalizzate

Fluka possiede unalista di particelle“generalizzate” che posseggono

caratteristiche comunio che definiscono grandezze fisiche.

Esse possono essereutilizzate solo per lo

scoring.

Page 33: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 33

USRTRACK

Requests the estimation of average fluence (differential in energy) expressed as track-length density for any type of particle or family of particles in any selected region.

The volume normalization needed to obtain the fluence as track-length density is performed using a volume value input by the user.

If none is given, the volume is assumed to be 1.0 and the result will be the total track-length in that region.

Page 34: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 34

USRCOLL

Requests the estimation of average fluence (differential in energy) expressed as collision density for any type of particle or family of particles in any selected region.

The volume normalization needed to obtain the fluence as collision density is performed using a volume value input by the user.

If none is given, the volume is assumed to be 1.0 and the result will be the total number of collisions (weighted with the mean free path at the collision point) in that region.

Page 35: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 35

USRBDX

Calculates fluence or current, mono- or bi-directional, differential in energy and/or angle on any boundary between two selected regions.

The area normalization needed to obtain a current as particles per cm2 is performed using an area value input by the user

If none is given, the area is assumed to be 1.0 and the option amounts simply to counting the total number of particles crossing the boundary.

Similarly if fluence is scored, but in this case each particle is weighted with the secant of the angle with the normal to the boundary surface.

Note that if additional normalization factors are desired (e.g. beam power)the “volume” or “area” value can be input multiplied or divided by them.

Options USRTRACK, USRCOLL and USRBDX can also calculate energy fluence, if the “particle” type is set 208.0 (total energy) or 211.0 (electron and photon energy).

Page 36: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 36

USRYIELD

This option can be used to provide yields as a function of different variables. For instance angular yields around a fixed direction of particles exiting a given surface.

Actually, the results are double-differential distributions with respect to a pair of variables, one of which energy-like (kinetic energy, momentum, etc.) and the other angle-like (polar angle, rapidity, Feynman-x, etc.)

An arbitrary normalization factor can be input.

Page 37: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 37

USRBINOption USRBIN provides detailed space distributions of dose, star density or integrated fluence (not energy fluence, unless writing a special user routine).

Using some suitable graphics package, USRBIN output can be presented in the form of color maps (dedicated lesson).

USRBIN results are normalized to bin volumes calculated automatically by the program (except in the case of region binning and special 3-variable binning which are only seldom used).

“Binning” Estimators cartesian or cyl.coordinatesor by region

a grid independent of geometry

1 2

Region binning

Page 38: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 38

Programmi accessori

Le opzioni fin qui illustrate producono dei files di output che possono essere lettiutilizzando programmi specifici di post-processing. I più importanti si trovano in

Poichè gli estimatori restituiscono il valore di aspettazione, é necessario il runningdi più di un ciclo per valutarne l’errore. I programmi di post-processing sono costruiti

in modo da sommare i risultati di cicli differenti:

$FLUPRO/flutil$FLUPRO/flutil

• ustsuw.f per sommare gli output di USRTRACK • usxsuw.f per sommare gli output di USRBDX • usysuw.f per sommare gli output di USRYIELD • usbsuw.f per sommare gli output di USRBIN

Si compilano chiamando lo script lflukalfluka, ad esempio:

$FLUPRO/flutil/lfluka ustsuw.f -o ustsuw

Page 39: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 39

Routines utente

Permettono di definire input e output non standard in FLUKA. Vanno editate, compilate e quindi inserite in una libreria creata dall’utente prima di generare l’eseguibile di FLUKA. Ci sono svariate routine utente in linguaggio fortran del tipo routine.f routine.f che si trovano in:

1. source.fsource.f2. mgdraw.fmgdraw.f

$FLUPRO/usermvax/

Tra le più importanti routines per la gestione dell’input e dell’output ci sono:

Page 40: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 40

1. source.fsource.f Consente di modificare i parametri delle particelle incidenti, quali energia,

momento, coordinate, coseni direttori… Ad esempio, se si vuol modificare

l’energia cinetica bisogna cambiare la stringa:TKE (LSTACK) = SQRT ( PBEAM**2 + AM (IJBEAM)**2 ) – AM (IJBEAM)

Si attiva chiamando nel file di input di FLUKA la Data Card SOURCE SOURCE .

2. mgdraw.fmgdraw.f Consente di scrivere un “Collision Tape”, cioè un file dove i trasporti di particelle selezionati vengono registrati. Le opzioni da attivare all’interno della routine sono:

Si attiva chiamando nel file di input di FLUKA la Data Card USERDUMPUSERDUMP con WHAT(1)WHAT(1)≥100.0≥100.0

• MGDRAW : dump della traiettoria.• ENDRAW : dump del deposito di energia.• SODRAW : dump della particella sorgente.• USDRAW : dump definito dall’utente

Page 41: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 41

Personalizzazione dell’eseguibileNel caso si siano modificate una o più routine utente, si deve produrre un nuovo

eseguibile, affinchè i cambiamenti siano effettivi.

La preparazione di un nuovo eseguibile comprende i seguenti due passaggi:

1) Compilazione delle routine necessarie2) Generazione dell’eseguibile

1) Si utilizza lo script $FLUPRO/flutil/fff per produrre “l’object file” routine.o2) Si utilizza lo script $FLUPRO/flutil/lfluka per linkare la main lib con le routine

Es: Dopo aver modificato la routine source.f :

1) $FLUPRO/flutil/fff source.f → source.o2) $FLUPRO/flutil/lfluka –m fluka –o <nuovo nome> source.o → nuovo eseguibile

Il main program e la routine modificatavengono linkati assieme

Page 42: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 42

FLUKA per ICARUS

Il rivelatore ICARUS T600 e` stato simulato con FLUKA → sono gia` pronti:

• il file di input : icat600_*****.inpicat600_*****.inp

• il file della geometria : icat600pmt.geoicat600pmt.geo

• il file pemfpemf : ica.pemfica.pemf

Sezione del rivelatore FLUKA-ICARUS T600 dentro la sala B ai LNGS.

Page 43: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 43

a)a) RockRockb)b) Hall BHall Bc)c) Neutron shield (70cm thick)Neutron shield (70cm thick)d)d) Cables-electronics (empty space)Cables-electronics (empty space)e)e) Platforms (Al )Platforms (Al )f)f) Insulation (Nomex honeycomb)Insulation (Nomex honeycomb)

g)g) Gap (5cm)Gap (5cm)h)h) Container (Al honeycomb)Container (Al honeycomb)i)i) Gas phase Ar (8cm)Gas phase Ar (8cm)j)j) Inactive LAr Inactive LAr k)k) Active LArActive LAr

Page 44: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 44

Il default ICARUSNel file di input viene usata la card DEFAULTS = ICARUS :

TITLEICARUS T600: 16 wire planes + 4 pmt, 200micron pitch* * Sets the ICARUS defaults for this run* DEFAULTS ICARUS*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789

Continua…

1. EMF on2. Rayleigh scattering and inelastic form factor corrections to Compton scattering activated (no EMFRAY needed)3. Detailed photoelectric edge treatment and fluorescence photons actvated (no EMFFLUO needed)4. Low energy neutron transport on (high energy neutron threshold at 19.6 MeV)5. Fully analog absorption for low energy neutrons

Page 45: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 45

Il default ICARUSICARUS si trova sotto la datacard DEFAULTSDEFAULTS del manuale di FLUKA

6. Particle transport threshold set at 100 KeV, except neutrons (19.6 MeV), antineutrons (50 MeV) and (anti)neutrinos (0, but they are discarded by default anyway)7. Multiple scattering threshold at minimum allowed energy both for primary and secondary charged particles8. Delta ray production on with threshold 100 KeV (see option DELTARAY)9. Restricted ionization fluctuations on both for hadrons/muons and EM particles (see option IONFLUCT)10. Tabulation ratio for hadron/muon dp/dx set at 1.04, fraction of the kinetic energy to be lost in a step set at 0.05, number of dp/dx tabulation points set at 80 (see options DELTARAY, FLUKAFIX)11. Heavy particle e+ e- pair production activated with full explicit production (with the minimum threshold = 2 me)12. Heavy particle bremsstrahlung activated with explicit photon production above 300 KeV13. Muon photonuclear interactions activated with explicit generation of secondaries14. Heavy fragment transport activated

Page 46: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 46

Compilazione dell’eseguibile Fluka-ICARUS ha alcune routines utente dedicate:

1. source.f2. mgdraw.f

Come le routines utente standard vanno compilate con lo script fff fff e quindi linkate alla libreria standard di FLUKA-ICARUS libicamvax.alibicamvax.a . La procedura e` la seguente:

1. copiare libicamvax.a.std da $FLUPRO/ in ./2. $FLUPRO/flutil/fff routine.f 3. mv libicamvax.a.std libicamvax.a4. ar –r libicamvax.a routine.o5. copiare libicamvax.a in $FLUPRO/ (come susu)6. $FLUPRO/flutil/lica

flukaicaflukaica

Page 47: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 47

La routine utente source.fsource.f è già predisposta per attivare gli eventi di interesse per ICARUS, quali interazioni di neutrini solari, atmosferici e da

supernova, il decadimento del protone, etc…

L’evento interessato viene chiamato dalla Data Card SOURCE SOURCE , inserendo la stringa corrispondente nella casella SDUM SDUM . Tra le opzioni

disponibili:

SDUM = MUHALLBMUHALLB : Eventi di muoni atmosfericiSDUM = NEUTBACKNEUTBACK : Eventi di neutroni (o fotoni) di backgroundSDUM = NEUTCAPTNEUTCAPT : Eventi di cattura di neutroniSDUM = NEUTRISCNEUTRISC : Eventi di neutrinoSDUM = NUCDCYNUCDCY : Eventi di decadimento del nucleoneSDUM = SLNUELELSLNUELEL : Interazioni elastiche di solari su elettroniSDUM = SLNUGTFESLNUGTFE : Eventi di assorbimento Gamow-Teller e Fermi di solari su 40ArSDUM = SNNUELELSNNUELEL : Interazioni elastiche di da supernova su elettroniSDUM = SNNUGTFESNNUGTFE : Eventi di assorbimento Gamow-Teller e Fermi di da supernova su 40Ar etc…

Page 48: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 48

Esecuzione

Ora, il comando per eseguire FLUKA-ICARUS e`:

$FLUPRO/flutil/rica -e flukaica -p ica –Nx –My icat600_*****

Il file di output piu` importante e` quello con l’estensione .flufz.flufz . Questo file puo` essere aperto con Qscan andando su:

File

Open MC T600 Rawdata input file

e poi aprendo il file .flufz.flufz . Il display e` del tutto analogo a quello dei Rawdata,con le due camere (Left e Right) e le tre viste (Collezione, Induzione I e II) selezionabili.

Page 49: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 49

Un evento FLUKA-ICARUS

CollezionCollezionee

Induzione IInduzione I

Induzione IIInduzione II

Decadimento dell’adrone in p e

Page 50: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 50

Files di output

Alcune routines modificabili dall’utente permettono di ricavare informazioni sulle particelle prodotte nelle interazioni in FLUKA ICARUS T600 (tipo, energia, momento, direzione…). Per ottenere un file di uscita con tali informazioni bisogna intervenire sulle routines:

1. vtxprn.f2. rcflic.F 3. flicrc.F

In rcflic.Frcflic.F viene salvato un file fort.99fort.99 con le informazioni ottenute editando la routine vtxprn.fvtxprn.f . A questo punto le routines editate vanno compilate:

1. $FLUPRO/flutil/fff –x –n rcflic.F2. $FLUPRO/flutil/fff –x –n flicrc.F3. $FLUPRO/flutil/fff vtxprn.f

Page 51: Introduzione all’uso di FLUKA

Pavia, 8/9-06-2004 R. Brunetti, A. Menegolli 51

La routine vtxprn.ovtxprn.o va linkata alla libreria standard di FLUKA-ICARUS libicamvax.alibicamvax.a :

1. mv libicamvax.std libicamvax.a2. ar –r libicamvax.a vtxprn.o 3. copiare libicamvax.a in $FLUPRO/

Infine va lanciato il build_flicrcbuild_flicrc che produce l’eseguibile flicrcflicrc.

Una volta lanciato flicrcflicrc, e` richiesto di inserire il nome di un file di output che peró non è importante, e un file di input che in questo caso e` il file .flufz.flufz. Alla fine del processo viene creato il file con le informazioni richieste: fort.99fort.99..

In http://icascan1.pv.infn.ithttp://icascan1.pv.infn.it, sotto PublicPublic, c’e` il file:

icafluka.tar.gzicafluka.tar.gz

dove sono raccolte le routines utente per FLUKA-ICARUS descritte in precedenza.