#include <TransitionMatrixP.h>

Public Types

typedef std::shared_ptr< TransitionMatrixPSP
 
typedef std::shared_ptr< const TransitionMatrixPSCP
 

Public Member Functions

 TransitionMatrixP ()
 Default constructor. More...
 
TransitionMatrixPoperator= (const TransitionMatrixP &other)
 Assignment operator. More...
 
 ~TransitionMatrixP ()
 Destructor. More...
 
void finish_init ()
 Wrap-up initialization - called by TransitionMatrixPWrapper. More...
 
void build_coo_matrix (double flux, IntegerList &ia, IntegerList &ja, DoubleList &a_in)
 Build the full transition matrix (A+D) in the COO compressed format. More...
 
void build_full_matrix (double flux, Double2dList &matrix)
 Build the full transition matrix (A+D) as an uncompressed 2D array. More...
 
void expand_matrix_pointers ()
 
void check_library ()
 Run library consistency check. More...
 
bool check (std::vector< std::string > &errors)
 
void print_transitions_for (const int parent_id, const int mt_in)
 Print list of transitions for a given reaction. More...
 
int find_nuclide_guess (const int id)
 
bool find_nuclide_all (Vec_Int *indices, const int id)
 
int find_nuclide (const int sublib, const int id)
 
void print_info ()
 Print the library contents. More...
 
double get_xs (const int n, const int mt_in)
 Get a cross-section from the library. More...
 
void set_xs (const int n, const int mt_in, const double new_xs)
 Update a reaction cross-section in the library. More...
 
void perturb_xs (const int n, const int mt_in, const double factor)
 Multiply a given cross-section in the library by a factor. More...
 
void collect_xs (const IntegerList nuclist, Integer2dList &xslist)
 Get all reactions which involve a given set of nuclides. More...
 
void convert_abundances ()
 Calculate wt% of natural abundances on library object (populate wabund) More...
 
void transpose_transition_matrix ()
 Transpose compressed transition matrix A. More...
 
void cleanup_transitions_for_adjoint (DoubleList concentrations, DoubleList &adjoint_source_term_reaction, DoubleList &adjoint_source_term_decay)
 
void fold_flux (double flux, DoubleList &d, DoubleList &a_fold)
 
void matvec (Vec_Dbl *vec, const double &flux)
 
int first_transition (const int n, bool fortran_offset=false)
 
int last_transition (const int n, double flux=0.0)
 
int num_massive_daughters (const int mt_in)
 
bool has_valid_mts () const
 Does this library have valid MTs? More...
 
bool is_mts_properly_ordered (const IntegerList &mts)
 
void find_all_mts (IntegerList &mts)
 Find all MTs on the library. More...
 
void find_parents (const int nind, IntegerList &parents, IntegerList &mts, IntegerList &tinds)
 
void find_daughters (const int nind, IntegerList &daughters, IntegerList &mts, IntegerList &tinds)
 
void clear_tinds_2d (Integer2dList &tinds_2d)
 Clear transition indices, e.g. created by setup_fast_transition_access. More...
 
void setup_fast_transition_access (const IntegerList &ninds, const IntegerList &mts, Integer2dList &tinds_2d)
 
void fast_set_xs (const IntegerList &ninds, const IntegerList &mts, const Integer2dList &tinds_2d, const DoubleList &new_xs)
 Fast setting of cross sections with generated tinds_2d. More...
 
void remove_fp_reactions ()
 Remove fission product absorptions. More...
 
int get_ilite () const
 
int get_iact () const
 
int get_ifp () const
 
int get_itot () const
 
int get_non () const
 
int get_nfluxgrp () const
 
int get_nti () const
 
int get_nfiso () const
 
int get_pos () const
 
int get_nmonth () const
 
int get_nday () const
 
int get_nyear () const
 
float get_burnup () const
 
const char * get_filename () const
 
const IntegerList * get_typ_nuc () const
 
const IntegerList * get_nucl () const
 
IntegerList * get_nucl ()
 
const IntegerList * get_kd_ () const
 
IntegerList * get_kd_ ()
 
const IntegerList * get_non0_ () const
 
IntegerList * get_non0_ ()
 
const IntegerList * get_kd () const
 
IntegerList * get_kd ()
 
const IntegerList * get_non0 () const
 
IntegerList * get_non0 ()
 
const IntegerList * get_loc () const
 
IntegerList * get_loc ()
 
void get_kd_array (size_t, int *) const
 
void get_non0_array (size_t, int *) const
 
void get_loc_array (size_t, int *, bool) const
 
size_t kd_size () const
 
size_t non0_size () const
 
