#include <Case.h>

Classes

struct  case_solver_options_struct
 Struct for holding solver options in Case. More...
 

Public Member Functions

 Case (TransitionMatrixP *, bool adjoint)
 The Constructor. More...
 
 Case ()
 
 ~Case ()
 The Destructor. More...
 
TransitionMatrixPget_transition_matrix ()
 
void set_initial_concentrations (int, const std::vector< int > &, const std::vector< int > &, const std::vector< double > &, int)
 
void set_initial_concentrations_by_vector (const std::vector< double > &, int)
 
void set_feed_rates (int, const std::vector< int > &, const std::vector< int > &, const std::vector< double > &, int)
 
void set_feed_rates_by_vector (const std::vector< double > &, int)
 
void load_new_concentrations (std::vector< double > &concentrations, int nuc_n, const std::vector< int > &nuc_id, const std::vector< double > &nuc_x, const std::vector< int > &nuc_lib, int units)
 
void set_times (const std::vector< double > &)
 
void set_fluxes (const std::vector< double > &)
 
void set_powers (const std::vector< double > &)
 
void get_concentrations (Double2dList &)
 
void get_concentrations_std (std::vector< std::vector< double >> &)
 
void get_concentrations_by_step (int, std::vector< double > &)
 
void get_solver_options (int &solver, int &nterm, int &nshrt, double &abstol, double &reltol, int &cram_order, int &interanl_steps)
 
void set_solver_options (int solver, int nterm, int nshrt, double abstol, double reltol, int cram_order, int internal_steps)
 
int get_nsteps ()
 get number of times steps More...
 
int get_nlibs ()
 get number of different libraries More...
 
int get_nucs ()
 get number of different libraries More...
 
int get_conc_units ()
 get number for concentration units More...
 
bool get_adjoint ()
 get is this an adjoint case? More...
 
bool get_fixed_fission_energy ()
 get switch: use fixed or composition-dependent fission energy? More...
 
IntegerList * get_libr ()
 get list of libraries to be used for each nuclide More...
 
IntegerList * get_zaid ()
 get list of nuclides More...
 
DoubleList * get_times ()
 get end-of-step times [0:nsteps] More...
 
DoubleList * get_flux ()
 given flux[nsteps] More...
 
DoubleList * get_power ()
 given power[nsteps] More...
 
DoubleList * get_burnup ()
 get calculated burnup[0:nsteps] More...
 
DoubleList * get_fluence ()
 get calculated fluence[0:nsteps] More...
 
DoubleList * get_conc0 ()
 get nuclide initial concentraions More...
 
DoubleList * get_reprocessing_rate ()
 get continuous reprocessing rate More...
 
DoubleList * get_feed_rate ()
 get continuous feed rate More...
 
int get_solver ()
 get solver number More...
 
void set_nsteps (int _nsteps)
 set number of times steps More...
 
void set_nlibs (int temp_nlibs)
 set number of different libraries More...
 
void set_nucs (int temp_nucs)
 set number of different nuclides More...
 
void set_fixed_fission_energy (bool temp_fixed_fission_energy)
 set switch: use fixed or composition-dependent fission energy? More...
 
void set_libr (IntegerList &)
 set list of libraries to be used for each nuclide More...
 
void set_burnup (DoubleList &)
 set calculated burnup[0:nsteps] More...
 
void set_fluence (DoubleList &)
 set calculated fluence[0:nsteps] More...
 
void set_conc0 (DoubleList &)
 set nuclide initial concentraions More...
 
void set_reprocessing_rate (DoubleList &)
 set continuous reprocessing rate More...
 
void set_feed_rate (DoubleList &)
 set continuous feed rate More...
 
void set_conc0_at (int, double)
 set nuclide initial concentraions More...
 
void set_reprocessing_rate_at (int, double)
 set continuous reprocessing rate More...
 
void set_feed_rate_at (int, double)
 set continuous feed rate More...
 
void set_burnup_at (int, double)
 set burnup at More...
 
