10.2.8. armicontrib.dif3d.schedulers module¶
Code that schedules DIF3D executions during ARMI cases.
This module contains the Dif3dInterface
class, which integrates DIF3D runs
into ARMI runs using the ARMI Interface
API. The
Dif3dInterface
is implemented on top of the Dif3dCoreEvaluation
class, which handles the actual task of running DIF3D. This separation between
scheduling the DIF3D analysis and performing the analysis aids in code re-use and
flexibility; rather than binding the process of running DIF3D analysis to the Interface
interaction hooks, the Dif3dCoreEvaluation
can be used as a standard MPI action in
custom scripts, or be driven directly by a reactivity coefficients interface, for
instance.
-
class
armicontrib.dif3d.schedulers.
Dif3dInterface
(r, cs)[source]¶ Bases:
armi.interfaces.Interface
“Schedules activities related to DIF3D during ARMI run.
Construct an interface.
The
r
andcs
arguments are required, but may beNone
, where appropriate for the specificInterface
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
-
class
armicontrib.dif3d.schedulers.
Dif3dCoreEvaluation
[source]¶ Bases:
armi.mpiActions.MpiAction
Sets up a DIF3D run on the Core object and executes it.
This is one specific client of the DIF3D Executor that happens to be used in a normal ARMI run to run DIF3D on the Core.
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.
This default implementation just runs one case, on the
core
, though it can be extended to run other cases (e.g. on branch-searched copies of the core, the core + sfp, etc.)