size_t loc_size () const
 
const IntegerList * get_mt () const
 
const IntegerList * get_nucfis () const
 
const FloatList * get_dis () const
 
FloatList * get_dis ()
 
const FloatList * get_genneu () const
 
FloatList * get_genneu ()
 
const FloatList * get_q () const
 
const FloatList * get_fg () const
 
const FloatList * get_ampc () const
 
const FloatList * get_wmpc () const
 
const FloatList * get_abund () const
 
const FloatList * get_wabund () const
 
const FloatList * get_spectrum () const
 
const DoubleList * get_a () const
 
DoubleList * get_a ()
 
const DoubleList * get_tocap () const
 
DoubleList * get_tocap ()
 
const DoubleList * get_fiss () const
 
DoubleList * get_fiss ()
 
const FloatList * get_m () const
 
const StringList * get_titles () const
 
void split_id (const int nind, int &S, int &I, int &Z, int &A)
 
std::vector< double > get_xs_stdvec (const int mt_in)
 
QString toQString_title ()
 
QString toQString_sizzzaaa (const int nind)
 
QString toQString (const int sigdigs, const char *trans_sort, const double eps_sigma, const double eps_decay)
 
QString toQString_mts ()
 
QString toQString_info ()
 
QString toQString_sizes ()
 
QString toQString_nuclides (const int sigdigs)
 
QString toQString_transitions (const int sigdigs, const char *trans_sort, double const eps_sigma=0.0, double const eps_decay=0.0)
 
QString toQString_cross_section_mt (const int mt_in, const int sigdigs, double const eps_sigma)
 
QString toQString_cross_sections (const int sigdigs, double const eps_sigma)
 
void set_itot (int _itot)
 
void set_ilite (int _ilite)
 
void set_iact (int _iact)
 
void set_ifp (int _ifp)
 
void set_non (int _non)
 
void set_nmonth (int _month)
 
void set_nday (int _day)
 
void set_nyear (int _year)
 
void set_nfluxgrp (int _nfluxgrp)
 
void set_nti (int _nti)
 
void set_nfiso (int _nfiso)
 
void set_pos (int _pos)
 
void set_burnup (float _bu)
 
void set_filename (std::string _fn)
 
void set_nucl (IntegerList)
 
void set_kd_ (IntegerList)
 
void set_non0_ (IntegerList)
 
void set_kd (IntegerList)
 
void set_non0 (IntegerList)
 
void set_loc (IntegerList)
 
void set_a (DoubleList)
 
void set_mt (IntegerList)
 
void set_dis (FloatList)
 
void set_q (FloatList)
 
void set_fg (FloatList)
 
void set_ampc (FloatList)
 
void set_wmpc (FloatList)
 
void set_abund (FloatList)
 
void set_wabund (FloatList)
 
void set_tocap (DoubleList)
 
void set_fiss (DoubleList)
 
void set_genneu (FloatList)
 
void set_spectrum (FloatList)
 
void set_nucfis (IntegerList)
 
void set_titles (StringList)
 
void populate_transition_ids_cache ()
 
void clear_transition_ids_cache ()
 
void get_transition_ids (const int nind, Vec_Int &tids)
 
void get_possible_transition_ids (Vec_Int &tids)
 
void filter_reaction_mts (Vec_Int::const_iterator tids_begin, Vec_Int::const_iterator tids_end, Vec_Int &mts) const
 
void set_kappa_fission (const FloatList &)
 
void set_kappa_capture (const FloatList &)
 
const FloatList * get_kappa_capture () const
 
const FloatList * get_kappa_fission () const
 
double get_decay_power (const DoubleList &numden, double vol)
 
double get_reaction_power (const DoubleList &numden, double vol, double flux)
 
double get_fission_power (const DoubleList &numden, double vol, double flux)
 
double get_capture_power (const DoubleList &numden, double vol, double flux)
 
int add_tally_nuclide (const std::vector< double > &tally_dw, const std::vector< int > &tally_di, const std::vector< double > &tally_rw, const std::vector< int > &tally_ri)
 
int add_tally_nuclide (const std::vector< double > &tally_dw, const std::vector< int > &tally_di, const std::vector< double > &tally_rw, const std::vector< int > &tally_ri, int zaid)
 
int add_energy_tally (double flux)
 
int add_num_fissions_tally ()
 
int add_num_captures_tally ()
 
int add_concentration_tallies (std::vector< int > &zaids)
 
const NuclideSetnuclide_set () const
 

Static Public Member Functions

static int NOT_FOUND ()
 

Protected Member Functions

void init_bounds ()
 Initialize library boundaries (for internal function use) More...
 
