www.mooseframework.org
RichardsPiecewiseLinearSinkFlux.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "SideIntegralVariablePostprocessor.h"
13 #include "LinearInterpolation.h"
14 #include "RichardsVarNames.h"
15 
16 class Function;
17 
18 // Forward Declarations
20 
21 template <>
23 
33 class RichardsPiecewiseLinearSinkFlux : public SideIntegralVariablePostprocessor
34 {
35 public:
36  RichardsPiecewiseLinearSinkFlux(const InputParameters & parameters);
37 
38 protected:
39  virtual Real computeQpIntegral();
40 
42  LinearInterpolation _sink_func;
43 
46 
49 
51  const Function & _m_func;
52 
55 
61  unsigned int _pvar;
62 
64  const MaterialProperty<std::vector<Real>> & _pp;
65 
67  const MaterialProperty<std::vector<Real>> & _viscosity;
68 
70  const MaterialProperty<RealTensorValue> & _permeability;
71 
73  const MaterialProperty<std::vector<Real>> & _rel_perm;
74 
76  const MaterialProperty<std::vector<Real>> & _density;
77 };
RichardsPiecewiseLinearSinkFlux::_m_func
const Function & _m_func
the multiplier function
Definition: RichardsPiecewiseLinearSinkFlux.h:51
validParams< RichardsPiecewiseLinearSinkFlux >
InputParameters validParams< RichardsPiecewiseLinearSinkFlux >()
Definition: RichardsPiecewiseLinearSinkFlux.C:19
RichardsPiecewiseLinearSinkFlux
This postprocessor computes the fluid flux to a RichardsPiecewiseLinearSink.
Definition: RichardsPiecewiseLinearSinkFlux.h:33
RichardsVarNames
This holds maps between pressure_var or pressure_var, sat_var used in RichardsMaterial and kernels,...
Definition: RichardsVarNames.h:25
RichardsPiecewiseLinearSinkFlux::_use_mobility
bool _use_mobility
whether to include density*permeability_nn/viscosity in the flux
Definition: RichardsPiecewiseLinearSinkFlux.h:45
RichardsPiecewiseLinearSinkFlux::_pvar
unsigned int _pvar
the index into _richards_name_UO corresponding to this Postprocessor's variable eg,...
Definition: RichardsPiecewiseLinearSinkFlux.h:61
RichardsPiecewiseLinearSinkFlux::computeQpIntegral
virtual Real computeQpIntegral()
Definition: RichardsPiecewiseLinearSinkFlux.C:78
RichardsPiecewiseLinearSinkFlux::RichardsPiecewiseLinearSinkFlux
RichardsPiecewiseLinearSinkFlux(const InputParameters &parameters)
Definition: RichardsPiecewiseLinearSinkFlux.C:55
RichardsVarNames.h
RichardsPiecewiseLinearSinkFlux::_richards_name_UO
const RichardsVarNames & _richards_name_UO
holds info regarding the Richards variable names, and their values in the simulation
Definition: RichardsPiecewiseLinearSinkFlux.h:54
RichardsPiecewiseLinearSinkFlux::_pp
const MaterialProperty< std::vector< Real > > & _pp
porepressure values (only the _pvar component is used)
Definition: RichardsPiecewiseLinearSinkFlux.h:64
RichardsPiecewiseLinearSinkFlux::_sink_func
LinearInterpolation _sink_func
the sink function, which is a piecewise linear function of porepressure values
Definition: RichardsPiecewiseLinearSinkFlux.h:42
RichardsPiecewiseLinearSinkFlux::_density
const MaterialProperty< std::vector< Real > > & _density
fluid density
Definition: RichardsPiecewiseLinearSinkFlux.h:76
RichardsPiecewiseLinearSinkFlux::_permeability
const MaterialProperty< RealTensorValue > & _permeability
medium permeability
Definition: RichardsPiecewiseLinearSinkFlux.h:70
RichardsPiecewiseLinearSinkFlux::_use_relperm
bool _use_relperm
whether to include relative permeability in the flux
Definition: RichardsPiecewiseLinearSinkFlux.h:48
RichardsPiecewiseLinearSinkFlux::_rel_perm
const MaterialProperty< std::vector< Real > > & _rel_perm
fluid relative permeability
Definition: RichardsPiecewiseLinearSinkFlux.h:73
RichardsPiecewiseLinearSinkFlux::_viscosity
const MaterialProperty< std::vector< Real > > & _viscosity
fluid viscosity
Definition: RichardsPiecewiseLinearSinkFlux.h:67