Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
536720b
Benchmark build methods -> private
SteSeg Jun 3, 2025
58d6d7f
+ _build_model() abstractmethod
SteSeg Jun 3, 2025
f20bb8f
+ _build_model abstractmethod
SteSeg Jun 3, 2025
60e6cd5
+ _build_model in OpenmcBenchmark
SteSeg Jun 3, 2025
390a153
+ self.model in OpenmcBenchmark constructor
SteSeg Jun 3, 2025
8e4156a
Merge branch 'eepeterson:develop' into build_model
SteSeg Jun 3, 2025
f6249c8
Benchmark build methods -> private
SteSeg Jun 3, 2025
b56a94e
+ _build_model() abstractmethod
SteSeg Jun 3, 2025
69f49eb
+ _build_model abstractmethod
SteSeg Jun 3, 2025
fa91ed5
+ _build_model in OpenmcBenchmark
SteSeg Jun 3, 2025
5336be7
+ self.model in OpenmcBenchmark constructor
SteSeg Jun 3, 2025
0aadbb1
fix tests
SteSeg Jun 3, 2025
b5628a2
Merge branch 'build_model' of github.com:SteSeg/openmc_fusion_benchma…
SteSeg Jun 3, 2025
3b56200
fix test
SteSeg Jun 3, 2025
8cd05cb
+ abstractmethod postprocess
SteSeg Jun 5, 2025
a826b39
okt specs tally surf id -> 7
SteSeg Jun 5, 2025
faf02d3
+ self._build_source() fix in build settings
SteSeg Jun 5, 2025
1a4fada
_build_geometry check if mesh.h5m is already present
SteSeg Jun 5, 2025
9ead672
+ warning if mesh.h5m already present
SteSeg Jun 5, 2025
5cde179
update todo.md
SteSeg Jun 5, 2025
fec7b4f
+ xarray as dependency
SteSeg Jun 5, 2025
d26d1ee
+ tally postprocess, df -> xarray
SteSeg Jun 5, 2025
f5868a0
updated todo file
SteSeg Jun 5, 2025
1b2697f
+ store results in benchmark_results.h5
SteSeg Jun 5, 2025
926e876
update todo
SteSeg Jun 5, 2025
b89e439
+ run() abstractmethod
SteSeg Jun 5, 2025
a600c7f
+ run() method in OpenmcBenchmark
SteSeg Jun 5, 2025
be83ad8
+ throw error if unsupported run mode
SteSeg Jun 5, 2025
6a63893
update todo
SteSeg Jun 5, 2025
a6bc83e
+ pydagmc dependency
SteSeg Jun 5, 2025
e10148e
- pydagmc dependency
SteSeg Jun 5, 2025
72cff5d
+ fix polar angle -> cos(angle) source
SteSeg Jun 9, 2025
b020d90
+ pydagmc as dependency
SteSeg Jun 9, 2025
36d2da8
fix pydagmc dependency
SteSeg Jun 9, 2025
706c77c
update tests
SteSeg Jun 9, 2025
68ae187
+ fix tests
SteSeg Jun 9, 2025
1872d0f
typo in surfaces_by_id
SteSeg Jun 9, 2025
ebbbe18
updated todo
SteSeg Jun 9, 2025
e8c2f3a
drop 'surface' col in result df
SteSeg Jun 10, 2025
bfd2495
mode='a' in to_netcdf result method
SteSeg Jun 10, 2025
66a7504
add vectorial logo
davidepettinari Jun 11, 2025
02f7a91
change logo
davidepettinari Jun 11, 2025
bdbea53
added 3rd dimension to result xarray
SteSeg Jun 11, 2025
48824d1
+ small fix on xarray definition
SteSeg Jun 11, 2025
4116bd9
Experimental configuration of OKTAVIAN experiments
davidepettinari Jun 11, 2025
4893468
OKTAVIAN general information
davidepettinari Jun 11, 2025
915ab69
references
davidepettinari Jun 11, 2025
44d4971
add al results
davidepettinari Jun 11, 2025
1f45c91
+ point to rignt lfs submodule branch
SteSeg Jun 11, 2025
961c80a
specify branch in submodule
SteSeg Jun 12, 2025
e6e850b
+ lfs change
SteSeg Jun 12, 2025
5fca42c
Merge pull request #59 from SteSeg/fix_lfs
SteSeg Jun 12, 2025
5d95a04
Merge remote-tracking branch 'upstream/develop' into documentation
davidepettinari Jun 12, 2025
aed6756
test cad visualization
davidepettinari Jun 12, 2025
85999a8
test for cad visualization
davidepettinari Jun 12, 2025
085b5eb
update name for oktavian al benchmark
davidepettinari Jun 12, 2025
bd1e758
deleted wrong file
davidepettinari Jun 12, 2025
7f16969
Merge pull request #60 from davidepettinari/documentation
SteSeg Jun 23, 2025
ddfcf02
change src
davidepettinari Jun 23, 2025
e37fc58
Merge branch 'eepeterson:develop' into documentation
davidepettinari Jun 23, 2025
3a9a3bb
Merge pull request #61 from davidepettinari/documentation
SteSeg Jun 23, 2025
3e20ba2
change references
davidepettinari Jun 24, 2025
0b48361
add .glb file for cad visualization
davidepettinari Jun 24, 2025
e8c8722
add html page
davidepettinari Jun 24, 2025
473d53c
Merge pull request #62 from davidepettinari/documentation
SteSeg Jun 25, 2025
8b4cff8
add new reference style
davidepettinari Jun 25, 2025
c46e46c
add interactive view
davidepettinari Jun 25, 2025
b4bc3b8
Merge pull request #63 from davidepettinari/documentation
SteSeg Jun 25, 2025
017b5a6
Merge pull request #57 from SteSeg/build_model
eepeterson Jul 11, 2025
6a9d80d
+ abstractmethod postprocess
SteSeg Jun 5, 2025
ebe461b
okt specs tally surf id -> 7
SteSeg Jun 5, 2025
4718f15
+ self._build_source() fix in build settings
SteSeg Jun 5, 2025
72eb04f
_build_geometry check if mesh.h5m is already present
SteSeg Jun 5, 2025
053f441
+ warning if mesh.h5m already present
SteSeg Jun 5, 2025
6737afd
update todo.md
SteSeg Jun 5, 2025
1069e03
+ xarray as dependency
SteSeg Jun 5, 2025
8ed663e
+ tally postprocess, df -> xarray
SteSeg Jun 5, 2025
3ebb13c
updated todo file
SteSeg Jun 5, 2025
1edf9fd
+ store results in benchmark_results.h5
SteSeg Jun 5, 2025
50d1ca4
update todo
SteSeg Jun 5, 2025
eb5127f
+ run() abstractmethod
SteSeg Jun 5, 2025
328447a
+ run() method in OpenmcBenchmark
SteSeg Jun 5, 2025
64418a5
+ throw error if unsupported run mode
SteSeg Jun 5, 2025
566eb2b
update todo
SteSeg Jun 5, 2025
7b9ddc3
+ pydagmc dependency
SteSeg Jun 5, 2025
8520656
- pydagmc dependency
SteSeg Jun 5, 2025
79c305f
+ fix polar angle -> cos(angle) source
SteSeg Jun 9, 2025
99918ca
+ pydagmc as dependency
SteSeg Jun 9, 2025
907c2a3
fix pydagmc dependency
SteSeg Jun 9, 2025
51a1a79
update tests
SteSeg Jun 9, 2025
295bbbe
+ fix tests
SteSeg Jun 9, 2025
c0eb096
typo in surfaces_by_id
SteSeg Jun 9, 2025
412b7d4
updated todo
SteSeg Jun 9, 2025
e7a4d14
drop 'surface' col in result df
SteSeg Jun 10, 2025
3c3710c
mode='a' in to_netcdf result method
SteSeg Jun 10, 2025
98f9aa6
added 3rd dimension to result xarray
SteSeg Jun 11, 2025
778e5c1
+ small fix on xarray definition
SteSeg Jun 11, 2025
7e4c9c6
Merge branch 'postprocess_simple' of github.com:SteSeg/openmc_fusion_…
SteSeg Jul 15, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
[submodule "lfs"]
path = lfs
url = https://github.com/SteSeg/openmc_fusion_benchmarks-lfs.git
branch = main
21 changes: 18 additions & 3 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -1,16 +1,31 @@
# To do
### Manage CAD geometry