void init_typ_nuc ()
 Initialize typ_nuc array on class. More...
 

Protected Attributes

int non
 Number of non-zero off-diagonal elements of the transition matrix A. More...
 
int ilite
 Number of light-element activation product nuclides in the library. More...
 
int iact
 Number of actinide nuclides in the library. More...
 
int ifp
 Number of fission product nuclides in the library. More...
 
int itot
 Total number of nuclides in the library. More...
 
int nfluxgrp
 Number of energy groups in the collapse spectrum. More...
 
int nti
 Number of title cards. More...
 
int nfiso
 Number of fissionable isotopes. More...
 
float burnup
 Burnup [MWd/tU] of the library. More...
 
std::string filename
 Base filename of the library. More...
 
int pos
 Position number of the burnup-dependent XS set in the library. More...
 
int numLibs
 Number of available burnup positions in the library. More...
 
int sizes [3]
 [ilite, iact, ifp] array More...
 
int bounds [4][2]
 ilo/ihi for each library (0=all; 1,2,3 = lite/act/fp) More...
 
IntegerList typ_nuc
 Gives the nuclide type for each nuclide [1/2/3] [itot]. More...
 
IntegerList nucl
 NUCL array (ZAID for all nuclides in the library) [itot]. More...
 
IntegerList kd_
 Total number of parents for nuclide I by decay transitions [itot]. More...
 
IntegerList non0_
 Total number of parents for nuclide I [itot]. More...
 
IntegerList kd
 Pointer [NON] to last decay parent of nuclide I in A [itot]. More...
 
IntegerList non0
 Pointer [NON] to last parent of nuclide I in A [itot]. More...
 
IntegerList loc
 LOC array. More...
 
FloatList dis
 DIS array (Radioactive decay constants) [itot]. More...
 
FloatList q
 Q array (Recoverable energy values from decay) [itot]. More...
 
FloatList fg
 FG array (Fractions of Q-values due to photons) [itot]. More...
 
FloatList ampc
 AMPC array (RCG values for air) [itot]. More...
 
FloatList wmpc
 WMPC array (RCG values for water) [itot]. More...
 
FloatList abund
 
FloatList wabund
 Natural abundances of nuclides in wt% [ilite]. More...
 
IntegerList mt
 MT numbers for every transition (A-matrix elements) [non]. More...
 
IntegerList nucfis
 List of fissionable nuclides [nfiso]. More...
 
FloatList spectrum
 Fluxes used for library collapse [nfluxgrp]. More...
 
FloatList m
 Atomic masses in grams/mol [itot]. More...
 
StringList titles
 Title cards container. More...
 
FloatList b_kappa_capture
 
FloatList b_kappa_fission
 Kappa-fission values in MeV [iact]. More...
 
DoubleList a
 A array [non]. More...
 
DoubleList tocap
 TOCAP array (Effective one-group capture cross-sections) [itot]. More...
 
DoubleList fiss
 FISS array (Effective one-group fission cross-sections) [iact]. More...
 
FloatList genneu
 GENNEU array (Effective one-group neutron yields) [ilite + act]. More...
 
int nmonth
 Month the library was made. More...
 
int nday
 Day the library was made. More...
 
int nyear
 Year the library was made. More...
 
bool _cached_has_valid_mts
 whether the library has valid MTs or not (used internally for checking) More...
 
std::map< int, std::vector< int > > d_transition_ids_cache
 
std::set< int > d_possible_transition_ids_cache
 
int num_tallies
 Number of tally nuclides added to the system. More...
 
SCP_NuclideSet b_nuclide_set
 nuclide set for the future More...
 

Private Member Functions

template<typename V1 , typename V2 >
std::string emsgn (const int i, const std::string v1msg, const V1 val1, const std::string v2msg, const V2 val2)
 
template<typename V1 , typename V2 >
std::string emsgs (const std::string v1msg, const V1 val1, const std::string v2msg, const V2 val2)
 

Friends

class Origen::Library
 

Detailed Description

Member Typedef Documentation

typedef std::shared_ptr<TransitionMatrixP> SP
typedef std::shared_ptr<const TransitionMatrixP> SCP

Constructor & Destructor Documentation

Default constructor.

Destructor.

Member Function Documentation

void build_coo_matrix ( double  flux,
IntegerList &  ia,
IntegerList &  ja,
DoubleList &  a_in 
)

Build the full transition matrix (A+D) in the COO compressed format.

Parameters
fluxflux in [n/cm^2*s]
iarow indices of non-zero matrix elements
jacolumn indices of non-zero matrix elements
a_invalues of non-zero matrix elements
See also
: build_full_matrix()

