19 params.addClassDescription(
20 "Split formulation Cahn-Hilliard Kernel that uses a DerivativeMaterial Free Energy");
21 params.addRequiredParam<MaterialPropertyName>(
22 "f_name",
"Base name of the free energy function F defined in a DerivativeParsedMaterial");
23 params.addCoupledVar(
"args",
"Vector of additional arguments to F");
28 : DerivativeMaterialInterface<JvarMapKernelInterface<
SplitCHCRes>>(parameters),
29 _nvar(_coupled_moose_vars.size()),
30 _dFdc(getMaterialPropertyDerivative<Real>(
"f_name", _var.
name())),
31 _d2Fdc2(getMaterialPropertyDerivative<Real>(
"f_name", _var.
name(), _var.
name()))
37 for (
unsigned int i = 0; i <
_nvar; ++i)
39 &getMaterialPropertyDerivative<Real>(
"f_name", _var.name(), _coupled_moose_vars[i]->name());
50 validateNonlinearCoupling<Real>(
"f_name", _var.name());
51 validateDerivativeMaterialPropertyBase<Real>(
"f_name");
63 return _d2Fdc2[_qp] * _phi[_j][_qp];
66 mooseError(
"Internal error");
76 const unsigned int cvar = mapJvarToCvar(jvar);
78 return (*
_d2Fdcdarg[cvar])[_qp] * _phi[_j][_qp] * _test[_i][_qp];