22 double k_eff_prev = 1.0;
23 double k_eff_change = 1.0;
27 bool converged =
false;
49 if (k_eff_change < std::max(
k_tolerance_, 1.0e-12)) converged =
true;
54 std::stringstream k_iter_info;
56 <<
" Iteration " << std::setw(5) << nit <<
" k_eff "
57 << std::setw(11) << std::setprecision(7) <<
k_eff_
58 <<
" k_eff change " << std::setw(12) << k_eff_change
59 <<
" reactivity " << std::setw(10) << reactivity * 1e5;
60 if (converged) k_iter_info <<
" CONVERGED\n";
71 << std::setprecision(7) <<
k_eff_;
73 << std::setprecision(6) << k_eff_change <<
" (num_TrOps:"
87 <<
"LinearBoltzmann::KEigenvalueSolver execution completed\n\n";
static chi::Timer program_timer
LogStream Log(LOG_LVL level=LOG_0)
std::string GetTimeString() const
std::vector< double > & PrecursorsNewLocal()
double ComputeFissionProduction(const std::vector< double > &phi)
void UpdateFieldFunctions()
std::shared_ptr< lbs::WGSContext< Mat, Vec, KSP > > front_wgs_context_
std::shared_ptr< AGSLinearSolver< Mat, Vec, KSP > > primary_ags_solver_
VecDbl & q_moments_local_
void SetLBSFissionSource(const VecDbl &input, bool additive)
void Scale(VecDbl &x, const double &val)
bool verbose_outer_iterations