Skip to content

Repo reorganization v2 (and final, hopefully) - #14

Merged
eepeterson merged 166 commits into
masterfrom
repo_reorganization_v2
Mar 14, 2024
Merged

Repo reorganization v2 (and final, hopefully)#14
eepeterson merged 166 commits into
masterfrom
repo_reorganization_v2

Conversation

@SteSeg

@SteSeg SteSeg commented Nov 30, 2023

Copy link
Copy Markdown
Collaborator

Hi. Here a PR with (another) reorganization of the repository. Thit time I am quite satisfied with the outcome.

The repo has become a package in order to be able so use some objects more freely. things like, neutron sources, visualization and other postprocessing tools. The code can be found in src/openmc_simbad_benchmarks/. For the moment we have only the fng source but I know there are others out there (some versions of the oktavian for instance).

The other most important folder is models it contains all the benchmarks modeled so far.
In each benchmark folder there are:

  • openmc_model.py: the actual openmc model
  • postprocessing.ipynb notebook for results visualization and comparisona
  • helpers.py ile that just helps with postprocessing for the notebook for things that are specific to the benchmark and not generalizable for the source code
  • other files (e.g. weight windows files)

The openmc models that are already present can be run similarly to what @eepeterson proposed in #12 .

I wanted to add a results_database folder in each benchmark folder. In this folder there are all the previous results that were present in sinbad (experimental results, mcnp results). Results format is consistent among all the hdf files: it is possible to call the result/tally in the same way:

Picture1

Also, those files have several info regarding the experiment/simulation that produced those results:

Picture2

An important capability I wanted to have is the possibility for users to contribute to the results database. There is indeed a feature able to read the openmc statepoint.*.h5 file, manipulate them in order to be consistent with the database hdf files and store them in a new hdf file in the database folder.

Picture3

My hope is that we can build a database of results able to track the history of the code testing different versions, different nuclear data libraries and different workflows (e.g. DAGMC, UM etc.) against well known benchmark experiments. I believe this is the way to go for validating a community-driven opensource code that evolves so fast.

Currently I am running simulations in order to add the first openmc_fendl32.h5 files in the fng_str and fns_duct databases.

We have also a notebook/ folder with tutorials.

Last things:

So far, we have only the fng_str and fns_duct benchmarks adapted for this workflow but when we have the green light we can add some more benchmarks and rework the other already existing to be consistent with the workflow.

Among the things I thing we should add the most important in my opinion are:

  • add a short guide for the whole simulation -> results to hdf workflow in the README.md file
  • include CAD/UM models
  • include an automated workflow for verifying new .h5 results files proposed by users
  • add an argparsed file that runs all the benchmarks present in models and stores the results hdf file in the results_database/ directories

Finally, my suggestion is to change the name in favor of something more generic as we may want to include new benchmarks that may not be sinbad-related. Something like "openmc fusion benchmarks" I guess.

@eepeterson

Copy link
Copy Markdown
Owner

@SteSeg can you remove the .egg-info directory. That should not be included in the git repo and should be added to .gitignore - check the openmc .gitignore to see how. Also remove the DELETE.ipynb file unless you intended for it to be there.

@SteSeg

SteSeg commented Feb 29, 2024

Copy link
Copy Markdown
Collaborator Author

Of course. I just removed those. Also, the fns_clean_w is gonna be ready in ~2 days, alongside with a minor fix in the fns_duct.

@eepeterson eepeterson left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok thanks for all the good work on this @SteSeg we'll merge what is here and go from there.

@eepeterson
eepeterson merged commit 066359a into master Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants