24 params.
addRequiredParam<UserObjectName>(
"rhie_chow_user_object",
"The rhie-chow user-object");
26 params.
set<
unsigned short>(
"ghost_layers") = 2;
35 "ElementSideNeighborLayers",
48 const bool need_more_ghosting =
50 if (need_more_ghosting &&
_tid == 0)
55 getCheckedPointerParam<FEProblemBase *>(
"_fe_problem_base")
56 ->setErrorOnJacobianNonzeroReallocation(
false);
59 auto param_check = [¶ms,
this](
const auto & param_name)
63 param_name,
"This parameter is not honored by INSFVAdvectionKernels like '",
name(),
"'");
66 param_check(
"force_boundary_execution");
74 "Second order upwind limiting is not supported when `two_term_boundary_expansion " 75 "= true` for the limited variable. Use at your own risk or please consider " 76 "setting `two_term_boundary_expansion = false` in the advected variable parameters or " 78 "'advected_interp_method' of the kernel to first order methods (`upwind`, `average`)");
82 const MooseEnum not_available_with_steady(
"sou min_mod vanLeer quick venkatakrishnan");
83 const std::string chosen_scheme =
84 static_cast<std::string
>(getParam<MooseEnum>(
"advected_interp_method"));
85 if (not_available_with_steady.
find(chosen_scheme) != not_available_with_steady.
items().end())
87 "The given advected interpolation cannot be used with steady-state runs!");
119 for (
const auto *
const flux_bc : flux_bcs)
123 if (!dynamic_cast<const FVBoundaryScalarLagrangeMultiplierConstraint *>(flux_bc))
Moose::FV::InterpMethod _advected_interp_method
The interpolation method to use for the advected quantity.
bool setInterpolationMethods(const MooseObject &obj, Moose::FV::InterpMethod &advected_interp_method, Moose::FV::InterpMethod &velocity_interp_method)
Sets the advection and velocity interpolation methods.
const std::set< MooseEnumItem > & items() const
const std::set< BoundaryID > & boundaryIDs() const
std::unordered_set< BoundaryID > _boundaries_to_force
Moose::FV::InterpMethod _velocity_interp_method
The interpolation method to use for the velocity.
void initialSetup(T &insfv_fk)
setup all the boundary condition member information
const bool & getTwoTermBoundaryExpansion() const
InputParameters interpolationParameters()
static void setRMParamsAdvection(const InputParameters &obj_params, InputParameters &rm_params, const unsigned short conditional_extended_layers)
bool avoidBoundary(const FaceInfo &fi) const
virtual const std::string & name() const
void mooseWarning(Args &&... args) const
std::pair< bool, std::vector< const FVFluxBC * > > getFluxBCs(const FaceInfo &fi) const
INSFVAdvectionKernel(const InputParameters ¶ms)
bool onBoundary(const FaceInfo &fi) const
void libmesh_ignore(const Args &...)
static InputParameters validParams()
bool skipForBoundary(const FaceInfo &fi) const override
std::set< BoundaryID > _flow_boundaries
Flow Boundary IDs.
void paramError(const std::string ¶m, Args... args) const
Executioner * getExecutioner() const
void initialSetup() override
MooseVariableFV< Real > & _var
static InputParameters validParams()
std::set< MooseEnumItem >::const_iterator find(const MooseEnumItem &other) const