18 InputParameters params = validParams<KernelGrad>();
19 params.addClassDescription(
"Anisotropic Gradient energy Allen-Cahn Kernel Part 2");
20 params.addParam<MaterialPropertyName>(
"mob_name",
"L",
"The mobility used with the kernel");
21 params.addParam<MaterialPropertyName>(
"eps_name",
"eps",
"The anisotropic parameter");
22 params.addParam<MaterialPropertyName>(
25 "The derivative of the anisotropic interface parameter eps with respect to grad_op");
26 params.addCoupledVar(
"args",
"Vector of nonlinear variable arguments this object depends on");
31 : DerivativeMaterialInterface<JvarMapKernelInterface<KernelGrad>>(parameters),
32 _L(getMaterialProperty<Real>(
"mob_name")),
33 _dLdop(getMaterialPropertyDerivative<Real>(
"mob_name", _var.
name())),
34 _eps(getMaterialProperty<Real>(
"eps_name")),
35 _depsdgrad_op(getMaterialProperty<
RealGradient>(
"depsdgrad_op_name"))
38 unsigned int nvar = _coupled_moose_vars.size();
45 for (
unsigned int i = 0; i < nvar; ++i)
47 const VariableName iname = _coupled_moose_vars[i]->name();
48 _dLdarg[i] = &getMaterialPropertyDerivative<Real>(
"mob_name", iname);
49 _depsdarg[i] = &getMaterialPropertyDerivative<Real>(
"eps_name", iname);
57 return _eps[_qp] *
_eps[_qp] *
_L[_qp] * _grad_u[_qp];
68 (
_eps[_qp] *
_eps[_qp] * _grad_phi[_j][_qp] + 2.0 *
_eps[_qp] * depsdop_i * _grad_u[_qp]);
75 const unsigned int cvar = mapJvarToCvar(jvar);
78 Real dsum =
_L[_qp] * 2.0 *
_eps[_qp] * (*
_depsdarg[cvar])[_qp] * _phi[_j][_qp] * _grad_u[_qp] *
80 dsum +=
_eps[_qp] *
_eps[_qp] * (*
_dLdarg[cvar])[_qp] * _phi[_j][_qp] * _grad_u[_qp] *