18 InputParameters params = validParams<TimeDerivative>();
19 params.addClassDescription(
20 "A modified time derivative Kernel that multiplies the time derivative "
21 "of a variable by a generalized susceptibility");
22 params.addRequiredParam<MaterialPropertyName>(
23 "f_name",
"Susceptibility function F defined in a FunctionMaterial");
24 params.addCoupledVar(
"args",
"Vector of arguments of the susceptibility");
29 : DerivativeMaterialInterface<JvarMapKernelInterface<TimeDerivative>>(parameters),
30 _Chi(getMaterialProperty<Real>(
"f_name")),
31 _dChidu(getMaterialPropertyDerivative<Real>(
"f_name", _var.
name())),
32 _dChidarg(_coupled_moose_vars.size())
35 for (
unsigned int i = 0; i <
_dChidarg.size(); ++i)
36 _dChidarg[i] = &getMaterialPropertyDerivative<Real>(
"f_name", _coupled_moose_vars[i]->
name());
42 validateNonlinearCoupling<Real>(
"f_name");
48 return TimeDerivative::computeQpResidual() *
_Chi[_qp];
54 return TimeDerivative::computeQpJacobian() *
_Chi[_qp] +
55 TimeDerivative::computeQpResidual() *
_dChidu[_qp] * _phi[_j][_qp];
62 const unsigned int cvar = mapJvarToCvar(jvar);
64 return TimeDerivative::computeQpResidual() * (*
_dChidarg[cvar])[_qp] * _phi[_j][_qp];