PFCRFFKernelAction.C
Go to the documentation of this file.
1 /****************************************************************/
2 /* MOOSE - Multiphysics Object Oriented Simulation Environment */
3 /* */
4 /* All contents are licensed under LGPL V2.1 */
5 /* See LICENSE for full restrictions */
6 /****************************************************************/
7
8 #include "PFCRFFKernelAction.h"
9 #include "Factory.h"
10 #include "FEProblem.h"
11 #include "Conversion.h"
12
13 template <>
14 InputParameters
16 {
17  InputParameters params = validParams<HHPFCRFFSplitKernelAction>();
18  params.addParam<Real>("a", 1.0, "Parameter in the Taylor series expansion");
19  params.addParam<Real>("b", 1.0, "Parameter in the Taylor series expansion");
20  params.addParam<Real>("c", 1.0, "Parameter in the Taylor series expansion");
21  return params;
22 }
23
24 PFCRFFKernelAction::PFCRFFKernelAction(const InputParameters & params)
26 {
27 }
28
29 void
31 {
32  // Create the two kernels required for the n_variable, starting with the time derivative
33  InputParameters poly_params = _factory.getValidParams("TimeDerivative");
34  poly_params.set<NonlinearVariableName>("variable") = _n_name;
35  poly_params.set<bool>("use_displaced_mesh") = getParam<bool>("use_displaced_mesh");
37
38  // First, we have to create the vector containing the names of the real L variables
39  std::vector<VariableName> real_v(_num_L);
40  for (unsigned int l = 0; l < _num_L; ++l)
41  real_v[l] = _L_name_base + Moose::stringify(l) + "_real";
42
43  // CHPFCRFF kernel
44  poly_params = _factory.getValidParams("CHPFCRFF");
45  poly_params.set<NonlinearVariableName>("variable") = _n_name;
46  poly_params.set<std::vector<VariableName>>("v") = real_v;
47  poly_params.applyParameters(parameters());