18 const Real matra_transition_start =
std::pow(64.0 / 0.316, 4.0 / 3.0);
19 const Real matra_transition_end = 5000.0;
22 smoothStep(
const Real
x)
24 return x *
x * (3.0 - 2.0 *
x);
28 matraQuadLatticeFrictionFactor(
const Real
Re)
32 else if (
Re < matra_transition_start)
34 else if (
Re < matra_transition_end)
37 smoothStep((
Re - matra_transition_start) / (matra_transition_end - matra_transition_start));
38 const auto laminar_friction = 64.0 /
Re;
39 const auto matra_friction = 0.316 *
std::pow(
Re, -0.25);
40 return (1.0 - weight) * laminar_friction +
weight * matra_friction;
43 else if (
Re >= 5000 and
Re < 30000)
45 else if (
Re >= 30000 and
Re < 1000000)
58 "Class that computes the axial friction factor using the MATRA correlation.");
64 _is_quad_lattice(dynamic_cast<const
QuadSubChannelMesh *>(&_subchannel_mesh) != nullptr),
76 ": This closure model applies only for assemblies with bare fuel pins in a square " 83 if (friction_args.
Re >= 1000000)
85 flagInvalidSolution(
"MATRA correlation out of range");
89 return matraQuadLatticeFrictionFactor(friction_args.
Re);
static InputParameters validParams()
Base class for friction closures used in SCM.
Creates the mesh of subchannels in a quadrilateral lattice.
structure with the needed information to compute the friction factor at a specific subchannel cell ...
Class that calculates the friction factor based on the MATRA correlation (Numerical study of void dri...
const std::string & name() const
const std::vector< double > x
SCMFrictionMATRA(const InputParameters ¶meters)
bool _is_quad_lattice
Keep track of the lattice type.
Real computeQuadLatticeFrictionFactor(const FrictionStruct &friction_info) const
virtual Real computeFrictionFactor(const FrictionStruct &friction_info) const override
Computes the friction factor for the local conditions.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
registerMooseObject("SubChannelApp", SCMFrictionMATRA)
static InputParameters validParams()
void mooseError(Args &&... args) const
MooseUnits pow(const MooseUnits &, int)