Command line tool to convert FISPACT-II JSON results to decay sources.
Usage: fisjson <path> [options]
Arguments:
<path> Path to fispact JSON file
[idx] Indices of time steps (optional)
Options:
-v, --verbose... Verbose logging (-v, -vv)
-q, --quiet Supress all logging
-h, --help Print help (see more with '--help')
Data options:
-r, --rad <type> Type of decay radiation
-s, --sort <property> Sort records by property ['energy', 'intensity']
--fetch Query IAEA directly rather than pre-fetched data
Output files:
-o, --output <name> Prefix for output files
-t, --text Text based table
-j, --json JSON output format
-m, --mcnp MCNP SDEF card
-i, --id <num> Starting MCNP distribution number
Note: --help shows more information and examples
Help is printed with the -h
flag, and --help
will show default values,
examples, and any important behaviour.
This tool takes the FISPACT-II nuclides for any number of calculation steps and matches them to known decay data from the IAEA chart of nuclides.
fisdef
therefore supports all IAEA decay data types:
Decay radiation type | IAEA symbol |
---|---|
alpha | a |
beta plus | bp |
beta minus | bm |
gamma | g |
electron | e |
x-ray | x |
Note that selecting 'gamma' will provide all photon data, including X-rays. This is consistent with the data retrieved via the horrible IAEA API.
Download and unpack the latest binary executable release here for running in a terminal/powershell.
Unpack the relevant executable from the latest release.
# Linux
tar -xjf fisdef-x86_64-unknown-linux-gnu.tar.xz # Generic linux
tar -xjf fisdef-aarch64-unknown-linux-gnu.tar.xz # ARM64 Linux
# MacOS
tar -xjf fisdef-x86_64-apple-darwin.tar.xz # Intel macOS
tar -xjf fisdef-aarch64-apple-darwin.tar.xz # Apple Silicon macOS
And either run from there or add the executable to your $PATH
.
./fisdef -h
Extract fisdef-x86_64-pc-windows-msvc.zip
from the latest release.
Navigate to this folder and run from powershell.
.\fisdef.exe -h
This may be set as an alias for convenience.
Set-Alias -Name fisdef -Value C:\Path\To\Folder\fisdef.exe
This is always printed for reference, and when no arguments are provided this will be the default.
# Print a summary of intervals
fisdef /path/to/results.json
If no intervals are defined, a source definition will be generated for every calculation step.
There are several input methods included for convenience. For example, if there were 5 calculation steps:
[idx] argument |
Expanded | Note |
---|---|---|
1 | [1] | |
0-2 | [0, 1, 2] | Inclusive of upper |
"1 3 4" | [1, 3, 4] | Must be in quotation |
all | [0, 1, 2, 3, 4] | |
left blank | [0, 1, 2, 3, 4] | [default] |
Any indices out of bounds are ignored.
# Choose specific steps (e.g. 5 total steps):
fisdef results.json 1
fisdef results.json 0-2
fisdef results.json "1 3 4"
fisdef results.json all
fisdef results.json
The following output formats are supported:
Output format | Flag |
---|---|
Utf-8 text file | -t /--text |
JSON | -j /--json |
MCNP SDEF | -m /--mcnp |
OpenMC | work in progress |
For example:
# Equivalent: creates 'step_2.i', 'step_2.json', 'step_2.txt'
fisdef results.json 2 --mcnp --json --text
fisdef results.json 2 -m -j -t
fisdef results.json 2 -mjt
The --text
and --json
files contain relevant nuclides with activity and
energy/intensity decay data. For example:
The --mcnp
flag writes a source distribution of decay data for each nuclide,
and an overall activity-based distribution to sample from. For example:
Note that for MCNP SDEF, the distribution cards need an id. These are generated
sequentially from the value passed to --id
. Defaults to 100
.
# Start from SI/SP 20 instead of 100
fisdef results.json 2 --mcnp --id 20
Prefix for output files defaults to step
.
Files are named <name>_<n>.<ext>
where <n>
is the index of the fispact time interval, and <ext>
the appropriate extension.
For example:
# Change the prefix to myname
fisdef results.json 2 --mcnp --text --output myname
This generates myname_2.i
/mynmame_2.txt
instead of step_2.i
/step_2.txt
.
fisdef
supports all IAEA decay data types.
The default is "gamma", however this may be changed using the --rad
/-r
argument.
# Choose radiation type:
fisdef results.json --rad gamma [default]
fisdef results.json --rad xray
fisdef results.json --rad alpha
fisdef results.json --rad beta-plus
fisdef results.json --rad beta-minus
fisdef results.json --rad electron
For example, --rad gamma
:
Note that the IAEA API returns any photon emission for gamma
, including X-rays. For X-ray data only, use --rad x-ray
. For gamma-only, take it up with the IAEA.
For example, --rad beta-minus
electrons:
By default, all decay data are ordered by energy.
To order by relative intensity (descending), use the --sort
/-s
argument.
For example:
# Choose output data sorting:
fisdef results.json --sort energy [default]
fisdef results.json --sort intensity
It is strongly recommended to use the pre-compiled decay data (default).
If the absolute latest data are required and performance is not a concern, the
data may be fetched directly from the IAEA chart of nuclides API with the
-f
/--fetch
flag.
For example:
# Force decay data to be fetched direct from the IAEA chart of nuclides API
fisdef results.json --fetch ...
This obviously requires an internet connection.