16 INSFVMushyPorousFrictionMaterial,
25 "Computes the mushy zone porous resistance for solidification/melting problems.");
26 params.
addRequiredParam<MooseFunctorName>(
"liquid_fraction",
"Liquid Fraction Functor.");
28 params.
addRequiredParam<MooseFunctorName>(
"rho_l",
"The liquid density (not the mixture one).");
30 "dendrite_spacing_scaling",
"1e-4",
"The dendrite spacing scaling.");
32 "Darcy_coef_name",
"Darcy_coefficient",
"Name of the Darcy friction coefficient");
33 params.
addParam<MooseFunctorName>(
"Forchheimer_coef_name",
34 "Forchheimer_coefficient",
35 "Name of the Forchheimer friction coefficient");
43 _fl(getFunctor<
ADReal>(
"liquid_fraction")),
45 _rho_l(getFunctor<
ADReal>(
"rho_l")),
46 _dendrite_spacing_scaling(getFunctor<
ADReal>(
"dendrite_spacing_scaling"))
49 addFunctorProperty<ADReal>(
50 getParam<MooseFunctorName>(
"Darcy_coef_name"),
51 [
this](
const auto & r,
const auto & t) ->
ADReal 53 constexpr
Real epsilon = 1e-15;
54 const auto fs = 1.0 -
_fl(r, t);
56 "Dendrite spacing scaling should be positive!");
60 Utility::pow<3>(
_fl(r, t)) / ((Utility::pow<2>(fs) + epsilon) * Fk * cs) + epsilon;
64 addFunctorProperty<ADReal>(
65 getParam<MooseFunctorName>(
"Forchheimer_coef_name"),
66 [
this](
const auto & r,
const auto & t) ->
ADReal 68 constexpr
Real epsilon = 1e-15;
69 const auto fs = 1.0 -
_fl(r, t);
71 "Dendrite spacing scaling should be positive!");
75 Utility::pow<3>(
_fl(r, t)) / ((Utility::pow<2>(fs) + epsilon) * Fk * cs) + epsilon;
static InputParameters validParams()
static const std::string K
registerMooseObject("NavierStokesApp", INSFVMushyPorousFrictionFunctorMaterial)
const Moose::Functor< ADReal > & _mu
The dynamic viscosity.
DualNumber< Real, DNDerivativeType, true > ADReal
const Moose::Functor< ADReal > & _rho_l
The liquid density.
static InputParameters validParams()
static const ADReal _forchheimer_coef
const Moose::Functor< ADReal > & _dendrite_spacing_scaling
Dendrite spacing.
static const std::string mu
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
registerMooseObjectRenamed("NavierStokesApp", INSFVMushyPorousFrictionMaterial, "08/01/2024 00:00", INSFVMushyPorousFrictionFunctorMaterial)
INSFVMushyPorousFrictionFunctorMaterial(const InputParameters ¶meters)
static const ADReal _c
Main closures parameters.
This is the material class used to compute the drag coefficients in mushy (porous) regions during pha...
const Moose::Functor< ADReal > & _fl
The liquid fraction.
static const ADReal _fs_crit