idaholab/moose: subchannel coverage diff

Base 7b3324 Head #33359 04c914
Total Total +/- New
Rate 93.38% 93.40% +0.01% 100.00%
Hits 6324 6335 +11 25
Misses 448 448 - 0
Filename Stmts Miss Cover
modules/subchannel/src/scmclosures/SCMHTCBorishanskii.C +2 0 +1.92%
modules/subchannel/src/scmclosures/SCMHTCClosureBase.C +3 0 +0.32%
modules/subchannel/src/scmclosures/SCMHTCGraberRieger.C +2 0 +2.01%
modules/subchannel/src/scmclosures/SCMHTCKazimiCarelli.C +1 0 +0.95%
modules/subchannel/src/scmclosures/SCMHTCSchadModified.C +3 0 +2.51%
TOTAL +11 0 +0.01%
code
coverage unchanged
code
coverage increased
code
coverage decreased
+
line added or modified

modules/subchannel/src/scmclosures/SCMHTCBorishanskii.C

35  
36  
37  
38 +
39  
40  
41  
{
  const auto pre = computeNusseltNumberPreInfo(nusselt_args);
  const Real Pe = pre.Re * pre.Pr;
  const Real turbulent_Pe = turbulentReynoldsNumber(pre) * pre.Pr;

  if (pre.poD < 1.1 || pre.poD > 1.5)
    flagSolutionWarning(
53  
54  
55  
56 +
57 +
58  
59  
60 +
61  
62 +
63  
64 +
65  
66  
67  
68  
69  
70  
71 +
72  
73  
74  
  // Peclet number correction term
  const Real corr_prefactor = 0.0174 * (1.0 - std::exp(6.0 - 6.0 * pre.poD));

  if (Pe > 2200.0)
    flagSolutionWarning(
        "Peclet number (Pe) above recommended range for the Borishanskii correlation.");

  if (turbulent_Pe >= 200.0 && turbulent_Pe <= 2200.0)
  {
    NuT += corr_prefactor * std::pow(turbulent_Pe - 200.0, 0.9);
  }
  else if (turbulent_Pe < 200.0)
  {
    // do nothing, no extra term
  }
  else // Pe > 2200
  {
    // Still apply the same correlation formula at the turbulent endpoint.
    NuT += corr_prefactor * std::pow(turbulent_Pe - 200.0, 0.9);
  }

  return blendTurbulentNusseltNumber(pre, NuT);

modules/subchannel/src/scmclosures/SCMHTCClosureBase.C

84  
85  
86  
87 +
88  
89 +
90 +
91  
92  
93  
}

Real
SCMHTCClosureBase::turbulentReynoldsNumber(const NusseltPreInfo & info) const
{
  if (info.Re > info.ReL && info.Re < info.ReT)
    return info.ReT;

  return info.Re;
}

modules/subchannel/src/scmclosures/SCMHTCDittusBoelter.C

46  
47  
48  
49 +
50  
51  
52  
  const auto corr = computeCorrectionFactor(pre.poD);
  const Real psi = corr.psi;
  const Real b = corr.b;
  auto NuT = 0.023 * std::pow(turbulentReynoldsNumber(pre), 0.8) * std::pow(pre.Pr, b);
  NuT *= psi;

  return blendTurbulentNusseltNumber(pre, NuT);

modules/subchannel/src/scmclosures/SCMHTCGraberRieger.C

35  
36  
37  
38 +
39  
40  
41  
{
  const auto pre = computeNusseltNumberPreInfo(nusselt_args);
  const auto Pe = pre.Re * pre.Pr;
  const auto turbulent_Pe = turbulentReynoldsNumber(pre) * pre.Pr;

  if (Pe < 110 || Pe > 4300)
    flagSolutionWarning("Pe number out of range for the Graber-Rieger correlation.");
44  
45  
46  
47 +
48 +
49  
50  
51  
    flagSolutionWarning(
        "Pitch over pin diameter ratio out of range for the Graber-Rieger correlation.");

  const auto NuT = 0.25 + 6.2 * pre.poD +
                   (-0.007 + 0.032 * pre.poD) * std::pow(turbulent_Pe, 0.8 - 0.024 * pre.poD);
  return blendTurbulentNusseltNumber(pre, NuT);
}

modules/subchannel/src/scmclosures/SCMHTCKazimiCarelli.C

35  
36  
37  
38 +
39  
40  
41  
{
  const auto pre = computeNusseltNumberPreInfo(nusselt_args);
  const auto Pe = pre.Re * pre.Pr;
  const auto turbulent_Pe = turbulentReynoldsNumber(pre) * pre.Pr;

  if (Pe < 10 || Pe > 5000)
    flagSolutionWarning("Peclet number (Pe) out of range for the Kazimi-Carelli correlation.");
44  
45  
46  
47 +
48  
49  
50  
    flagSolutionWarning(
        "Pitch over pin diameter ratio out of range for the Kazimi-Carelli correlation.");

  const auto NuT = 4.0 + 0.33 * std::pow(pre.poD, 3.8) * std::pow((turbulent_Pe / 1e2), 0.86) +
                   0.16 * std::pow(pre.poD, 5);
  return blendTurbulentNusseltNumber(pre, NuT);
}

modules/subchannel/src/scmclosures/SCMHTCSchadModified.C

35  
36  
37  
38 +
39  
40  
41  
42  
43  
44 +
45  
46  
47 +
48 +
49  
50  
51 +
52  
53 +
54  
55 +
56  
57  
58  
59 +
60  
61  
62  
63 +
64  
65  
66  
{
  const auto pre = computeNusseltNumberPreInfo(nusselt_args);
  const auto Pe = pre.Re * pre.Pr;
  const auto turbulent_Pe = turbulentReynoldsNumber(pre) * pre.Pr;

  if (pre.poD < 1.1 || pre.poD > 1.5)
    flagSolutionWarning(
        "Pitch over pin diameter ratio out of range for the Schad-Modified correlation.");

  if (Pe < 150)
    flagSolutionWarning(
        "Peclet number (Pe) below recommended range for the Schad-Modified correlation.");
  else if (Pe > 1000)
    flagSolutionWarning(
        "Peclet number (Pe) above recommended range for the Schad-Modified correlation.");

  const Real poly = -16.15 + 24.96 * pre.poD - 8.55 * Utility::pow<2>(pre.poD);
  auto NuT = 0.0;
  if (turbulent_Pe <= 1000 && turbulent_Pe >= 150)
  {
    NuT = poly * std::pow(turbulent_Pe, 0.3);
  }
  else if (turbulent_Pe < 150)
  {
    NuT = poly * 4.496;
  }
  else
  {
    NuT = poly * std::pow(turbulent_Pe, 0.3);
  }

  return blendTurbulentNusseltNumber(pre, NuT);