www.mooseframework.org
RichardsPiecewiseLinearSinkFlux.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 RICHARDSPIECEWISELINEARSINKFLUX_H
9 #define RICHARDSPIECEWISELINEARSINKFLUX_H
10 
11 #include "SideIntegralVariablePostprocessor.h"
12 #include "LinearInterpolation.h"
13 #include "RichardsVarNames.h"
14 
15 class Function;
16 
17 // Forward Declarations
19 
20 template <>
22 
32 class RichardsPiecewiseLinearSinkFlux : public SideIntegralVariablePostprocessor
33 {
34 public:
35  RichardsPiecewiseLinearSinkFlux(const InputParameters & parameters);
36 
37 protected:
38  virtual Real computeQpIntegral();
39 
41  LinearInterpolation _sink_func;
42 
45 
48 
50  Function & _m_func;
51 
54 
60  unsigned int _pvar;
61 
63  const MaterialProperty<std::vector<Real>> & _pp;
64 
66  const MaterialProperty<std::vector<Real>> & _viscosity;
67 
69  const MaterialProperty<RealTensorValue> & _permeability;
70 
72  const MaterialProperty<std::vector<Real>> & _rel_perm;
73 
75  const MaterialProperty<std::vector<Real>> & _density;
76 };
77 
78 #endif
const MaterialProperty< std::vector< Real > > & _density
fluid density
InputParameters validParams< RichardsPiecewiseLinearSinkFlux >()
LinearInterpolation _sink_func
the sink function, which is a piecewise linear function of porepressure values
const MaterialProperty< std::vector< Real > > & _pp
porepressure values (only the _pvar component is used)
This holds maps between pressure_var or pressure_var, sat_var used in RichardsMaterial and kernels...
bool _use_mobility
whether to include density*permeability_nn/viscosity in the flux
const MaterialProperty< RealTensorValue > & _permeability
medium permeability
unsigned int _pvar
the index into _richards_name_UO corresponding to this Postprocessor&#39;s variable eg, if the richards names are &#39;pwater pgas poil pplasma&#39; and the variable of this Postprocessor is pgas, then _pvar=1
const MaterialProperty< std::vector< Real > > & _rel_perm
fluid relative permeability
bool _use_relperm
whether to include relative permeability in the flux
This postprocessor computes the fluid flux to a RichardsPiecewiseLinearSink.
Function & _m_func
the multiplier function
RichardsPiecewiseLinearSinkFlux(const InputParameters &parameters)
const MaterialProperty< std::vector< Real > > & _viscosity
fluid viscosity
const RichardsVarNames & _richards_name_UO
holds info regarding the Richards variable names, and their values in the simulation ...