10.2.6. armicontrib.dif3d.outputReaders module

Components for reading DIF3D output files and updating ARMI state with results.

Dif3dReader reads DIF3D binary interface files, many of which can be read and manipulated with armi.nuclearDataIO. In addition, Dif3dStdoutReader extracts results from captured DIF3D standard output. This is needed to capture output that is not written to the binary interface; currently it only reads block peak fluxes.

To apply DIF3D results to a reactor, run something like:

opts = Dif3dOptions()
opts.fromUserSettings(cs)
opts.fromReactor(reactor)
reader = Dif3dReader(opts)
reader.apply(reactor)
class armicontrib.dif3d.outputReaders.Dif3dReader(options: armicontrib.dif3d.executionOptions.Dif3dOptions)[source]

Bases: object

Read DIF3D output files and apply to ARMI.

Uses the ARMI state plus a template.

Initialize the reader and check the output file, but do not read it yet.

See also

apply

Applies the results to a reactor object.

apply(reactor: armi.reactor.reactors.Reactor)[source]

Read data from binary interface files apply to the ARMI model.

Generally, the armiObject is the Case’s Reactor object.

getKeff()[source]

Return keff directly from output files without applying to reactor.

class armicontrib.dif3d.outputReaders.Dif3dStdoutReader(fname: str)[source]

Bases: object

A reader that goes through a DIF3D stdout file.

While it’s preferable to use binary interface files for several reasons (higher precision, more explicit structure, faster, etc.), some information is not readily available in them (like peak flux). This is used for things that are only available in the text

readRegionTotals()[source]

Read the region totals.