Introduzione all’uso di
FLUKA
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
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

Compilazione dell'eseguibile personalizzato
Utilizzo delle routine utente
Flukaica (Fluka per ICARUS)
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
2
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 system
identificato dal valore della variabile d’ambiente FLUPRO
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
3
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 flukahp
L’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
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
4
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:
jendl3.fyi:
xnloan.dat:
}
Pavia, 8/9-06-2004
Fission products (for neutrons with
E<20 MeV)
R. Brunetti, A. Menegolli
5
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:
• Keyword
• 6 valori numerici in formato floating point (“WHAT(j)”)
• 1 stringa di caratteri (“SDUM”)
• 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
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 123456789
BEAM
2.0E-2 0.002
1.5
3.55
PHOTON
Attenzione !!! NON UTILIZZARE IL TASTO “TAB” PER SPOSTARE IL CURSORE
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
6
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...
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
7
Esempio
TITLE
Test of muon propagation in sea water (seamu example on the web)
*
* Sets the standard defaults for this run
*
DEFAULTS
*23456789 123456789 123456789 123456789 123456789 123456789 123456789
*
* Type of particles of the beam
BEAM
1000.0
*
* Initial coordinate and direction of the beam particles
*23456789 123456789 123456789 123456789 123456789 123456789 123456789
BEAMPOS
0.0
0.0
-50.0
.............
.............
NEW-DEFA
123456789
MUON+
123456789
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
Pavia, 8/9-06-2004
NEUTRONS
PRECISIO
R. Brunetti, A. Menegolli
ICARUS
8
Sorgente
La descrizione del fascio iniziale di particelle viene fatta utilizzando le due DATA CARD
BEAM
BEAMPOS
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
Le unità di misura sono:
GeV
cm
rad
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
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
9
Esempio
TITLE
Test of muon propagation in sea water (seamu example on the web)
*
* Sets the standard defaults for this run
*
DEFAULTS
*23456789 123456789 123456789 123456789 123456789 123456789 123456789
*
* Type of particles of the beam
BEAM
1000.0
*
* Initial coordinate and direction of the beam particles
*23456789 123456789 123456789 123456789 123456789 123456789 123456789
BEAMPOS
0.0
0.0
-50.0
.............
.............
NEW-DEFA
123456789
MUON+
123456789
In questo caso viene definito un fascio di MUONI POSITIVI, di 1000 GeV di
momento, senza divergenza e senza spread, posizionato nel punto di coordinate
X=0.0 ; Y=0.0 ; Z=-50.0
La direzione del fascio è nel verso positivo dell’asse Z
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
10
Geometria
La geometria in Fluka è basata sui seguenti 4 concetti fondamentali:
1.
2.
3.
4.
Body
Region
→
→
Lattice →
Bodies
Zones
Regions
Lattices
Volume convesso finito od infinito
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 contigue
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 HOLE
Essa si comporta come un assorbitore totale, ogni particella che entri nella
black hole cessa di essere seguita dal programma.
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
11
Formato della sezione di geometria
La sezione di geometria del file di input è compresa tra le due DATA CARD
GEOBEGIN e GEOEND
E’ anche possibile specificare un file esterno, nel caso la descrizione
della geometria sia molto lunga
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
12
Lista dei principali bodies
disponibili
PLA : semispazio infinito delimitato da un generico piano
XYP : semispazio infinito delimitato da un piano  a z
XZP :
“
“
“
“
 ay
YZP :
“
“
“
“
 ax
