Skip to content

Commit

Permalink
Update README and example file
Browse files Browse the repository at this point in the history
  • Loading branch information
maxschalz committed Mar 23, 2023
1 parent 513ba72 commit 0dad16d
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 12 deletions.
39 changes: 27 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# misoenrichment: a nuclear archaeology module for Cyclus
![GitHub](https://img.shields.io/github/license/maxschalz/miso_enrichment)
![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)

![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)]

`misoenrichment` is a module for the nuclear fuel cycle simulator
[Cyclus](http://fuelcycle.org) and is developed at the
Expand All @@ -25,15 +24,25 @@ on which input parameters are chosen, the source code of `GprReactor` may
need minor tweaking. Additional information on this issue will be given
in future commits.

Table of Contents
- [MIsoEnrich](#misoenrich)
- [Getting Started](#getting-started)
- [Theoretical background](#theoretical-background)
- [GprReactor](#gprreactor)
- [Requirements](#requirements)
- [References](#references)

## MIsoEnrich
### Installation
This module has some dependencies.
Python dependencies ([`scipy`](https://github.com/scipy/scipy) and
[`numpy`](https://github.com/numpy/numpy) are installed automatically via `pip`,
while the C++ dependencies
([CppOptimizationLibrary](https://github.com/PatWie/CppNumericalSolvers/tree/master),
[Eigen](https://eigen.tuxfamily.org/) and
[JSON for Modern C++](https://github.com/nlohmann/json)) are included as Git
submodules.
These need to be fetched first, as shown below:
```
$ git clone https://github.com/Nuclear-Verification-and-Disarmament/miso_enrichment.git
$ cd miso_enrichment
$ git submodule update --init --recursive # Download C++ dependencies
$ python3 install.py # Install misoenrichment module
$ misoenrichment_unit_tests # Run unit tests (optional).
```

### Getting started
An example input file is found in `input/main.py` featuring a
`cycamore::Source` source agent, a `MIsoEnrich` enrichment facility and two
Expand All @@ -48,8 +57,14 @@ sufficient). In fact, one cannot request a material with a certain
concentration in minor isotopes or with a constraint on the minor isotopes
concentration (e.g., to make it ASTM compliant, see Ref 4).

Additionally, it should be noted that the facility supports downblending of
uranium. This means that the facility tries to match the desired enrichment
Additionally, it should be noted that the facility allows to select between
integer number of stages (default) or decimal number of stages.
The former option will exceed (undershoot) the desired product (tails) assay,
the latter option will match both assays as close as possible.

Also note that when using an integer number of stages, the facility supports
downblending of uranium.
This means that the facility tries to match the desired enrichment
level as precise as possible by first enriching the uranium (to a higher
level, as explained above) and then blending the product with uranium from
the feed. This procedure is only performed if the `use_downblending`
Expand Down
1 change: 1 addition & 0 deletions input/facility.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ def facility():
"swu_capacity_vals": {"val": [1e5, 5e4, 5e5]},
"swu_capacity_times": {"val": [0, 5, 6]},
"use_downblending": True,
"use_integer_stages": True, # Must be 'True' because downblending is enabled
}
},
},
Expand Down

0 comments on commit 0dad16d

Please sign in to comment.