www.mooseframework.org
RichardsHalfGaussianSinkFlux.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 RICHARDSHALFGAUSSIANSINKFLUX_H
9 #define RICHARDSHALFGAUSSIANSINKFLUX_H
10 
11 #include "SideIntegralVariablePostprocessor.h"
12 #include "RichardsVarNames.h"
13 
14 class Function;
15 
16 // Forward Declarations
18 
19 template <>
21 
29 class RichardsHalfGaussianSinkFlux : public SideIntegralVariablePostprocessor
30 {
31 public:
32  RichardsHalfGaussianSinkFlux(const InputParameters & parameters);
33 
34 protected:
35  virtual Real computeQpIntegral();
36 
37  FEProblemBase & _feproblem;
38 
40  Real _maximum;
41 
43  Real _sd;
44 
46  Real _centre;
47 
53 
61  unsigned int _pvar;
62 
64  Function & _m_func;
65 
67  const MaterialProperty<std::vector<Real>> & _pp;
68 };
69 
70 #endif
InputParameters validParams< RichardsHalfGaussianSinkFlux >()
const RichardsVarNames & _richards_name_UO
holds info regarding the names of the Richards variables and methods for extracting values of these v...
This holds maps between pressure_var or pressure_var, sat_var used in RichardsMaterial and kernels...
Real _maximum
flux out = max*exp((-0.5*(p - centre)/sd)^2) for p<centre, and flux out = max otherwise ...
Postprocessor that records the mass flux from porespace to a half-gaussian sink.
RichardsHalfGaussianSinkFlux(const InputParameters &parameters)
const MaterialProperty< std::vector< Real > > & _pp
porepressure (or porepressure vector for multiphase problems)
Real _centre
flux out = max*exp((-0.5*(p - centre)/sd)^2) for p<centre, and flux out = max otherwise ...
unsigned int _pvar
the index of this variable in the list of Richards variables held by _richards_name_UO.
Function & _m_func
the multiplier function
Real _sd
flux out = max*exp((-0.5*(p - centre)/sd)^2) for p<centre, and flux out = max otherwise ...