Go to the documentation of this file.
64 using Kernel::computeOffDiagJacobian;
79 void upwind(
bool compute_res,
bool compute_jac,
unsigned int jvar);
88 const VariableValue &
_sat;
100 const MaterialProperty<RealVectorValue> &
_gravity;
Base class for Richards relative permeability classes that provide relative permeability as a functio...
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...
virtual void computeResidual() override
This simply calls upwind.
This is a fully upwinded flux Kernel The Variable of this Kernel should be the porepressure.
std::vector< Real > _mobility
nodal values of mobility = density*relperm/viscosity These are multiplied by _flux_no_mob to give the...
const RichardsRelPerm & _relperm
fluid relative permeability
unsigned int _sat_var
variable number of the saturation variable
Real _viscosity
fluid viscosity
std::vector< Real > _dmobility_ds
d(_mobility)/d(saturation) These are used in the jacobian calculations
const MaterialProperty< RealVectorValue > & _gravity
gravity
const MaterialProperty< RealTensorValue > & _permeability
permeability
void prepareNodalValues()
calculates the nodal values of mobility, and derivatives thereof
virtual void computeOffDiagJacobian(MooseVariableFEBase &jvar) override
this simply calls upwind
virtual Real computeQpResidual() override
Note that this is not the complete residual for the quadpoint In computeResidual we sum over the quad...
const RichardsDensity & _density
fluid density
Base class for fluid density as a function of porepressure The functions density, ddensity and d2dens...
const VariableValue & _sat
saturation at the nodes
unsigned int _num_nodes
number of nodes in the element
virtual void computeJacobian() override
this simply calls upwind
InputParameters validParams< Q2PPorepressureFlux >()
Real computeQpJac(unsigned int dvar)
the derivative of the flux without the upstream mobility terms
Q2PPorepressureFlux(const InputParameters ¶meters)
std::vector< Real > _dmobility_dp
d(_mobility)/d(porepressure) These are used in the jacobian calculations