18 const std::vector<double> &nu_delayed_sigma_f,
19 const double *phi)
const
25 if (method_ == BackwardEuler) theta = 1.0;
26 else if (method_ == CrankNicolson) theta = 0.5;
29 const double eff_dt = theta * dt_;
32 if (apply_ags_fission_src_)
33 for (
size_t gp = first_grp_; gp <= last_grp_; ++gp)
34 if (gp < gs_i_ or gp > gs_f_)
35 for (
const auto& precursor : precursors)
38 precursor.emission_spectrum[g_] *
39 precursor.decay_constant /
40 (1.0 + eff_dt * precursor.decay_constant);
42 value += coeff * eff_dt *
43 precursor.fractional_yield *
44 nu_delayed_sigma_f[gp] *
49 if (apply_wgs_fission_src_)
50 for (
size_t gp = gs_i_; gp <= gs_f_; ++gp)
51 for (
const auto& precursor : precursors)
54 precursor.emission_spectrum[g_] *
55 precursor.decay_constant /
56 (1.0 + eff_dt * precursor.decay_constant);
58 value += coeff * eff_dt *
59 precursor.fractional_yield *
60 nu_delayed_sigma_f[gp] *
std::vector< chi_physics::MultiGroupXS::Precursor > PrecursorList
double AddDelayedFission(const PrecursorList &precursors, const std::vector< double > &nu_delayed_sigma_f, const double *phi) const override
TransientSourceFunction(const LBSSolver &lbs_solver, double &ref_dt, chi_math::SteppingMethod &method)