20 "Tuple of pressure values (for the fluid_phase specified). Must be monotonically "
21 "increasing. For heat fluxes that don't involve fluids, these are temperature "
24 "multipliers",
"Tuple of multiplying values. The flux values are multiplied by these.");
26 "PorousFlowSink is multiplied by a piecewise linear function.");
32 _sink_func(getParam<
std::vector<Real>>(
"pt_vals"), getParam<
std::vector<Real>>(
"multipliers"))
registerMooseObject("PorousFlowApp", PorousFlowPiecewiseLinearSink)
T sampleDerivative(const T &x) const
T sample(const T &x) const
Applies a flux sink to a boundary.
virtual Real multiplier() const override
The flux gets multiplied by this quantity.
static InputParameters validParams()
PorousFlowPiecewiseLinearSink(const InputParameters ¶meters)
const LinearInterpolation _sink_func
Piecewise-linear function of porepressure that multiplies the sink flux.
virtual Real dmultiplier_dvar(unsigned int pvar) const override
d(multiplier)/d(Porous flow variable pvar)
Provides either a porepressure or a temperature to derived classes, depending on _involves_fluid defi...
virtual Real ptVar() const
Provides the variable value (either porepressure, or temperature, depending on _involves_fluid)
static InputParameters validParams()
virtual Real dptVar(unsigned pvar) const
Provides the d(variable)/(d PorousFlow Variable pvar)
virtual Real dmultiplier_dvar(unsigned int pvar) const
d(multiplier)/d(Porous flow variable pvar)
virtual Real multiplier() const
The flux gets multiplied by this quantity.