19 params.
addParam<Real>(
"smagorinsky_constant", 0.18,
"Value of Smagorinsky's constant to use");
20 params.
addParam<MaterialPropertyName>(
21 "rho_name",
"rho",
"The name of the density material property");
27 _rho(getADMaterialProperty<Real>(
"rho_name")),
28 _smagorinsky_constant(getParam<Real>(
"smagorinsky_constant"))
35 using std::sqrt, std::pow;
37 constexpr Real offset = 1e-15;
38 const ADReal strain_rate_tensor_mag =
44 constexpr Real one_third = 1.0 / 3.0;
45 return strain_rate_tensor_mag *
DualNumber< Real, DNDerivativeType, true > ADReal
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
registerMooseObject("NavierStokesApp", INSADSmagorinskyEddyViscosity)
static InputParameters validParams()
const ADTemplateVariableGradient< T > & _grad_u
This class computes the Smagorinsky LES eddy viscosity residual and Jacobian contributions for that t...
const Real _smagorinsky_constant
Value of Smagorinsky constant (dimensionless). The theory predicts this to be 0.18.
const ADMaterialProperty< Real > & _rho
This model calculates a kinematic viscosity, so rho must multiply this.
ADRealTensorValue precomputeQpResidual() override
static InputParameters validParams()
INSADSmagorinskyEddyViscosity(const InputParameters ¶meters)
const Real & _current_elem_volume
const Elem *const & _current_elem