https://mooseframework.inl.gov
ADMomentumViscousRZ.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #include "ADMomentumViscousRZ.h"
11 
12 registerMooseObject("NavierStokesTestApp", ADMomentumViscousRZ);
13 
16 {
18  params.addParam<MaterialPropertyName>(
19  "mu_name", "mu", "The name of the viscosity material property");
20  params.addRequiredParam<unsigned short>("component", "The momentum component this object is for");
21  return params;
22 }
23 
25  : ADKernel(parameters),
26  _mu(getADMaterialProperty<Real>("mu_name")),
27  _coord_sys(_assembly.coordSystem()),
28  _rz_radial_coord(_mesh.getAxisymmetricRadialCoord()),
29  _component(getParam<unsigned short>("component"))
30 {
31 }
32 
33 ADReal
35 {
36  mooseAssert(_coord_sys == Moose::COORD_RZ, "this object is only meant for RZ coordinate systems");
37 
39  {
40  const auto r = _ad_q_point[_qp](_rz_radial_coord);
41  return _mu[_qp] * _u[_qp] / (r * r) * _test[_i][_qp];
42  }
43  else
44  return 0;
45 }
ADMomentumViscousRZ(const InputParameters &parameters)
const unsigned short _component
void addParam(const std::string &name, const std::initializer_list< typename T::value_type > &value, const std::string &doc_string)
const Moose::CoordinateSystemType & _coord_sys
registerMooseObject("NavierStokesTestApp", ADMomentumViscousRZ)
const ADTemplateVariableValue< T > & _u
const ADTemplateVariableTestValue< T > & _test
DualNumber< Real, DNDerivativeType, true > ADReal
void addRequiredParam(const std::string &name, const std::string &doc_string)
const unsigned int _rz_radial_coord
virtual ADReal computeQpResidual() override
static InputParameters validParams()
const MooseArray< ADPoint > & _ad_q_point
unsigned int _i
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const ADMaterialProperty< Real > & _mu
unsigned int _qp