www.mooseframework.org
Functions
GrandPotentialKernelAction.C File Reference

Go to the source code of this file.

Functions

 registerMooseAction ("PhaseFieldApp", GrandPotentialKernelAction, "add_kernel")
 
template<>
InputParameters validParams< GrandPotentialKernelAction > ()
 

Function Documentation

◆ registerMooseAction()

registerMooseAction ( "PhaseFieldApp"  ,
GrandPotentialKernelAction  ,
"add_kernel"   
)

◆ validParams< GrandPotentialKernelAction >()

template<>
InputParameters validParams< GrandPotentialKernelAction > ( )

Definition at line 20 of file GrandPotentialKernelAction.C.

21 {
22  InputParameters parameters = validParams<Action>();
23  parameters.addClassDescription(
24  "Automatically generate most or all of the kernels for the grand potential model");
25  parameters.addRequiredParam<std::vector<NonlinearVariableName>>(
26  "chemical_potentials", "List of chemical potential variables");
27  parameters.addRequiredParam<std::vector<MaterialPropertyName>>(
28  "susceptibilities", "List of susceptibilities that correspond to chemical_potentials");
29  parameters.addRequiredParam<std::vector<MaterialPropertyName>>(
30  "free_energies_gr",
31  "List of free energies for each phase. Place in same order as switching_function_names.");
32  parameters.addRequiredParam<std::vector<MaterialPropertyName>>(
33  "free_energies_w",
34  "List of functions for each phase. Length should be length of chemical_potentials * length "
35  "of switching_function_names.");
36  parameters.addRequiredParam<std::vector<MaterialPropertyName>>(
37  "switching_function_names",
38  "Switching function materials that provide switching function for free_energies_*.");
39  parameters.addRequiredParam<std::vector<MaterialPropertyName>>(
40  "mobilities", "Vector of mobilities that must match chemical_potentials");
41  parameters.addRequiredParam<unsigned int>("op_num", "specifies the number of grains to create");
42  parameters.addRequiredParam<std::string>("var_name_base",
43  "specifies the base name of the grain variables");
44  parameters.addParam<std::vector<NonlinearVariableName>>(
45  "additional_ops", "List of any additional order parameters which are not grains");
46  parameters.addParam<std::vector<MaterialPropertyName>>("free_energies_op",
47  "List of free energies used by additional "
48  "order parameters. Places in same order "
49  "as switching_function_names.");
50  parameters.addParam<MaterialPropertyName>("kappa_gr", "kappa", "The kappa used with the grains");
51  parameters.addParam<MaterialPropertyName>(
52  "kappa_op", "kappa", "The kappa used with additional_ops");
53  parameters.addParam<MaterialPropertyName>(
54  "gamma_gr", "gamma", "Name of the gamma used with grains");
55  parameters.addParam<MaterialPropertyName>(
56  "gamma_op", "gamma", "Name of the gamma used with additional order parameters");
57  parameters.addParam<MaterialPropertyName>(
58  "gamma_grxop",
59  "gamma",
60  "Name of the gamma used when grains interact with other order parameters");
61  parameters.addParam<MaterialPropertyName>(
62  "mobility_name_gr", "L", "Name of mobility to be used with grains");
63  parameters.addParam<MaterialPropertyName>(
64  "mobility_name_op", "L", "Name of mobility to be used with additional_ops");
65  parameters.addParam<bool>("implicit", true, "Whether kernels are implicit or not");
66  parameters.addParam<bool>(
67  "use_displaced_mesh", false, "Whether to use displaced mesh in the kernels");
68  MultiMooseEnum anisotropy("true=1 false=0", "false");
69  parameters.addRequiredParam<MultiMooseEnum>(
70  "anisotropic", anisotropy, "Whether or not each mobility is anisotropic");
71 
72  return parameters;
73 }