Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Final Edits and Comparison with Cycamore #17

Merged
merged 63 commits into from
Sep 13, 2023
Merged
Show file tree
Hide file tree
Changes from 46 commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
b8935a0
create input for cycamore reactor
abachma2 Jun 26, 2023
7de6d5e
sdd file to create and run OpenMC model
abachma2 Jun 27, 2023
221b555
Merge branch 'main' into comparison
abachma2 Jun 27, 2023
84ce23a
fix syntax errors, get sample spent fuel recipes in
abachma2 Jun 27, 2023
719d693
update fresh recipes to match openmc model
abachma2 Jun 27, 2023
e4cf4b8
update spent comps for 100 kg fuel mass
abachma2 Jun 27, 2023
0cfc90c
Merge branch 'depletion' into comparison
abachma2 Jun 27, 2023
280899f
update assembly volume to match 100 kg mass
abachma2 Jun 27, 2023
21071be
checkout from depletion
abachma2 Jun 27, 2023
e8ef58e
checkout from depletion
abachma2 Jun 27, 2023
66646c6
add input for openmcyclus use in comparison
abachma2 Jun 28, 2023
4781ea3
remove print statements
abachma2 Jun 28, 2023
0cce781
remove unused packages
abachma2 Jun 28, 2023
c200f4d
fix spelling error in directory and ntoebook file name
abachma2 Jun 28, 2023
0fc7e14
move lifetime to archetype, remove reciep for separations
abachma2 Jun 28, 2023
f25e660
Merge branch 'main' into comparison
abachma2 Jun 28, 2023
bf8119c
remove decom_transmute_all statevar
abachma2 Jun 28, 2023
e40e28b
add conditional to prevent early simulation termination when trading …
abachma2 Jun 28, 2023
ba4256b
create notebook for comparison analysis
abachma2 Jun 28, 2023
6cc8beb
Update spent_uox comp
abachma2 Jun 30, 2023
ef94d8b
remove conversion factor for power
abachma2 Jun 30, 2023
3fcee91
update spent compositions and power levels
abachma2 Jun 30, 2023
e1e2156
debugging changes
abachma2 Jul 5, 2023
c162e1e
change read_model to read_materials
abachma2 Jul 5, 2023
1272613
remov unneeded files
abachma2 Jul 5, 2023
2bea502
update spent_uox comp
abachma2 Jul 5, 2023
d50a594
pass a material object around instead of always reading from a file
abachma2 Jul 5, 2023
9d5e12f
update openmc model
abachma2 Jul 6, 2023
0cb895c
remove print statements
abachma2 Jul 12, 2023
fb76e9e
revert transmutation to Cycamore method, broken
abachma2 Jul 12, 2023
48746b3
updates in comparison, still off
abachma2 Jul 12, 2023
0b550c5
add record_position method
abachma2 Jul 13, 2023
b38cec0
change request to tracked material, print statements
abachma2 Jul 17, 2023
9d057f0
add OpenMC integration back in, update doc strings, remvoe some prints
abachma2 Jul 18, 2023
f55ad22
change transmute call time, remove record supplyPower
abachma2 Jul 19, 2023
8407e54
change back to core depletion at end of cycle, pep8 fixes
abachma2 Jul 19, 2023
8060a09
update README
abachma2 Jul 19, 2023
9a7be67
correct dependency isntructions
abachma2 Jul 19, 2023
bbb336b
finish notebook for comparison
abachma2 Jul 20, 2023
2cc0efb
finalize input files
abachma2 Jul 20, 2023
a66ab10
add weight fraction conversion, change threshold
abachma2 Jul 20, 2023
2060856
clean up notebook
abachma2 Jul 20, 2023
b4d0c25
update Cycamore power
abachma2 Jul 20, 2023
b3fa5cf
update tests, all pass
abachma2 Jul 20, 2023
cd5fd5d
shorten the material nuclides lists
abachma2 Jul 20, 2023
5796a6f
update doc strings, match run_depletion with DepleteReactor
abachma2 Jul 20, 2023
f84fd63
add detail about model path
abachma2 Jul 27, 2023
266126b
add spent fuel recipes to input files
abachma2 Jul 27, 2023
da73be9
change linestyle for OpenMCyclus
abachma2 Jul 27, 2023
914382e
add spent fuel recipes, remove inclusion
abachma2 Jul 27, 2023
2695ca8
change get_spent_comps to use Results.get_mass
abachma2 Jul 27, 2023
404ea0b
Merge branch 'comparison' of github.com:abachma2/openmcyclus into com…
abachma2 Jul 27, 2023
5d18818
correct file name for OpenMCyclus_recycle
abachma2 Jul 27, 2023
b817fea
add lines to save the figures
abachma2 Aug 1, 2023
f291130
remove unneeded file
abachma2 Aug 1, 2023
7ae7ee0
add missing packages for Cyclus
abachma2 Aug 11, 2023
05cc1fe
change materials and xs data reading to agent_entry function
abachma2 Aug 14, 2023
f80f71c
start defining method to avoid always having to run depletion
abachma2 Aug 14, 2023
ba9fc74
raise the threshold of nucldies to include
abachma2 Aug 14, 2023
baa7dab
remove cruft lines, correct index of spent comp array
abachma2 Aug 14, 2023
160a9e9
modify to address comments from @smpark7 and @yardasol
abachma2 Aug 23, 2023
0491b7f
address comments from @yardasol
abachma2 Sep 13, 2023
948a723
remove last self.record, per @yardasol
abachma2 Sep 13, 2023
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
33 changes: 19 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,10 @@ Repository of [Cyclus](https://fuelcycle.org/) archetypes to couple Cyclus with
You will need to have [Cyclus](www.github.com/cyclus/cyclus), [OpenMC](https://docs.openmc.org).
and their required dependencies. It is recommended to install each of these from source.

Directions to install Cyclus and OpenMC[^1] :
```
conda install -y openssh gxx_linux-64=12.2 gcc_linux-64=12.2 cmake make docker-pycreds git xo python-json-logger glib libxml2 libxmlpp libblas libcblas liblapack pkg-config coincbc boost-cpp sqlite pcre gettext bzip2 xz setuptools pytest pytables pandas jinja2 cython websockets pprintpp hdf5=1.12.2 notebook nb_conda_kernels requests entrypoints pyyaml vtk coverage pytest-cov colorama libpng uncertainties lxml scipy



HDF5_DIR=$CONDA_PREFIX \
pip install --upgrade-strategy only-if-needed --no-binary=h5py h5py

Expand Down Expand Up @@ -42,11 +41,14 @@ cd ../

pip install .
```
If desired, Cycamore can be installed from [here](https://github.com/abachma2/cycamore/tree/2023-04-maintenance).

### Install OpenMCyclus
Clone the repository:

```
git clone https://github.com/arfc/openmcyclus.git
```

To install this archetype library run ``pip install .`` from the top level of the
directory. To run tests: ``pytest`` from the main directory.
Expand Down Expand Up @@ -101,19 +103,22 @@ library. The input structure is:
`fuel_prefs` and `fuel_inrecipes` must be equal in length to
`fuel_incommods` and `fuel_outrecipes` must be equal in length to `fuel_outcommods`.

The fresh fuel recipes (`fuel_increipes`) are to be defined in the main input file but
the spent fuel recipes (`fuel_outrecipes`) are to be defined in a separate xml file
name `prototype_fuel.xml`, in which `prototype` is the name given to the prototype
in the main input file. The spent fuel recipes should be named the same as the
fresh fuel recipes, with `spent_` prepended (e.g. `spent_uox` if the inrecipe is
named `uox`).

The `model_path` variable must be an absolute path. The archetype assumes that
the OpenMC materials are in the file called `materials.xml`, located in the `model_path`
directory, and that the cross section data is in a file called `micro_xs.csv`,
also located in the `model_path` directory.

The `model_path` variable is the location of the files for OpenMC (can be
relative or absolute path): one-group cross sections, materials, and depletion
chain file. The archetype assumes that
the OpenMC materials are in the file called `materials.xml` and that the cross
section data is in a file called `micro_xs.csv`. The `chain_file` variable
is the depletion chain file, and the user inputs the name of this file.
Each material in the `materials.xml` file that are fuel materials must
be marked as `depletable` and have the name `assembly_#`, with one material
defined for each assembly in the reactor core (matches with `n_assem_core`),
the number assigned to each material name is irrelevant, just as long as
there is one.

### Outputs
The results of the simulation wil be written to `cyclus.sqlite`
or the file name provided when Cyclus was called.

[^1]: Directions on OpenMC install from source taken from:
https://docs.openmc.org/en/stable/quickinstall.html, consult this
page for the most up to date instructions.
298 changes: 298 additions & 0 deletions comparison/Comparison-results.ipynb

Large diffs are not rendered by default.

Loading