21 params.
addRequiredParam<UserObjectName>(
"fp",
"The name of the user object for fluid properties");
22 params.
addClassDescription(
"This Material calculates fluid properties at the quadpoints or nodes " 23 "for a single component fluid");
41 (*_density)[_qp] = _fp.rho_from_p_T(_porepressure[_qp][_phase_num] * _pressure_to_Pascals,
42 _temperature[_qp] + _t_c2k);
44 (*_viscosity)[_qp] = _fp.mu_from_p_T(_porepressure[_qp][_phase_num] * _pressure_to_Pascals,
45 _temperature[_qp] + _t_c2k) /
46 _pressure_to_Pascals / _time_to_seconds;
49 if (_compute_internal_energy)
50 (*_internal_energy)[_qp] = _fp.e_from_p_T(_porepressure[_qp][_phase_num] * _pressure_to_Pascals,
51 _temperature[_qp] + _t_c2k);
53 if (_compute_enthalpy)
54 (*_enthalpy)[_qp] = _fp.h_from_p_T(_porepressure[_qp][_phase_num] * _pressure_to_Pascals,
55 _temperature[_qp] + _t_c2k);
67 _fp.rho_mu_from_p_T(_porepressure[_qp][_phase_num] * _pressure_to_Pascals,
68 _temperature[_qp] + _t_c2k,
72 (*_density)[_qp] = rho;
73 (*_viscosity)[_qp] =
mu / _pressure_to_Pascals / _time_to_seconds;
78 Real rho, drho_dp, drho_dT,
mu, dmu_dp, dmu_dT;
88 (*_density)[_qp] = rho;
89 (*_ddensity_dp)[_qp] = drho_dp * _pressure_to_Pascals;
90 (*_ddensity_dT)[_qp] = drho_dT;
91 (*_viscosity)[_qp] =
mu / _pressure_to_Pascals / _time_to_seconds;
92 (*_dviscosity_dp)[_qp] = dmu_dp / _time_to_seconds;
93 (*_dviscosity_dT)[_qp] = dmu_dT / _pressure_to_Pascals / _time_to_seconds;
97 if (_compute_internal_energy)
100 (*_internal_energy)[_qp] = _fp.e_from_p_T(
101 _porepressure[_qp][_phase_num] * _pressure_to_Pascals, _temperature[_qp] + _t_c2k);
105 Real e, de_dp, de_dT;
111 (*_internal_energy)[_qp] = e;
112 (*_dinternal_energy_dp)[_qp] = de_dp * _pressure_to_Pascals;
113 (*_dinternal_energy_dT)[_qp] = de_dT;
117 if (_compute_enthalpy)
120 (*_enthalpy)[_qp] = _fp.h_from_p_T(_porepressure[_qp][_phase_num] * _pressure_to_Pascals,
121 _temperature[_qp] + _t_c2k);
125 Real h, dh_dp, dh_dT;
131 (*_enthalpy)[_qp] = h;
132 (*_denthalpy_dp)[_qp] = dh_dp * _pressure_to_Pascals;
133 (*_denthalpy_dT)[_qp] = dh_dT;
PorousFlowSingleComponentFluidTempl(const InputParameters ¶meters)
static InputParameters validParams()
virtual void initQpStatefulProperties() override
Base class for fluid properties materials.
static const std::string mu
Common class for single phase fluid properties.
static InputParameters validParams()
registerMooseObject("PorousFlowApp", PorousFlowSingleComponentFluid)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual void computeQpProperties() override
typename Moose::GenericType< Real, is_ad > GenericReal
General single component fluid material.