22 "SLKKS model kernel to enforce the pointwise equality of sublattice chemical " 23 "potentials in the same phase.");
27 params.
addRequiredParam<MaterialPropertyName>(
"F",
"Base name of the free energy function");
28 params.
addCoupledVar(
"args",
"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"))
52 for (std::size_t i = 0; i < nvar; ++i)
67 validateNonlinearCoupling<Real>(
"F");
static InputParameters validParams()
static InputParameters validParams()
virtual Real computeQpJacobian()
Enforce the equality of the chemical potentials in sublattices of the same phase D.
const std::string & name() const override
const Real _a_u
sublattice site fractions
const MaterialProperty< Real > & _dFdu
chemical potentials and their derivatives w.r.t. the two sublattice concentrations ...
virtual void initialSetup()
const VariableTestValue & _test
const MaterialProperty< Real > & _dFdcs
const MaterialProperty< Real > & _d2Fdcsu
registerMooseObject("PhaseFieldApp", SLKKSChemicalPotential)
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
const MaterialProperty< Real > & _d2Fdu2
unsigned int mapJvarToCvar(unsigned int jvar)
std::vector< MooseVariableFieldBase *> _coupled_moose_vars
SLKKSChemicalPotential(const InputParameters ¶meters)
virtual Real computeQpResidual()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< const MaterialProperty< Real > * > _d2Fdudarg
free energy derivatives
const VariablePhiValue & _phi
std::vector< const MaterialProperty< Real > * > _d2Fdcsdarg