-
Notifications
You must be signed in to change notification settings - Fork 25
Open
Labels
enhancementNew feature or requestNew feature or request
Description
This has been too long - an issue seems a good way to maybe make some movement.
We should add burn-up. A few bits of this should be straightforward to add in small pieces, a few will take more effort and could maybe benefit from some discussion.
The easy parts:
- Add a CRAM solver and tests. Ideally this should be relatively quick for a large matrix size (~3000). Although not immediately important, it would be ideal if it was a sparse solver. We would also prefer not to have any additional dependencies as a result.
- Microscopic reaction rate tallies. We already have a microscopic XS tally, but is this one optimal? It requires creating a new material - can this be simplified for depletion, e.g., under the assumption that the XS data has been independently created?
- Additionally, it would be ideal to have the choice to use a fine-group flux tally and condense down to one group afterwards. The tally itself already exists - I think I need to do some reading to understand how to conveniently do that condensation.
- Power tally - I think we already have this, albeit in quite an approximate form.
- Fission yield tally. This one is slightly more complicated because we need to have access to fission yield data, but the mechanics should otherwise be straightforward.
- Tally flushing/resetting. This would be necessary for enforcing xenon equilibrium.
The hard parts:
- Reading/processing data. I think we already discussed that it would be ideal to have an external script to do all of the data processing from the fission yield and decay data files. I suppose this would ideally have an input of the (hopefully customisable) chains we would like to include and an output of straightforwardly SCONE-readable decay constants and energy-dependent fission yields. On chains, we might want to allow the option of a lumped fission product?
- Expanding nuclear data to hold this information. This is the most daunting bit for me anyway, I don't have a good view as to how this should look or where it should sit.
- Creating a new physics package. I think this is probably the optimal way to handle burnup. Annoying because it will duplicate a significant chunk of the eigenvalue package, but it would also add quite a lot to the package otherwise (time-stepping algorithms, calling tally processing, enforcing xenon equilibrium). Perhaps there are other ways to do this that are neater?
These are just the thing I can think of at the moment. I can edit this to include other things as we suggest. This can hopefully give a bit of direction and help us make a start.
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request