92{
93
94
95
97 {
102 var_params.set<std::vector<Real>>(
"scaling") = {
_scaling};
103 var_params.applySpecificParameters(
parameters(), {
"block"});
104
105
107
108
110 {
112 break;
116 }
117 }
118
119
120
121
123 {
125 {
127
128 {
129 std::string kernel_type = "TimeDerivative";
130
131 std::string kernel_name =
_var_name +
"_" + kernel_type;
133 params.
set<NonlinearVariableName>(
"variable") =
_var_name;
135
136 _problem->addKernel(kernel_type, kernel_name, params);
137 }
138
139
140 {
141 std::string kernel_type = "CahnHilliard";
142
143 std::string kernel_name =
_var_name +
"_" + kernel_type;
145 params.
set<NonlinearVariableName>(
"variable") =
_var_name;
146 params.
set<MaterialPropertyName>(
"mob_name") = getParam<MaterialPropertyName>(
"mobility");
147 params.
set<MaterialPropertyName>(
"f_name") =
148 getParam<MaterialPropertyName>("free_energy");
150
151 _problem->addKernel(kernel_type, kernel_name, params);
152 }
153
154
155 {
156 std::string kernel_type = "CHInterface";
157
158 std::string kernel_name =
_var_name +
"_" + kernel_type;
160 params.
set<NonlinearVariableName>(
"variable") =
_var_name;
161 params.
set<MaterialPropertyName>(
"mob_name") = getParam<MaterialPropertyName>(
"mobility");
162 params.
set<MaterialPropertyName>(
"kappa_name") = getParam<MaterialPropertyName>(
"kappa");
164
165 _problem->addKernel(kernel_type, kernel_name, params);
166 }
167 break;
168
170
171 {
172 std::string kernel_type = "CoupledTimeDerivative";
173
174 std::string kernel_name =
_var_name +
"_" + kernel_type;
177 params.
set<std::vector<VariableName>>(
"v") = {
_var_name};
179
180 _problem->addKernel(kernel_type, kernel_name, params);
181 }
182
183
184 {
185 std::string kernel_type = "SplitCHWRes";
186
187 std::string kernel_name =
_var_name +
"_" + kernel_type;
190 params.
set<MaterialPropertyName>(
"mob_name") = getParam<MaterialPropertyName>(
"mobility");
192
193 _problem->addKernel(kernel_type, kernel_name, params);
194 }
195
196
197 {
198 std::string kernel_type = "SplitCHParsed";
199
200 std::string kernel_name =
_var_name +
"_" + kernel_type;
202 params.
set<NonlinearVariableName>(
"variable") =
_var_name;
204 params.
set<MaterialPropertyName>(
"f_name") =
205 getParam<MaterialPropertyName>("free_energy");
206 params.
set<MaterialPropertyName>(
"kappa_name") = getParam<MaterialPropertyName>(
"kappa");
208
209 _problem->addKernel(kernel_type, kernel_name, params);
210 }
211 break;
212
214
215 {
216 std::string kernel_type = "TimeDerivative";
217
218 std::string kernel_name =
_var_name +
"_" + kernel_type;
220 params.
set<NonlinearVariableName>(
"variable") =
_var_name;
222
223 _problem->addKernel(kernel_type, kernel_name, params);
224 }
225
226
227 {
228 std::string kernel_type = "MatDiffusion";
229
230 std::string kernel_name =
_var_name +
"_" + kernel_type;
232 params.
set<NonlinearVariableName>(
"variable") =
_var_name;
234 params.
set<MaterialPropertyName>(
"diffusivity") =
235 getParam<MaterialPropertyName>("mobility");
237
238 _problem->addKernel(kernel_type, kernel_name, params);
239 }
240
241 {
242 std::string kernel_type = "MatDiffusion";
243
247 params.
set<std::vector<VariableName>>(
"v") = {
_var_name};
248 params.
set<MaterialPropertyName>(
"diffusivity") = getParam<MaterialPropertyName>(
"kappa");
250
251 _problem->addKernel(kernel_type, kernel_name, params);
252 }
253
254
255 {
256 std::string kernel_type = "CoupledMaterialDerivative";
257
261 params.
set<std::vector<VariableName>>(
"v") = {
_var_name};
262 params.
set<MaterialPropertyName>(
"f_name") =
263 getParam<MaterialPropertyName>("free_energy");
265
266 _problem->addKernel(kernel_type, kernel_name, params);
267 }
268
269
270 {
271 std::string kernel_type = "CoefReaction";
272
276 params.
set<
Real>(
"coefficient") = -1.0;
278
279 _problem->addKernel(kernel_type, kernel_name, params);
280 }
281 }
282 }
283}
std::shared_ptr< FEProblemBase > & _problem
const std::string & _current_task
static std::string variableType(const libMesh::FEType &fe_type, const bool is_fv=false, const bool is_array=false)
InputParameters getValidParams(const std::string &name) const
const std::string & type() const
std::string stringify(const T &t)
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real