22 InputParameters parameters = validParams<Action>();
23 parameters.addClassDescription(
24 "Automatically generate most or all of the kernels for the grand potential model");
25 parameters.addRequiredParam<std::vector<NonlinearVariableName>>(
26 "chemical_potentials",
"List of chemical potential variables");
27 parameters.addRequiredParam<std::vector<MaterialPropertyName>>(
28 "susceptibilities",
"List of susceptibilities that correspond to chemical_potentials");
29 parameters.addRequiredParam<std::vector<MaterialPropertyName>>(
31 "List of free energies for each phase. Place in same order as switching_function_names.");
32 parameters.addRequiredParam<std::vector<MaterialPropertyName>>(
34 "List of functions for each phase. Length should be length of chemical_potentials * length "
35 "of switching_function_names.");
36 parameters.addRequiredParam<std::vector<MaterialPropertyName>>(
37 "switching_function_names",
38 "Switching function materials that provide switching function for free_energies_*.");
39 parameters.addRequiredParam<std::vector<MaterialPropertyName>>(
40 "mobilities",
"Vector of mobilities that must match chemical_potentials");
41 parameters.addRequiredParam<
unsigned int>(
"op_num",
"specifies the number of grains to create");
42 parameters.addRequiredParam<std::string>(
"var_name_base",
43 "specifies the base name of the grain variables");
44 parameters.addParam<std::vector<NonlinearVariableName>>(
45 "additional_ops",
"List of any additional order parameters which are not grains");
46 parameters.addParam<std::vector<MaterialPropertyName>>(
"free_energies_op",
47 "List of free energies used by additional "
48 "order parameters. Places in same order "
49 "as switching_function_names.");
50 parameters.addParam<MaterialPropertyName>(
"kappa_gr",
"kappa",
"The kappa used with the grains");
51 parameters.addParam<MaterialPropertyName>(
52 "kappa_op",
"kappa",
"The kappa used with additional_ops");
53 parameters.addParam<MaterialPropertyName>(
54 "gamma_gr",
"gamma",
"Name of the gamma used with grains");
55 parameters.addParam<MaterialPropertyName>(
56 "gamma_op",
"gamma",
"Name of the gamma used with additional order parameters");
57 parameters.addParam<MaterialPropertyName>(
60 "Name of the gamma used when grains interact with other order parameters");
61 parameters.addParam<MaterialPropertyName>(
62 "mobility_name_gr",
"L",
"Name of mobility to be used with grains");
63 parameters.addParam<MaterialPropertyName>(
64 "mobility_name_op",
"L",
"Name of mobility to be used with additional_ops");
65 parameters.addParam<
bool>(
"implicit",
true,
"Whether kernels are implicit or not");
66 parameters.addParam<
bool>(
67 "use_displaced_mesh",
false,
"Whether to use displaced mesh in the kernels");
68 MultiMooseEnum anisotropy(
"true=1 false=0",
"false");
69 parameters.addRequiredParam<MultiMooseEnum>(
70 "anisotropic", anisotropy,
"Whether or not each mobility is anisotropic");