21 "polynomial_order", poly_order,
"Order of polynomial free energy");
22 params.
addParam<MaterialPropertyName>(
23 "c_eq_name",
"c_eq",
"Name of material property storing the equilibrium concentration");
24 params.
addParam<MaterialPropertyName>(
25 "W_name",
"barr_height",
"Name of the material property storing the barrier height");
35 _order(getParam<
MooseEnum>(
"polynomial_order"))
48 (3.0 *
_a + 27.0 / 4.0 - 3.0 *
_a *
_a) *
pow(
_c, 4) +
49 (-6.0 *
_a - 7.0 / 2.0 + 6.0 *
_a *
_a) *
pow(
_c, 3) +
50 (9.0 / 2.0 *
_a - 9.0 / 2.0 *
_a *
_a + 3.0 / 4.0) *
pow(
_c, 2) +
51 (3.0 / 2.0 *
_a *
_a - 3.0 / 2.0 *
_a) *
_c);
58 (15.0 *
_a + 75.0 / 8.0 - 15.0 *
_a *
_a) *
pow(
_c, 4) +
59 (-10.0 *
_a - 11.0 / 4.0 + 10.0 *
_a *
_a) *
pow(
_c, 3) +
60 (15.0 / 4.0 *
_a - 15.0 / 4.0 *
_a *
_a + 3.0 / 8.0) *
pow(
_c, 2) +
61 (3.0 / 4.0 *
_a *
_a - 3.0 / 4.0 *
_a) *
_c);
64 mooseError(
"Error in PolynomialFreeEnergy: incorrect polynomial order");
68 functionParse(free_energy, {}, {}, {
"W_name",
"c_eq_name"}, {}, {});
Derivative free energy material defining polynomial free energies for single component materials...
static InputParameters validParams()
PolynomialFreeEnergy(const InputParameters ¶meters)
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
EBTerm _a
Equilibrium concentration.
EBTerm _c
Concentration variable used in the free energy expression.
User facing host object for a function. This combines a term with an argument list.
void mooseError(Args &&... args) const
MooseEnum _order
Polynomial order.
registerMooseObject("PhaseFieldApp", PolynomialFreeEnergy)
static InputParameters validParams()
void functionParse(const std::string &function_expression)