![]() |
Chi-Tech
|
#include <source_function.h>
Public Types | |
typedef std::vector< chi_physics::MultiGroupXS::Precursor > | PrecursorList |
Public Member Functions | |
SourceFunction (const LBSSolver &lbs_solver) | |
virtual | ~SourceFunction ()=default |
virtual void | operator() (LBSGroupset &groupset, std::vector< double > &destination_q, const std::vector< double > &phi, SourceFlags source_flags) |
virtual double | AddSourceMoments () const |
virtual double | AddDelayedFission (const PrecursorList &precursors, const std::vector< double > &nu_delayed_sigma_f, const double *phi) const |
virtual void | AddAdditionalSources (LBSGroupset &groupset, std::vector< double > &destination_q, const std::vector< double > &phi, SourceFlags source_flags) |
void | AddPointSources (LBSGroupset &groupset, std::vector< double > &destination_q, const std::vector< double > &phi, SourceFlags source_flags) |
Protected Attributes | |
const LBSSolver & | lbs_solver_ |
bool | apply_fixed_src_ = false |
bool | apply_wgs_scatter_src_ = false |
bool | apply_ags_scatter_src_ = false |
bool | apply_wgs_fission_src_ = false |
bool | apply_ags_fission_src_ = false |
bool | suppress_wg_scatter_src_ = false |
size_t | gs_i_ = 0 |
size_t | gs_f_ = 0 |
size_t | first_grp_ = 0 |
size_t | last_grp_ = 0 |
double | cell_volume_ = 0.0 |
size_t | g_ = 0 |
const double * | fixed_src_moments_ = nullptr |
std::vector< double > | default_zero_src_ |
Implements a customizable source function using virtual methods. This base class will function well for steady simulations and kEigenvalue simulations. It needs some customization for adjoint and transient.
Definition at line 20 of file source_function.h.
typedef std::vector<chi_physics::MultiGroupXS::Precursor> lbs::SourceFunction::PrecursorList |
Definition at line 54 of file source_function.h.
|
explicit |
Constructor.
Definition at line 14 of file source_function.cc.
|
virtualdefault |
|
inlinevirtual |
Reimplemented in lbs::AdjointSourceFunction.
Definition at line 60 of file source_function.h.
|
virtual |
Adds delayed particle precursor sources.
Reimplemented in lbs::TransientSourceFunction.
Definition at line 179 of file source_function.cc.
void lbs::SourceFunction::AddPointSources | ( | LBSGroupset & | groupset, |
std::vector< double > & | destination_q, | ||
const std::vector< double > & | phi, | ||
SourceFlags | source_flags | ||
) |
Adds point sources to the source moments.
Definition at line 206 of file source_function.cc.
|
virtual |
Reimplemented in lbs::AdjointSourceFunction.
Definition at line 171 of file source_function.cc.
|
virtual |
Sets the source moments for the groups in the current group set.
groupset | The groupset the under consideration. |
destination_q | A vector to contribute the source to. |
phi_local | The primary STL vector to operate off. |
source_flags | Flags for adding specific terms into the destination vector. Available flags are for applying the material source, across/within-group scattering, and across/within-groups fission. |
Definition at line 31 of file source_function.cc.
|
protected |
Definition at line 29 of file source_function.h.
|
protected |
Definition at line 27 of file source_function.h.
|
protected |
Definition at line 25 of file source_function.h.
|
protected |
Definition at line 28 of file source_function.h.
|
protected |
Definition at line 26 of file source_function.h.
|
protected |
Definition at line 37 of file source_function.h.
|
protected |
Definition at line 40 of file source_function.h.
|
protected |
Definition at line 34 of file source_function.h.
|
protected |
Definition at line 39 of file source_function.h.
|
protected |
Definition at line 38 of file source_function.h.
|
protected |
Definition at line 33 of file source_function.h.
|
protected |
Definition at line 32 of file source_function.h.
|
protected |
Definition at line 35 of file source_function.h.
|
protected |
Definition at line 23 of file source_function.h.
|
protected |
Definition at line 30 of file source_function.h.