Skip to content

There are too many (hex) assembly-specific tools in App #2382

@john-science

Description

@john-science

It has been noted that the default ARMI App() actually has a lot of hex-assembly or even SFR assumptions in it.

Well, after we make some new Core subclasses for HexAssemblyCore or SFRCore or what-have-you, there is an easy method to point at a specific Core type in an ARMI Application:

def defineSystemBuilders() -> Dict[str, Callable[[str], Union["Core", "ExcoreStructure", "SpentFuelPool"]]]:
from armi.reactor.excoreStructure import ExcoreStructure
from armi.reactor.reactors import Core
from armi.reactor.spentFuelPool import SpentFuelPool
return {
"core": Core,

This would also be a great time to look at the default Plugins and Interfaces in the default ARMI App to decide which should stay with the default App and which should move to the new SFRHexApp or whatever:

armi/armi/apps.py

Lines 90 to 97 in 0e830d2

cli.EntryPointsPlugin,
bookkeeping.BookkeepingPlugin,
fuelCycle.FuelHandlerPlugin,
fuelPerformance.FuelPerformancePlugin,
neutronics.NeutronicsPlugin,
safety.SafetyPlugin,
thermalHydraulics.ThermalHydraulicsPlugin,
reactor.ReactorPlugin,

NOTE: This change would require some docs updates. We will need to document the change, of course. But also, this will break the current Settings and Parameters reports.

Metadata

Metadata

Assignees

No one assigned

    Labels

    architectureIssues related to big picture system architecture

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions