22 "SLKKS model kernel to enforce the pointwise equality of sublattice chemical "
23 "potentials in the same phase.");
25 params.
addRequiredParam<Real>(
"a",
"sublattice site fraction for the kernel variable");
26 params.
addRequiredParam<Real>(
"as",
"other sublattice site fraction in the same phase");
27 params.
addRequiredParam<MaterialPropertyName>(
"F",
"Base name of the free energy function");
29 "Vector of variable arguments to the free energy function");
36 _cs_var(coupled(
"cs")),
37 _cs_name(coupledName(
"cs", 0)),
39 _dFdu(getMaterialPropertyDerivative<Real>(
"F", _var.
name())),
40 _dFdcs(getMaterialPropertyDerivative<Real>(
"F", _cs_name)),
42 _d2Fdu2(getMaterialPropertyDerivative<Real>(
"F", _var.
name(), _var.
name())),
43 _d2Fdcsu(getMaterialPropertyDerivative<Real>(
"F", _cs_name, _var.
name())),
45 _a_u(getParam<Real>(
"a")),
46 _a_cs(getParam<Real>(
"as"))
48 const auto nvar = _coupled_moose_vars.size();
52 for (std::size_t i = 0; i < nvar; ++i)
55 const auto & arg_name = _coupled_moose_vars[i]->
name();
59 _d2Fdudarg[i] = &getMaterialPropertyDerivative<Real>(
"F", _var.name(), arg_name);
67 validateNonlinearCoupling<Real>(
"F");
86 const unsigned int cvar = mapJvarToCvar(jvar);
88 return _test[_i][_qp] * _phi[_j][_qp] *
registerMooseObject("PhaseFieldApp", SLKKSChemicalPotential)
static InputParameters validParams()
const std::string & name() const
Enforce the equality of the chemical potentials in sublattices of the same phase D.
virtual void initialSetup()
SLKKSChemicalPotential(const InputParameters ¶meters)
std::vector< const MaterialProperty< Real > * > _d2Fdudarg
free energy derivatives
std::vector< const MaterialProperty< Real > * > _d2Fdcsdarg
static InputParameters validParams()
virtual Real computeQpResidual()
const Real _a_u
sublattice site fractions
const MaterialProperty< Real > & _d2Fdu2
virtual Real computeQpJacobian()
const MaterialProperty< Real > & _dFdu
chemical potentials and their derivatives w.r.t. the two sublattice concentrations
const MaterialProperty< Real > & _dFdcs
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
const MaterialProperty< Real > & _d2Fdcsu