#include <Material.h>

Inheritance diagram for Material:
Checkable

Container for an ORIGEN depletable material. More...

Public Types

enum  FluxParameter { UNKNOWN = -1, FLUX = 0, POWER = 1, LAST_FLUX_PARAMETER }
 
typedef std::map< double, double, ScaleSTL::ApproxLt< double > > History_t
 

INTERFACE<<Origen::Checkable>>

See Origen::Checkable for details.

virtual bool good (Vec_Str &errors) const
 
virtual bool good () const
 
virtual bool is_initialized () const
 
virtual Scale::Json::Value to_json () const
 
virtual std::string to_string (int level=1) const
 
virtual bool has_initialized_id () const
 
virtual int id () const
 
virtual void get_id (int &id) const
 
virtual void set_id (int id)
 
virtual std::string name () const
 
virtual void set_name (std::string name)
 
virtual void get_name (std::string &name) const
 

INTERFACE<<Origen::Checkable>>

See Origen::Checkable for details.

std::string to_string () const
 

Public Member Functions

 Material (std::string library_type, SP_Library library, std::string name, int id, double cold_volume)
 standard material setup More...
 
 Material (SP_Library library, std::string name, int id, double cold_volume=-1.0)
 material (without library type) More...
 
virtual ~Material ()
 
void register_buffer (SP_MaterialBuffer mbuf)
 
void add_step (double dt)
 allocate and set delta-time More...
 
void allocate_step ()
 allocate space for a new time step More...
 
void repeat_step_doubled ()
 repeat the step but with time doubled More...
 
std::string library_type () const
 get library type More...
 
SP_Library library () const
 get library More...
 
size_t total_nuclides () const
 total number of nuclides More...
 
SCP_Vec_Int sizzzaaa_list () const
 nuclide ids More...
 
void mapping_sets (const Vec_Int &user_ids, Vec_Int *user_to_master, Vec_Int *master_to_user, int offset=0) const
 
SP_IdMap sizzzaaa_lookup (int offset=0) const
 map of sizzzaaa to index; More...
 
void clear ()
 clear all class memory More...
 
void flush_oldest ()
 flush all but most recent More...
 
void flush_newest ()
 flush newest More...
 
double initial_mass () const
 get initial mass (g) More...
 
double initial_hm_mass () const
 get initial hm mass (gIHM) More...
 
void set_initial_hm_mass_multiplier (double)
 set an initial hm mass factor More...
 
double mass_at (size_t p, double *hm) const
 mass at any time point More...
 
double mass (double *hm) const
 mass at last time point More...
 
double cold_volume () const
 get cold volume (cm^3), volume at room temperature More...
 
void set_cold_volume (double)
 set cold volume (cm^3), volume at room temperature More...
 
void get_cold_volume (double &) const
 get cold volume (cm^3), volume at room temperature More...
 
size_t step () const
 get current step (starts at 0) More...
 
size_t point_bos () const
 get point index at begin-of-step More...
 
size_t point_eos () const
 get point index at end-of-step More...
 
size_t ntimes () const
 get the number of times stored (including on disk) More...
 
size_t nsteps () const
 get the number of steps More...
 
double dt_over (size_t i) const
 get time (s) step length More...
 
double dt () const
 get current step length (s) More...
 
void set_dt (double dt)
 set time step length for current step More...
 
double time_at (size_t p) const
 get a time (s) value (0 to nsteps) More...
 
double time_bos () const
 get begin of step time (s) More...
 
double time_eos () const
 get end of step time (s) More...
 
SP_DoubleList amount_at (size_t p) const
 get amount (cm^2/barn) at a time point More...
 
SP_DoubleList amount_bos () const
 get amount (cm^2/barn) at begin of step More...
 
SP_DoubleList amount_eos () const
 get amount (cm^2/barn) at end of step More...
 
void set_amount_at (const Vec_Dbl &amount, size_t p)
 set amount (cm^2/barn) at a time point More...
 