### Benchmark modules

## Benchmarks API
- Add capability of merging multiple surface results for oktavian (should happen only with surface tallies)
- Add expected tally results shape in `schema` and `specifications` to deal with the point here above
- Try to manage results as numpy arrays instead of pandas dataframes in `OpenmcBenchmark.postprocess()`
- Should we use `h5netcdf` engine for saving/opening datasets in `h5` files or stick with the default `netcdf4`?
- Do we wanna use `makefun` decorator for wrapped methods (e.g. `OpenmcBenchmark.run()`)?

## Tests
- Add tests to everything

## Notebooks
- Use `specifications` validation against `schema` function and script
- Open and inspect a `specifications` file (just `metadata`)
- Instantiate an `OpenmcBenchmark` object, build model, run simulation
- Postprocessing and visualization

## clean postprocessing
## Documentation
- introduction and motivation
- V&V explanation
- Definition of benchmark `specifications`
- Benchmarks
- Oktavian description
- Oktavian results

## Miscellanea


## Questions
9 changes: 7 additions & 2 deletions docs/source/_config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Learn more at https://jupyterbook.org/customize/config.html

title: OpenMC Fusion Benchmarks
logo: logo.png
logo: images/logo.svg

# Force re-execution of notebooks on each build.
# See https://jupyterbook.org/content/execute.html
Expand All @@ -14,7 +14,7 @@ latex:
latex_documents:
targetname: book.tex

