18 InputParameters params = validParams<KernelGrad>();
19 params.addClassDescription(
"Anisotropic gradient energy Allen-Cahn Kernel Part 1");
20 params.addParam<MaterialPropertyName>(
"mob_name",
"L",
"The mobility used with the kernel");
21 params.addParam<MaterialPropertyName>(
"eps_name",
"eps",
"The anisotropic interface parameter");
22 params.addParam<MaterialPropertyName>(
25 "The derivative of the anisotropic interface parameter with respect to angle");
26 params.addParam<MaterialPropertyName>(
29 "The derivative of the anisotropic interface parameter eps with respect to grad_op");
30 params.addParam<MaterialPropertyName>(
31 "ddepsdgrad_op_name",
"ddepsdgrad_op",
"The derivative of deps with respect to grad_op");
32 params.addCoupledVar(
"args",
"Vector of nonlinear variable arguments this object depends on");
37 : DerivativeMaterialInterface<JvarMapKernelInterface<KernelGrad>>(parameters),
38 _L(getMaterialProperty<Real>(
"mob_name")),
39 _dLdop(getMaterialPropertyDerivative<Real>(
"mob_name", _var.
name())),
40 _eps(getMaterialProperty<Real>(
"eps_name")),
41 _deps(getMaterialProperty<Real>(
"deps_name")),
42 _depsdgrad_op(getMaterialProperty<
RealGradient>(
"depsdgrad_op_name")),
43 _ddepsdgrad_op(getMaterialProperty<
RealGradient>(
"ddepsdgrad_op_name"))
46 unsigned int nvar = _coupled_moose_vars.size();
54 for (
unsigned int i = 0; i < nvar; ++i)
56 const VariableName iname = _coupled_moose_vars[i]->name();
57 _dLdarg[i] = &getMaterialPropertyDerivative<Real>(
"mob_name", iname);
58 _depsdarg[i] = &getMaterialPropertyDerivative<Real>(
"eps_name", iname);
59 _ddepsdarg[i] = &getMaterialPropertyDerivative<Real>(
"deps_name", iname);
67 const RealGradient v(-_grad_u[_qp](1), _grad_u[_qp](0), 0);
77 const RealGradient v(-_grad_u[_qp](1), _grad_u[_qp](0), 0);
80 const RealGradient dv(-_grad_phi[_j][_qp](1), _grad_phi[_j][_qp](0), 0);
92 return _L[_qp] * (jac1 + jac2 + jac3);
99 const unsigned int cvar = mapJvarToCvar(jvar);
102 const RealGradient v(-_grad_u[_qp](1), _grad_u[_qp](0), 0);
106 _L[_qp] * (
_deps[_qp] * (*
_depsdarg[cvar])[_qp] * _phi[_j][_qp] * v * _grad_test[_i][_qp]);
108 _L[_qp] * (
_eps[_qp] * (*
_ddepsdarg[cvar])[_qp] * _phi[_j][_qp] * v * _grad_test[_i][_qp]);
109 dsum += (*
_dLdarg[cvar])[_qp] * _phi[_j][_qp] *
_eps[_qp] *
_deps[_qp] * v * _grad_test[_i][_qp];