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().
1.8.16