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

Go to the source code of this file.

Classes

class  GrandPotentialKernelAction
 Generates the necessary kernels for the Grand Potential Function for any number of order parameters and chemical potentials. More...
 

Functions

template<>
InputParameters validParams< GrandPotentialKernelAction > ()
 

Function Documentation

◆ 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 }