19 "Total free energy in KKS system, including chemical, barrier and gradient terms");
21 "Base name of the free energy function " 22 "F (f_name in the corresponding " 23 "derivative function material)");
25 "Base name of the free energy function " 26 "F (f_name in the corresponding " 27 "derivative function material)");
28 params.
addParam<MaterialPropertyName>(
29 "h_name",
"h",
"Base name for the switching function h(eta)");
30 params.
addParam<MaterialPropertyName>(
31 "g_name",
"g",
"Base name for the double well function g(eta)");
33 params.
addParam<std::vector<MaterialPropertyName>>(
"kappa_names",
34 std::vector<MaterialPropertyName>(),
35 "Vector of kappa names corresponding to " 36 "each variable name in interfacial_vars " 37 "in the same order. For basic KKS, there " 38 "is 1 kappa, 1 interfacial_var.");
44 _prop_fa(getMaterialProperty<
Real>(
"fa_name")),
45 _prop_fb(getMaterialProperty<
Real>(
"fb_name")),
46 _prop_h(getMaterialProperty<
Real>(
"h_name")),
47 _prop_g(getMaterialProperty<
Real>(
"g_name")),
48 _w(getParam<
Real>(
"w")),
54 "Size of interfacial_vars is not equal to the size of kappa_names in KKSGlobalFreeEnergy");
57 for (
unsigned int i = 0; i <
_nkappas; ++i)
71 for (
unsigned int i = 0; i <
_nvars; ++i)
registerMooseObject("PhaseFieldApp", KKSGlobalFreeEnergy)
Total free energy (both the bulk and gradient parts), where the bulk free energy has been defined in ...
unsigned int _nvars
Coupled interface variables.
const MaterialProperty< Real > & _prop_g
const Real _w
Barrier term height.
Compute the global free energy in the KKS Model .
virtual Real computeValue()
const VariableValue & _additional_free_energy
Additional free energy contribution.
KKSGlobalFreeEnergy(const InputParameters ¶meters)
static InputParameters validParams()
const MaterialProperty< Real > & _prop_fb
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
std::vector< const MaterialProperty< Real > * > _kappas
Gradient interface free energy coefficients.
void mooseError(Args &&... args) const
const std::vector< const VariableGradient * > _grad_vars
const MaterialProperty< Real > & _prop_fa
const MaterialProperty< Real > & _prop_h
std::vector< MaterialPropertyName > _kappa_names
Gradient free energy prefactor kappa.