# Add a bibtex file so that we can create citations
# Add a bibtex file so that we can create citations3
bibtex_bibfiles:
- references.bib

Expand All @@ -29,3 +29,8 @@ repository:
html:
use_issues_button: true
use_repository_button: true

# Set citation style to numeric
sphinx:
config:
bibtex_reference_style: label
2 changes: 1 addition & 1 deletion docs/source/_toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ parts:
- caption: Oktavian
chapters:
- file: oktavian_readme
- file: oktavian_benchmark
- file: oktavian_al_benchmark
Binary file added docs/source/images/al_gamma.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/images/al_neutron.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions docs/source/images/logo.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/source/images/oktavian_exp_config.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
11 changes: 11 additions & 0 deletions docs/source/oktavian_al_benchmark.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
# Oktavian Aluminium Benchmark

## CAD
The following link opens an interactive 3D visualization of the CAD model used in the benchmark:

[View interactive 3D model](https://eepeterson.github.io/openmc_fusion_benchmarks/viewers/oktavian_a.html)

## Results

![Neutron flux.](images/al_neutron.png)
![Gamma flux.](images/al_gamma.png)
3 changes: 0 additions & 3 deletions docs/source/oktavian_benchmark.md

This file was deleted.

38 changes: 36 additions & 2 deletions docs/source/oktavian_readme.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,37 @@
# Oktavian general infomation
# Oktavian General Information

TODO
OKTAVIAN, located at Osaka University, has been operational since 1981 as a high-intensity deuterium-tritium (D-T) neutron source. The facility delivers 1.5-ns pulses producing up to 10³ D-T neutrons per pulse or operates continuously at a maximum yield of 3×10¹² D-T neutrons per second. Utilizing a high-current deuteron beam accelerator, OKTAVIAN has served as a reference facility for numerous fusion neutronics experiments, providing valuable data for the study of D-T fusion neutron transport phenomena.

Among the experimental campaigns conducted at OKTAVIAN, a series of integral sphere pile experiments were performed between 1984 and 1988. These experiments focused on the measurement of leakage neutron current spectra above 100 keV using the time-of-flight (TOF) technique, employing a flight path of approximately 11 meters. Neutrons were detected using a cylindrical liquid organic scintillator (NE-218) {cite}`konno2023jendl`.

The experimental setup employed hollow stainless-steel spherical vessels filled with powdered or flaked materials such as Al, Co, Cr, Cu, LiF, Mn, Mo, Si, Ti, W, and Zr. Three distinct vessel geometries were used across the experiments.

## Description of Source and Experimental Configuration

![Experimental configuration of OKTAVIAN experiments.](images/oktavian_exp_config.png)

The experimental configuration is illustrated in the figure above {cite}`konno2023jendl`.

In these experiments, neutrons were generated by bombarding a 370 GBq tritium target with a 250 keV deuteron beam. The neutron source spectrum was characterized using the same detection system applied for the leakage neutron measurements {cite}`maekawa1994collection`. Although the spatial distribution of emitted neutrons was characterized, for analysis purposes an isotropic source distribution was typically assumed.

The neutron spectra were measured via the TOF technique. The tritium target was placed at the center of the experimental assembly, while neutrons were detected by the NE-218 liquid scintillator positioned approximately 11 meters away and at an angle of 55 degrees relative to the deuteron beam axis. A pre-collimator composed of polyethylene and iron multi-layers was installed between the experimental assembly and the detector to suppress background neutrons. The collimator aperture was sized to fully encompass the surface of the assembly facing the detector.

In addition to neutron measurements, gamma-rays were also characterized using a cylindrical NaI scintillation detector. Gamma-ray energy spectra were obtained by unfolding pulse-height spectra using the detector response matrix. The gamma-ray detector was positioned 5.8 meters from the neutron source and collected emissions during the experiments. TOF spectra for both neutrons and gamma-rays, along with pulse-height spectra, were recorded simultaneously.

## Neutron and Gamma-Ray Measurement Setup

The NE-218 scintillator (12.7 cm in diameter and 5.1 cm in length) was utilized for neutron detection. The efficiency of the detector was evaluated through a combination of:

1. Monte Carlo simulations,
2. experimental efficiency measurements based on TOF data of Cf-252 spontaneous fission and Watt spectrum,
3. efficiency measurements obtained from leakage spectra of a 30 cm diameter graphite sphere using a comparable detection configuration.

For absolute neutron spectrum monitoring, a cylindrical niobium foil was placed in front of the tritium target and irradiated during TOF measurements. The absolute neutron leakage spectrum was determined from the gamma activity of Nb-92m and the integrated neutron source counts. The detailed procedure is documented in the OKTAVIAN Report {cite}`kimura1998benchmark`.

For gamma-ray measurements, OKTAVIAN was operated in pulsed mode at 500 kHz repetition rate with a 3 ns pulse width (FWHM). The TOF separation between 14 MeV neutrons and prompt gamma-rays was approximately 90 ns, which allowed effective discrimination of gamma-rays from neutron background in the TOF spectra.

The recorded gamma-ray spectra were mainly dominated by emissions from (n,n') and (n,2n) reactions, rather than (n,xγ) processes. These data provide valuable input for evaluating nuclear data related to gamma-ray energy distributions resulting from non-elastic scattering of high-energy neutrons.

## References

```{bibliography}
25 changes: 25 additions & 0 deletions docs/source/references.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
@article{konno2023jendl,
title={JENDL-5 benchmark test for shielding applications},
author={Konno, Chikara and Ohta, Masayuki and Kwon, Saerom and Ohnishi, Seiki and Yamano, Naoki and Sato, Satoshi},
journal={Journal of Nuclear Science and Technology},
volume={60},
number={9},
pages={1046--1069},
year={2023},
publisher={Taylor \& Francis}
}

@inproceedings{kimura1998benchmark,
title={Benchmark Validation by means of Pulsed Sphere Experiment at OKTAVIAN},
author={KIMURA, Itsuro and YAMAMOTO, Junji and TAKAHASHI, Akito},
booktitle={JAERI-Conf},
pages={174},
year={1998}
}

@techreport{maekawa1994collection,
title={Collection of experimental data for fusion neutronics benchmark},
author={Maekawa, Fujio and Yamamoto, Junji and Ichihara, Chihiro and Ueki, Kotaro and Ikeda, Yujiro and others},
year={1994},
institution={Japan Atomic Energy Research Inst., Tokyo (Japan)}
}
Binary file added docs/source/viewers/oktavian_a.glb
Binary file not shown.
28 changes: 28 additions & 0 deletions docs/source/viewers/oktavian_a.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8" />
<title>Oktavian 3D Viewer</title>
<script type="module" src="https://unpkg.com/@google/model-viewer/dist/model-viewer.min.js"></script>
<style>
body {
margin: 0;
background-color: #f5f5f5;
}

model-viewer {
width: 100%;
height: 100vh;
background-color: white;
}
</style>
</head>

<body>
<model-viewer src="oktavian_a.glb" alt="3D CAD model" auto-rotate camera-controls shadow-intensity="1"
environment-image="neutral">
</model-viewer>
</body>

</html>
2 changes: 2 additions & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,10 @@ dependencies = [
"openapi_schema_validator",
"pydantic",
"numpy",
"xarray",
"tables",
"cad-to-dagmc",
"pydagmc @ git+https://github.com/svalinn/pydagmc.git"
]

[tool.setuptools.package-data]
Expand Down
Loading
Loading