95 if (_current_task ==
"add_variable")
97 auto type = AddVariableAction::determineType(
_fe_type, 1);
98 auto var_params = _factory.getValidParams(type);
99 var_params.set<MooseEnum>(
"family") = Moose::stringify(
_fe_type.family);
100 var_params.set<MooseEnum>(
"order") =
_fe_type.order.get_order();
101 var_params.set<std::vector<Real>>(
"scaling") = {
_scaling};
104 _problem->addVariable(type,
_var_name, var_params);
120 else if (_current_task ==
"add_kernel")
127 std::string kernel_type =
"TimeDerivative";
129 std::string kernel_name =
_var_name +
"_" + kernel_type;
130 InputParameters params = _factory.getValidParams(kernel_type);
131 params.set<NonlinearVariableName>(
"variable") =
_var_name;
132 params.applyParameters(parameters());
134 _problem->addKernel(kernel_type, kernel_name, params);
139 std::string kernel_type =
"CahnHilliard";
141 std::string kernel_name =
_var_name +
"_" + kernel_type;
142 InputParameters params = _factory.getValidParams(kernel_type);
143 params.set<NonlinearVariableName>(
"variable") =
_var_name;
144 params.set<MaterialPropertyName>(
"mob_name") = getParam<MaterialPropertyName>(
"mobility");
145 params.set<MaterialPropertyName>(
"f_name") =
146 getParam<MaterialPropertyName>(
"free_energy");
147 params.applyParameters(parameters());
149 _problem->addKernel(kernel_type, kernel_name, params);
154 std::string kernel_type =
"CHInterface";
156 std::string kernel_name =
_var_name +
"_" + kernel_type;
157 InputParameters params = _factory.getValidParams(kernel_type);
158 params.set<NonlinearVariableName>(
"variable") =
_var_name;
159 params.set<MaterialPropertyName>(
"mob_name") = getParam<MaterialPropertyName>(
"mobility");
160 params.set<MaterialPropertyName>(
"kappa_name") = getParam<MaterialPropertyName>(
"kappa");
161 params.applyParameters(parameters());
163 _problem->addKernel(kernel_type, kernel_name, params);
170 std::string kernel_type =
"CoupledTimeDerivative";
172 std::string kernel_name =
_var_name +
"_" + kernel_type;
173 InputParameters params = _factory.getValidParams(kernel_type);
174 params.set<NonlinearVariableName>(
"variable") =
_chempot_name;
175 params.set<std::vector<VariableName>>(
"v") = {
_var_name};
176 params.applyParameters(parameters());
178 _problem->addKernel(kernel_type, kernel_name, params);
183 std::string kernel_type =
"SplitCHWRes";
185 std::string kernel_name =
_var_name +
"_" + kernel_type;
186 InputParameters params = _factory.getValidParams(kernel_type);
187 params.set<NonlinearVariableName>(
"variable") =
_chempot_name;
188 params.set<MaterialPropertyName>(
"mob_name") = getParam<MaterialPropertyName>(
"mobility");
189 params.applyParameters(parameters());
191 _problem->addKernel(kernel_type, kernel_name, params);
196 std::string kernel_type =
"SplitCHParsed";
198 std::string kernel_name =
_var_name +
"_" + kernel_type;
199 InputParameters params = _factory.getValidParams(kernel_type);
200 params.set<NonlinearVariableName>(
"variable") =
_var_name;
201 params.set<std::vector<VariableName>>(
"w") = {
_chempot_name};
202 params.set<MaterialPropertyName>(
"f_name") =
203 getParam<MaterialPropertyName>(
"free_energy");
204 params.set<MaterialPropertyName>(
"kappa_name") = getParam<MaterialPropertyName>(
"kappa");
205 params.applyParameters(parameters());
207 _problem->addKernel(kernel_type, kernel_name, params);
214 std::string kernel_type =
"TimeDerivative";
216 std::string kernel_name =
_var_name +
"_" + kernel_type;
217 InputParameters params = _factory.getValidParams(kernel_type);
218 params.set<NonlinearVariableName>(
"variable") =
_var_name;
219 params.applyParameters(parameters());
221 _problem->addKernel(kernel_type, kernel_name, params);
226 std::string kernel_type =
"MatDiffusion";
228 std::string kernel_name =
_var_name +
"_" + kernel_type;
229 InputParameters params = _factory.getValidParams(kernel_type);
230 params.set<NonlinearVariableName>(
"variable") =
_var_name;
231 params.set<std::vector<VariableName>>(
"v") = {
_chempot_name};
232 params.set<MaterialPropertyName>(
"diffusivity") =
233 getParam<MaterialPropertyName>(
"mobility");
234 params.applyParameters(parameters());
236 _problem->addKernel(kernel_type, kernel_name, params);
240 std::string kernel_type =
"MatDiffusion";
243 InputParameters params = _factory.getValidParams(kernel_type);
244 params.set<NonlinearVariableName>(
"variable") =
_chempot_name;
245 params.set<std::vector<VariableName>>(
"v") = {
_var_name};
246 params.set<MaterialPropertyName>(
"diffusivity") = getParam<MaterialPropertyName>(
"kappa");
247 params.applyParameters(parameters());
249 _problem->addKernel(kernel_type, kernel_name, params);
254 std::string kernel_type =
"CoupledMaterialDerivative";
257 InputParameters params = _factory.getValidParams(kernel_type);
258 params.set<NonlinearVariableName>(
"variable") =
_chempot_name;
259 params.set<std::vector<VariableName>>(
"v") = {
_var_name};
260 params.set<MaterialPropertyName>(
"f_name") =
261 getParam<MaterialPropertyName>(
"free_energy");
262 params.applyParameters(parameters());
264 _problem->addKernel(kernel_type, kernel_name, params);
269 std::string kernel_type =
"CoefReaction";
272 InputParameters params = _factory.getValidParams(kernel_type);
273 params.set<NonlinearVariableName>(
"variable") =
_chempot_name;
274 params.set<Real>(
"coefficient") = -1.0;
275 params.applyParameters(parameters());
277 _problem->addKernel(kernel_type, kernel_name, params);