References TransitionMatrixP::build_full_matrix().

void build_full_matrix ( double  flux,
Double2dList &  matrix 
)

Build the full transition matrix (A+D) as an uncompressed 2D array.

Parameters
fluxflux in [n/cm^2*s]
matrixfull transition matrix [itot, itot]
See also
: build_coo_matrix()

References TransitionMatrixP::a, TransitionMatrixP::dis, TransitionMatrixP::first_transition(), TransitionMatrixP::itot, TransitionMatrixP::kd, TransitionMatrixP::last_transition(), TransitionMatrixP::loc, TransitionMatrixP::non0, and TransitionMatrixP::tocap.

Referenced by TransitionMatrixP::build_coo_matrix(), and TransitionMatrixP::check().

void expand_matrix_pointers ( )
void check_library ( )
void print_transitions_for ( const int  parent_id,
const int  mt_in 
)

Print list of transitions for a given reaction.

Parameters
parent_idParent nuclide ID (ZZAAAI)
mt_inMT number for reaction

References TransitionMatrixP::a, TransitionMatrixP::itot, TransitionMatrixP::kd, TransitionMatrixP::loc, TransitionMatrixP::m, TransitionMatrixP::mt, TransitionMatrixP::non0, and TransitionMatrixP::nucl.

int NOT_FOUND ( )
static
int find_nuclide_guess ( const int  id)

Find nuclide by ZZZAAAI id, guessing which sublib

Parameters
idNuclide ID in ZZZAAAI format
Returns
Index in nucl array (returns NOT_FOUND() if not found)
See also
find_nuclide(), find_nuclide_all()

References TransitionMatrixP::b_nuclide_set, and NuclideSet::convert_zzzaaai_to_izzzaaa().

bool find_nuclide_all ( Vec_Int indices,
const int  id 
)

Find all instances of nuclide by ZZZAAAI id

Parameters
idNuclide ID in ZZZAAAI format
Returns
Index in nucl array (returns NOT_FOUND() if not found)
See also
find_nuclide(), find_nuclide_guess()

References TransitionMatrixP::b_nuclide_set, and NuclideSet::convert_zzzaaai_to_izzzaaa().

int find_nuclide ( const int  sublib,
const int  id 
)

Find nuclide by id ZZZAAAI and sublib

Parameters
sublibNuclide sublibrary number (1/2/3 - LT/AC/FP)
idNuclide ID in ZZZAAAI format
Returns
Index in nucl array for ZAID (returns NOT_FOUND() if not found)
See also
find_nuclide_guess(), find_nuclide_all()
Examples:
tstTransitionMatrixUpdater.cpp.

References TransitionMatrixP::b_nuclide_set, and NuclideSet::convert_zzzaaai_to_izzzaaa().

Referenced by Case::load_new_concentrations(), and Origen::test::TEST().

void perturb_xs ( const int  n,
const int  mt_in,
const double  factor 
)

Multiply a given cross-section in the library by a factor.

Parameters
nParent index
mt_inReaction MT value
factorPerturbation factor for cross-section

References TransitionMatrixP::get_xs(), and TransitionMatrixP::set_xs().

void collect_xs ( const IntegerList  nuclist,
Integer2dList &  xslist 
)

Get all reactions which involve a given set of nuclides.

Parameters
nuclistList of nuclides (indices in N)
xslistArray of triplets [parent index, reaction MT, parent ZAID]

References TransitionMatrixP::kd, TransitionMatrixP::loc, TransitionMatrixP::mt, TransitionMatrixP::non, TransitionMatrixP::non0, and TransitionMatrixP::nucl.

void convert_abundances ( )

Calculate wt% of natural abundances on library object (populate wabund)

References TransitionMatrixP::abund, TransitionMatrixP::ilite, TransitionMatrixP::m, TransitionMatrixP::nucl, and TransitionMatrixP::wabund.

Referenced by TransitionMatrixP::finish_init().

void cleanup_transitions_for_adjoint ( DoubleList  concentrations,
DoubleList &  adjoint_source_term_reaction,
DoubleList &  adjoint_source_term_decay 
)

Remove stable nuclides from the transition matrix and establish them as a fixed source term

Parameters
concentrationsNuclide concentrations [itot]
adjoint_source_term_reactionReaction components of source term [itot]
adjoint_source_term_decayDecay components of source term [itot]

References TransitionMatrixP::a, TransitionMatrixP::dis, TransitionMatrixP::expand_matrix_pointers(), TransitionMatrixP::itot, TransitionMatrixP::kd_, TransitionMatrixP::loc, TransitionMatrixP::non, TransitionMatrixP::non0_, and TransitionMatrixP::tocap.

