15 INSFVEnthalpyMaterial,
25 "This is the material class used to compute enthalpy for the " 26 "incompressible/weakly-compressible finite-volume implementation of the Navier-Stokes " 31 NS::cp,
NS::cp,
"The constant value for the specific heat capacity");
38 params.
addParam<
bool>(
"assumed_constant_cp",
true,
"Whether to assume cp is constant");
40 NS::fluid,
"Fluid properties, to be used when cp is not constant to compute enthalpy");
42 NS::pressure,
"Pressure functor, to be used when cp is not constant to compute enthalpy");
45 "Specific enthalpy functor, to be used when cp is not constant to compute the enthalpy, as " 46 "an alternative to using a 'fp' FluidProperties object");
53 _assumed_constant_cp(getParam<bool>(
"assumed_constant_cp")),
58 _temperature(getFunctor<
ADReal>(
"temperature")),
59 _pressure(isParamValid(
"pressure") ? &getFunctor<
ADReal>(
"pressure") : nullptr),
68 "fp",
"No need to specify fluid properties if assuming the specific enthalpy is constant");
71 "Must specify both fluid properties and pressure or an enthalpy functor if not " 72 "assuming the specific enthalpy is constant");
78 [
this](
const auto & r,
const auto & t)
82 [
this](
const auto & r,
const auto & t)
86 [
this](
const auto & r,
const auto & t)
89 addFunctorProperty<ADReal>(
90 "rho_cp_temp", [&rho_h](
const auto & r,
const auto & t) ->
ADReal {
return rho_h(r, t); });
92 addFunctorProperty<ADReal>(
"cp_temp",
93 [&h](
const auto & r,
const auto & t) ->
ADReal {
return h(r, t); });
98 [
this](
const auto & r,
const auto & t)
99 {
return _rho(r, t) * (*_h)(r, t); });
102 [
this](
const auto & r,
const auto & t) {
return _h->dot(r, t); });
106 addFunctorProperty<ADReal>(
108 [
this](
const auto & r,
const auto & t)
112 [
this](
const auto & r,
const auto & t)
115 addFunctorProperty<ADReal>(
117 [
this](
const auto & r,
const auto & t)
119 Real h, dh_dp, dh_dT;
registerMooseObjectRenamed("NavierStokesApp", INSFVEnthalpyMaterial, "02/01/2024 00:00", INSFVEnthalpyFunctorMaterial)
const Moose::Functor< ADReal > & _cp
the specific heat capacity
static InputParameters validParams()
static InputParameters validParams()
bool _assumed_constant_cp
whether we can use a constant cp as a shortcut to compute enthalpy
static const std::string density
static const std::string fluid
DualNumber< Real, DNDerivativeType, true > ADReal
registerMooseObject("NavierStokesApp", INSFVEnthalpyFunctorMaterial)
static const std::string cp
const Moose::Functor< ADReal > & _temperature
the temperature
const Moose::Functor< ADReal > * _h
the specific enthalpy
Real value(unsigned n, unsigned alpha, unsigned beta, Real x)
This is the material class used to compute enthalpy for the incompressible/weakly-compressible finite...
static const std::string enthalpy_density
Common class for single phase fluid properties.
void paramError(const std::string ¶m, Args... args) const
const Moose::Functor< ADReal > * _pressure
the pressure
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const SinglePhaseFluidProperties * _fp
A fluid properties user object to compute enthalpy.
static const std::string pressure
INSFVEnthalpyFunctorMaterial(const InputParameters ¶meters)
void paramWarning(const std::string ¶m, Args... args) const
const Moose::Functor< ADReal > & _rho
density
std::string time_deriv(const std::string &var)
static const std::string specific_enthalpy