void set_fluence_at (int, double)
 set fluence at More...
 
void set_conc (Double2dList &)
 final concentrations Array More...
 

Static Public Attributes

static const int TIME_S
 Time units :: seconds, minutes, hours, days, years. More...
 
static const int TIME_M
 
static const int TIME_H
 
static const int TIME_D
 
static const int TIME_Y
 

Protected Member Functions

void initialize_solver ()
 
void initialize_non_solver ()
 

Protected Attributes

TransitionMatrixPb_trx
 
int nucs
 number of nuclides in list More...
 
int conc_units
 concentration units (ORIGEN style) More...
 
int nsteps
 number of times steps More...
 
int nlibs
 number of different libraries More...
 
DoubleList times
 end-of-step times [0:nsteps] More...
 
IntegerList libr
 list of library to be used for each nuclide More...
 
IntegerList zaid
 Array list of nuclide IDs. More...
 
DoubleList flux
 given flux[nsteps] More...
 
DoubleList power
 given power[nsteps] More...
 
DoubleList burnup
 calculated burnup[0:nsteps] More...
 
DoubleList fluence
 calculated fluence[0:nsteps] More...
 
Double2dList conc
 nuclide concentrations[0:nsteps,1:itot] More...
 
DoubleList conc0
 nuclide initial concentraions More...
 
DoubleList reprocessing_rate
 continuous reprocessing rate More...
 
DoubleList feed_rate
 continuous feed rate More...
 
bool adjoint
 is this an adjoint case? More...
 
bool fixed_fission_energy
 switch: use fixed or composition-dependent fission energy? More...
 
case_solver_options_struct solver_options
 Solver options (default values set in constructor) More...
 

Detailed Description

Examples:
tstCase.cpp.

Constructor & Destructor Documentation

Case ( )
~Case ( )

The Destructor.

References Case::conc.

Member Function Documentation

TransitionMatrixP * get_transition_matrix ( )

References Case::b_trx.

void set_initial_concentrations ( int  numnuc,
const std::vector< int > &  ids,
const std::vector< int > &  libs,
const std::vector< double > &  concent,
int  concent_units 
)

This operation is responsible for setting the initial concentrations for the ORIGEN problem, the library to be used, and the concentration units.

References Case::conc0, Case::conc_units, Case::libr, Case::load_new_concentrations(), Case::nucs, and Case::zaid.

void set_initial_concentrations_by_vector ( const std::vector< double > &  conc,
int  conc_units 
)

This operation is responsible for setting the initial concentrations via a full concentration std::vector and the concentration units.

References Case::b_trx, Case::conc, Case::conc0, Case::conc_units, TransitionMatrixP::get_itot(), TransitionMatrixP::get_nucl(), TransitionMatrixP::get_typ_nuc(), and Case::load_new_concentrations().

void set_feed_rates ( int  numnuc,
const std::vector< int > &  ids,
const std::vector< int > &  libs,
const std::vector< double > &  concent,
int  concent_units 
)

This operation is responsible for setting the initial feed rates for the ORIGEN problem, the library to be used, and the concentration units.

References Case::conc_units, Case::feed_rate, Case::libr, Case::load_new_concentrations(), Case::nucs, and Case::zaid.

void set_feed_rates_by_vector ( const std::vector< double > &  conc,
int  conc_units 
)

This operation is responsible for setting the initial concentrations via a full feed rate std::vector and the concentration units.

References Case::b_trx, Case::conc, Case::conc_units, Case::feed_rate, TransitionMatrixP::get_itot(), TransitionMatrixP::get_nucl(), TransitionMatrixP::get_typ_nuc(), and Case::load_new_concentrations().

void load_new_concentrations ( std::vector< double > &  concentrations,
int  nuc_n,
const std::vector< int > &  nuc_id,
const std::vector< double > &  nuc_x,
const std::vector< int > &  nuc_lib,
int  units 
)
void set_times ( const std::vector< double > &  _time_list)

This operation is responsible for setting the number of time steps and the end-of-step times.

