25 const bool need_more_ghosting =
28 const auto & velocity_interp_method_in = obj.
getParam<
MooseEnum>(
"velocity_interp_method");
29 if (velocity_interp_method_in ==
"average")
31 else if (velocity_interp_method_in ==
"rc")
34 obj.
mooseError(
"Unrecognized interpolation type ",
35 static_cast<std::string>(velocity_interp_method_in));
37 return need_more_ghosting;
44 MooseEnum velocity_interp_method(
"average rc",
"rc");
46 "velocity_interp_method",
47 velocity_interp_method,
48 "The interpolation to use for the velocity. Options are " 49 "'average' and 'rc' which stands for Rhie-Chow. The default is Rhie-Chow.");
57 std::tuple<bool, ADReal, ADReal>
66 mooseAssert(
porosity.hasBlocks(fi.
elem().subdomain_id()) &&
68 "Porosity should have blocks on both elem and neighbor");
74 const auto eps_elem =
porosity(face_elem, time), eps_neighbor =
porosity(face_neighbor, time);
bool setInterpolationMethods(const MooseObject &obj, Moose::FV::InterpMethod &advected_interp_method, Moose::FV::InterpMethod &velocity_interp_method)
Sets the advection and velocity interpolation methods.
InputParameters interpolationParameters()
const Elem & elem() const
std::tuple< bool, ADReal, ADReal > isPorosityJumpFace(const Moose::Functor< ADReal > &porosity, const FaceInfo &fi, const Moose::StateArg &time)
Checks to see whether the porosity value jumps from one side to the other of the provided face...
static const std::string porosity
const Elem * neighborPtr() const
InputParameters advectedInterpolationParameter()
const Elem & neighbor() const
const T & getParam(const std::string &name) const
const Elem * elemPtr() const
bool relativeFuzzyEqual(const T &var1, const T2 &var2, const T3 &tol=libMesh::TOLERANCE *libMesh::TOLERANCE)
void mooseError(Args &&... args) const
bool setInterpolationMethod(const MooseObject &obj, Moose::FV::InterpMethod &interp_method, const std::string ¶m_name)