Go to the documentation of this file.
65 using Kernel::computeOffDiagJacobian;
77 void upwind(
bool compute_res,
bool compute_jac,
unsigned int jvar);
std::vector< const VariableValue * > _ps_at_nodes
Holds the values of pressures at all the nodes of the element Eg: _ps_at_nodes[_pvar] is a pointer to...
Base class for Richards relative permeability classes that provide relative permeability as a functio...
unsigned int _num_p
number of richards variables
This holds maps between pressure_var or pressure_var, sat_var used in RichardsMaterial and kernels,...
Base class for effective saturation as a function of porepressure(s) The functions seff,...
std::vector< std::vector< Real > > _dmobility_dv
d(_mobility)/d(variable_ph) (variable_ph is the variable for phase=ph) These are used in the jacobian...
virtual Real computeQpResidual() override
Note that this is not the complete residual for the quadpoint In computeResidual we sum over the quad...
const MaterialProperty< std::vector< std::vector< RealVectorValue > > > & _dflux_no_mob_dv
d(_flux_no_mob)/d(variable)
This is a fully upwinded version of RichardsFlux.
virtual void computeOffDiagJacobian(MooseVariableFEBase &jvar) override
this simply calls upwind
const RichardsRelPerm & _relperm_UO
user object defining the relative permeability
Real computeQpJac(unsigned int dvar)
the derivative of the flux without the upstream mobility terms
unsigned int _num_nodes
number of nodes in this element
const RichardsVarNames & _richards_name_UO
holds info regarding the names of the Richards variables and methods for extracting values of these v...
const RichardsSeff & _seff_UO
user object defining the effective saturation
const MaterialProperty< std::vector< Real > > & _viscosity
viscosities
void upwind(bool compute_res, bool compute_jac, unsigned int jvar)
Do the upwinding for both the residual and jacobian I've put both calculations in the same code to tr...
RichardsFullyUpwindFlux(const InputParameters ¶meters)
Base class for fluid density as a function of porepressure The functions density, ddensity and d2dens...
void prepareNodalValues()
calculates the nodal values of mobility, and derivatives thereof
unsigned int _pvar
the index of this variable in the list of Richards variables held by _richards_name_UO.
const MaterialProperty< std::vector< RealVectorValue > > & _flux_no_mob
permeability*(grad(pressure) - density*gravity) (a vector of these in the multiphase case)
InputParameters validParams< RichardsFullyUpwindFlux >()
virtual void computeResidual() override
This simply calls upwind.
std::vector< Real > _mobility
nodal values of mobility = density*relperm/viscosity These are multiplied by _flux_no_mob to give the...
const MaterialProperty< std::vector< std::vector< RealTensorValue > > > & _dflux_no_mob_dgradv
d(_flux_no_mob)/d(grad(variable))
const RichardsDensity & _density_UO
user object defining the density