19 params.addClassDescription(
"Helper material to provide g(eta) and its derivative in a "
20 "polynomial.\nSIMPLE: eta^2*(1-eta)^2\nLOW: eta*(1-eta)"
21 "\nHIGH: eta^2*(1-eta^2)^2");
22 MooseEnum g_order(
"SIMPLE=0 LOW HIGH",
"SIMPLE");
23 params.addParam<MooseEnum>(
"g_order", g_order,
"Polynomial order of the barrier function g(eta)");
24 params.addParam<
bool>(
"well_only",
26 "Make the g zero in [0:1] so it only contributes to "
27 "enforcing the eta range and not to the phase "
28 "transformation barrier.");
29 params.set<std::string>(
"function_name") = std::string(
"g");
35 _g_order(getParam<MooseEnum>(
"g_order")),
36 _well_only(getParam<bool>(
"well_only"))
43 const Real n =
_eta[_qp];
56 _prop_f[_qp] = n * n * (1.0 - n) * (1.0 - n);
57 _prop_df[_qp] = 2.0 * n * (n - 1.0) * (2.0 * n - 1.0);
58 _prop_d2f[_qp] = 12.0 * (n * n - n) + 2.0;
68 _prop_f[_qp] = n * n * (1.0 - n * n) * (1.0 - n * n);
69 _prop_df[_qp] = n * (2.0 - n * n * (8.0 + 6.0 * n * n));
70 _prop_d2f[_qp] = 2.0 - n * n * (24.0 + 30.0 * n * n);
74 mooseError(
"Internal error");