Examples:
tstCase.cpp.

References Case::burnup, Case::fluence, Case::nsteps, Case::set_nsteps(), and Case::times.

Referenced by TEST().

void set_fluxes ( const std::vector< double > &  _fluxes)

This operation is responsible for setting the fluxes at each time step given in set_times.

Examples:
tstCase.cpp.

References Case::flux, and Case::nsteps.

Referenced by TEST().

void set_powers ( const std::vector< double > &  _powers)

This operation is responsible for setting the powers at each time step given in set_times.

Examples:
tstCase.cpp.

References Case::nsteps, and Case::power.

Referenced by TEST().

void get_concentrations ( Double2dList &  concent_f)

This operation is responsible for getting the concentration matrix after the calculation. via the STL type Double2dList

References Case::conc, Case::conc0, and Case::nsteps.

void get_concentrations_std ( std::vector< std::vector< double >> &  concent_f)

This operation is responsible for getting the concentration matrix after the calculation. via a standard C++ std::vector of std::vectors (2d)

References Case::conc, and Case::nsteps.

void get_concentrations_by_step ( int  step,
std::vector< double > &  conc_n 
)

This operation is responsible for getting the concentrations for a particular time step after the calculation.

References Case::conc.

void get_solver_options ( int &  solver,
int &  nterm,
int &  nshrt,
double &  abstol,
double &  reltol,
int &  cram_order,
int &  internal_steps 
)
void set_solver_options ( int  solver,
int  nterm,
int  nshrt,
double  abstol,
double  reltol,
int  cram_order,
int  internal_steps 
)

This operation is responsible for setting the solve roptions (in the struct case_solver_options solver_options).

set solver options (in the struct case_solver_options solver_options) Protip: pass -1 or something for those think you do not need.

References Case::case_solver_options_struct::abstol, Case::case_solver_options_struct::cram_order, Case::case_solver_options_struct::internal_steps, Case::case_solver_options_struct::nshrt, Case::case_solver_options_struct::nterm, Case::case_solver_options_struct::reltol, Case::case_solver_options_struct::solver, and Case::solver_options.

int get_nsteps ( )
inline

get number of times steps

References Case::nsteps.

int get_nlibs ( )
inline

get number of different libraries

References Case::nlibs.

int get_nucs ( )
inline

get number of different libraries

References Case::nucs.

int get_conc_units ( )
inline

get number for concentration units

References Case::conc_units.

bool get_adjoint ( )
inline

get is this an adjoint case?

References Case::adjoint.

bool get_fixed_fission_energy ( )
inline

get switch: use fixed or composition-dependent fission energy?

References Case::fixed_fission_energy.

IntegerList* get_libr ( )
inline

get list of libraries to be used for each nuclide

References Case::libr.

IntegerList* get_zaid ( )
inline

get list of nuclides

References Case::zaid.

DoubleList* get_times ( )
inline

get end-of-step times [0:nsteps]

References Case::times.

DoubleList* get_flux ( )
inline

given flux[nsteps]

References Case::flux.

DoubleList* get_power ( )
inline

given power[nsteps]

References Case::power.

DoubleList* get_burnup ( )
inline

get calculated burnup[0:nsteps]

References Case::burnup.

DoubleList* get_fluence ( )
inline

get calculated fluence[0:nsteps]

References Case::fluence.

DoubleList* get_conc0 ( )
inline

get nuclide initial concentraions

References Case::conc0.

DoubleList* get_reprocessing_rate ( )
inline

get continuous reprocessing rate

References Case::reprocessing_rate.

DoubleList* get_feed_rate ( )
inline

get continuous feed rate

References Case::feed_rate.

int get_solver ( )
inline
void set_nsteps ( int  _nsteps)

set number of times steps

Examples:
tstCase.cpp.

References Case::nsteps.

Referenced by Case::set_times(), and TEST().

void set_nlibs ( int  temp_nlibs)
inline

set number of different libraries

References Case::nlibs.

void set_nucs ( int  temp_nucs)
inline

