Go to the documentation of this file.
20 InputParameters params = validParams<AuxKernel>();
21 params.addRequiredCoupledVar(
"pressure_vars",
"List of variables that represent the pressure");
22 params.addRequiredParam<
int>(
24 "This aux kernel will return d(seff)/dP_wrtnum. 0<=wrtnum<number_of_pressure_vars.");
25 params.addRequiredParam<UserObjectName>(
"seff_UO",
26 "Name of user object that defines effective saturation.");
27 params.addClassDescription(
"auxillary variable which is effective saturation");
32 : AuxKernel(parameters),
34 _wrt1(getParam<int>(
"wrtnum"))
36 int n = coupledComponents(
"pressure_vars");
37 if (_wrt1 < 0 || _wrt1 >= n)
38 mooseError(
"Your wrtnum is ",
_wrt1,
" but it must obey 0 <= wrtnum < ", n,
".");
41 for (
int i = 0; i < n; ++i)
int _wrt1
AuxKernel calculates d^2(Seff)/dP_wrt1 so wrt1 is the porepressure number to differentiate wrt to.
RichardsSeffPrimeAux(const InputParameters ¶meters)
Calculates derivative of effective saturation wrt a specified porepressure.
InputParameters validParams< RichardsSeffPrimeAux >()
const RichardsSeff & _seff_UO
The user object that defines effective saturation as function of porepressure (or porepressures in th...
virtual void dseff(std::vector< const VariableValue * > p, unsigned int qp, std::vector< Real > &result) const =0
derivative(s) of effective saturation as a function of porepressure(s) at given quadpoint of the elem...
Base class for effective saturation as a function of porepressure(s) The functions seff,...
std::vector< const VariableValue * > _pressure_vals
the porepressure values (this will be length N where N is the number of arguments that the _seff_UO r...
virtual Real computeValue()
registerMooseObject("RichardsApp", RichardsSeffPrimeAux)
std::vector< Real > _mat
array of derivtives: This auxkernel returns _mat[_wrt1]