19 "Concentration kernel in Split Cahn-Hilliard that solves chemical potential in a weak form");
20 params.
addRequiredParam<MaterialPropertyName>(
"mobility",
"Mobility property name");
27 _mobility_name(getParam<MaterialPropertyName>(
"mobility")),
28 _mobility(getMaterialProperty<RealTensorValue>(_mobility_name)),
29 _dmobility_dc(getMaterialPropertyDerivative<RealTensorValue>(_mobility_name,
name())),
30 _mu_var(coupled(
"chemical_potential_var")),
31 _grad_mu(coupledGradient(
"chemical_potential_var"))
39 return _grad_test[_i][_qp] *
a;
46 return _grad_test[_i][_qp] *
a * _phi[_j][_qp];
54 const RealVectorValue
a =
_mobility[_qp] * _grad_phi[_j][_qp];
55 return _grad_test[_i][_qp] *
a;
registerMooseObject("PhaseFieldApp", CHSplitConcentration)
Solves Cahn-Hilliard equation using chemical potential as non-linear variable.
virtual Real computeQpResidual()
virtual Real computeQpOffDiagJacobian(unsigned int)
const MaterialProperty< RealTensorValue > & _dmobility_dc
CHSplitConcentration(const InputParameters ¶meters)
const unsigned int _mu_var
Chemical potential variable.
virtual Real computeQpJacobian()
const MaterialProperty< RealTensorValue > & _mobility
static InputParameters validParams()
const VariableGradient & _grad_mu
static InputParameters validParams()