18 InputParameters params = validParams<Kernel>();
19 params.addClassDescription(
20 "Concentration kernel in Split Cahn-Hilliard that solves chemical potential in a weak form");
21 params.addRequiredParam<MaterialPropertyName>(
"mobility",
"Mobility property name");
22 params.addRequiredCoupledVar(
"chemical_potential_var",
"Chemical potential variable");
27 : DerivativeMaterialInterface<Kernel>(parameters),
28 _mobility_name(getParam<MaterialPropertyName>(
"mobility")),
29 _mobility(getMaterialProperty<RealTensorValue>(_mobility_name)),
30 _dmobility_dc(getMaterialPropertyDerivative<RealTensorValue>(_mobility_name,
name())),
31 _mu_var(coupled(
"chemical_potential_var")),
32 _grad_mu(coupledGradient(
"chemical_potential_var"))
40 return _grad_test[_i][_qp] * a;
47 return _grad_test[_i][_qp] * a * _phi[_j][_qp];
55 const RealVectorValue a =
_mobility[_qp] * _grad_phi[_j][_qp];
56 return _grad_test[_i][_qp] * a;