15 INSFVkEpsilonViscosityMaterial,
24 params.
addClassDescription(
"Computes the turbulent dynamic viscosity given k and epsilon.");
28 "The turbulent kinetic energy dissipation rate.");
29 params.
addParam<MooseFunctorName>(
"C_mu", 0.09,
"C_mu closure parameter");
36 _rho(getFunctor<
ADReal>(
NS::density)),
38 _epsilon(getFunctor<
ADReal>(
NS::TKED)),
39 _C_mu(getFunctor<
ADReal>(
"C_mu")),
40 _preserve_sparsity_pattern(_fe_problem.preserveMatrixSparsityPattern())
43 [
this](
const auto & r,
const auto & t) ->
ADReal
49 _C_mu(r, t) *
_rho(r, t) * Utility::pow<2>(
_k(r, t)) /
53 _C_mu(r, t) *
_rho(r, t) * Utility::pow<2>(
_k(r, t)) /
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObjectRenamed("NavierStokesApp", INSFVkEpsilonViscosityMaterial, "02/01/2025 00:00", INSFVkEpsilonViscosityFunctorMaterial)
registerMooseObject("NavierStokesApp", INSFVkEpsilonViscosityFunctorMaterial)
static InputParameters validParams()
This is the material class used to compute the viscosity of the kEpsilon model.
const Moose::Functor< ADReal > & _epsilon
The turbulent kinetic energy dissipation rate.
const Moose::Functor< ADReal > & _C_mu
The C_mu.
INSFVkEpsilonViscosityFunctorMaterial(const InputParameters ¶meters)
static InputParameters validParams()
const bool _preserve_sparsity_pattern
Whether to preserve the sparsity pattern between iterations (needed for Newton solvers)
const Moose::Functor< ADReal > & _rho
The density.
const Moose::Functor< ADReal > & _k
The turbulent kinetic energy.
static constexpr Real mu_t_low_limit
static const std::string density
static constexpr Real epsilon_low_limit
static const std::string TKED
static const std::string mu_t
static const std::string TKE