19 "polynomial.\nSIMPLE: $\\eta^2(1-\\eta)^2$\nLOW: $\\eta(1-\\eta)$"
20 "\nHIGH: $\\eta^2(1-\\eta^2)^2$");
21 MooseEnum g_order(
"SIMPLE=0 LOW HIGH",
"SIMPLE");
22 params.
addParam<
MooseEnum>(
"g_order", g_order,
"Polynomial order of the barrier function g(eta)");
25 "Make the g zero in [0:1] so it only contributes to "
26 "enforcing the eta range and not to the phase "
27 "transformation barrier.");
28 params.
set<std::string>(
"function_name") = std::string(
"g");
35 _well_only(getParam<bool>(
"well_only"))
42 const Real n =
_eta[_qp];
55 _prop_f[_qp] = n * n * (1.0 - n) * (1.0 - n);
56 _prop_df[_qp] = 2.0 * n * (n - 1.0) * (2.0 * n - 1.0);
57 _prop_d2f[_qp] = 12.0 * (n * n - n) + 2.0;
67 _prop_f[_qp] = n * n * (1.0 - n * n) * (1.0 - n * n);
68 _prop_df[_qp] = n * (2.0 - n * n * (8.0 + 6.0 * n * n));
69 _prop_d2f[_qp] = 2.0 - n * n * (24.0 + 30.0 * n * n);
registerMooseObject("PhaseFieldApp", BarrierFunctionMaterial)
void mooseError(Args &&... args)
Material class to provide the double well function for the KKS system.
static InputParameters validParams()
virtual void computeQpProperties()
BarrierFunctionMaterial(const InputParameters ¶meters)
bool _well_only
zero out g contribution in the eta interval [0:1]
MooseEnum _g_order
Polynomial order of the switching function .
Material base class for materials that provide the switching function or the double well function .
MaterialProperty< Real > & _prop_df
Material property to store the derivative .
MaterialProperty< Real > & _prop_f
Material property to store .
static InputParameters validParams()
MaterialProperty< Real > & _prop_d2f
Material property to store the second derivative .
const VariableValue & _eta
Coupled variable value for the order parameter .