19 params.
addParam<MaterialPropertyName>(
"mob_name",
"L",
"The mobility used with the kernel");
20 params.
addParam<MaterialPropertyName>(
"eps_name",
"eps",
"The anisotropic interface parameter");
21 params.
addParam<MaterialPropertyName>(
24 "The derivative of the anisotropic interface parameter with respect to angle");
25 params.
addParam<MaterialPropertyName>(
28 "The derivative of the anisotropic interface parameter eps with respect to grad_op");
29 params.
addParam<MaterialPropertyName>(
30 "ddepsdgrad_op_name",
"ddepsdgrad_op",
"The derivative of deps with respect to grad_op");
36 _L(getMaterialProperty<Real>(
"mob_name")),
37 _dLdop(getMaterialPropertyDerivative<Real>(
"mob_name", _var.
name())),
38 _eps(getMaterialProperty<Real>(
"eps_name")),
39 _deps(getMaterialProperty<Real>(
"deps_name")),
40 _depsdgrad_op(getMaterialProperty<RealGradient>(
"depsdgrad_op_name")),
41 _ddepsdgrad_op(getMaterialProperty<RealGradient>(
"ddepsdgrad_op_name"))
49 for (
unsigned int i = 0; i < _n_args; ++i)
51 _dLdarg[i] = &getMaterialPropertyDerivative<Real>(
"mob_name", i);
52 _depsdarg[i] = &getMaterialPropertyDerivative<Real>(
"eps_name", i);
53 _ddepsdarg[i] = &getMaterialPropertyDerivative<Real>(
"deps_name", i);
61 const RealGradient
v(-_grad_u[_qp](1), _grad_u[_qp](0), 0);
71 const RealGradient
v(-_grad_u[_qp](1), _grad_u[_qp](0), 0);
74 const RealGradient dv(-_grad_phi[_j][_qp](1), _grad_phi[_j][_qp](0), 0);
81 RealGradient jac1 =
_eps[_qp] *
_deps[_qp] * dv;
82 RealGradient jac2 =
_deps[_qp] * depsdop_i *
v;
83 RealGradient jac3 =
_eps[_qp] * ddepsdop_i *
v;
85 return _L[_qp] * (jac1 + jac2 + jac3);
92 const unsigned int cvar = mapJvarToCvar(jvar);
95 const RealGradient
v(-_grad_u[_qp](1), _grad_u[_qp](0), 0);
99 _L[_qp] * (
_deps[_qp] * (*
_depsdarg[cvar])[_qp] * _phi[_j][_qp] *
v * _grad_test[_i][_qp]);
101 _L[_qp] * (
_eps[_qp] * (*
_ddepsdarg[cvar])[_qp] * _phi[_j][_qp] *
v * _grad_test[_i][_qp]);
102 dsum += (*
_dLdarg[cvar])[_qp] * _phi[_j][_qp] *
_eps[_qp] *
_deps[_qp] *
v * _grad_test[_i][_qp];
registerMooseObject("PhaseFieldApp", ACInterfaceKobayashi1)
Kernel 1 of 2 for interfacial energy anisotropy in the Allen-Cahn equation as implemented in R.
virtual RealGradient precomputeQpJacobian()
const MaterialProperty< Real > & _eps
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
virtual RealGradient precomputeQpResidual()
Enum of computeDFDOP inputs.
const MaterialProperty< RealGradient > & _ddepsdgrad_op
const MaterialProperty< RealGradient > & _depsdgrad_op
ACInterfaceKobayashi1(const InputParameters ¶meters)
static InputParameters validParams()
const MaterialProperty< Real > & _deps
const MaterialProperty< Real > & _L
Mobility.
std::vector< const MaterialProperty< Real > * > _dLdarg
Mobility derivative w.r.t. other coupled variables.
std::vector< const MaterialProperty< Real > * > _ddepsdarg
std::vector< const MaterialProperty< Real > * > _depsdarg
static InputParameters validParams()