24 params.
addClassDescription(
"Represents the pressure gradient term in the Navier Stokes momentum "
25 "equations, added to the right hand side.");
27 "The pressure variable whose gradient should be used.");
30 "Gradient method to use for the pressure gradient in this kernel. If omitted, the pressure "
31 "variable's default gradient method is used.");
32 MooseEnum momentum_component(
"x=0 y=1 z=2");
36 "The component of the momentum equation that this kernel applies to.");
42 _index(getParam<
MooseEnum>(
"momentum_component")),
43 _pressure_var(getPressureVariable(
NS::pressure)),
44 _pressure_gradient_field(registerPressureGradientField())
registerMooseObject("NavierStokesApp", LinearFVMomentumPressure)
virtual const MooseVariableFieldBase & getVariable(const THREAD_ID tid, const std::string &var_name, Moose::VarKindType expected_var_type=Moose::VarKindType::VAR_ANY, Moose::VarFieldType expected_var_field_type=Moose::VarFieldType::VAR_FIELD_ANY) const override
Gradient method that reconstructs and relaxes the pressure gradient used for Rhie-Chow momentum-press...
const ElemInfo * _current_elem_info
static InputParameters validParams()
Real _current_elem_volume
Real component(const ElemInfo &elem_info, unsigned int index) const
Kernel that adds the component of the pressure gradient in the momentum equations to the right hand s...
MooseLinearVariableFV< Real > & getPressureVariable(const std::string &vname)
virtual Real computeRightHandSideContribution() override
MooseLinearVariableFV< Real > & _pressure_var
Pointer to the linear finite volume pressure variable.
const unsigned int _index
Index x|y|z of the momentum equation component.
virtual Real computeMatrixContribution() override
static InputParameters validParams()
const LinearFVGradientReader & _pressure_gradient_field
Pressure gradient field used by this kernel.
LinearFVMomentumPressure(const InputParameters ¶ms)
Class constructor.
const LinearFVGradientReader & registerPressureGradientField()
Register the pressure gradient field used by this kernel.
FEProblemBase & _fe_problem
void paramError(const std::string ¶m, Args... args) const
bool isParamValid(const std::string &name) const
const LinearFVGradientReader & requestCellGradients(unsigned int oldest_state=0)
static const std::string pressure