77 if (_current_task ==
"add_variable")
79 auto type = AddVariableAction::determineType(
_fe_type, 1);
80 auto var_params = _factory.getValidParams(type);
82 var_params.applySpecificParameters(_pars, {
"family",
"order"});
83 var_params.set<std::vector<Real>>(
"scaling") = {getParam<Real>(
"scaling")};
86 _problem->addVariable(type,
_var_name, var_params);
92 else if (_current_task ==
"add_kernel")
95 std::string kernel_type =
"TimeDerivative";
97 std::string kernel_name =
_var_name +
"_" + kernel_type;
98 InputParameters params1 = _factory.getValidParams(kernel_type);
99 params1.set<NonlinearVariableName>(
"variable") =
_var_name;
100 params1.applyParameters(parameters());
102 _problem->addKernel(kernel_type, kernel_name, params1);
105 kernel_type =
"AllenCahn";
107 kernel_name =
_var_name +
"_" + kernel_type;
108 InputParameters params2 = _factory.getValidParams(kernel_type);
109 params2.set<NonlinearVariableName>(
"variable") =
_var_name;
110 params2.set<MaterialPropertyName>(
"mob_name") = getParam<MaterialPropertyName>(
"mobility");
111 params2.set<MaterialPropertyName>(
"f_name") = getParam<MaterialPropertyName>(
"free_energy");
112 params2.applyParameters(parameters());
114 _problem->addKernel(kernel_type, kernel_name, params2);
117 kernel_type =
"ACInterface";
119 kernel_name =
_var_name +
"_" + kernel_type;
120 InputParameters params3 = _factory.getValidParams(kernel_type);
121 params3.set<NonlinearVariableName>(
"variable") =
_var_name;
122 params3.set<MaterialPropertyName>(
"mob_name") = getParam<MaterialPropertyName>(
"mobility");
123 params3.set<MaterialPropertyName>(
"kappa_name") = getParam<MaterialPropertyName>(
"kappa");
124 params3.set<
bool>(
"variable_L") = getParam<bool>(
"variable_mobility");
125 params3.applyParameters(parameters());
127 _problem->addKernel(kernel_type, kernel_name, params3);