18 InputParameters params = validParams<DerivativeParsedMaterialHelper>();
19 params.addClassDescription(
"Polynomial free energy for single component systems");
20 MooseEnum poly_order(
"4 6 8");
21 params.addRequiredParam<MooseEnum>(
22 "polynomial_order", poly_order,
"Order of polynomial free energy");
23 params.addParam<MaterialPropertyName>(
24 "c_eq_name",
"c_eq",
"Name of material property storing the equilibrium concentration");
25 params.addParam<MaterialPropertyName>(
26 "W_name",
"barr_height",
"Name of the material property storing the barrier height");
27 params.addRequiredCoupledVar(
"c",
"Concentration");
32 : DerivativeParsedMaterialHelper(parameters),
36 _order(getParam<MooseEnum>(
"polynomial_order"))
49 (3.0 *
_a + 27.0 / 4.0 - 3.0 *
_a *
_a) *
pow(
_c, 4) +
50 (-6.0 *
_a - 7.0 / 2.0 + 6.0 *
_a *
_a) *
pow(
_c, 3) +
51 (9.0 / 2.0 *
_a - 9.0 / 2.0 *
_a *
_a + 3.0 / 4.0) *
pow(
_c, 2) +
52 (3.0 / 2.0 *
_a *
_a - 3.0 / 2.0 *
_a) *
_c);
59 (15.0 *
_a + 75.0 / 8.0 - 15.0 *
_a *
_a) *
pow(
_c, 4) +
60 (-10.0 *
_a - 11.0 / 4.0 + 10.0 *
_a *
_a) *
pow(
_c, 3) +
61 (15.0 / 4.0 *
_a - 15.0 / 4.0 *
_a *
_a + 3.0 / 8.0) *
pow(
_c, 2) +
62 (3.0 / 4.0 *
_a *
_a - 3.0 / 4.0 *
_a) *
_c);
65 mooseError(
"Error in PolynomialFreeEnergy: incorrect polynomial order");
69 functionParse(free_energy, {}, {}, {
"W_name",
"c_eq_name"}, {}, {});