19 MooseEnum momentum_component(
"x=0 y=1 z=2");
23 "The component of the momentum equation that this kernel applies to.");
31 addCommonParams(params);
32 params.
addClassDescription(
"Implements the momentum boundary flux portion of the porous HLLC " 33 "discretization given specified mass fluxes and fluid temperature");
42 addCommonParams(params);
43 params.
addClassDescription(
"Implements the momentum boundary flux portion of the porous HLLC " 44 "discretization given specified pressure");
50 : T(params), _index(this->template getParam<
MooseEnum>(
"momentum_component"))
58 return this->_normal_speed_elem * this->_eps_elem[this->_qp] * this->_rho_elem[this->_qp] *
59 this->_vel_elem[this->_qp](_index) +
60 this->_normal(_index) * this->_eps_elem[this->_qp] * this->_pressure_elem[this->_qp];
67 return this->_normal_speed_boundary * this->_eps_boundary * this->_rho_boundary *
68 this->_vel_boundary(_index) +
69 this->_normal(_index) * this->_eps_boundary * this->_pressure_boundary;
76 auto vel_nonnormal = this->_vel_elem[this->_qp] - this->_normal_speed_elem * this->_normal;
77 return this->_normal(_index) * this->_SM + vel_nonnormal(_index);
89 auto vel_nonnormal = this->_vel_boundary - this->_normal_speed_boundary * this->_normal;
90 return this->_normal(_index) * this->_SM + vel_nonnormal(_index);
102 return this->_eps_elem[this->_qp] * this->_rho_elem[this->_qp] *
103 this->_vel_elem[this->_qp](_index);
106 template <
typename T>
110 return this->_eps_boundary * this->_rho_boundary * this->_vel_boundary(_index);
static void addCommonParams(InputParameters ¶ms)
virtual ADReal conservedVariableElem() override
static InputParameters validParams()
virtual ADReal fluxBoundary() override
DualNumber< Real, DNDerivativeType, true > ADReal
PCNSFVHLLCMomentumBC(const InputParameters ¶ms)
Template class for implementing the advective flux plus pressure terms in the porous conservation of ...
InputParameters validParams()
virtual ADReal conservedVariableBoundary() override
virtual ADReal hllcElem() override
HLLC modifications to flux for elem & boundary, see Toro.
virtual ADReal hllcBoundary() override
virtual ADReal fluxElem() override
flux functions on elem & boundary, i.e. standard left/right values of F
registerMooseObject("NavierStokesApp", PCNSFVHLLCSpecifiedMassFluxAndTemperatureMomentumBC)
static InputParameters validParams()