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