void fold_flux ( double  flux,
DoubleList &  d,
DoubleList &  a_fold 
)

Produce the compressed transition matrix A and the diagonal array D, applying the given flux

Parameters
fluxFlux in [n/cm^2*s]
dDiagonal array D [itot]
a_foldCompressed transition matrix A [non]
Examples:
tstTransitionMatrixP.cpp, and tstTransitionMatrixUpdater.cpp.

References TransitionMatrixP::a, TransitionMatrixP::dis, TransitionMatrixP::itot, TransitionMatrixP::kd, TransitionMatrixP::non, TransitionMatrixP::non0, and TransitionMatrixP::tocap.

Referenced by GetDenseMatrix(), Solver_cram::solve_impl(), Solver_matrex::solve_impl(), and Origen::test::TEST().

void matvec ( Vec_Dbl vec,
const double &  flux 
)

Produce an inplace matrix vector multiply vec = (Af*flux + Ad + d)*vec where Af is flux-proportional matrix Ad is decay matrix

Parameters
fluxflux in [n/cm^2*s]
ddiagonal to add to decay matrix [itot]
vecinput/output [itot]

References TransitionMatrixP::a, TransitionMatrixP::dis, TransitionMatrixP::first_transition(), TransitionMatrixP::itot, TransitionMatrixP::kd, TransitionMatrixP::last_transition(), TransitionMatrixP::loc, TransitionMatrixP::non0, and TransitionMatrixP::tocap.

Referenced by Solver_Fake::solve_impl().

int first_transition ( const int  n,
bool  fortran_offset = false 
)

Return the index (in A) of the first transition of the nuclide with index n (in N)

Parameters
nNuclide index in nucl
Returns
Index (in A) of first transition of the nuclide with index n (in nucl)

References TransitionMatrixP::itot, TransitionMatrixP::non, TransitionMatrixP::non0, and TransitionMatrixP::non0_.

Referenced by TransitionMatrixP::build_full_matrix(), TransitionMatrixP::check(), TransitionMatrixP::find_parents(), TransitionMatrixP::matvec(), and TransitionMatrixP::toQString_transitions().

int last_transition ( const int  n,
double  flux = 0.0 
)

Return the index (in A) of the last transition of the nuclide with index n (in N)

Parameters
nNuclide index in nucl
flux[OPTIONAL] Flux in [n/cm^2*s]
Returns
Index (in A) of last transition of nuclide with index n (in nucl)

References TransitionMatrixP::itot, TransitionMatrixP::kd, TransitionMatrixP::non, and TransitionMatrixP::non0.

Referenced by TransitionMatrixP::build_full_matrix(), TransitionMatrixP::check(), TransitionMatrixP::find_parents(), TransitionMatrixP::matvec(), and TransitionMatrixP::toQString_transitions().

int num_massive_daughters ( const int  mt_in)

Number of massive daughters resulting from a given reaction (used to normalize set_xs/get_xs)

Parameters
mtreaction MT
Returns
number of daughters with mass

Referenced by TransitionMatrixP::fast_set_xs(), TransitionMatrixP::get_xs(), TransitionMatrixP::get_xs_stdvec(), and TransitionMatrixP::set_xs().

bool is_mts_properly_ordered ( const IntegerList &  mts)

Are the MTs properly ordered in a transition list (decays then reactions)?

Returns
true or false

References kernel_matrex::decay().

Referenced by TransitionMatrixP::find_parents().

void find_all_mts ( IntegerList &  mts)

Find all MTs on the library.

Parameters
mtslist of MTs [OUTPUT]

References TransitionMatrixP::mt, and TransitionMatrixP::non.

Referenced by TransitionMatrixP::toQString_cross_sections(), and TransitionMatrixP::toQString_mts().

void find_parents ( const int  nind,
IntegerList &  parents,
IntegerList &  mts,
IntegerList &  tinds 
)

Determine from a target nuclide, all parents and transitions creating the target.

Parameters
nindtarget nuclide (index)
parentslist of parents of the target [OUTPUT]
mtslist of MTs for those transitions to the target [OUTPUT]
tindslist of transition matrix indices for the transitions [OUTPUT]

References TransitionMatrixP::first_transition(), TransitionMatrixP::is_mts_properly_ordered(), TransitionMatrixP::itot, TransitionMatrixP::last_transition(), TransitionMatrixP::loc, and TransitionMatrixP::mt.

void find_daughters ( const int  nind,
IntegerList &  daughters,
IntegerList &  mts,
IntegerList &  tinds 
)