RPP : parallelepipedo con lati paralleli agli assi coordinati
SPH : sfera
XCC : cilindro infinito con asse // ad x
YCC :
“
“
“
// ad y
ZCC :
“
“
“
// a z
Ognuno dei bodies disponibili viene definito tramite un numero
variabile di parametri
Nel manuale sono elencate tutte le specifiche per la definizione
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
13
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
14
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
15
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
16
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
17
Logica combinatoria per i bodies
Zones
Regions
Bodies
Unione, sottrazione
intersezione
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)
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
18
Esempio
*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
GEOBEGIN
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.0
END
*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
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
19
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 presenti
almeno 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
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
20
Materiali e composti
Fluka possiede una lista di materiali predefiniti mostrata nella tabella seguente
Il Black-Hole è sempre 1
Il vuoto è sempre 2
I materiali presenti nella
lista possono anche essere
ridefiniti in numero e nome.
Nuovi materiali non presenti
possono essere definiti usando
numeri progressivi a partire da
26.....
“* = deprecati”
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
21
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 materiale
WHAT(5) : non usato
WHAT(6) : numero di massa del materiale (nel caso di isotopi)
SDUM
: nome del materiale
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
22
Esempio
In questo esempio vengono definiti diversi materiali. Alcuni sono ridefinizioni,
altri sono nuovi
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
23
Materiali e composti III
COMPOUND → 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 elemento
WHAT(1) < 0 & WHAT(2) > 0
|WHAT(1)| = contenuto relativo (in massa) del primo elemento
WHAT(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 COMPOUND
quante occorrono, ognuna con lo stesso SDUM
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
24
Esempio
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
*23456789 123456789 123456789 123456789 123456789 123456789 123456789
*1) Hydrogen
MATERIAL
1.0
1.0079 .0000899
3.0
*2) Oxygen
MATERIAL
8.0
15.999 0.001429
8.0
*3) Magnesium
MATERIAL
12.0
24.305
1.738
9.0
*4) Potassium
MATERIAL
19.0
39.102 0.031165
11.0
*5) Calcium
MATERIAL
20.0
40.08
1.54
12.0
*6) Sodium
MATERIAL
11.0
22.990 0.038349
13.0
*7) Chlorine
MATERIAL
17.0
35.4529 0.0029947
14.0
*8) Sulphur
MATERIAL
16.
32.066
2.070
15.0
* 9) Sea water compound (Antares 1) using atom relative contents
*23456789 123456789 123456789 123456789 123456789 123456789 123456789
MATERIAL
1.0341
18.0
COMPOUND
2.00000
3.0 1.008800
8.0
0.00943
13.0
COMPOUND
0.000209
11.0 0.001087
9.0 0.000209
12.0
COMPOUND
0.01106
14.0 0.005820
15.0
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
123456789
HYDROGEN
OXYGEN
MAGNESIU
POTASSIU
CALCIUM
SODIUM
CHLORINE
SULFUR
123456789
SEAWATER
SEAWATER
SEAWATER
SEAWATER
25
Assegnazione materiali-regioni
L’assegnazione dei materiali alle regioni avviene
tramite la DATA CARD ASSIGNMAt
WHAT(1) : numero del materiale
WHAT(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 usato
SDUM
: non usato
*23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789
MATERIAL
13.0
27.0
2.7
10.0
0.0
ALUMINUM
ASSIGNMA
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
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
26
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> =
<pemf file> =
<num cic prec> =
<num di cicli> =
<inp file> =
nome dell’eseguibile personalizzato (default “flukahp”)
nome del file .pemf contenente le tabelle preprocessate
delle sezioni d’urto per i processi elettromagnetici
numero di cicli già effettuati su quel file di input
numero di clicli da effettuare
nome del file di input
N.B la presenza del file .pemf è necessaria quando vengono attivati i processi
elettromagnetici. 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 generatore
random con un nuovo seme, altrimenti gli eventi prodotti (a parità di input file)
sono identici ai precedenti.
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
27
Esecuzione II
L’esecuzione del run avviene all’interno di una sottodirectory temporanea creata
dallo script rfluka
e6r1nds3.fyi  $FLUPRO/e6r1nds3.fyi
elasct.bin  $FLUPRO/ elasct.bin
La fase di inizializzazione
fluodt.dat  $FLUPRO/ fluodt.dat
termina con la creazione del
fort.1  ../ranexample001
file .err
fort.11  example001.out
(se il file .err non viene
fort.12  $FLUPRO/ libec_thihecufealw_10t.pemf (dummy)
creato ci sono problemi)
fort.15  example001.err
fort.16  “geometry scratch”
fort.2  ranexample002
Nel file .err e .out si può
jef2.fyi  $FLUPRO/ jef2.fyi
controllare lo stato di
jendl3.fyi  $FLUPRO/ jendl3.fyi
avanzamento del run
neuxsc.bin  $FLUPRO/ neuxsc_72.bin
nuclear.bin  $FLUPRO/ nuclear.bin
sigmapi.bin  $FLUPRO/ sigmapi.bin
Tips & Tricks : Per arrestare in modo
xnloan.dat  $FLUPRO/ xnloan.dat
Notare che: core  /dev/null
Pavia, 8/9-06-2004
pulito un run di Fluka
si può creare nella dir
del run un file “fluka.stop”
(touch fluka.stop)
R. Brunetti, A. Menegolli
28
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”,
Contiene un dump del file input
dati sui materiali, proprietà del
fascio originale, geometria,
tabelle di sezioni d’urto usate ecc...
file “ran*****”
Contiene l’ultimo seme per
il generatore random
Contiene informazioni sugli
errori che si sono verificati
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 problemi
senza necessità di codice aggiuntivo.
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
29
Fluenza
DEF: Fluenza
dN
dN


dA dA  cos 
DEF: Flusso
  nv 
Inoltre :
dN


dA
d
dt

N
k 1
numero di particelle per unità di volume  velocità
dlk
densità di lunghezza di traccia
dV
Inoltre se la lunghezza di traccia è calcolata in unità di “libero cammino medio”  :
 coll 


 densità di collision i
In generale viene fornita la fluenza media, ovvero la fluenza normalizzata per il
numero 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.
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
30
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 boundarycrossing, 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).
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
31
Particelle Generalizzate
Fluka possiede una
lista di particelle
“generalizzate”
che posseggono
caratteristiche comuni
o che definiscono
grandezze fisiche.
Esse possono essere
utilizzate solo per lo
scoring.
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
32
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 tracklength 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.
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
33
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.
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
34
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).
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
35
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.
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
36
“Binning” Estimators
USRBIN
cartesian or cyl.
coordinates
or by region
Option 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).
1
Pavia, 8/9-06-2004
a grid independent
of geometry
R. Brunetti, A. Menegolli
2
Region binning
37
Programmi accessori
Le opzioni fin qui illustrate producono dei files di output che possono essere letti
utilizzando programmi specifici di post-processing. I più importanti si trovano in
$FLUPRO/flutil
Poichè gli estimatori restituiscono il valore di aspettazione, é necessario il running
di più di un ciclo per valutarne l’errore. I programmi di post-processing sono costruiti
in modo da sommare i risultati di cicli differenti:
• 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 lfluka, ad esempio:
$FLUPRO/flutil/lfluka ustsuw.f -o ustsuw
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
38
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 che si trovano in:
$FLUPRO/usermvax/
Tra le più importanti routines per la gestione dell’input e dell’output ci sono:
1.
2.
Pavia, 8/9-06-2004
source.f
mgdraw.f
R. Brunetti, A. Menegolli
39
1. source.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 .
2. mgdraw.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:
•
•
•
•
MGDRAW : dump della traiettoria.
ENDRAW : dump del deposito di energia.
SODRAW : dump della particella sorgente.
USDRAW : dump definito dall’utente
Si attiva chiamando nel file di input di FLUKA la Data Card
USERDUMP con WHAT(1)≥100.0
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
40
Personalizzazione dell’eseguibile
Nel 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)
2)
1)
2)
Compilazione delle routine necessarie
Generazione dell’eseguibile
Si utilizza lo script $FLUPRO/flutil/fff per produrre “l’object file” routine.o
Si utilizza lo script $FLUPRO/flutil/lfluka per linkare la main lib con le routine
Es: Dopo aver modificato la routine source.f :
1)
2)
$FLUPRO/flutil/fff source.f → source.o
$FLUPRO/flutil/lfluka –m fluka –o <nuovo nome> source.o → nuovo eseguibile
Il main program e la routine modificata
vengono linkati assieme
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
41
FLUKA per ICARUS
Il rivelatore ICARUS T600 e` stato simulato con FLUKA → sono gia` pronti:
• il file di input : icat600_*****.inp
• il file della geometria : icat600pmt.geo
• il file pemf : ica.pemf
Sezione del rivelatore FLUKA-ICARUS
T600 dentro la sala B ai LNGS.
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
42
a)
b)
c)
d)
e)
f)
Rock
Hall B
Neutron shield (70cm thick)
Cables-electronics (empty space)
Platforms (Al )
Insulation (Nomex honeycomb)
Pavia, 8/9-06-2004
g)
h)
i)
j)
k)
Gap (5cm)
Container (Al honeycomb)
Gas phase Ar (8cm)
Inactive LAr
Active LAr
R. Brunetti, A. Menegolli
43
Il default ICARUS
Nel file di input viene usata la card DEFAULTS = ICARUS :
TITLE
ICARUS 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
1. EMF on
2. 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
Continua…
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
44
6.
7.
8.
9.
10.
11.
12.
13.
14.
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)
Multiple scattering threshold at minimum allowed energy both for primary and secondary
charged particles
Delta ray production on with threshold 100 KeV (see option DELTARAY)
Restricted ionization fluctuations on both for hadrons/muons and EM particles (see
option IONFLUCT)
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)
Heavy particle e+ e- pair production activated with full explicit production (with the
minimum threshold = 2 me)
Heavy particle bremsstrahlung activated with explicit photon production above 300 KeV
Muon photonuclear interactions activated with explicit generation of secondaries
Heavy fragment transport activated
Il default ICARUS si trova sotto la datacard DEFAULTS
del manuale di FLUKA
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
45
Compilazione dell’eseguibile
 Fluka-ICARUS ha alcune routines utente dedicate:
