19 "Computes the advective flux of heat energy in a given phase, assuming unsaturated "
20 "conditions. Hence this UserObject is only relevant to single-phase situations, or "
21 "multi-phase situations where each fluid component appears in one phase only. Explicitly, "
22 "the UserObject computes (density * enthalpy * relative_permeability / viscosity) * (- "
23 "permeability * (grad(P) - density * gravity)), using the Kuzmin-Turek FEM-TVD "
24 "multidimensional stabilization scheme");
31 _relative_permeability(
32 getMaterialProperty<
std::vector<Real>>(
"PorousFlow_relative_permeability_nodal")),
33 _drelative_permeability_dvar(getMaterialProperty<
std::vector<
std::vector<Real>>>(
34 "dPorousFlow_relative_permeability_nodal_dvar"))
registerMooseObject("PorousFlowApp", PorousFlowAdvectiveFluxCalculatorUnsaturatedHeat)
const unsigned int _phase
The phase.
Computes the advective flux of heat energy in the given phase, assuming fully-saturated conditions.
virtual Real computedU_dvar(unsigned i, unsigned pvar) const override
Compute d(u)/d(porous_flow_variable)
virtual Real computeU(unsigned i) const override
Computes the value of u at the local node id of the current element (_current_elem)
static InputParameters validParams()
Computes the advective flux of heat energy in a given phase, assuming unsaturated conditions.
PorousFlowAdvectiveFluxCalculatorUnsaturatedHeat(const InputParameters ¶meters)
static InputParameters validParams()
virtual Real computedU_dvar(unsigned i, unsigned pvar) const override
Compute d(u)/d(porous_flow_variable)
virtual Real computeU(unsigned i) const override
Computes the value of u at the local node id of the current element (_current_elem)
const MaterialProperty< std::vector< std::vector< Real > > > & _drelative_permeability_dvar
Derivative of relative permeability of each phase wrt PorousFlow variables.
const MaterialProperty< std::vector< Real > > & _relative_permeability
Relative permeability of each phase.