13 #include "JvarMapInterface.h"
14 #include "DerivativeMaterialInterface.h"
17 template <
typename T =
void>
21 InputParameters validParams<SplitCHWResBase<>>();
30 class SplitCHWResBase :
public DerivativeMaterialInterface<JvarMapKernelInterface<Kernel>>
42 const MaterialProperty<T> &
_mob;
59 : DerivativeMaterialInterface<JvarMapKernelInterface<Kernel>>(parameters),
60 _mob_name(getParam<MaterialPropertyName>(
"mob_name")),
61 _mob(getMaterialProperty<T>(
"mob_name")),
62 _is_coupled(isCoupled(
"w")),
63 _w_var(_is_coupled ? coupled(
"w") : _var.number()),
64 _grad_w(_is_coupled ? coupledGradient(
"w") : _grad_u)
67 unsigned int nvar = _coupled_moose_vars.size();
73 for (
unsigned int i = 0; i < nvar; ++i)
81 return _mob[_qp] * _grad_w[_qp] * _grad_test[_i][_qp];
88 return (_is_coupled && _w_var != _var.number()) ? 0.0 : computeQpWJacobian();
95 return _mob[_qp] * _grad_phi[_j][_qp] * _grad_test[_i][_qp];
104 return computeQpWJacobian();
107 const unsigned int cvar = mapJvarToCvar(jvar);
109 return (*_dmobdarg[cvar])[_qp] * _phi[_j][_qp] * _grad_w[_qp] * _grad_test[_i][_qp];