<commit_before>//----------------------------------*-C++-*----------------------------------//
/**
 *  @file   MGSolverGMRES.i.hh
 *  @author robertsj
 *  @date   Jun 19, 2012
 *  @brief  MGSolverGMRES inline member definitions.
 */
//---------------------------------------------------------------------------//

#ifndef detran_MGSOLVERGMRES_I_HH_
#define detran_MGSOLVERGMRES_I_HH_

#include "utilities/MathUtilities.hh"
#include <algorithm>
#include <cstdio>
#include <iostream>
#include <cstring>

namespace detran
{

//---------------------------------------------------------------------------//
template <class D>
inline void MGSolverGMRES<D>::solve(const double keff)
{
  using std::cout;
  using std::endl;


  double norm_resid = 0.0;
  int iteration = 0;

  //-------------------------------------------------------------------------//
  // GAUSS-SEIDEL BLOCK
  //-------------------------------------------------------------------------//

  for (int g = 0; g < d_krylov_group_cutoff; g++)
  {
    d_wg_solver->solve(g);
  }

  //-------------------------------------------------------------------------//
  // KRYLOV BLOCK
  //-------------------------------------------------------------------------//

  if (d_number_active_groups)
  {<commit_msg>Added line to set the fission source scaling factor to the MG Krylov solver routine.  It was not updated keff previously.<commit_after>//----------------------------------*-C++-*----------------------------------//
/**
 *  @file   MGSolverGMRES.i.hh
 *  @author robertsj
 *  @date   Jun 19, 2012
 *  @brief  MGSolverGMRES inline member definitions.
 */
//---------------------------------------------------------------------------//

#ifndef detran_MGSOLVERGMRES_I_HH_
#define detran_MGSOLVERGMRES_I_HH_

#include "utilities/MathUtilities.hh"
#include <algorithm>
#include <cstdio>
#include <iostream>
#include <cstring>

namespace detran
{

//---------------------------------------------------------------------------//
template <class D>
inline void MGSolverGMRES<D>::solve(const double keff)
{
  using std::cout;
  using std::endl;


  double norm_resid = 0.0;
  int iteration = 0;

  // Set the scaling factor for multiplying problems
  if (d_multiply) d_fissionsource->setup_outer(1.0/keff);

  //-------------------------------------------------------------------------//
  // GAUSS-SEIDEL BLOCK
  //-------------------------------------------------------------------------//

  for (int g = 0; g < d_krylov_group_cutoff; g++)
  {
    d_wg_solver->solve(g);
  }

  //-------------------------------------------------------------------------//
  // KRYLOV BLOCK
  //-------------------------------------------------------------------------//

  if (d_number_active_groups)
  {
{'fraction_non_alphanumeric': 0.461734693877551, 'fraction_numerical': 0.008017492711370262, 'mean_word_length': 0.9102296450939458, 'pattern_counts': {'":': 0, '<': 17, '<?xml version=': 0, '>': 18, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3377978', 'n_tokens_mistral': 743, 'n_tokens_neox': 705, 'n_words': 154}