104 var_params.set<std::vector<Real>>(
"scaling") = {
_scaling};
105 var_params.applySpecificParameters(
parameters(), {
"block"});
131 std::string kernel_type =
"TimeDerivative";
133 std::string kernel_name =
_var_name +
"_" + kernel_type;
135 params.
set<NonlinearVariableName>(
"variable") =
_var_name;
138 _problem->addKernel(kernel_type, kernel_name, params);
143 std::string kernel_type =
"CahnHilliard";
145 std::string kernel_name =
_var_name +
"_" + kernel_type;
147 params.
set<NonlinearVariableName>(
"variable") =
_var_name;
148 params.
set<MaterialPropertyName>(
"mob_name") = getParam<MaterialPropertyName>(
"mobility");
149 params.
set<MaterialPropertyName>(
"f_name") =
150 getParam<MaterialPropertyName>(
"free_energy");
153 _problem->addKernel(kernel_type, kernel_name, params);
158 std::string kernel_type =
"CHInterface";
160 std::string kernel_name =
_var_name +
"_" + kernel_type;
162 params.
set<NonlinearVariableName>(
"variable") =
_var_name;
163 params.
set<MaterialPropertyName>(
"mob_name") = getParam<MaterialPropertyName>(
"mobility");
164 params.
set<MaterialPropertyName>(
"kappa_name") = getParam<MaterialPropertyName>(
"kappa");
167 _problem->addKernel(kernel_type, kernel_name, params);
174 std::string kernel_type =
"CoupledTimeDerivative";
176 std::string kernel_name =
_var_name +
"_" + kernel_type;
179 params.
set<std::vector<VariableName>>(
"v") = {
_var_name};
182 _problem->addKernel(kernel_type, kernel_name, params);
187 std::string kernel_type =
"SplitCHWRes";
189 std::string kernel_name =
_var_name +
"_" + kernel_type;
192 params.
set<MaterialPropertyName>(
"mob_name") = getParam<MaterialPropertyName>(
"mobility");
195 _problem->addKernel(kernel_type, kernel_name, params);
200 std::string kernel_type =
"SplitCHParsed";
202 std::string kernel_name =
_var_name +
"_" + kernel_type;
204 params.
set<NonlinearVariableName>(
"variable") =
_var_name;
206 params.
set<MaterialPropertyName>(
"f_name") =
207 getParam<MaterialPropertyName>(
"free_energy");
208 params.
set<MaterialPropertyName>(
"kappa_name") = getParam<MaterialPropertyName>(
"kappa");
211 _problem->addKernel(kernel_type, kernel_name, params);
218 std::string kernel_type =
"TimeDerivative";
220 std::string kernel_name =
_var_name +
"_" + kernel_type;
222 params.
set<NonlinearVariableName>(
"variable") =
_var_name;
225 _problem->addKernel(kernel_type, kernel_name, params);
230 std::string kernel_type =
"MatDiffusion";
232 std::string kernel_name =
_var_name +
"_" + kernel_type;
234 params.
set<NonlinearVariableName>(
"variable") =
_var_name;
236 params.
set<MaterialPropertyName>(
"diffusivity") =
237 getParam<MaterialPropertyName>(
"mobility");
240 _problem->addKernel(kernel_type, kernel_name, params);
244 std::string kernel_type =
"MatDiffusion";
249 params.
set<std::vector<VariableName>>(
"v") = {
_var_name};
250 params.
set<MaterialPropertyName>(
"diffusivity") = getParam<MaterialPropertyName>(
"kappa");
253 _problem->addKernel(kernel_type, kernel_name, params);
258 std::string kernel_type =
"CoupledMaterialDerivative";
263 params.
set<std::vector<VariableName>>(
"v") = {
_var_name};
264 params.
set<MaterialPropertyName>(
"f_name") =
265 getParam<MaterialPropertyName>(
"free_energy");
268 _problem->addKernel(kernel_type, kernel_name, params);
273 std::string kernel_type =
"CoefReaction";
278 params.
set<
Real>(
"coefficient") = -1.0;
281 _problem->addKernel(kernel_type, kernel_name, params);
const Real _scaling
Scaling parameter.
std::string _chempot_name
Name of chemical potential variable for split solves.
const NonlinearVariableName _var_name
Name of the variable being created.
const std::string & type() const
const std::string & _current_task
static std::string variableType(const libMesh::FEType &fe_type, const bool is_fv=false, const bool is_array=false)
std::string stringify(const T &t)
const SolveType _solve_type
Type of solve to use used in the action.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
libMesh::FEType _fe_type
FEType for the variable being created.
std::shared_ptr< FEProblemBase > & _problem
const InputParameters & parameters() const