26 "Compute the arithmetic mean of material properties using a phase fraction.");
28 "phase_1_names",
"The names of the properties for phase 1.");
30 "phase_2_names",
"The names of the properties for phase 2.");
32 "prop_names",
"The name of the mixture properties output from the material.");
33 params.
addRequiredParam<MooseFunctorName>(
"phase_1_fraction",
"Phase 1 fraction.");
35 "limit_phase_fraction",
false,
"Whether to bound the phase fraction between 0 and 1");
43 _phase_1_names(getParam<
std::vector<MooseFunctorName>>(
"phase_1_names")),
44 _phase_2_names(getParam<
std::vector<MooseFunctorName>>(
"phase_2_names")),
45 _mixture_names(getParam<
std::vector<MooseFunctorName>>(
"prop_names")),
46 _phase_1_fraction(getFunctor<
GenericReal<is_ad>>(
"phase_1_fraction")),
47 _limit_pf(getParam<bool>(
"limit_phase_fraction"))
51 paramError(
"phase_2_names",
"Phase 1 and Phase 2 names do not have the same length.");
54 paramError(
"prop_names",
"Phase 1 and mixture property names do not have the same length.");
61 addFunctorProperty<GenericReal<is_ad>>(
67 const auto phase_1_fraction =
const bool _limit_pf
Whether to bound the phase fraction between 0 and 1 to avoid outlandish properties.
NSFVMixtureFunctorMaterialTempl(const InputParameters ¶meters)
Moose::GenericType< Real, is_ad > GenericReal
const Moose::Functor< GenericReal< is_ad > > & _phase_1_fraction
Phase 1 fraction.
static InputParameters validParams()
static InputParameters validParams()
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _phase_2_properties
Vector of phase 2 properties.
registerMooseObject("NavierStokesApp", WCNSLinearFVMixtureFunctorMaterial)
std::vector< const Moose::Functor< GenericReal< is_ad > > * > _phase_1_properties
Vector of phase 1 properties.
This is the material class used to compute phase averaged properties of mixtures. ...
const std::vector< MooseFunctorName > _phase_2_names
Vector of phase 2 properties names.
const std::vector< MooseFunctorName > _mixture_names
Vector of mixture properties names.
void paramError(const std::string ¶m, Args... args) const
registerMooseObjectRenamed("NavierStokesApp", NSFVMixtureMaterial, "08/01/2024 00:00", NSFVMixtureFunctorMaterial)
const Moose::Functor< T > & getFunctor(const std::string &name)
const std::vector< MooseFunctorName > _phase_1_names
Vector of phase 1 properties names.
auto index_range(const T &sizable)