1. source.f
2. mgdraw.f
 Come le routines utente standard vanno compilate con lo script fff e quindi
linkate alla libreria standard di FLUKA-ICARUS libicamvax.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.a
4. ar –r libicamvax.a routine.o
5. copiare libicamvax.a in $FLUPRO/ (come su)
6. $FLUPRO/flutil/lica
flukaica
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
46
La routine utente source.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 , inserendo la
stringa corrispondente nella casella SDUM . Tra le opzioni disponibili:
SDUM = MUHALLB
SDUM = NEUTBACK
SDUM = NEUTCAPT
SDUM = NEUTRISC
SDUM = NUCDCY
SDUM = SLNUELEL
SDUM = SLNUGTFE
: Eventi di muoni atmosferici
: Eventi di neutroni (o fotoni) di background
: Eventi di cattura di neutroni
: Eventi di neutrino
: Eventi di decadimento del nucleone
: Interazioni elastiche di n solari su elettroni
: Eventi di assorbimento Gamow-Teller e Fermi
di n solari su 40Ar
SDUM = SNNUELEL : Interazioni elastiche di n da supernova su elettroni
SDUM = SNNUGTFE : Eventi di assorbimento Gamow-Teller e Fermi
di n da supernova su 40Ar
etc…
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
47
Esecuzione
 Ora, il comando per eseguire FLUKA-ICARUS e`:
$FLUPRO/flutil/rica -e flukaica -p ica –Nx –My icat600_*****
file di output piu` importante e` quello con l’estensione .flufz . Questo
file puo` essere aperto con Qscan andando su:
 Il
