Kernel = grad(permeability*relativepermeability/viscosity * (grad(pressure) - density*gravity)) This is mass flow according to the Richards equation. More...
#include <RichardsFlux.h>
Public Member Functions | |
RichardsFlux (const InputParameters ¶meters) | |
Protected Member Functions | |
virtual Real | computeQpResidual () |
virtual Real | computeQpJacobian () |
virtual Real | computeQpOffDiagJacobian (unsigned int jvar) |
Real | computeQpJac (unsigned int wrt_num) |
Computes diagonal and off-diagonal jacobian entries. More... | |
Protected Attributes | |
const RichardsVarNames & | _richards_name_UO |
holds info regarding the names of the Richards variables and methods for extracting values of these variables More... | |
unsigned int | _pvar |
the index of this variable in the list of Richards variables held by _richards_name_UO. More... | |
const MaterialProperty< std::vector< RealVectorValue > > & | _flux |
Richards flux. More... | |
const MaterialProperty< std::vector< std::vector< RealVectorValue > > > & | _dflux_dv |
d(Richards flux_i)/d(variable_j), here flux_i is the i_th flux, which is itself a RealVectorValue More... | |
const MaterialProperty< std::vector< std::vector< RealTensorValue > > > & | _dflux_dgradv |
d(Richards flux_i)/d(grad(variable_j)), here flux_i is the i_th flux, which is itself a RealVectorValue More... | |
const MaterialProperty< std::vector< std::vector< std::vector< RealVectorValue > > > > & | _d2flux_dvdv |
d^2(Richards flux_i)/d(variable_j)/d(variable_k), here flux_i is the i_th flux, which is itself a RealVectorValue More... | |
const MaterialProperty< std::vector< std::vector< std::vector< RealTensorValue > > > > & | _d2flux_dgradvdv |
d^2(Richards flux_i)/d(grad(variable_j))/d(variable_k), here flux_i is the i_th flux, which is itself a RealVectorValue More... | |
const MaterialProperty< std::vector< std::vector< std::vector< RealTensorValue > > > > & | _d2flux_dvdgradv |
d^2(Richards flux_i)/d(variable_j)/d(grad(variable_k)), here flux_i is the i_th flux, which is itself a RealVectorValue More... | |
const VariableSecond & | _second_u |
grad_i grad_j porepressure. This is used in SUPG More... | |
const VariablePhiSecond & | _second_phi |
interpolation function for the _second_u More... | |
const MaterialProperty< std::vector< RealVectorValue > > & | _tauvel_SUPG |
SUPGtau*SUPGvel (a vector of these if multiphase) More... | |
const MaterialProperty< std::vector< std::vector< RealTensorValue > > > & | _dtauvel_SUPG_dgradv |
derivative of SUPGtau*SUPGvel_i wrt grad(variable_j) More... | |
const MaterialProperty< std::vector< std::vector< RealVectorValue > > > & | _dtauvel_SUPG_dv |
derivative of SUPGtau*SUPGvel_i wrt variable_j More... | |
Kernel = grad(permeability*relativepermeability/viscosity * (grad(pressure) - density*gravity)) This is mass flow according to the Richards equation.
Definition at line 25 of file RichardsFlux.h.
RichardsFlux::RichardsFlux | ( | const InputParameters & | parameters | ) |
Definition at line 35 of file RichardsFlux.C.
|
protected |
Computes diagonal and off-diagonal jacobian entries.
Since the code is almost identical for both cases it's better to use just one function
wrt_num | take the derivative of the residual wrt this richards variable |
Definition at line 87 of file RichardsFlux.C.
Referenced by computeQpJacobian(), and computeQpOffDiagJacobian().
|
protectedvirtual |
Definition at line 120 of file RichardsFlux.C.
|
protectedvirtual |
Definition at line 126 of file RichardsFlux.C.
|
protectedvirtual |
Definition at line 65 of file RichardsFlux.C.
|
protected |
d^2(Richards flux_i)/d(grad(variable_j))/d(variable_k), here flux_i is the i_th flux, which is itself a RealVectorValue
Definition at line 65 of file RichardsFlux.h.
Referenced by computeQpJac().
|
protected |
d^2(Richards flux_i)/d(variable_j)/d(grad(variable_k)), here flux_i is the i_th flux, which is itself a RealVectorValue
Definition at line 68 of file RichardsFlux.h.
Referenced by computeQpJac().
|
protected |
d^2(Richards flux_i)/d(variable_j)/d(variable_k), here flux_i is the i_th flux, which is itself a RealVectorValue
Definition at line 62 of file RichardsFlux.h.
Referenced by computeQpJac().
|
protected |
d(Richards flux_i)/d(grad(variable_j)), here flux_i is the i_th flux, which is itself a RealVectorValue
Definition at line 59 of file RichardsFlux.h.
Referenced by computeQpJac(), and computeQpResidual().
|
protected |
d(Richards flux_i)/d(variable_j), here flux_i is the i_th flux, which is itself a RealVectorValue
Definition at line 56 of file RichardsFlux.h.
Referenced by computeQpJac(), and computeQpResidual().
|
protected |
derivative of SUPGtau*SUPGvel_i wrt grad(variable_j)
Definition at line 80 of file RichardsFlux.h.
Referenced by computeQpJac().
|
protected |
derivative of SUPGtau*SUPGvel_i wrt variable_j
Definition at line 83 of file RichardsFlux.h.
Referenced by computeQpJac().
|
protected |
|
protected |
the index of this variable in the list of Richards variables held by _richards_name_UO.
Eg if richards_vars = 'pwater pgas poil' in the _richards_name_UO and this kernel has variable = pgas, then _pvar = 1 This is used to index correctly into _viscosity, _seff, etc
Definition at line 50 of file RichardsFlux.h.
Referenced by computeQpJac(), computeQpJacobian(), and computeQpResidual().
|
protected |
holds info regarding the names of the Richards variables and methods for extracting values of these variables
Definition at line 41 of file RichardsFlux.h.
Referenced by computeQpOffDiagJacobian().
|
protected |
interpolation function for the _second_u
Definition at line 74 of file RichardsFlux.h.
Referenced by computeQpJac().
|
protected |
grad_i grad_j porepressure. This is used in SUPG
Definition at line 71 of file RichardsFlux.h.
Referenced by computeQpJac(), and computeQpResidual().
|
protected |
SUPGtau*SUPGvel (a vector of these if multiphase)
Definition at line 77 of file RichardsFlux.h.
Referenced by computeQpJac(), and computeQpResidual().