Go to the documentation of this file.
19 params.addRequiredParam<std::vector<Real>>(
21 "Tuple of pressure values (for the fluid_phase specified). Must be monotonically "
22 "increasing. For heat fluxes that don't involve fluids, these are temperature "
24 params.addRequiredParam<std::vector<Real>>(
25 "multipliers",
"Tuple of multiplying values. The flux values are multiplied by these.");
26 params.addClassDescription(
"Applies a flux sink to a boundary. The base flux defined by "
27 "PorousFlowSink is multiplied by a piecewise linear function.");
33 _sink_func(getParam<std::vector<Real>>(
"pt_vals"), getParam<std::vector<Real>>(
"multipliers"))
Provides either a porepressure or a temperature to derived classes, depending on _involves_fluid defi...
virtual Real multiplier() const override
The flux gets multiplied by this quantity.
virtual Real ptVar() const
Provides the variable value (either porepressure, or temperature, depending on _involves_fluid)
virtual Real dptVar(unsigned pvar) const
Provides the d(variable)/(d PorousFlow Variable pvar)
registerMooseObject("PorousFlowApp", PorousFlowPiecewiseLinearSink)
InputParameters validParams< PorousFlowSinkPTDefiner >()
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.
virtual Real dmultiplier_dvar(unsigned int pvar) const override
d(multiplier)/d(Porous flow variable pvar)
const LinearInterpolation _sink_func
Piecewise-linear function of porepressure that multiplies the sink flux.
Applies a flux sink to a boundary.
PorousFlowPiecewiseLinearSink(const InputParameters ¶meters)
InputParameters validParams< PorousFlowPiecewiseLinearSink >()