void set_amount_bos (const Vec_Dbl &amount)
 set amount (cm^2/barn) at begin of step More...
 
void set_amount_eos (const Vec_Dbl &amount)
 set amount (cm^2/barn) at end of step More...
 
void set_amount_at (const Vec_Dbl &amount, size_t p, const Vec_Int &ids)
 set amount (cm^2/barn) at a time point More...
 
void set_amount_bos (const Vec_Dbl &amount, const Vec_Int &ids)
 set amount (cm^2/barn) at begin of step More...
 
void set_amount_eos (const Vec_Dbl &amount, const Vec_Int &ids)
 set amount (cm^2/barn) at end of step More...
 
void get_amount_at (Vec_Dbl *amount, size_t p) const
 get amount (cm^2/barn) at a time point More...
 
void get_amount_bos (Vec_Dbl *amount) const
 get amount (cm^2/barn) at begin of step More...
 
void get_amount_eos (Vec_Dbl *amount) const
 get amount (cm^2/barn) at end of step More...
 
void get_amount_at (Vec_Dbl *amount, size_t p, const Vec_Int &ids) const
 get amount (cm^2/barn) at a time point More...
 
void get_amount_bos (Vec_Dbl *amount, const Vec_Int &ids) const
 get amount (cm^2/barn) at begin of step More...
 
void get_amount_eos (Vec_Dbl *amount, const Vec_Int &ids) const
 get amount (cm^2/barn) at end of step More...
 
