1 / 51

Introduzione all’uso di FLUKA

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

ruby-lamb
Télécharger la présentation

Introduzione all’uso di FLUKA

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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) Programma R. Brunetti, A. Menegolli

  3. flutil • Script per la compilazionee l’esecuzione • flukapro • Include files • (common blocks) • usermvax • Routines utente 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..) Il direttorio di fluka si sviluppa a partire dal punto del file systemidentificato dal valore della variabile d’ambiente FLUPRO 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 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 R. Brunetti, A. Menegolli

  5. 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 with jendl3.fyi: E<20 MeV) xnloan.dat: } What’s inside the physics data files: 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 123456789 BEAM 2.0E-2 0.002 1.53.55 PHOTON Attenzione !!!NON UTILIZZARE IL TASTO “TAB” PER SPOSTARE IL CURSORE 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... R. Brunetti, A. Menegolli

  8. Esempio • TITLE • Test 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 beam • BEAM 1000.0 MUON+ • * • * Initial coordinate and direction of the beam particles • *23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 • BEAMPOS 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 R. Brunetti, A. Menegolli

  9. 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 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: GeV cm rad R. Brunetti, A. Menegolli

  10. Esempio • TITLE • Test 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 beam • BEAM 1000.0 MUON+ • * • * Initial coordinate and direction of the beam particles • *23456789 123456789 123456789 123456789 123456789 123456789 123456789 123456789 • BEAMPOS 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 coordinate X=0.0 ; Y=0.0 ; Z=-50.0 La direzione del fascio è nel verso positivo dell’asse Z R. Brunetti, A. Menegolli

  11. Geometria La geometria in Fluka è basata sui seguenti 4 concetti fondamentali: • Bodies • Zones • Regions • Lattices Body→ Volume convesso finito od infinito Region→ 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 Lattice→ 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. R. Brunetti, A. Menegolli

  12. 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 descrizionedella geometria sia molto lunga R. Brunetti, A. Menegolli

  13. Lista dei principali bodies disponibili PLA : semispazio infinito delimitato da un generico piano XYP : semispazio infinito delimitato da un piano  a z XZP : “ “ “ “  a y YZP : “ “ “ “  a x 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 R. Brunetti, A. Menegolli

  14. R. Brunetti, A. Menegolli

  15. R. Brunetti, A. Menegolli

  16. R. Brunetti, A. Menegolli

  17. R. Brunetti, A. Menegolli

  18. Logica combinatoria per i bodies Zones Regions Bodies OR→ UNIONE DI ZONE + → INTERSEZIONE - → SOTTRAZIONE Unione, sottrazione intersezione 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) R. Brunetti, A. Menegolli

  19. 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 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 R. Brunetti, A. Menegolli

  21. 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 presentipossono essere definiti usandonumeri progressivi a partire da26..... “* = deprecati” 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 materiale WHAT(5) : non usato WHAT(6) : numero di massa del materiale (nel caso di isotopi) SDUM : nome del materiale R. Brunetti, A. Menegolli

  23. Esempio In questo esempio vengono definiti diversi materiali. Alcuni sono ridefinizioni,altri sono nuovi R. Brunetti, A. Menegolli

  24. 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 R. Brunetti, A. Menegolli

  25. 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 schedaMATERIAL sia accoppiata alle schede COMPOUND *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 123456789MATERIAL 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 R. Brunetti, A. Menegolli

  26. Assegnazione materiali-regioni L’assegnazione dei materiali alle regioni avviene tramite la DATA CARDASSIGNMAt 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 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 generatore random con un nuovo seme, altrimenti gli eventi prodotti (a parità di input file) sono identici ai precedenti. 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.fyi elasct.bin $FLUPRO/ elasct.bin fluodt.dat $FLUPRO/ fluodt.dat fort.1 ../ranexample001 fort.11 example001.out fort.12 $FLUPRO/ libec_thihecufealw_10t.pemf (dummy) fort.15 example001.err fort.16 “geometry scratch” fort.2 ranexample002 jef2.fyi $FLUPRO/ jef2.fyi jendl3.fyi $FLUPRO/ jendl3.fyi neuxsc.bin $FLUPRO/ neuxsc_72.bin nuclear.bin $FLUPRO/ nuclear.bin sigmapi.bin $FLUPRO/ sigmapi.bin xnloan.dat $FLUPRO/ xnloan.dat Notare che:core  /dev/null La fase di inizializzazionetermina con la creazione delfile .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) R. Brunetti, A. Menegolli

  29. Output di FLUKA • Si può suddividere l’output standard di fluka in due parti distinte: • Comune standard Output • Output richiesto dall’utente Comune standard output : file “.out”, file “.err”, file “ran*****” Contiene un dump del file input dati sui materiali, proprietà del fascio originale, geometria,tabelle di sezioni d’urto usate ecc... Contiene l’ultimo seme per il generatore random Contiene informazioni suglierrori 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 problemisenza necessità di codice aggiuntivo. R. Brunetti, A. Menegolli

  30. Fluenza DEF: Fluenza DEF: Flusso numero di particelle per unità di volume  velocità densità di lunghezza di traccia Inoltre : Inoltre se la lunghezza di traccia è calcolata in unità di “libero cammino medio”  : 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. 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). R. Brunetti, A. Menegolli

  32. Particelle Generalizzate Fluka possiede unalista di particelle“generalizzate”che posseggonocaratteristiche comunio che definiscono grandezze fisiche. Esse possono essereutilizzate solo per loscoring. 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. 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. 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). 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. R. Brunetti, A. Menegolli

  37. “Binning” Estimators cartesian or cyl. coordinates or by region USRBIN 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 2 a grid independent of geometry Region binning R. Brunetti, A. Menegolli

  38. 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 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: $FLUPRO/flutil • ustsuw.fper sommare gli output diUSRTRACK • usxsuw.f per sommare gli output diUSRBDX • usysuw.fper sommare gli output diUSRYIELD • usbsuw.fper sommare gli output diUSRBIN Si compilano chiamando lo scriptlfluka, ad esempio: $FLUPRO/flutil/lfluka ustsuw.f -oustsuw 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 che si trovano in: $FLUPRO/usermvax/ Tra le più importanti routines per la gestione dell’input e dell’output ci sono: • source.f • mgdraw.f R. Brunetti, A. Menegolli

  40. 1. source.fConsente 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 CardSOURCE . 2.mgdraw.fConsente 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 R. Brunetti, A. Menegolli

  41. Personalizzazione dell’eseguibile Nel caso si siano modificate una o più routine utente, si deve produrre un nuovoeseguibile, affinchè i cambiamenti siano effettivi. La preparazione di un nuovo eseguibile comprende i seguenti due passaggi: • 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 : • $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 modificatavengono linkati assieme 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_*****.inp • il file della geometria : icat600pmt.geo • il file pemf:ica.pemf Sezione del rivelatore FLUKA-ICARUS T600 dentro la sala B ai LNGS. R. Brunetti, A. Menegolli

  43. Rock • Hall B • Neutron shield (70cm thick) • Cables-electronics (empty space) • Platforms (Al ) • Insulation (Nomex honeycomb) • Gap (5cm) • Container (Al honeycomb) • Gas phase Ar (8cm) • Inactive LAr • Active LAr R. Brunetti, A. Menegolli

  44. 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 • EMF on • 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) • Low energy neutron transport on (high energy neutron threshold at 19.6 MeV) • Fully analog absorption for low energy neutrons Continua… R. Brunetti, A. Menegolli

  45. 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) • Multiple scattering threshold at minimum allowed energy both for primary and secondary • charged particles • 8. 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 KeV • 13. Muon photonuclear interactions activated with explicit generation of secondaries • 14. Heavy fragment transport activated Il default ICARUS si trova sotto la datacard DEFAULTS del manuale di FLUKA R. Brunetti, A. Menegolli

  46. Compilazione dell’eseguibile • Fluka-ICARUS ha alcune routines utente dedicate: • source.f • mgdraw.f • Come le routines utente standard vanno compilate conlo scriptfff e quindi linkate alla libreria standard di FLUKA-ICARUS libicamvax.a. La procedura e` la seguente: • copiare libicamvax.a.std da $FLUPRO/ in ./ • 2. $FLUPRO/flutil/fffroutine.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 R. Brunetti, A. Menegolli

  47. 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 CardSOURCE , inserendo la stringa corrispondente nella casella SDUM . Tra le opzioni disponibili: SDUM = MUHALLB : Eventi di muoni atmosferici SDUM = NEUTBACK : Eventi di neutroni (o fotoni) di background SDUM = NEUTCAPT : Eventi di cattura di neutroni SDUM =NEUTRISC : Eventi di neutrino SDUM = NUCDCY : Eventi di decadimento del nucleone SDUM = SLNUELEL : Interazioni elastiche di n solari su elettroni SDUM = SLNUGTFE : 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… R. Brunetti, A. Menegolli

  48. Esecuzione • Ora, il comando per eseguire FLUKA-ICARUS e`: $FLUPRO/flutil/rica-eflukaica-pica–Nx –Myicat600_***** • Il file di output piu` importante e` quello con l’estensione .flufz.Questo file puo` essere aperto con Qscan andando su: 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. R. Brunetti, A. Menegolli

  49. Un evento FLUKA-ICARUS Collezione Induzione I Decadimento dell’adrone S+in p e p0 Induzione II 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: • 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/fffvtxprn.f R. Brunetti, A. Menegolli

More Related