18 "Whenever the sink is an explicit function of porepressure "
19 "(such as a PiecewiseLinear function) the argument of the "
20 "function is set to P - PT_shift instead of simply P. "
21 "Similarly for temperature. PT_shift does not enter into "
22 "any use_* calculations.");
28 _pp(_involves_fluid ? &getMaterialProperty<
std::vector<Real>>(
"PorousFlow_porepressure_nodal")
30 _dpp_dvar(_involves_fluid ? &getMaterialProperty<
std::vector<
std::vector<Real>>>(
31 "dPorousFlow_porepressure_nodal_dvar")
33 _temp(!_involves_fluid ? &getMaterialProperty<Real>(
"PorousFlow_temperature_nodal") : nullptr),
34 _dtemp_dvar(!_involves_fluid
35 ? &getMaterialProperty<
std::vector<Real>>(
"dPorousFlow_temperature_nodal_dvar")
37 _pt_shift(coupledDofValues(
"PT_shift"))
40 mooseError(
"PorousFlowSink: There is no porepressure Material");
42 mooseError(
"PorousFlowSink: There is no temperature Material");
void mooseError(Args &&... args) const
const MaterialProperty< std::vector< Real > > *const _dtemp_dvar
d(Nodal temperature)/d(PorousFlow variable)
virtual Real ptVar() const
Provides the variable value (either porepressure, or temperature, depending on _involves_fluid)
const VariableValue & _pt_shift
Subtract this from porepressure or temperature before evaluating PiecewiseLinearSink,...
PorousFlowSinkPTDefiner(const InputParameters ¶meters)
const MaterialProperty< Real > *const _temp
Nodal temperature.
static InputParameters validParams()
const MaterialProperty< std::vector< Real > > *const _pp
Nodal pore pressure in each phase.
const MaterialProperty< std::vector< std::vector< Real > > > *const _dpp_dvar
d(Nodal pore pressure in each phase)/d(PorousFlow variable)
virtual Real dptVar(unsigned pvar) const
Provides the d(variable)/(d PorousFlow Variable pvar)
Applies a flux sink to a boundary.
const bool _involves_fluid
Whether this BC involves fluid (whether the user has supplied a fluid phase number)
const unsigned int _ph
The phase number.
static InputParameters validParams()