Determine from a target nuclide, all daughters and transitions to those daughters.

Parameters
nindtarget nuclide (index)
daughterslist of daughters of the target [OUTPUT]
mtslist of MTs for those transitions from the target [OUTPUT]
tindslist of transition matrix indices for the transitions [OUTPUT]

References TransitionMatrixP::itot, TransitionMatrixP::loc, TransitionMatrixP::mt, and TransitionMatrixP::non0_.

Referenced by TransitionMatrixP::setup_fast_transition_access(), and TransitionMatrixP::toQString_nuclides().

void clear_tinds_2d ( Integer2dList &  tinds_2d)

Clear transition indices, e.g. created by setup_fast_transition_access.

Parameters
tinds_2dlists the indices of the transitions (Integer2dList)

Referenced by TransitionMatrixP::setup_fast_transition_access().

void setup_fast_transition_access ( const IntegerList &  ninds,
const IntegerList &  mts,
Integer2dList &  tinds_2d 
)

Setup fast transitions for accessing cross sections by nuclide index and MT.

Parameters
nindstarget nuclides (index)
mtstarget MTs
tinds_2dfor each ninds[i] and mts[i], lists the indices of the transitions [OUTPUT]

References TransitionMatrixP::bounds, TransitionMatrixP::clear_tinds_2d(), TransitionMatrixP::find_daughters(), TransitionMatrixP::fiss, TransitionMatrixP::has_valid_mts(), TransitionMatrixP::ilite, TransitionMatrixP::nucl, Origen::SUBLIB_2AC, and Origen::toQString_tinds_2d().

void fast_set_xs ( const IntegerList &  ninds,
const IntegerList &  mts,
const Integer2dList &  tinds_2d,
const DoubleList &  new_xs 
)

Fast setting of cross sections with generated tinds_2d.

Parameters
nindslist of target nuclides (index)
mtslist of target MTs
tinds_2dcreated from setup_fast_transition_access
new_xslist of new cross sections

References TransitionMatrixP::a, TransitionMatrixP::fiss, TransitionMatrixP::has_valid_mts(), TransitionMatrixP::ilite, TransitionMatrixP::num_massive_daughters(), TransitionMatrixP::tocap, and Origen::toQString_tinds_2d().

int get_ilite ( ) const
inline
int get_ifp ( ) const
inline
Examples:
tstMaterialBuffer.cpp.

References TransitionMatrixP::ifp.

Referenced by h5_write_trx().

int get_nfluxgrp ( ) const
inline
Examples:
tstMaterialBuffer.cpp.

References TransitionMatrixP::nfluxgrp.

Referenced by h5_write_trx().

int get_nti ( ) const
inline
int get_nfiso ( ) const
inline
int get_pos ( ) const
inline
int get_nmonth ( ) const
inline
int get_nday ( ) const
inline
int get_nyear ( ) const
inline
float get_burnup ( ) const
inline
const char* get_filename ( ) const
inline
const IntegerList* get_typ_nuc ( ) const
inline
IntegerList* get_nucl ( )
inline
IntegerList* get_kd_ ( )
inline
IntegerList* get_non0_ ( )
inline
const IntegerList* get_kd ( ) const
inline

References TransitionMatrixP::kd.

IntegerList* get_kd ( )
inline

References TransitionMatrixP::kd.

const IntegerList* get_non0 ( ) const
inline
IntegerList* get_non0 ( )
inline
IntegerList* get_loc ( )
inline
void get_kd_array ( size_t  n,
int *  out 
) const
void get_non0_array ( size_t  n,
int *  out 
) const
void get_loc_array ( size_t  n,
int *  out,
bool  fortran_offset 
) const
size_t kd_size ( ) const
inline
size_t non0_size ( ) const
inline
size_t loc_size ( ) const
inline
const IntegerList* get_mt ( ) const
inline
const IntegerList* get_nucfis ( ) const
inline
const FloatList* get_dis ( ) const
inline
FloatList* get_dis ( )
inline
const FloatList* get_genneu ( ) const
inline
FloatList* get_genneu ( )
inline
const FloatList* get_q ( ) const
inline

References TransitionMatrixP::q.

const FloatList* get_fg ( ) const
inline

References TransitionMatrixP::fg.

const FloatList* get_ampc ( ) const
inline
const FloatList* get_wmpc ( ) const
inline
const FloatList* get_abund ( ) const
inline
const FloatList* get_wabund ( ) const
inline
const FloatList* get_spectrum ( ) const
inline
Examples:
tstMaterialBuffer.cpp.

