www.mooseframework.org
PorousFlowPiecewiseLinearSink.h
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7 
8 #ifndef POROUSFLOWPIECEWISELINEARSINK_H
9 #define POROUSFLOWPIECEWISELINEARSINK_H
10 
12 #include "LinearInterpolation.h"
13 
14 // Forward Declarations
16 
17 template <>
19 
28 {
29 public:
30  PorousFlowPiecewiseLinearSink(const InputParameters & parameters);
31 
32 protected:
34  const LinearInterpolation _sink_func;
35 
36  virtual Real multiplier() const override;
37 
38  virtual Real dmultiplier_dvar(unsigned int pvar) const override;
39 };
40 
41 #endif // POROUSFLOWPIECEWISELINEARSINK_H
virtual Real multiplier() const override
The flux gets multiplied by this quantity.
Applies a flux sink to a boundary.
Provides either a porepressure or a temperature to derived classes, depending on _involves_fluid defi...
InputParameters validParams< PorousFlowPiecewiseLinearSink >()
PorousFlowPiecewiseLinearSink(const InputParameters &parameters)
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)