19 "Material that implements the a function of one variable and its first derivative.");
23 "F1 = 2 op[0]^2 (1 - op[0])^2 - 0.2 op[0]; " 24 "F2 = 0.1 op[0]^2 + op[1]^2; " 25 "F3 = op[0] * op[1]");
26 params.
addParam<MaterialPropertyName>(
"f_name",
"F",
"function property name");
34 _op(adCoupledValues(
"op")),
35 _f_name(getParam<MaterialPropertyName>(
"f_name")),
36 _prop_F(declareADProperty<
Real>(_f_name)),
37 _prop_dFdop(coupledComponents(
"op"))
39 for (std::size_t i = 0; i <
_op.size(); ++i)
44 paramError(
"op",
"Specify exactly one variable to an F1 type function.");
46 paramError(
"op",
"Specify exactly two variables to an F2 type function.");
48 paramError(
"op",
"Specify exactly two variables to an F3 type function.");
registerMooseObject("PhaseFieldTestApp", ADTestDerivativeFunction)
VariableName coupledName(const std::string &var_name, unsigned int comp=0) const
std::vector< ADMaterialProperty< Real > * > _prop_dFdop
function value derivative
const MaterialPropertyName derivativePropertyNameFirst(const MaterialPropertyName &base, const SymbolName &c1) const
const MaterialPropertyName _f_name
property name
enum ADTestDerivativeFunction::FunctionEnum _function
ADTestDerivativeFunction(const InputParameters ¶meters)
static InputParameters validParams()
const std::vector< const ADVariableValue * > _op
Coupled variable value for the order parameter.
void paramError(const std::string ¶m, Args... args) const
virtual void computeQpProperties()
Material class that creates the math free energy and its derivatives for use with ADSplitCHParsed...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
void mooseError(Args &&... args) const
ADMaterialProperty< Real > & _prop_F
function value