TransitionSystemAdapter_AmpxN Class Reference

#include <TransitionSystemAdapter_AmpxN.h>

Public Types

typedef std::map< int, int > NuclideTranslation_t
 

Public Member Functions

 TransitionSystemAdapter_AmpxN ()
 
virtual ~TransitionSystemAdapter_AmpxN ()
 
virtual void set_nuclide_translation (const Vec_Int &ampx_id, const Vec_Int &izzzaaa, bool union_with=true)
 Set id translation, e.g. 8001->8016. More...
 
virtual void get_nuclide_translation (Vec_Int *ampx_id, Vec_Int *izzzaaa) const
 Get current id translation. More...
 
virtual const NuclideTranslation_tnuclide_translation () const
 Return current id translation. More...
 
virtual void extend (TransitionSystem *ts, bool add_byproducts_and_relink=true) const
 
virtual float update (TransitionSystem *ts, const Vec_Flt &flux) const
 
virtual float update (TransitionSystem *ts, const CrossSection1d *flux) const
 
virtual void extend_by_mix (TransitionSystem *ts, const AmpxLibrary &main, int mix_id=-1, bool extend_internal=false, bool skip_not_present=false) const
 
virtual float update_by_mix (TransitionSystem *ts, const AmpxLibrary &main, int mix_id, int flux_nuclide_id=-1, int flux_mt=1099) const
 
virtual float update_by_mix (TransitionSystem *ts, const AmpxLibrary &main, int mix_id, const Vec_Flt &flux) const
 
SCP_ReactionResource reaction_resource () const
 return shared (read-only) reaction_resource resource \ More...
 
bool has_reaction_resource () const
 whether this instantiation of class has the reaction_resource resource \ More...
 
void set_reaction_resource (SCP_ReactionResource)
 set a new shared (read-only) reaction_resource resource (non-const version) \ More...
 
void print (const AmpxLibrary &main, std::ostream &os=std::cout)
 Print the AMPX library contents this class cares about. More...
 

Protected Attributes

NuclideTranslation_t d_nuclide_translation
 Map an AMPX nuclide id to an IZZZAAA. More...
 
SCP_ReactionResource d_reaction_resource
 

Detailed Description

Member Typedef Documentation

typedef std::map<int, int> NuclideTranslation_t

Constructor & Destructor Documentation

Member Function Documentation

void set_nuclide_translation ( const Vec_Int ampx_id,
const Vec_Int izzzaaa,
bool  union_with = true 
)
virtual

Set id translation, e.g. 8001->8016.

void get_nuclide_translation ( Vec_Int ampx_id,
Vec_Int izzzaaa 
) const
virtual

Get current id translation.

References TransitionSystemAdapter_AmpxN::d_nuclide_translation.

const TransitionSystemAdapter_AmpxN::NuclideTranslation_t & nuclide_translation ( ) const
virtual

Return current id translation.

References TransitionSystemAdapter_AmpxN::d_nuclide_translation.

float update ( TransitionSystem ts,
const CrossSection1d *  flux 
) const
virtual

Update a transition system with a new flux (AMPX format) using the internal multi-group database.

References Origen::populateVec_CrossSection1d(), and TransitionSystemAdapter_AmpxN::update().

void extend_by_mix ( TransitionSystem ts,
const AmpxLibrary &  main,
int  mix_id = -1,
bool  extend_internal = false,
bool  skip_not_present = false 
) const
virtual

Extend a transition system (i.e. create new nuclides/reactions) from an AMPX library for a specific or all mixtures.

Examples:
tstTransitionMatrixUpdater.cpp.

References TransitionSystem::add_nuclide(), TransitionSystemAdapter_AmpxN::d_nuclide_translation, TransitionSystemAdapter_AmpxN::d_reaction_resource, TransitionSystemAdapter_AmpxN::extend(), and TransitionSystem::populate_gains().

Referenced by Origen::test::TEST().

float update_by_mix ( TransitionSystem ts,
const AmpxLibrary &  lib,
int  mix_id,
int  flux_nuclide_id = -1,
int  flux_mt = 1099 
) const
virtual

Update a transition system with mixture-specific xs data and multi-group flux both from an AMPX library.

A search is performed to find all nuclides with a specific mixture id. A nuclide id translation layer is provided to interpret an AMPX id as a specific IZZZAAA id (set_nuclide_translation).

The cross sections for these nuclides are then iterated through, and if the mt is acceptable, it is collapsed to 1-group with the provided flux and set on the TransitionSystem.

The provided flux is found on a specified nuclide and specified id. -1.0 will be returned if the flux cannot be found. Otherwise the total flux (sum over all groups) will be returned. This is useful for having a single parameter to check that an update has occurred.

See also
set_nuclide_translation
Parameters
mix_id- mixture id
flux_nuclide_id- nuclide id where the flux can be found
flux_mt- reaction mt id on the flux nuclide which contains the MG flux
Examples:
tstTransitionMatrixUpdater.cpp.

References Origen::populateFlux_AmpxLibrary().

Referenced by Origen::test::TEST(), and TransitionMatrixUpdater::update_by_mix().

float update_by_mix ( TransitionSystem ts,
const AmpxLibrary &  main,
int  mix_id,
const Vec_Flt flux 
) const
virtual
SCP_ReactionResource reaction_resource ( ) const

return shared (read-only) reaction_resource resource \

Auto-generated from macro \ #ORIGEN_ACCESSORS_SCP_RESOURCE().

Referenced by TransitionMatrixUpdater::mg_database().

bool has_reaction_resource ( ) const

whether this instantiation of class has the reaction_resource resource \

Auto-generated from macro #ORIGEN_ACCESSORS_SCP_RESOURCE().

Referenced by TransitionMatrixUpdater::mg_database().

void set_reaction_resource ( SCP_ReactionResource  reaction_resource)

set a new shared (read-only) reaction_resource resource (non-const version) \

Auto-generated from macro #ORIGEN_ACCESSORS_SCP_RESOURCE().

Examples:
tstTransitionMatrixUpdater.cpp, and tstTransitionSystemAdapter_AmpxN.cpp.

Referenced by TransitionMatrixUpdater::load(), Origen::test::TEST(), and TEST_F().

void print ( const AmpxLibrary &  main,
std::ostream &  os = std::cout 
)

Print the AMPX library contents this class cares about.

Examples:
tstTransitionMatrixUpdater.cpp.

References TransitionSystemAdapter_AmpxN::d_nuclide_translation.

Referenced by Origen::test::TEST().

Member Data Documentation


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