void set_numden_at (const Vec_Dbl &numden, size_t p, double volume)
 set number density (#/barn-cm) at a time point More...
 
void set_numden_bos (const Vec_Dbl &numden, double volume)
 set number density (#/barn-cm) at begin of step More...
 
void set_numden_eos (const Vec_Dbl &numden, double volume)
 set number density (#/barn-cm) at end of step More...
 
void set_numden_at (const Vec_Dbl &numden, size_t p, const Vec_Int &ids, double volume)
 set number density (#/barn-cm) at a time point More...
 
void set_numden_bos (const Vec_Dbl &numden, const Vec_Int &ids, double volume)
 set number density (#/barn-cm) at begin of step More...
 
void set_numden_eos (const Vec_Dbl &numden, const Vec_Int &ids, double volume)
 set number density (#/barn-cm) at end of step More...
 
void get_numden_at (Vec_Dbl *numden, size_t p, double volume) const
 get number density (#/barn-cm) at a time point More...
 
void get_numden_bos (Vec_Dbl *numden, double volume) const
 get number density (#/barn-cm) at begin of step More...
 
void get_numden_eos (Vec_Dbl *numden, double volume) const
 get number density (#/barn-cm) at end of step More...
 
void get_numden_at (Vec_Dbl *numden, size_t p, const Vec_Int &ids, double volume) const
 get number density (#/barn-cm) at a time point More...
 
void get_numden_bos (Vec_Dbl *numden, const Vec_Int &ids, double volume) const
 get number density (#/barn-cm) at begin of step More...
 
void get_numden_eos (Vec_Dbl *numden, const Vec_Int &ids, double volume) const
 get number density (#/barn-cm) at end of step More...
 
void set_numden_at (const Vec_Dbl &numden, size_t p)
 set number density (#/barn-cm) at a time point More...
 
void set_numden_bos (const Vec_Dbl &numden)
 set number density (#/barn-cm) at begin of step More...
 
void set_numden_eos (const Vec_Dbl &numden)
 set number density (#/barn-cm) at end of step More...
 
void set_numden_at (const Vec_Dbl &numden, size_t p, const Vec_Int &ids)
 set number density (#/barn-cm) at a time point More...
 
void set_numden_bos (const Vec_Dbl &numden, const Vec_Int &ids)
 set number density (#/barn-cm) at begin of step More...
 
void set_numden_eos (const Vec_Dbl &numden, const Vec_Int &ids)
 set number density (#/barn-cm) at end of step More...
 
void get_numden_at (Vec_Dbl *numden, size_t p) const
 get number density (#/barn-cm) at a time point More...
 
void get_numden_bos (Vec_Dbl *numden) const
 get number density (#/barn-cm) at begin of step More...
 
void get_numden_eos (Vec_Dbl *numden) const
 get number density (#/barn-cm) at end of step More...
 
void get_numden_at (Vec_Dbl *numden, size_t p, const Vec_Int &ids) const
 get number density (#/barn-cm) at a time point More...
 
void get_numden_bos (Vec_Dbl *numden, const Vec_Int &ids) const
 get number density (#/barn-cm) at begin of step More...
 
void get_numden_eos (Vec_Dbl *numden, const Vec_Int &ids) const
 get number density (#/barn-cm) at end of step More...
 
SP_TrMatrix transition_matrix_over (size_t i) const
 get a transition matrix over a step More...
 
SP_TrMatrix transition_matrix () const
 get the current transition matrix More...
 
void set_transition_matrix (SP_TrMatrix trx)
 set transition matrix of current step More...
 
double power_over (size_t i) const
 get power (W) over a step More...
 
double power () const
 get power (W) over current step More...
 
void set_power (double power)
 set power (W) over current step More...
 
double flux_over (size_t i) const
 get flux (#/cm^2-s) over a step More...
 
double flux () const
 get flux (#/cm^2-s) over current step More...
 
void set_flux (double flux)
 set flux (#/cm^2-s) over current step More...
 
double fluence_at (size_t p) const
 get fluence (#/cm^2) at a point More...
 
double fluence_bos () const
 get fluence (#/cm^2) at begin-of-step More...
 
double fluence_eos () const
 get fluence (#/cm^2) at end-of-step More...
 
double burnup_at (size_t p) const
 get burnup (MWd/MTIHM) at a point More...
 
double burnup_bos () const
 get burnup (MWd/MTIHM) at begin-of-step More...
 
double burnup_eos () const
 get burnup (MWd/MTIHM) at end-of-step More...
 
Removal::SP removal_over (size_t i) const
 get removal (1/s) over a step More...
 
Removal::SP removal () const
 get removal (1/s) over current step More...
 
void set_removal (Removal::SP removal)
 set removal (1/s) over current step More...
 
void get_concs_at (Concentrations *, size_t p) const
 get/set concentrations at a particular time point More...
 
void set_concs_at (const Concentrations &, size_t p)
 
double volume_hist (double trel) const
 
FluxParameter flux_parameter () const
 
History_t param_hist () const
 
void set_param_hist (double, double)
 
double param_hist (double trel) const
 
History_t flux_hist () const
 
void set_flux_hist (double, double)
 
double flux_hist (double trel) const
 
History_t power_hist () const
 
void set_power_hist (double, double)
 
double power_hist (double trel) const
 
void record_average_flux (const Vec_Dbl &scaling)
 
void record_average_power (const Vec_Dbl &scaling)
 
bool is_decay () const
 
double power_factor (double trel, const DoubleList &) const
 
double decay_power (double trel, const DoubleList &) const
 
double power_factor_bos () const
 
double power_factor_mos () const
 
double power_factor_eos () const
 
double trel_bos () const
 
double trel_mos () const
 
double trel_eos () const
 
SP_DoubleList amount_mos () const
 
void set_solver (SP_Solver)
 
SCP_Solver solver () const
 
void solve (Vec_Dbl &dtrel, Vec_Dbl *flux, Vec_Dbl *power)
 
void resolve (Vec_Dbl &dtrel, Vec_Dbl *flux, Vec_Dbl *power)
 
bool solve_inplace (size_t nlit, double trel1, double trel2, double z0, double z1, double *flux, double *power)
 
void solve_kernel (double trel1, double trel2, double z0, double z1, double *flux, double *power)
 

Static Public Member Functions

static Vec_Dbl decay_substep_dtrel (size_t ns)
 

Protected Member Functions

void init_mos ()
 
void clear_mos ()
 
void swap_mos_bos ()
 
void swap_mos_eos ()
 
void initialize_mass ()
 mass initializer function More...
 
void internal_initialize (std::string library_type, SP_Library library, std::string name, int id, double cold_volume)
 everything initializer function More...
 
virtual bool good_impl (Vec_Str &errors) const
 useful to chain More...
 
virtual bool is_initialized_impl () const
 useful to chain More...
 
virtual Scale::Json::Value to_json_impl () const
 useful to chain More...
 

Protected Attributes

std::string b_library_type
 library type for general book-keeping More...
 
SP_Library b_library
 actual library for reference values More...
 
double b_mass
 total mass (g) at time=0 More...
 
double b_initial_hm_mass
 total mass in heavy metal (g) at time=0 More...
 
double b_initial_hm_mass_multiplier
 
SP_Solver b_solver
 solver More...
 
double b_trel_bos
 
SP_DoubleList b_amount_bos
 
double b_trel_mos
 
SP_DoubleList b_amount_mos
 
double b_trel_eos
 
SP_DoubleList b_amount_eos
 
History_t b_flux_hist
 
History_t b_power_hist
 
History_t b_param_hist
 
std::string b_name
 saved name for this material More...
 
int b_id
 saved id More...
 
double b_cold_volume
 volume (cm^3) at cold conditions More...
 
Deq_Dbl b_step_flux_cm2s
 average flux magnitude (#/cm^2-s) over each step More...
 
Deq_Dbl b_step_power_watt
 average power (W) over each step More...
 
Deq_TrMatrix b_step_trx
 transition matrix over each step More...
 
Deq_Removal b_step_removal
 removal over each step More...
 
Vec_Dbl b_removal_buffer
 
std::deque< FluxParameterb_flux_parameter
 provided "flux" parameter over each step More...
 
Deq_Dbl b_point_time_s
 time (s) at each point More...
 
Deq_Amt b_point_amount_cm2barn
 nuclide amount (cm^2/barn) More...
 

Detailed Description

Container for an ORIGEN depletable material.

The Origen::Material uses deques because you can pop off the front element as you write to a file. So the heavy parts of the material, the transition matrix and number densities, can be flushed every so often without a full reallocate.

The internal units are:

  • amount of nuclides \( {cm^2}/{barn} \)
  • time in \( s \)
  • flux in \( {\#}/{cm^2 s} \)
  • power in \( W \)

The accessors use the following terminology:

  • 'bos' for begin-of-step
  • 'eos' for end-of-step
  • 'amount' for amount (cm^s/barn)
  • 'numden' for number density (#/barn-cm)
  • 'at' for a value at a particular
  • 'over' for an average value over a time interval

There are generally two ways to 'get' something.

  • Get value of x as return value of function, v=x(). This is used when v is a simple scalar or smart pointer.
  • Get value of x with argument value of function get_x(T& v). This is used in all other cases.

There is only a single way to 'set' something, set_x(const T& v).

Using set always implies a copy. To manipulate data directly, which is not recommended, use the getters that return smart pointers, e.g. trx_over(), amount_at().

Examples:
exNEAMS.cpp, tstMaterialBuffer.cpp, tstMultiZoneDepleter.cpp, and tstParallelDepletion.cpp.

Member Typedef Documentation

typedef std::map<double, double, ScaleSTL::ApproxLt<double> > History_t

Member Enumeration Documentation

Enumerator
UNKNOWN 
FLUX 
POWER 
LAST_FLUX_PARAMETER 

Constructor & Destructor Documentation

Material ( std::string  library_type,
SP_Library  library,
std::string  name,
int  id,
double  cold_volume 
)

standard material setup

Material ( SP_Library  library,
std::string  name,
int  id,
double  cold_volume = -1.0 
)

material (without library type)

~Material ( )
virtual

Member Function Documentation

void register_buffer ( SP_MaterialBuffer  mbuf)
void add_step ( double  dt)

allocate and set delta-time

add new time step

Examples:
tstMaterialBuffer.cpp.
void allocate_step ( )

allocate space for a new time step

void repeat_step_doubled ( )

repeat the step but with time doubled

prepare to perform a new step with double the time

Returns
std::string library_type ( ) const

get library type

get library type

Examples:
tstMaterialBuffer.cpp.

Referenced by h5_write_material().

size_t total_nuclides ( ) const

total number of nuclides

get total number of nuclides

Examples:
tstMaterialBuffer.cpp.

Referenced by h5_write_step(), and Origen::tabulateMaterialTransitionRates().

SCP_Vec_Int sizzzaaa_list ( ) const

nuclide ids

nuclide ids in sublib,isomeric state,atom number, mass number format

void mapping_sets ( const Vec_Int user_ids,
Vec_Int user_to_master,
Vec_Int master_to_user,
int  offset = 0 
) const

master[user_to_master[u]] += user_ids[u]; master[m] += user[master_to_user[m]];

SP_IdMap sizzzaaa_lookup ( int  offset = 0) const

map of sizzzaaa to index;

map of sizzzaaa to index

void clear ( )

clear all class memory

All in-memory data is cleared. Data on disk remains.

void flush_oldest ( )

flush all but most recent

flush all the oldest (before this step) information

void flush_newest ( )

flush newest

flush newest step of information (including times)

Returns
double initial_mass ( ) const

get initial mass (g)

Examples:
tstMaterialBuffer.cpp.

Referenced by h5_write_material().

double initial_hm_mass ( ) const

get initial hm mass (gIHM)

Examples:
tstMaterialBuffer.cpp.

Referenced by h5_write_material().

void set_initial_hm_mass_multiplier ( double  multiplier)

set an initial hm mass factor

double mass_at ( size_t  p,
double *  hm 
) const

mass at any time point

double mass ( double *  hm) const

mass at last time point

double cold_volume ( ) const

get cold volume (cm^3), volume at room temperature

Examples:
tstMaterialBuffer.cpp.

Referenced by h5_write_material().

void set_cold_volume ( double  volume)

set cold volume (cm^3), volume at room temperature

void get_cold_volume ( double &  volume) const

get cold volume (cm^3), volume at room temperature

size_t step ( ) const

get current step (starts at 0)

size_t point_bos ( ) const

get point index at begin-of-step

size_t point_eos ( ) const

get point index at end-of-step

size_t ntimes ( ) const

get the number of times stored (including on disk)

Examples:
tstMaterialBuffer.cpp.

Referenced by h5_write_material(), Origen::saveLibraries(), and Origen::saveStateSet().

size_t nsteps ( ) const

get the number of steps

Examples:
tstMaterialBuffer.cpp.

Referenced by h5_write_step().

double dt_over ( size_t  i) const

get time (s) step length

double dt ( ) const

get current step length (s)

void set_dt ( double  dt)

set time step length for current step

Set the time step size (overwriting add_step time)

double time_at ( size_t  p) const

get a time (s) value (0 to nsteps)

Examples:
tstMaterialBuffer.cpp.

Referenced by h5_write_step(), and Origen::saveStateSet().

double time_bos ( ) const

get begin of step time (s)

double time_eos ( ) const

get end of step time (s)

SP_DoubleList amount_at ( size_t  p) const

get amount (cm^2/barn) at a time point

Examples:
tstMaterialBuffer.cpp.

Referenced by h5_write_step(), and Origen::tabulateMaterialTransitionRates().

SP_DoubleList amount_bos ( ) const

get amount (cm^2/barn) at begin of step

SP_DoubleList amount_eos ( ) const

get amount (cm^2/barn) at end of step

void set_amount_at ( const Vec_Dbl amount,
size_t  p 
)

set amount (cm^2/barn) at a time point

void set_amount_bos ( const Vec_Dbl amount)

set amount (cm^2/barn) at begin of step

void set_amount_eos ( const Vec_Dbl amount)

set amount (cm^2/barn) at end of step

void set_amount_at ( const Vec_Dbl amount,
size_t  p,
const Vec_Int ids 
)

set amount (cm^2/barn) at a time point

void set_amount_bos ( const Vec_Dbl amount,
const Vec_Int ids 
)

set amount (cm^2/barn) at begin of step

void set_amount_eos ( const Vec_Dbl amount,
const Vec_Int ids 
)

set amount (cm^2/barn) at end of step

void get_amount_at ( Vec_Dbl amount,
size_t  p 
) const

get amount (cm^2/barn) at a time point

void get_amount_bos ( Vec_Dbl amount) const

get amount (cm^2/barn) at begin of step

void get_amount_eos ( Vec_Dbl amount) const

get amount (cm^2/barn) at end of step

void get_amount_at ( Vec_Dbl amount,
size_t  p,
const Vec_Int ids 
) const

get amount (cm^2/barn) at a time point

void get_amount_bos ( Vec_Dbl amount,
const Vec_Int ids 
) const

get amount (cm^2/barn) at begin of step

void get_amount_eos ( Vec_Dbl amount,
const Vec_Int ids 
) const

get amount (cm^2/barn) at end of step

void set_numden_at ( const Vec_Dbl numden,
size_t  p,
double  volume 
)

set number density (#/barn-cm) at a time point

void set_numden_bos ( const Vec_Dbl numden,
double  volume 
)

set number density (#/barn-cm) at begin of step

Examples:
tstMaterialBuffer.cpp.
void set_numden_eos ( const Vec_Dbl numden,
double  volume 
)

set number density (#/barn-cm) at end of step

void set_numden_at ( const Vec_Dbl numden,
size_t  p,
const Vec_Int ids,
double  volume 
)

set number density (#/barn-cm) at a time point

void set_numden_bos ( const Vec_Dbl numden,
const Vec_Int ids,
double  volume 
)

set number density (#/barn-cm) at begin of step

void set_numden_eos ( const Vec_Dbl numden,
const Vec_Int ids,
double  volume 
)

set number density (#/barn-cm) at end of step

void get_numden_at ( Vec_Dbl numden,
size_t  p,
double  volume 
) const

get number density (#/barn-cm) at a time point

Referenced by Origen::tabulateMaterialIsotopics().

void get_numden_bos ( Vec_Dbl numden,
double  volume 
) const

get number density (#/barn-cm) at begin of step

void get_numden_eos ( Vec_Dbl numden,
double  volume 
) const

get number density (#/barn-cm) at end of step

void get_numden_at ( Vec_Dbl numden,
size_t  p,
const Vec_Int ids,
double  volume 
) const

get number density (#/barn-cm) at a time point

void get_numden_bos ( Vec_Dbl numden,
const Vec_Int ids,
double  volume 
) const

get number density (#/barn-cm) at begin of step

void get_numden_eos ( Vec_Dbl numden,
const Vec_Int ids,
double  volume 
) const

get number density (#/barn-cm) at end of step

void set_numden_at ( const Vec_Dbl numden,
size_t  p 
)

set number density (#/barn-cm) at a time point

void set_numden_bos ( const Vec_Dbl numden)

set number density (#/barn-cm) at begin of step

void set_numden_eos ( const Vec_Dbl numden)

set number density (#/barn-cm) at end of step

void set_numden_at ( const Vec_Dbl numden,
size_t  p,
const Vec_Int ids 
)

set number density (#/barn-cm) at a time point

void set_numden_bos ( const Vec_Dbl numden,
const Vec_Int ids 
)

set number density (#/barn-cm) at begin of step

void set_numden_eos ( const Vec_Dbl numden,
const Vec_Int ids 
)

set number density (#/barn-cm) at end of step

void get_numden_at ( Vec_Dbl numden,
size_t  p 
) const

get number density (#/barn-cm) at a time point

void get_numden_bos ( Vec_Dbl numden) const

get number density (#/barn-cm) at begin of step

void get_numden_eos ( Vec_Dbl numden) const

get number density (#/barn-cm) at end of step

void get_numden_at ( Vec_Dbl numden,
size_t  p,
const Vec_Int ids 
) const

get number density (#/barn-cm) at a time point

void get_numden_bos ( Vec_Dbl numden,
const Vec_Int ids 
) const

get number density (#/barn-cm) at begin of step

void get_numden_eos ( Vec_Dbl numden,
const Vec_Int ids 
) const

get number density (#/barn-cm) at end of step

SP_TrMatrix transition_matrix_over ( size_t  i) const
SP_TrMatrix transition_matrix ( ) const

get the current transition matrix

void set_transition_matrix ( SP_TrMatrix  trx)

set transition matrix of current step

Examples:
tstMaterialBuffer.cpp.
double power_over ( size_t  i) const

get power (W) over a step

Examples:
tstMaterialBuffer.cpp.

Referenced by h5_write_step(), and Origen::saveStateSet().

double power ( ) const

get power (W) over current step

void set_power ( double  power)

set power (W) over current step

double flux_over ( size_t  i) const

get flux (#/cm^2-s) over a step

Examples:
tstMaterialBuffer.cpp.

Referenced by h5_write_step(), Origen::saveStateSet(), and Origen::tabulateMaterialTransitionRates().

double flux ( ) const

get flux (#/cm^2-s) over current step

Referenced by Origen::tabulateMaterialFission(), and Origen::tabulateMaterialLoss().

void set_flux ( double  flux)

set flux (#/cm^2-s) over current step

Examples:
tstMaterialBuffer.cpp.
double fluence_at ( size_t  p) const

get fluence (#/cm^2) at a point

double fluence_bos ( ) const

get fluence (#/cm^2) at begin-of-step

double fluence_eos ( ) const

get fluence (#/cm^2) at end-of-step

double burnup_at ( size_t  p) const

get burnup (MWd/MTIHM) at a point

double burnup_bos ( ) const

get burnup (MWd/MTIHM) at begin-of-step

double burnup_eos ( ) const

get burnup (MWd/MTIHM) at end-of-step

Removal::SP removal_over ( size_t  i) const

get removal (1/s) over a step

Removal::SP removal ( ) const

get removal (1/s) over current step

void set_removal ( Removal::SP  removal)

set removal (1/s) over current step

void get_concs_at ( Concentrations concs,
size_t  p 
) const
void set_concs_at ( const Concentrations concs,
size_t  p 
)
bool good ( Vec_Str errors) const
virtual
bool good ( ) const
virtual
bool is_initialized ( ) const
virtual
Json::Value to_json ( ) const
virtual
std::string to_string ( int  level = 1) const
virtual

References Origen::h2string().

bool has_initialized_id ( ) const
virtual
int id ( ) const
virtual
Examples:
tstMaterialBuffer.cpp.

Referenced by h5_write_material().

void get_id ( int &  id) const
virtual
void set_id ( int  id)
virtual
void set_name ( std::string  name)
virtual
void get_name ( std::string &  name) const
virtual
double volume_hist ( double  trel) const
Material::FluxParameter flux_parameter ( ) const
Material::History_t param_hist ( ) const
void set_param_hist ( double  ,
double   
)
double param_hist ( double  trel) const
Material::History_t flux_hist ( ) const
void set_flux_hist ( double  trel,
double  flux 
)
double flux_hist ( double  trel) const

References kernel_rksuite::f().

Material::History_t power_hist ( ) const
void set_power_hist ( double  trel,
double  power 
)
double power_hist ( double  trel) const
void record_average_flux ( const Vec_Dbl scaling)
void record_average_power ( const Vec_Dbl scaling)
bool is_decay ( ) const
double power_factor ( double  trel,
const DoubleList &  amount 
) const

The power factor is returned in units that could be multiplied by the flux to get the power in Watts produced in this material. It is basically Watts per unit scalar flux, so multiplying by scalar flux in (n/cm^2-s), which should be the average for this system, yields the Watts produced in this material. Note that this is the absolute Watts because the material is defined with a total amount proportional to number of atoms or moles (atoms-cm^2/barn).

amount (atoms-cm^2/barn) cold_volume x numden x sigma_a x kappa_a x C x 1 flux cm^3 x (atoms/cm-barn) x barn x MeV x J/MeV x 1 n/cm^2-s

double decay_power ( double  trel,
const DoubleList &  amount 
) const
double power_factor_bos ( ) const

begin-of-step power factor (Watts per unit flux) produced by this material

double power_factor_mos ( ) const

middle-of-step power factor (Watts per unit flux) produced by this material

double power_factor_eos ( ) const

end-of-step power factor (Watts per unit flux) produced by this material

double trel_bos ( ) const
double trel_mos ( ) const
double trel_eos ( ) const
SP_DoubleList amount_mos ( ) const
void set_solver ( SP_Solver  solver)
SCP_Solver solver ( ) const
void solve ( Vec_Dbl dtrel,
Vec_Dbl flux,
Vec_Dbl power 
)
void resolve ( Vec_Dbl dtrel,
Vec_Dbl flux,
Vec_Dbl power 
)
bool solve_inplace ( size_t  nlit,
double  trel1,
double  trel2,
double  z0,
double  z1,
double *  flux,
double *  power 
)
void solve_kernel ( double  trel1,
double  trel2,
double  z0,
double  z1,
double *  flux,
double *  power 
)
Vec_Dbl decay_substep_dtrel ( size_t  ns)
static
void init_mos ( )
protected
void clear_mos ( )
protected
void swap_mos_bos ( )
protected
void swap_mos_eos ( )
protected
void initialize_mass ( )
protected

mass initializer function

void internal_initialize ( std::string  library_type,
SP_Library  library,
std::string  name,
int  id,
double  volume 
)
protected

everything initializer function

The existing material storage is cleared and an initial time point and BOS amount vector is initialized. All libraries of the same library_type should share the same SP_Library.

Parameters
library_type- a type of the library
library- smart pointer to an Origen::Library
name- material name (unique)
id- material identification integer (unique)
std::string to_string ( ) const
inherited
bool good_impl ( Vec_Str errors) const
protectedvirtualinherited
bool is_initialized_impl ( ) const
protectedvirtualinherited

useful to chain

Reimplemented in Nuclide, Channel, ChannelType, Species, Transition, Field, and TransitionSystem_Gen.

Json::Value to_json_impl ( ) const
protectedvirtualinherited

useful to chain

Reimplemented in Nuclide, Channel, TransitionSystem, ChannelType, Species, Transition, and Field.

Member Data Documentation

std::string b_library_type
protected

library type for general book-keeping

SP_Library b_library
protected

actual library for reference values

double b_mass
protected

total mass (g) at time=0

double b_initial_hm_mass
protected

total mass in heavy metal (g) at time=0

double b_initial_hm_mass_multiplier
protected
SP_Solver b_solver
protected

solver

double b_trel_bos
protected
SP_DoubleList b_amount_bos
protected
double b_trel_mos
protected
SP_DoubleList b_amount_mos
protected
double b_trel_eos
protected
SP_DoubleList b_amount_eos
protected
History_t b_flux_hist
protected
History_t b_power_hist
protected
History_t b_param_hist
protected
std::string b_name
protected

saved name for this material

int b_id
protected

saved id

double b_cold_volume
protected

volume (cm^3) at cold conditions

Deq_Dbl b_step_flux_cm2s
protected

average flux magnitude (#/cm^2-s) over each step

Deq_Dbl b_step_power_watt
protected

average power (W) over each step

Deq_TrMatrix b_step_trx
protected

transition matrix over each step

Deq_Removal b_step_removal
protected

removal over each step

Vec_Dbl b_removal_buffer
protected
std::deque<FluxParameter> b_flux_parameter
protected

provided "flux" parameter over each step

Deq_Dbl b_point_time_s
protected

time (s) at each point

Deq_Amt b_point_amount_cm2barn
protected

nuclide amount (cm^2/barn)


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