References TransitionMatrixP::spectrum.

Referenced by h5_write_trx().

const DoubleList* get_a ( ) const
inline
DoubleList* get_a ( )
inline

References TransitionMatrixP::a.

const DoubleList* get_tocap ( ) const
inline
DoubleList* get_tocap ( )
inline
const DoubleList* get_fiss ( ) const
inline
DoubleList* get_fiss ( )
inline
const FloatList* get_m ( ) const
inline
const StringList* get_titles ( ) const
inline
void split_id ( const int  nind,
int &  S,
int &  I,
int &  Z,
int &  A 
)
QString toQString_title ( )
QString toQString_mts ( )
QString toQString_transitions ( const int  sigdigs,
const char *  trans_sort,
double const  eps_sigma = 0.0,
double const  eps_decay = 0.0 
)
QString toQString_cross_section_mt ( const int  mt_in,
const int  sigdigs,
double const  eps_sigma = 0.0 
)
QString toQString_cross_sections ( const int  sigdigs,
double const  eps_sigma = 0.0 
)
void set_itot ( int  _itot)
inline
Examples:
tstTransitionMatrixP.cpp.

References TransitionMatrixP::itot.

Referenced by TEST().

void set_ilite ( int  _ilite)
inline
Examples:
tstTransitionMatrixP.cpp.

References TransitionMatrixP::ilite.

Referenced by TEST().

void set_iact ( int  _iact)
inline
Examples:
tstTransitionMatrixP.cpp.

References TransitionMatrixP::iact.

Referenced by TEST().

void set_ifp ( int  _ifp)
inline
Examples:
tstTransitionMatrixP.cpp.

References TransitionMatrixP::ifp.

Referenced by TEST().

void set_non ( int  _non)
inline
Examples:
tstTransitionMatrixP.cpp.

References TransitionMatrixP::non.

Referenced by TEST().

void set_nmonth ( int  _month)
inline
void set_nday ( int  _day)
inline
void set_nyear ( int  _year)
inline
void set_nfluxgrp ( int  _nfluxgrp)
inline
void set_nti ( int  _nti)
inline
void set_nfiso ( int  _nfiso)
inline
void set_pos ( int  _pos)
inline
void set_burnup ( float  _bu)
inline
void set_filename ( std::string  _fn)
inline
void set_nucl ( IntegerList  _nucl)
void set_kd_ ( IntegerList  _kd_)
void set_non0_ ( IntegerList  _non0_)
void set_kd ( IntegerList  _kd)
void set_non0 ( IntegerList  _non0)
void set_loc ( IntegerList  _loc)
void set_a ( DoubleList  _a)
Examples:
tstTransitionMatrixP.cpp.

References TransitionMatrixP::a, and TransitionMatrixP::non.

Referenced by TEST().

void set_mt ( IntegerList  _mt)
void set_dis ( FloatList  _dis)
void set_q ( FloatList  _q)
void set_fg ( FloatList  _fg)
void set_ampc ( FloatList  _ampc)
void set_wmpc ( FloatList  _wmpc)
void set_abund ( FloatList  _abund)
void set_wabund ( FloatList  _wabund)
void set_tocap ( DoubleList  _tocap)
void set_fiss ( DoubleList  _fiss)
void set_genneu ( FloatList  _genneu)
void set_spectrum ( FloatList  _spectrum)
void set_nucfis ( IntegerList  _nucfis)
void set_titles ( StringList  _titles)
void get_transition_ids ( const int  nind,
Vec_Int tids 
)
void filter_reaction_mts ( Vec_Int::const_iterator  tids_begin,
Vec_Int::const_iterator  tids_end,
Vec_Int mts 
) const
Examples:
tstTransitionMatrixP.cpp.

Referenced by TEST().

void set_kappa_fission ( const FloatList &  kappa_fission)
void set_kappa_capture ( const FloatList &  kappa_capture)
const FloatList * get_kappa_capture ( ) const
const FloatList * get_kappa_fission ( ) const
double get_decay_power ( const DoubleList &  numden,
double  vol 
)
double get_reaction_power ( const DoubleList &  numden,
double  vol,
double  flux 
)
int add_tally_nuclide ( const std::vector< double > &  tally_dw,
const std::vector< int > &  tally_di,
const std::vector< double > &  tally_rw,
const std::vector< int > &  tally_ri 
)
inline
int add_tally_nuclide ( const std::vector< double > &  tally_dw,
const std::vector< int > &  tally_di,
const std::vector< double > &  tally_rw,
const std::vector< int > &  tally_ri,
int  zaid 
)
const NuclideSet& nuclide_set ( ) const
inline
void init_bounds ( )
protected

