40 auto check_coupled = [&](
const auto & var_name)
42 if (mesh_convection_obj.coupledComponents(var_name) > 1)
43 mesh_convection_obj.paramError(
44 var_name,
"Only one variable should be used for '", var_name,
"'");
45 if (mesh_convection_obj.isCoupledConstant(var_name))
46 mesh_convection_obj.paramError(var_name,
"Displacement variables cannot be constants");
48 check_coupled(
"disp_x");
49 check_coupled(
"disp_y");
50 check_coupled(
"disp_z");
52 if (mesh_convection_obj._tid == 0)
56 auto & obj_tracker = mesh_convection_obj._fe_problem.template getUserObject<INSADObjectTracker>(
57 "ins_ad_object_tracker");
58 for (
const auto block_id : mesh_convection_obj.blockIDs())
60 obj_tracker.set(
"has_advected_mesh",
true, block_id);
61 obj_tracker.set(
"disp_x", mesh_convection_obj.coupledName(
"disp_x"), block_id);
62 if (mesh_convection_obj.isParamValid(
"disp_y"))
63 obj_tracker.set(
"disp_y", mesh_convection_obj.coupledName(
"disp_y"), block_id);
64 if (mesh_convection_obj.isParamValid(
"disp_z"))
65 obj_tracker.set(
"disp_z", mesh_convection_obj.coupledName(
"disp_z"), block_id);
Subtracts the mesh velocity from the convection term in the Navier-Stokes momentum equation...
static InputParameters displacementParams()
virtual ADRealVectorValue precomputeQpResidual() override
static InputParameters validParams()
const InputParameters & parameters() const
const ADMaterialProperty< RealVectorValue > & _advected_mesh_strong_residual
The strong residual for this object, computed by material classes to eliminate computation duplicatio...
INSADMomentumMeshAdvection(const InputParameters ¶meters)
static void setDisplacementParams(T &mesh_convection_obj)