#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... | |
TransitionMatrixP * | get_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 | |
TransitionMatrixP * | b_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 | ( | TransitionMatrixP * | trx, |
bool | adjoint | ||
) |
The Constructor.
References Case::adjoint, Case::b_trx, Case::conc0, Case::feed_rate, TransitionMatrixP::get_itot(), Case::initialize_non_solver(), Case::initialize_solver(), and Case::reprocessing_rate.
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 | ||
) |
This function converts concentrations for use within the ORIGEN calculation
References Origen::ATOMS_B_CM, Case::b_trx, Origen::BECQUERELS, NuclideSet::count_sublibs(), Origen::CURIES, TransitionMatrixP::find_nuclide(), Origen::GATOMS, TransitionMatrixP::get_abund(), TransitionMatrixP::get_dis(), TransitionMatrixP::get_ilite(), TransitionMatrixP::get_itot(), TransitionMatrixP::get_m(), TransitionMatrixP::get_nucl(), TransitionMatrixP::get_wabund(), Origen::GRAMS, and TransitionMatrixP::nuclide_set().
Referenced by Case::set_feed_rates(), Case::set_feed_rates_by_vector(), Case::set_initial_concentrations(), and Case::set_initial_concentrations_by_vector().
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 | ||
) |
This operation is responsible for getting the solver options.
get solver options (in case_solver_options_struct solver_options)
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.
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.
|
inline |
get number of times steps
References Case::nsteps.
|
inline |
get number of different libraries
References Case::nlibs.
|
inline |
get number of different libraries
References Case::nucs.
|
inline |
get number for concentration units
References Case::conc_units.
|
inline |
get is this an adjoint case?
References Case::adjoint.
|
inline |
get switch: use fixed or composition-dependent fission energy?
References Case::fixed_fission_energy.
|
inline |
get list of libraries to be used for each nuclide
References Case::libr.
|
inline |
get list of nuclides
References Case::zaid.
|
inline |
get end-of-step times [0:nsteps]
References Case::times.
|
inline |
given flux[nsteps]
References Case::flux.
|
inline |
given power[nsteps]
References Case::power.
|
inline |
get calculated burnup[0:nsteps]
References Case::burnup.
|
inline |
get calculated fluence[0:nsteps]
References Case::fluence.
|
inline |
get nuclide initial concentraions
References Case::conc0.
|
inline |
get continuous reprocessing rate
References Case::reprocessing_rate.
|
inline |
get continuous feed rate
References Case::feed_rate.
|
inline |
get solver number
References Case::case_solver_options_struct::solver, and Case::solver_options.
void set_nsteps | ( | int | _nsteps | ) |
set number of times steps
- Examples:
- tstCase.cpp.
References Case::nsteps.
Referenced by Case::set_times(), and TEST().
|
inline |
set number of different libraries
References Case::nlibs.
|
inline |
set number of different nuclides
References Case::nucs.
|
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.
|
protected |
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.
Referenced by Case::Case().
|
protected |
References Case::adjoint, Case::b_trx, Case::fixed_fission_energy, and Case::nsteps.
Referenced by Case::Case().
Member Data Documentation
|
static |
Time units :: seconds, minutes, hours, days, years.
|
static |
|
static |
|
static |
|
static |
|
protected |
|
protected |
number of nuclides in list
Referenced by Case::get_nucs(), Case::set_feed_rates(), Case::set_initial_concentrations(), Case::set_libr(), and Case::set_nucs().
|
protected |
concentration units (ORIGEN style)
Referenced by Case::get_conc_units(), Case::set_feed_rates(), Case::set_feed_rates_by_vector(), Case::set_initial_concentrations(), and Case::set_initial_concentrations_by_vector().
|
protected |
number of times steps
Referenced by Case::get_concentrations(), Case::get_concentrations_std(), Case::get_nsteps(), Case::initialize_non_solver(), Case::set_burnup(), Case::set_conc(), Case::set_fluence(), Case::set_fluxes(), Case::set_nsteps(), Case::set_powers(), and Case::set_times().
|
protected |
number of different libraries
Referenced by Case::get_nlibs(), and Case::set_nlibs().
|
protected |
end-of-step times [0:nsteps]
Referenced by Case::get_times(), and Case::set_times().
|
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().
|
protected |
Array list of nuclide IDs.
Referenced by Case::get_zaid(), Case::set_feed_rates(), and Case::set_initial_concentrations().
|
protected |
given flux[nsteps]
Referenced by Case::get_flux(), and Case::set_fluxes().
|
protected |
given power[nsteps]
Referenced by Case::get_power(), and Case::set_powers().
|
protected |
calculated burnup[0:nsteps]
Referenced by Case::get_burnup(), Case::set_burnup(), Case::set_burnup_at(), and Case::set_times().
|
protected |
calculated fluence[0:nsteps]
Referenced by Case::get_fluence(), Case::set_fluence(), Case::set_fluence_at(), and Case::set_times().
|
protected |
nuclide concentrations[0:nsteps,1:itot]
Referenced by Case::get_concentrations(), Case::get_concentrations_by_step(), Case::get_concentrations_std(), Case::set_conc(), Case::set_feed_rates_by_vector(), Case::set_initial_concentrations_by_vector(), and Case::~Case().
|
protected |
nuclide initial concentraions
Referenced by Case::Case(), Case::get_conc0(), Case::get_concentrations(), Case::set_conc0(), Case::set_conc0_at(), Case::set_initial_concentrations(), and Case::set_initial_concentrations_by_vector().
|
protected |
continuous reprocessing rate
Referenced by Case::Case(), Case::get_reprocessing_rate(), Case::set_reprocessing_rate(), and Case::set_reprocessing_rate_at().
|
protected |
continuous feed rate
Referenced by Case::Case(), Case::get_feed_rate(), Case::set_feed_rate(), Case::set_feed_rate_at(), Case::set_feed_rates(), and Case::set_feed_rates_by_vector().
|
protected |
is this an adjoint case?
Referenced by Case::Case(), Case::get_adjoint(), and Case::initialize_non_solver().
|
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().
|
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: