21 params.
addClassDescription(
"Adds the -\\mu u_r / r^2 viscous source term (sign for RHS) that " 22 "appears in the cylindrical form of the " 23 "Navier-Stokes momentum equations (axisymmetric, no swirl).");
25 NS::mu,
"The dynamic viscosity that multiplies the viscous source term.");
26 params.
addParam<
bool>(
"complete_expansion",
28 "Mirror of the INSFVMomentumDiffusion 'complete_expansion' switch. When " 29 "true, the viscous contribution is multiplied by 2.");
36 _rz_radial_coord(_subproblem.getAxisymmetricRadialCoord()),
37 _expansion_multiplier(getParam<bool>(
"complete_expansion") ? 2.0 : 1.0)
40 mooseError(
name(),
" is only valid on blocks that use an RZ coordinate system.");
44 "INSFVMomentumViscousSourceRZ only applies to the radial momentum component in an " 45 "axisymmetric coordinate system.");
52 mooseAssert(elem_arg.
elem,
"The element pointer must be valid for INSFVMomentumViscousSourceRZ.");
54 mooseAssert(
radius > 0.0,
"Axisymmetric radial coordinate should be positive inside a cell.");
void addResidualAndJacobian(const ADReal &residual, dof_id_type dof)
Process into either the system residual or Jacobian.
void paramError(const std::string ¶m, Args... args) const
An elemental kernel that momentum residual objects that add body forces should inherit from...
const unsigned int _rz_radial_coord
Index of the radial coordinate in an RZ system.
unsigned int number() const
Moose::StateArg determineState() const
Moose::CoordinateSystemType getBlockCoordSystem()
const unsigned int _index
index x|y|z
DualNumber< Real, DNDerivativeType, false > ADReal
RhieChowInterpolatorBase & _rc_uo
The Rhie Chow user object that is responsible for generating face velocities for advection terms...
registerMooseObject("NavierStokesApp", INSFVMomentumViscousSourceRZ)
Moose::ElemArg makeElemArg(const Elem *elem, bool correct_skewnewss=false) const
ADReal computeSegregatedContribution() override
Compute the contribution which goes into the residual of the segregated system.
INSFVMomentumViscousSourceRZ(const InputParameters ¶ms)
const std::string & name() const
static InputParameters validParams()
const Elem *const & _current_elem
Real elementVolume(const Elem *elem) const
static const std::string mu
const libMesh::Elem * elem
Adds the axisymmetric viscous source term (-mu * u_r / r^2) that appears in the Laplacian of the radi...
unsigned int number() const
ADReal computeCoefficient(const Moose::ElemArg &elem_arg, const Moose::StateArg &state) const
Compute the diagonal multiplier for this dof.
static InputParameters validParams()
virtual void addToA(const libMesh::Elem *elem, unsigned int component, const ADReal &value)=0
API for momentum residual objects that have on-diagonals for velocity call.
const Real _expansion_multiplier
Multiplier applied when the complete expansion form is requested.
const Moose::Functor< ADReal > & _u_functor
void mooseError(Args &&... args) const
const Moose::Functor< ADReal > & _mu
Viscosity functor.
Point vertex_average() const
void gatherRCData(const Elem &) override
Should be a non-empty implementation if the residual object is a FVElementalKernel and introduces res...
MooseVariableFV< Real > & _var