serpent-tools
serpent-tools copied to clipboard
[WIP] Start working on next results reader
The file serpentTools/next/results.py contains the in-progress ResultFile and ResultReader implementations. These are heavily inspired by the current ResultsReader, originally developed by @DanKotlyar
The basic idea is similar to the DetectorFile and DetectorReader, where the latter can be re-used across multiple files and configured independently. Essentially you can do something like
>>> r = ResultReader()
>>> r29 = ResultReader(serpentVersion="2.1.29")
>>> justK = ResultReader(extras={"ABS_KEFF", })
and then the .read
method on all these instances to process a file. The ResultFile class doesn't have a lot of functionality beyond storing the resdata, metadata, and dictionaries. The goal is to provide the same functionality as the existing ResultsReader.
There are still some tasks that I would like to resolve before merging, some more obvious than others. I will leave them here for posterity
- [ ] Variable expansion using the groups (like
"eig"
to get eigenvalues ->{"ABS_KEFF", "COL_KEFF", ...}
- [ ] Testing against the current ResultsReader
- [ ] Implement more functionality on the ResultFile
- [ ] Documentation
- [ ] Add to
serpentTools.next
through import
Marking as [skip ci] to avoid builds as this will be left as a draft for discussion and transparency
Supports #335