28 _enthalpy(this->template getGenericMaterialProperty<
std::vector<Real>, is_ad>(
29 "PorousFlow_fluid_phase_enthalpy_nodal")),
30 _denthalpy_dvar(is_ad ? nullptr
31 : &this->template getMaterialProperty<
std::vector<
std::vector<Real>>>(
32 "dPorousFlow_fluid_phase_enthalpy_nodal_dvar")),
33 _relative_permeability(this->template getGenericMaterialProperty<
std::vector<Real>, is_ad>(
34 "PorousFlow_relative_permeability_nodal")),
35 _drelative_permeability_dvar(
37 : &this->template getMaterialProperty<
std::vector<
std::vector<Real>>>(
38 "dPorousFlow_relative_permeability_nodal_dvar"))
58 Real
dm = (*_denthalpy_dvar)[nodenum][phase][pvar] * _fluid_density_node[nodenum][phase] *
59 _relative_permeability[nodenum][phase] / _fluid_viscosity[nodenum][phase];
60 dm += _enthalpy[nodenum][phase] * (*_dfluid_density_node_dvar)[nodenum][phase][pvar] *
61 _relative_permeability[nodenum][phase] / _fluid_viscosity[nodenum][phase];
62 dm += _enthalpy[nodenum][phase] * _fluid_density_node[nodenum][phase] *
63 (*_drelative_permeability_dvar)[nodenum][phase][pvar] / _fluid_viscosity[nodenum][phase];
64 dm -= _enthalpy[nodenum][phase] * _fluid_density_node[nodenum][phase] *
65 _relative_permeability[nodenum][phase] * (*_dfluid_viscosity_dvar)[nodenum][phase][pvar] /
66 std::pow(_fluid_viscosity[nodenum][phase], 2);
70 libmesh_ignore(nodenum, phase, pvar);