19 params.addRequiredParam<
unsigned>(
"component",
"The velocity component that this is applied to.");
20 params.addParam<
bool>(
21 "integrate_p_by_parts",
true,
"Whether to integrate the pressure term by parts.");
22 params.addParam<
bool>(
23 "supg",
false,
"Whether to perform SUPG stabilization of the momentum residuals");
24 params.addParam<FunctionName>(
"forcing_func", 0,
"The mms forcing function.");
30 _component(getParam<unsigned>(
"component")),
31 _integrate_p_by_parts(getParam<bool>(
"integrate_p_by_parts")),
32 _supg(getParam<bool>(
"supg")),
33 _ffn(getFunction(
"forcing_func"))
36 mooseError(
"It doesn't make sense to conduct SUPG stabilization without a convective term.");
72 RealVectorValue viscous_term =
74 RealVectorValue transient_term =
77 return tau() * U * _grad_test[_i][_qp] *
114 RealVectorValue d_U_d_U_comp(0, 0, 0);
115 d_U_d_U_comp(comp) = _phi[_j][_qp];
126 return dTauDUComp(comp) * U * _grad_test[_i][_qp] *
129 tau() * d_U_d_U_comp * _grad_test[_i][_qp] *
132 tau() * U * _grad_test[_i][_qp] *
133 (d_convective_term_d_u_comp + d_viscous_term_d_u_comp + d_transient_term_d_u_comp);
145 jac += convective_term + viscous_term;
157 jac += convective_term + viscous_term;
169 jac += convective_term + viscous_term;