www.mooseframework.org
RichardsMassChange.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 RICHARDSMASSCHANGE
9 #define RICHARDSMASSCHANGE
10 
11 #include "TimeDerivative.h"
12 #include "RichardsVarNames.h"
13 
14 // Forward Declarations
15 class RichardsMassChange;
16 
17 template <>
18 InputParameters validParams<RichardsMassChange>();
19 
26 class RichardsMassChange : public TimeDerivative
27 {
28 public:
29  RichardsMassChange(const InputParameters & parameters);
30 
31 protected:
32  virtual Real computeQpResidual();
33 
34  virtual Real computeQpJacobian();
35 
36  virtual Real computeQpOffDiagJacobian(unsigned int jvar);
37 
40 
46  unsigned int _pvar;
47 
49  bool _use_supg;
50 
52  const MaterialProperty<std::vector<Real>> & _mass;
53 
55  const MaterialProperty<std::vector<std::vector<Real>>> & _dmass;
56 
58  const MaterialProperty<std::vector<Real>> & _mass_old;
59 
61  const MaterialProperty<std::vector<RealVectorValue>> & _tauvel_SUPG;
62 
64  const MaterialProperty<std::vector<std::vector<RealTensorValue>>> & _dtauvel_SUPG_dgradv;
65 
67  const MaterialProperty<std::vector<std::vector<RealVectorValue>>> & _dtauvel_SUPG_dv;
68 
74  Real computeQpJac(unsigned int wrt_num);
75 };
76 
77 #endif // RICHARDSMASSCHANGE
virtual Real computeQpResidual()
const MaterialProperty< std::vector< std::vector< Real > > > & _dmass
d(fluid mass_i)/d(var_j)
const MaterialProperty< std::vector< Real > > & _mass
fluid mass (or fluid masses in multiphase) at quadpoints
bool _use_supg
whether to use SUPG for this kernel (not recommended)
const MaterialProperty< std::vector< std::vector< RealVectorValue > > > & _dtauvel_SUPG_dv
deriv of tau_SUPG wrt variable
This holds maps between pressure_var or pressure_var, sat_var used in RichardsMaterial and kernels...
const MaterialProperty< std::vector< RealVectorValue > > & _tauvel_SUPG
tau_SUPG
const MaterialProperty< std::vector< std::vector< RealTensorValue > > > & _dtauvel_SUPG_dgradv
derivative of tau_SUPG wrt grad(variable)
Kernel = (mass - mass_old)/dt where mass = porosity*density*saturation This is used for the time deri...
const MaterialProperty< std::vector< Real > > & _mass_old
old value of fluid mass (or fluid masses in multiphase) at quadpoints
unsigned int _pvar
the Richards variable number eg, if richards name = &#39;pwater pgas poil&#39;, and this kernel is for pgas...
const RichardsVarNames & _richards_name_UO
holds info on the Richards variables
virtual Real computeQpJacobian()
Real computeQpJac(unsigned int wrt_num)
Derivative of residual with respect to wrt_num Richards variable This is used by both computeQpJacobi...
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
InputParameters validParams< RichardsMassChange >()
RichardsMassChange(const InputParameters &parameters)