www.mooseframework.org
PorousFlowHalfCubicSink.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 POROUSFLOWHALFCUBICSINK_H
9 #define POROUSFLOWHALFCUBICSINK_H
10 
12 
13 // Forward Declarations
15 
16 template <>
17 InputParameters validParams<PorousFlowHalfCubicSink>();
18 
31 {
32 public:
33  PorousFlowHalfCubicSink(const InputParameters & parameters);
34 
35 protected:
37  const Real _maximum;
38 
40  Function & _cutoff;
41 
43  const Real _center;
44 
45  virtual Real multiplier() const override;
46 
47  virtual Real dmultiplier_dvar(unsigned int pvar) const override;
48 };
49 
50 #endif // POROUSFLOWHALFCUBICSINK_H
const Real _maximum
maximum of the cubic sink
Applies a flux sink to a boundary.
InputParameters validParams< PorousFlowHalfCubicSink >()
const Real _center
center of the cubic sink
Function & _cutoff
Denote x = porepressure - center. Then Flux out = (max/cutoff^3)*(2x + cutoff)(x - cutoff)^2 for cuto...
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 multiplier() const override
The flux gets multiplied by this quantity.
PorousFlowHalfCubicSink(const InputParameters &parameters)