19 params.
addRequiredParam<UserObjectName>(
"rhie_chow_user_object",
"The Rhie-Chow user object.");
22 MooseEnum(
"skip_face_flux_iteration zero_Ainv init_pressure_gradients"),
23 "The reconstruction sequence to test.");
24 params.
addParam<VariableName>(
"pressure",
"The pressure variable whose gradient is tested.");
25 params.
addParam<GradientMethodName>(
"gradient_method",
"The additional gradient method to test.");
33 _operation(getParam<
MooseEnum>(
"operation")),
34 _gradient_reader(nullptr)
39 paramError(
"pressure",
"This parameter is required for init_pressure_gradients.");
41 paramError(
"gradient_method",
"This parameter is required for init_pressure_gradients.");
46 paramError(
"pressure",
"The pressure must be a MooseLinearVariableFVReal.");
49 &pressure->requestCellGradients(getParam<GradientMethodName>(
"gradient_method"));
58 mooseAssert(
_gradient_reader,
"The additional pressure gradient reader must be linked.");
68 bool gradient_is_zero =
true;
70 gradient_is_zero = gradient_is_zero && component->l2_norm() == 0.0;
73 mooseError(
"RhieChowMassFlux::initPressureGradient() did not refresh the additional pressure "
registerMooseObject("NavierStokesTestApp", TestRhieChowMassFluxSequence)
static InputParameters validParams()
const GradientContainer & components() const
void paramError(const std::string ¶m, Args... args) const
void mooseError(Args &&... args) const
bool isParamValid(const std::string &name) const
User object responsible for determining the face fluxes using the Rhie-Chow interpolation in a segreg...
void preparePISOCorrector()
Capture the lagged velocity gradient for another corrector using the current predictor.
void computeFaceMassFlux()
Update the values of the face velocities in the containers.
void initPressureGradient()
Compute every registered pressure gradient once, before the first momentum predictor of a SIMPLE iter...
void preparePressureRelaxation()
Before pressure relaxation, form the conservative reconstructed candidate from the corrected face flu...
const std::vector< std::unique_ptr< NumericVector< Number > > > & AinvComponents() const
Get the momentum-layout 1/A component vectors.
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=0
Exercises Rhie-Chow reconstruction sequencing for validation tests.
const LinearFVGradientReader * _gradient_reader
static InputParameters validParams()
const MooseEnum _operation
TestRhieChowMassFluxSequence(const InputParameters ¶meters)
RhieChowMassFlux & _rhie_chow