20 params.
addClassDescription(
"Heat flux that arises from the advection of a fully-saturated single " 21 "phase fluid. No upwinding is used");
29 _enthalpy(this->template getGenericMaterialProperty<
std::vector<
Real>, is_ad>(
30 "PorousFlow_fluid_phase_enthalpy_qp")),
31 _denthalpy_dvar(is_ad ? nullptr
32 : &this->template getMaterialProperty<
std::vector<
std::vector<
Real>>>(
33 "dPorousFlow_fluid_phase_enthalpy_qp_dvar"))
41 const unsigned ph = 0;
51 const unsigned ph = 0;
54 return (*_denthalpy_dvar)[_qp][ph][pvar] * darcy_mob + _enthalpy[_qp][ph] * ddarcy_mob;
Moose::GenericType< Real, is_ad > GenericReal
virtual Real dmobility(unsigned int pvar) const
d(mobility)/d(PorousFlow variable pvar) – only used on the non-AD path
virtual GenericReal< is_ad > mobility() const
Fluid mobility = (density *) 1/viscosity. Virtual so DarcyFlow can multiply by mass frac...
void libmesh_ignore(const Args &...)
static InputParameters validParams()
static InputParameters validParams()
PorousFlowFullySaturatedHeatAdvectionTempl(const InputParameters ¶meters)
virtual GenericReal< is_ad > mobility() const override
Fluid mobility = (density *) 1/viscosity. Virtual so DarcyFlow can multiply by mass frac...
Darcy advective flux for a fully-saturated, single-phase, single-component fluid. ...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real dmobility(unsigned pvar) const override
registerMooseObject("PorousFlowApp", PorousFlowFullySaturatedHeatAdvection)
Advection of heat via flux via Darcy flow of a single phase fully-saturated fluid.