TransitionMatrixUpdater Class Reference

#include <TransitionMatrixUpdater.h>

Inheritance diagram for TransitionMatrixUpdater:

update transition matrices with SCALE/AMPX/ORIGEN More...

Public Member Functions

bool initialize (const Standard::AbstractDataContainer &data)
 Scale::Module interface. More...
 
bool execute ()
 
bool finalize ()
 
void setMaterialMap (SP_MaterialMap mats)
 pre-execute setters More...
 
bool update (const Standard::AbstractDataContainer &data)
 
bool execute (const Standard::AbstractDataContainer &data)
 convenient update+execute More...
 
size_t getNumTransitionMatrix ()
 pre-initialize data setters More...
 
Origen::SP_TransitionMatrixP getTransitionMatrixAt (size_t i)
 

Protected Attributes

bool b_createNew
 central object More...
 
SP_MaterialMap b_mats
 

Detailed Description

update transition matrices with SCALE/AMPX/ORIGEN

The CoupleSequence performs two distinct operations.

  1. Create Origen Libraries from scratch (decay & reaction). This is typically done once at the beginning of depletion, with options passed to couple

    • jadd=1 to add transitions to the system
    • nxx=1 to allow zero transitions in the system

    The OrigenLibraryBuilder performs these operations. Once a library has been created with the builder, then you can use the Updater below.

  2. Update Transition Matrices with a fixed set of decays/reactions during depletion. The TransitionMatrixUpdater performs these operations.

The data container expected by initialize has the following components in Type(name): description format

  • DataContainer(data): data to load during initialize
    • string(origenLibraryDefinition)
    • string(origenFissionYields)
    • string(origenAuxAmpxLibrary)
    • DoubleList(storageEnergyBounds)
  • DataContainer(initialize): initialization-specific data
  • DataContainer(execute): execute-specific data
    • string(AmpxLibrary)
    • DataContainer(MaterialList)
See also
TransitionMatrixUpdater.cpp for detailed descriptions.
Single-pass initialize/execute/get/finalize:
Scale::Module::TransitionMatrixModule mod;
Check(mod.validate(dc)); //see above for DataContainer format
mod.initialize(dc);
mod.execute();
// get matrices
size_t n = mod.getNumTransitionMatrix();
for(size_t i=0; i<n; ++i){
Origen::SP_TransitionMatrix tmat = mod.getTransitionMatrix(i);
Origen::print_transition_matrix(tmat);
}
mod.finalize(); //clears all members
Multi-pass with update:
Scale::Module::TransitionMatrixModule mod;
mod.initialize(dc);
mod.setExecute_AmpxLibrary(matAmpx); //SP
mod.execute(dcA);
// ... get some matrices
mod.setExecute_AmpxLibrary(matAmpx); //SP
mod.execute(dcB);
// ... get more matrices
mod.finalize(); //clears all members
Use setData* functions to prevent touching disk:
Scale::Module::TransitionMatrixModule mod;
mod.setData_origenAuxAmpx(dataOrigenAuxAmpx); //SP
mod.setData_origenYields(dataYields); //SP
mod.initialize(dc);
dataOrigenAuxAmpx = mod.getData_origenAuxAmpx();
mod.setData_NULL(); //sets all internal data SP to null
//...
//...
mod.finalize(); //clears all members

Member Function Documentation

bool initialize ( const Standard::AbstractDataContainer &  data)

Scale::Module interface.

References Scale::Module::validate().

bool execute ( )
void setMaterialMap ( SP_MaterialMap  mats)

pre-execute setters

References TransitionMatrixUpdater::b_mats.

bool update ( const Standard::AbstractDataContainer &  data)
bool execute ( const Standard::AbstractDataContainer &  data)

convenient update+execute

References TransitionMatrixUpdater::execute(), and TransitionMatrixUpdater::update().

size_t getNumTransitionMatrix ( )

pre-initialize data setters

provider

Origen::SP_TransitionMatrixP getTransitionMatrixAt ( size_t  i)

Member Data Documentation

bool b_createNew
protected

central object

main object created by module

Referenced by TransitionMatrixUpdater::finalize(), and TransitionMatrixUpdater::update().


The documentation for this class was generated from the following files: