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 free-flow HLLC " 33 "discretization given specified mass fluxes and fluid temperature");
42 addCommonParams(params);
43 params.
addClassDescription(
"Implements the momentum boundary flux portion of the free-flow HLLC " 44 "discretization given specified pressure");
50 : T(params), _index(this->template getParam<
MooseEnum>(
"momentum_component"))
58 return this->_normal_speed_elem * this->_rho_elem[this->_qp] *
59 this->_vel_elem[this->_qp](_index) +
60 this->_normal(_index) * this->_pressure_elem[this->_qp];
67 return this->_normal_speed_boundary * this->_rho_boundary * this->_vel_boundary(_index) +
68 this->_normal(_index) * this->_pressure_boundary;
75 auto vel_nonnormal = this->_vel_elem[this->_qp] - this->_normal_speed_elem * this->_normal;
76 return this->_normal(_index) * this->_SM + vel_nonnormal(_index);
88 auto vel_nonnormal = this->_vel_boundary - this->_normal_speed_boundary * this->_normal;
89 return this->_normal(_index) * this->_SM + vel_nonnormal(_index);
101 return this->_rho_elem[this->_qp] * this->_vel_elem[this->_qp](_index);
104 template <
typename T>
108 return this->_rho_boundary * this->_vel_boundary(_index);
DualNumber< Real, DNDerivativeType, true > ADReal
CNSFVHLLCMomentumBC(const InputParameters ¶ms)
Template class for implementing the advective flux plus pressure terms in the conservation of momentu...
InputParameters validParams()
static InputParameters validParams()
virtual ADReal conservedVariableBoundary() override
static InputParameters validParams()
virtual ADReal fluxBoundary() override
static void addCommonParams(InputParameters ¶ms)
virtual ADReal fluxElem() override
flux functions on elem & boundary, i.e. standard left/right values of F
virtual ADReal conservedVariableElem() override
virtual ADReal hllcBoundary() override
virtual ADReal hllcElem() override
HLLC modifications to flux for elem & boundary, see Toro.
registerMooseObject("NavierStokesApp", CNSFVHLLCSpecifiedMassFluxAndTemperatureMomentumBC)