terrapower.physics.neutronics.dragon.dragonInterface module

Triggers DRAGON input writing, execution, and output reading during an ARMI run.

class terrapower.physics.neutronics.dragon.dragonInterface.DragonRunner(objsToRun)[source]

Bases: armi.mpiActions.MpiAction

Run a set of DRAGON runs, possibly in parallel.

MpiActions have access to the operator and the reactor and can therefore reach in as appropriate to select which blocks to execute on in a analysis-specific way.

Builds DragonExecuters to run each individual case.

invokeHook()[source]

Perform DRAGON calculation for the blocks assigned to this process.

_buildExecuterForBlock(b)[source]

Build options and executers for a block.

class terrapower.physics.neutronics.dragon.dragonInterface.DragonInterface(r, cs)[source]

Bases: armi.interfaces.Interface

“Schedules activities related to DRAGON during ARMI run.

Construct an interface.

The r and cs arguments are required, but may be None, where appropriate for the specific Interface implementation.

Parameters
  • r (Reactor) – A reactor to attach to

  • cs (Settings) – Settings object to use

Raises

RuntimeError – Interfaces derived from Interface must define their name

name = 'dragon'
function = 'latticePhysics'
interactBOC(cycle=None)[source]

Run DRAGON on various representative blocks, producing microscopic cross sections.

_mergeISOTXS()[source]

Merge all the ISOTXS files together so that can be run for global flux.

selectObjsToRun()[source]

Choose blocks that will be passed for DRAGON analysis.