Initialize library boundaries (for internal function use)

References TransitionMatrixP::bounds, TransitionMatrixP::iact, TransitionMatrixP::ifp, TransitionMatrixP::ilite, and TransitionMatrixP::itot.

Referenced by TransitionMatrixP::finish_init().

std::string emsgn ( const int  i,
const std::string  v1msg,
const V1  val1,
const std::string  v2msg,
const V2  val2 
)
inlineprivate
std::string emsgs ( const std::string  v1msg,
const V1  val1,
const std::string  v2msg,
const V2  val2 
)
inlineprivate

Friends And Related Function Documentation

friend class Origen::Library
friend

Member Data Documentation

int itot
protected

Total number of nuclides in the library.

Referenced by TransitionMatrixP::add_concentration_tallies(), TransitionMatrixP::add_energy_tally(), TransitionMatrixP::add_num_captures_tally(), TransitionMatrixP::add_tally_nuclide(), TransitionMatrixP::build_full_matrix(), TransitionMatrixP::check(), TransitionMatrixP::check_library(), TransitionMatrixP::cleanup_transitions_for_adjoint(), TransitionMatrixP::expand_matrix_pointers(), TransitionMatrixP::find_daughters(), TransitionMatrixP::find_parents(), TransitionMatrixP::finish_init(), TransitionMatrixP::first_transition(), TransitionMatrixP::fold_flux(), TransitionMatrixP::get_capture_power(), TransitionMatrixP::get_decay_power(), TransitionMatrixP::get_fission_power(), TransitionMatrixP::get_itot(), TransitionMatrixP::get_kd_array(), TransitionMatrixP::get_non0_array(), TransitionMatrixP::get_xs(), TransitionMatrixP::init_bounds(), TransitionMatrixP::init_typ_nuc(), TransitionMatrixP::kd_size(), TransitionMatrixP::last_transition(), TransitionMatrixP::matvec(), TransitionMatrixP::non0_size(), TransitionMatrixP::operator=(), TransitionMatrixP::populate_transition_ids_cache(), Library::populate_transition_matrix_reaction(), TransitionMatrixP::print_info(), TransitionMatrixP::print_transitions_for(), TransitionMatrixP::remove_fp_reactions(), TransitionMatrixP::set_ampc(), TransitionMatrixP::set_dis(), TransitionMatrixP::set_fg(), TransitionMatrixP::set_itot(), TransitionMatrixP::set_kd(), TransitionMatrixP::set_kd_(), TransitionMatrixP::set_non0(), TransitionMatrixP::set_non0_(), TransitionMatrixP::set_nucl(), TransitionMatrixP::set_q(), TransitionMatrixP::set_tocap(), TransitionMatrixP::set_wmpc(), TransitionMatrixP::set_xs(), TransitionMatrixP::toQString_sizes(), and TransitionMatrixP::transpose_transition_matrix().

int pos
protected
int numLibs
protected

Number of available burnup positions in the library.

Referenced by TransitionMatrixP::operator=().

int sizes[3]
protected

[ilite, iact, ifp] array

Referenced by TransitionMatrixP::operator=().

FloatList q
protected
FloatList fg
protected

FG array (Fractions of Q-values due to photons) [itot].

Referenced by TransitionMatrixP::get_fg(), TransitionMatrixP::operator=(), and TransitionMatrixP::set_fg().

FloatList ampc
protected

AMPC array (RCG values for air) [itot].

Referenced by TransitionMatrixP::get_ampc(), TransitionMatrixP::operator=(), and TransitionMatrixP::set_ampc().

FloatList wmpc
protected

WMPC array (RCG values for water) [itot].

Referenced by TransitionMatrixP::get_wmpc(), TransitionMatrixP::operator=(), and TransitionMatrixP::set_wmpc().

FloatList abund
protected

ABUND array (Natural abundances of activation-product nuclide in atom%) [ilite]

Referenced by TransitionMatrixP::convert_abundances(), TransitionMatrixP::get_abund(), TransitionMatrixP::operator=(), and TransitionMatrixP::set_abund().

FloatList wabund
protected
IntegerList nucfis
protected

List of fissionable nuclides [nfiso].

Referenced by TransitionMatrixP::get_nucfis(), TransitionMatrixP::operator=(), and TransitionMatrixP::set_nucfis().

FloatList genneu
protected
bool _cached_has_valid_mts
mutableprotected

whether the library has valid MTs or not (used internally for checking)

Referenced by TransitionMatrixP::add_tally_nuclide(), and TransitionMatrixP::has_valid_mts().


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