16 params.
addClassDescription(
"Multi-order parameter KKS model kernel for the Bulk Allen-Cahn. This " 17 "operates on one of the order parameters 'eta_i' as the non-linear " 20 "Fj_names",
"List of free energies for each phase. Place in same order as hj_names!");
22 "hj_names",
"Switching Function Materials that provide h. Place in same order as Fj_names!");
24 "Order parameter that derivatives are taken with respect to");
30 _etai_name(coupledName(
"eta_i", 0)),
31 _etai_var(coupled(
"eta_i", 0)),
32 _Fj_names(getParam<
std::vector<MaterialPropertyName>>(
"Fj_names")),
33 _num_j(_Fj_names.size()),
35 _prop_dFjdarg(_num_j),
36 _hj_names(getParam<
std::vector<MaterialPropertyName>>(
"hj_names")),
38 _prop_dhjdetai(_num_j),
39 _prop_d2hjdetai2(_num_j),
40 _prop_d2hjdetaidarg(_num_j)
44 paramError(
"hj_names",
"Need to pass in as many hj_names as Fj_names");
47 for (
unsigned int n = 0; n <
_num_j; ++n)
60 for (
unsigned int i = 0; i < _n_args; ++i)
76 for (
unsigned int n = 0; n <
_num_j; ++n)
78 validateNonlinearCoupling<Real>(
_Fj_names[n]);
79 validateNonlinearCoupling<Real>(
_hj_names[n]);
virtual void initialSetup()
std::vector< MaterialPropertyName > _Fj_names
Names of free energy functions for each phase .
std::vector< std::vector< const MaterialProperty< Real > * > > _prop_d2hjdetaidarg
Second derivatives of the switching functions (needed for off-diagonal Jacobians) ...
This is the Allen-Cahn equation base class that implements the bulk or local energy term of the equat...
std::vector< const MaterialProperty< Real > * > _prop_dhjdetai
Derivatives of the switching functions wrt the order parameter for this kernel.
std::vector< MaterialPropertyName > _hj_names
switching function names
std::vector< const MaterialProperty< Real > * > _prop_hj
Values of the switching functions for each phase .
static InputParameters validParams()
virtual void initialSetup()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
std::vector< const MaterialProperty< Real > * > _prop_Fj
Values of the free energy functions for each phase .
std::vector< const MaterialProperty< Real > * > _prop_d2hjdetai2
Second derivatives of the switching functions wrt the order parameter for this kernel.
VariableName _etai_name
name of order parameter that derivatives are taken wrt (needed to retrieve the derivative material pr...
KKSMultiACBulkBase(const InputParameters ¶meters)
static InputParameters validParams()
std::vector< std::vector< const MaterialProperty< Real > * > > _prop_dFjdarg
Derivatives of the free energy functions (needed for off-diagonal Jacobians)