18 params.addClassDescription(
"Advects an arbitrary quantity, the associated nonlinear 'variable'.");
19 params.addParam<MooseFunctorName>(
"u_slip",
"The velocity in the x direction.");
20 params.addParam<MooseFunctorName>(
"v_slip",
"The velocity in the y direction.");
21 params.addParam<MooseFunctorName>(
"w_slip",
"The velocity in the z direction.");
27 _dim(_subproblem.
mesh().dimension()),
28 _u_slip(isParamValid(
"u_slip") ? &getFunctor<
ADReal>(
"u_slip") : nullptr),
29 _v_slip(isParamValid(
"v_slip") ? &getFunctor<
ADReal>(
"v_slip") : nullptr),
30 _w_slip(isParamValid(
"w_slip") ? &getFunctor<
ADReal>(
"w_slip") : nullptr),
31 _add_slip_model(isParamValid(
"u_slip") ? true : false)
37 "In two or more dimensions, the v_slip velocity must be supplied using the 'v_slip' " 41 "In three dimensions, the w_slip velocity must be supplied using the 'w_slip' parameter");
70 velocity_slip_vel_vec(0) = (*_u_slip)(face_arg, state);
72 velocity_slip_vel_vec(1) = (*_v_slip)(face_arg, state);
74 velocity_slip_vel_vec(2) = (*_w_slip)(face_arg, state);
75 advection_velocity += velocity_slip_vel_vec;
79 advection_velocity +=
v;
87 return _normal * advection_velocity * var_face;
const Moose::Functor< ADReal > *const _v_slip
slip velocity in direction y
static InputParameters validParams()
Moose::FV::InterpMethod _advected_interp_method
The interpolation method to use for the advected quantity.
const FaceInfo * _face_info
Moose::StateArg determineState() const
DualNumber< Real, DNDerivativeType, true > ADReal
const unsigned int _dim
The dimension of the simulation.
virtual ADReal computeQpResidual() override
bool onBoundary(const FaceInfo &fi) const
LimiterType limiterType(InterpMethod interp_method)
virtual bool isTransient() const=0
registerMooseObject("NavierStokesApp", INSFVScalarFieldAdvection)
static const std::string v
An advection kernel that implements interpolation schemes specific to Navier-Stokes flow physics...
void mooseError(Args &&... args) const
Moose::FaceArg singleSidedFaceArg(const FaceInfo *fi=nullptr, Moose::FV::LimiterType limiter_type=Moose::FV::LimiterType::CentralDifference, bool correct_skewness=false, const Moose::StateArg *state_limiter=nullptr) const
ADRealVectorValue velocity() const
MooseVariableFV< Real > & _var
static InputParameters validParams()
INSFVScalarFieldAdvection(const InputParameters ¶ms)
An advection kernel that implements interpolation schemes specific to Navier-Stokes flow physics and ...
bool _add_slip_model
Boolean to determine if slip velocity is available.
const Moose::Functor< ADReal > *const _w_slip
slip velocity in direction z
Moose::FaceArg makeFace(const FaceInfo &fi, const Moose::FV::LimiterType limiter_type, const bool elem_is_upwind, const bool correct_skewness=false, const Moose::StateArg *state_limiter=nullptr) const