set number of different nuclides

References Case::nucs.

void set_fixed_fission_energy ( bool  temp_fixed_fission_energy)
inline

set switch: use fixed or composition-dependent fission energy?

References Case::fixed_fission_energy.

void set_libr ( IntegerList &  temp_libr)

set list of libraries to be used for each nuclide

References Case::libr, and Case::nucs.

void set_burnup ( DoubleList &  temp_burnup)

set calculated burnup[0:nsteps]

References Case::burnup, and Case::nsteps.

void set_fluence ( DoubleList &  temp_fluence)

set calculated fluence[0:nsteps]

References Case::fluence, and Case::nsteps.

void set_conc0 ( DoubleList &  temp_conc0)

set nuclide initial concentraions

References Case::b_trx, Case::conc0, and TransitionMatrixP::get_itot().

void set_reprocessing_rate ( DoubleList &  temp_reprocessing_rate)

set continuous reprocessing rate

References Case::b_trx, TransitionMatrixP::get_itot(), and Case::reprocessing_rate.

void set_feed_rate ( DoubleList &  temp_feed_rate)

set continuous feed rate

References Case::b_trx, Case::feed_rate, and TransitionMatrixP::get_itot().

void set_conc0_at ( int  i,
double  value 
)

set nuclide initial concentraions

References Case::conc0.

void set_reprocessing_rate_at ( int  i,
double  value 
)

set continuous reprocessing rate

References Case::reprocessing_rate.

void set_feed_rate_at ( int  i,
double  value 
)

set continuous feed rate

References Case::feed_rate.

void set_burnup_at ( int  i,
double  value 
)

set burnup at

References Case::burnup.

void set_fluence_at ( int  i,
double  value 
)

set fluence at

References Case::fluence.

void set_conc ( Double2dList &  temp_conc)

final concentrations Array

References Case::b_trx, Case::conc, TransitionMatrixP::get_itot(), and Case::nsteps.

void initialize_non_solver ( )
protected

Member Data Documentation

const int TIME_S
static

Time units :: seconds, minutes, hours, days, years.

const int TIME_M
static
const int TIME_H
static
const int TIME_D
static
const int TIME_Y
static
int nucs
protected
int nlibs
protected

number of different libraries

Referenced by Case::get_nlibs(), and Case::set_nlibs().

DoubleList times
protected

end-of-step times [0:nsteps]

Referenced by Case::get_times(), and Case::set_times().

IntegerList libr
protected

list of library to be used for each nuclide

Referenced by Case::get_libr(), Case::set_feed_rates(), Case::set_initial_concentrations(), and Case::set_libr().

IntegerList zaid
protected

Array list of nuclide IDs.

Referenced by Case::get_zaid(), Case::set_feed_rates(), and Case::set_initial_concentrations().

DoubleList flux
protected

given flux[nsteps]

Referenced by Case::get_flux(), and Case::set_fluxes().

DoubleList power
protected

given power[nsteps]

Referenced by Case::get_power(), and Case::set_powers().

DoubleList burnup
protected

calculated burnup[0:nsteps]

Referenced by Case::get_burnup(), Case::set_burnup(), Case::set_burnup_at(), and Case::set_times().

DoubleList fluence
protected

calculated fluence[0:nsteps]

Referenced by Case::get_fluence(), Case::set_fluence(), Case::set_fluence_at(), and Case::set_times().

DoubleList reprocessing_rate
protected
bool adjoint
protected

is this an adjoint case?

Referenced by Case::Case(), Case::get_adjoint(), and Case::initialize_non_solver().

bool fixed_fission_energy
protected

switch: use fixed or composition-dependent fission energy?

Referenced by Case::get_fixed_fission_energy(), Case::initialize_non_solver(), and Case::set_fixed_fission_energy().

case_solver_options_struct solver_options
protected

Solver options (default values set in constructor)

Referenced by Case::get_solver(), Case::get_solver_options(), Case::initialize_solver(), and Case::set_solver_options().


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