www.mooseframework.org
Classes | Functions
GrainGrowthAction.h File Reference

Go to the source code of this file.

Classes

class  GrainGrowthAction
 

Functions

template<>
InputParameters validParams< GrainGrowthAction > ()
 

Function Documentation

◆ validParams< GrainGrowthAction >()

template<>
InputParameters validParams< GrainGrowthAction > ( )

Definition at line 32 of file GrainGrowthAction.C.

33 {
34  InputParameters params = validParams<Action>();
35  params.addClassDescription(
36  "Set up the variable and the kernels needed for a grain growth simulation");
37  params.addRequiredParam<unsigned int>("op_num",
38  "specifies the number of order parameters to create");
39  params.addRequiredParam<std::string>("var_name_base", "specifies the base name of the variables");
40  params.addParam<Real>(
41  "scaling", 1.0, "Specifies a scaling factor to apply to the order parameters");
42  params.addParam<bool>(
43  "initial_from_file",
44  false,
45  "Take the initial condition of all polycrystal variables from the mesh file");
46 
47  // Get MooseEnums for the possible order/family options for this variable
48  MooseEnum families(AddVariableAction::getNonlinearVariableFamilies());
49  MooseEnum orders(AddVariableAction::getNonlinearVariableOrders());
50  params.addParam<MooseEnum>("family",
51  families,
52  "Specifies the family of FE "
53  "shape function to use for the order parameters");
54  params.addParam<MooseEnum>("order",
55  orders,
56  "Specifies the order of the FE "
57  "shape function to use for the order parameters");
58 
59  params.addParam<MaterialPropertyName>(
60  "mobility", "L", "The isotropic mobility used with the kernels");
61  params.addParam<MaterialPropertyName>("kappa", "kappa_op", "The kappa used with the kernels");
62 
63  params.addParam<VariableName>("c", "Name of coupled concentration variable");
64 
65  params.addParam<Real>("en_ratio", 1.0, "Ratio of surface to GB energy");
66  params.addParam<unsigned int>("ndef", 0, "Specifies the number of deformed grains to create");
67  params.addParam<bool>("variable_mobility",
68  true,
69  "The mobility is a function of any MOOSE variable (if "
70  "this is set to false, L must be constant over the "
71  "entire domain!)");
72  params.addCoupledVar("args", "Vector of nonlinear variable arguments that L depends on");
73 
74  params.addParam<bool>("implicit", true, "Whether kernels are implicit or not");
75  params.addParam<bool>(
76  "use_displaced_mesh", false, "Whether to use displaced mesh in the kernels");
77  params.addParam<bool>("use_automatic_differentiation",
78  false,
79  "Flag to use automatic differentiation (AD) objects when possible");
80 
81  params.addParamNamesToGroup("scaling implicit use_displaced_mesh", "Advanced");
82  params.addParamNamesToGroup("c en_ratio ndef", "Multiphysics");
83 
84  return params;
85 }