Thomas Stainer
23rd November 2020
Mac/Linux
[tom@mac:~/Dev/fispact]$ /path/to/fispact # gives an error
Windows
C:\Dev\fispact> C:\path\to\fispact.exe # gives an error
We need an input file myinput.i and files file myfiles (always!)
[tom@mac:~/Dev/fispact]$ /path/to/fispact myinput myfiles
Running....
Note that .i is needed for the input file name extension but is omitted from cmd line
[tom@mac:~/Dev/fispact]$ ls
myinput.i myfiles
[tom@mac:~/Dev/fispact]$ /path/to/fispact myinput myfiles
Note that .i is needed for the input file name extension but is omitted from cmd line
[tom@mac:~/Dev/fispact]$ ls
myinput.i myfiles FILES
# uses myfiles file
[tom@mac:~/Dev/fispact]$ /path/to/fispact myinput myfiles
# uses FILES file
[tom@mac:~/Dev/fispact]$ /path/to/fispact myinput
Instead of typing
/path/to/fispact
Easier to make an alias
Mac/Linux
[tom@mac:~/Dev/fispact]$ export FISPACT=/path/to/fispact
[tom@mac:~/Dev/fispact]$ $FISPACT myinput myfiles
Windows
C:\Dev\fispact> set FISPACT=C:\path\to\fispact.exe
C:\Dev\fispact> %FISPACT% myinput myfiles
The files file declares the nuclear data libraries to be used in the fispact run*
(*mainly -it also tells FISPACT-II the names and locations of files to read and write)
FISPACT-II is useless without nuclear data!
Nuclear data paths...
# index of nuclides to be included
ind_nuc /home/F-II/nuclear_data/TENDL2015data/tendl15_decay12_index
# Library cross section data
xs_endf /home/F-II/nuclear_data/TENDL2015data/tal2015-n/gxs-709
# Library decay data
dk_endf /home/F-II/nuclear_data/decay/decay_2012
Other data paths...
# fluxes file to be read in
fluxes fluxes
# collapsed cross section data (in and out)
collapxi COLLAPX
collapxo COLLAPX
# condensed decay and fission
arrayx ARRAYX
Disclamer: FISPACT-II does not hold responsibility for nuclear data errors/issues, it is simply a consumer of nuclear data
Reaction data
Reaction data for Silver
JEFF3.3 vs ENDFB VII
TENDL recommended
* A. J. Koning, D. Rochman, et al. - https://tendl.web.psi.ch/tendl_2017/tendl2017.html
Full decay_2012 library
Note: For EAF keywords can differ. For example, xs_endf -> crossec
As mentioned before, files file has other data
Defines your incident particle energy spectrum
group 616
group 709
Different group structures cover different energy regimes
Some libraries are provided in a given energy range best suited for certain applications
709 group covers up to 1 GeV – most libraries shipped in this structure
The input file governs everything for the run
3 sections to the input file
32 + 64 + 41 ≠ 92
Many keywords can be used in each input section, but some can only be used in one section!
Full list: https://fispact.ukaea.uk/wiki/FISPACT-II_keywords
<< CLOBBER tells fispact to overwrite >>
<< existing files of same name >>
CLOBBER
<< GETXS 1 tells fispact to get the cross section>>
<< data and do collapse >>
GETXS 1 709
<< GETDECAY 1 tells fispact to get the decay>>
<< data and do condense >>
GETDECAY 1
<< FISPACT signals end of control section >>
FISPACT
* example 1
<< END is required to signal end of input >>
END
* end of example
Control only - no Initialisation or inventory sections here
The nuclear data collapse with GETXS takes the extensive reaction cross section data and probability tables for resonance self-shielding and folds (collapses) them with irradiation spectrum in fluxes. Producing a single scalar value (1-group).
Produces a binary COLLAPX file of 1-group data with uncertainties which is given by the collapxo file in the files file
\[\begin{aligned} \bar{\sigma} & = \frac{\sum^{N}_{i}\sigma_{i}\phi_{i}}{\sum^{N}_{i}\phi_{i}} \end{aligned} \]Printlib 4 prints all collapsed cross sections to disk
The cross sections are given for each reaction
See the exercise on this.
Can actually calculate this by hand
Getting the group wise XS data can be done using another tool with FISPACT-II extract_xs_endf
Common practice is to separate out collapse and condense.
collapse.i input file – GETXS 1
condese.i input file – GETDECAY 1
Computationally expensive to do these processes. If flux is not changing, then no need to redo collapse. We just did the collapse in the previous example.
[tom@mac:~/exercises/basic/inventory]$ $FISPACT collapse
[tom@mac:~/exercises/basic/inventory]$ $FISPACT condense
[tom@mac:~/exercises/basic/inventory]$ $FISPACT input1
[tom@mac:~/exercises/basic/inventory]$ $FISPACT input2
The nuclear data condense via GETDECAY produces a binary ARRAYX file from the extensive decay and fission yield data
May also require an irradiation spectrum (fluxes) to calculate spectrum-dependent fission yields but is not normally the case
In the basic exercises we will use the fluxes and nuclear data to calculate all of the effective cross sections and prepare the decay data for time-dependent simulations.
However, all of this is not very interesting. No actual irradiation yet.
FNS Inconel (from getting started)
Contains 4 input files
First 3 have been covered, focus on the inventory run
<< Overwrite any existing output file >>
CLOBBER
<< we also want a JSON output file >>
JSON
<< read in COLLAPX file>>
GETXS 0
<< read in ARRAYX file>>
GETDECAY 0
<< end of control section >>
FISPACT
* FNS 5 Minutes Inconel-600
<< Inconel 600 with density of 8.42 g/cc >>
DENSITY 8.42
<< 1 gram with 4 elements >>
MASS 1.0E-3 4
<< 75.82% Ni >>
NI 75.82
<< 15.97% Cr >>
CR 15.97
<< 7.82% Fe >>
FE 7.82
<< 0.39% Mn >>
MN 0.39
<< ignore nuclides with inventory < 1000 atoms >>
MIND 1E3
<< create gnuplot data and file >>
GRAPH 1 2 1 3
<< pathways analysis >>
UNCERTAINTY 2
<< output half lives >>
HALF
<< output ingestion and inhalation >>
HAZARDS
<< irradiate material at 1.116e10 n/cm2/s >>
FLUX 1.116E+10
<< initial inventory (t=0) >>
ATOMS
<< want output after 5 minutes irradiation >>
TIME 5.0 MINS
<< solves rate equation matrix and >>
<< outputs initial inventory at time=5 mins>>
ATOMS
Note: Without either ATOMS, STEP, or SPECTRUM, nothing will be calculated! For less verbose output, use STEP, instead of ATOMS.
<< turn flux off - decay only >>
FLUX 0.
<< tells FISPACT-II we are cooling >>
ZERO
<< cooling time intervals >>
<< 38 seconds after irradiation ended >>
TIME 36 ATOMS
<< 15 seconds after previous time >>
TIME 15 ATOMS
<< 16 seconds after previous time >>
TIME 16 ATOMS
...
<< end of input file >>
END
* END
Note: Times are intervals. It is time difference not cumulative time
Able to irradiate a material and generate graphs
But what if we want custom graphs?
Can make parsing legacy FISPACT-II files easy - python3 package