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