armi icon indicating copy to clipboard operation
armi copied to clipboard

There are too many (hex) assembly-specific tools in Core

Open john-science opened this issue 2 years ago • 1 comments

The Core class in ARMI is meant to be useful to represent all reactor cores:

https://github.com/terrapower/armi/blob/f580e3fe2120f93a0fbb0b5daa8424c9394c4698/armi/reactor/reactors.py#L226

But there are several major items in this class for assembly-based reactors:

https://github.com/terrapower/armi/blob/f580e3fe2120f93a0fbb0b5daa8424c9394c4698/armi/reactor/reactors.py#L418

https://github.com/terrapower/armi/blob/f580e3fe2120f93a0fbb0b5daa8424c9394c4698/armi/reactor/reactors.py#L479

https://github.com/terrapower/armi/blob/f580e3fe2120f93a0fbb0b5daa8424c9394c4698/armi/reactor/reactors.py#L489

https://github.com/terrapower/armi/blob/f580e3fe2120f93a0fbb0b5daa8424c9394c4698/armi/reactor/reactors.py#L539

Wouldn't it better if we had a subclass of Core named something like AssemblyCore or even HexAssemblyCore?

john-science avatar Oct 23 '23 23:10 john-science

ARMI was developed with sodium-cooled fast reactors and molten salt reactors as its primary users. Thus, ARMI has some lingering assumptions that work best for those reactors. We would like to find and eliminate all such assumptions, particularly to improve our support for:

  • water-cooled reactors
  • TRISO-fuel reactors
  • molten chloride fast reactors
  • And so many more...

We should also separate out all assumptions that the core is pin-type, or that all assemblies are hex-shaped.

john-science avatar Mar 28 '24 23:03 john-science