File
Open MC T600 Rawdata input file
e poi aprendo il file .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.
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
48
Un evento FLUKA-ICARUS
Collezione
Induzione I
Decadimento dell’adrone
S+ in p e p0
Induzione II
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
49
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.
2.
3.
vtxprn.f
rcflic.F
flicrc.F
In rcflic.F viene salvato un file fort.99 con le informazioni ottenute
editando la routine vtxprn.f . A questo punto le routines editate vanno
compilate:
1. $FLUPRO/flutil/fff –x –n rcflic.F
2. $FLUPRO/flutil/fff –x –n flicrc.F
3. $FLUPRO/flutil/fff vtxprn.f
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
50
La routine vtxprn.o va linkata alla libreria standard di FLUKA-ICARUS libicamvax.a :
1. mv libicamvax.std libicamvax.a
2. ar –r libicamvax.a vtxprn.o
3. copiare libicamvax.a in $FLUPRO/
Infine va lanciato il build_flicrc che produce l’eseguibile flicrc.
Una volta lanciato flicrc, 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. Alla
fine del processo viene creato il file con le informazioni richieste: fort.99.
 In http://icascan1.pv.infn.it, sotto Public, c’e` il file:
icafluka.tar.gz
dove sono raccolte le routines utente per FLUKA-ICARUS descritte in precedenza.
Pavia, 8/9-06-2004
R. Brunetti, A. Menegolli
51
Scarica

Programma delle lezioni