14#define usingDerivativeFunctionMaterialBaseMembers(T) \
15 usingFunctionMaterialBaseMembers(T); \
16 using DerivativeFunctionMaterialBaseTempl<T>::computeF; \
17 using DerivativeFunctionMaterialBaseTempl<T>::computeDF; \
18 using DerivativeFunctionMaterialBaseTempl<T>::computeD2F; \
19 using DerivativeFunctionMaterialBaseTempl<T>::computeD3F; \
20 using DerivativeFunctionMaterialBaseTempl<T>::_third_derivatives; \
21 using DerivativeFunctionMaterialBaseTempl<T>::_prop_dF; \
22 using DerivativeFunctionMaterialBaseTempl<T>::_prop_d2F; \
23 using DerivativeFunctionMaterialBaseTempl<T>::_prop_d3F
40template <
bool is_ad = false>
103 std::vector<GenericMaterialProperty<Real, is_ad> *>
_prop_dF;
106 std::vector<std::vector<GenericMaterialProperty<Real, is_ad> *>>
_prop_d2F;
109 std::vector<std::vector<std::vector<GenericMaterialProperty<Real, is_ad> *>>>
_prop_d3F;
DerivativeFunctionMaterialBaseTempl< true > ADDerivativeFunctionMaterialBase
DerivativeFunctionMaterialBaseTempl< false > DerivativeFunctionMaterialBase
Moose::GenericType< Real, is_ad > GenericReal
Material base class to compute a function and its derivatives.
std::vector< std::vector< std::vector< GenericMaterialProperty< Real, is_ad > * > > > _prop_d3F
Material properties to store the third derivatives.
virtual GenericReal< is_ad > computeF()
Override this method to provide the free energy function.
static InputParameters validParams()
bool _third_derivatives
Calculate (and allocate memory for) the third derivatives of the free energy.
DerivativeFunctionMaterialBaseTempl(const InputParameters ¶meters)
virtual GenericReal< is_ad > computeDF(unsigned int arg)
Override this method for calculating the first derivatives.
std::vector< std::vector< GenericMaterialProperty< Real, is_ad > * > > _prop_d2F
Material properties to store the second derivatives.
void initialSetup() override
Check if we got the right number of components in the 'coupled_variables' vector.
virtual GenericReal< is_ad > computeD2F(unsigned int arg1, unsigned int arg2)
Override this method to calculate the second derivatives.
void computeProperties() override
Performs the quadrature point loop, calling computeQpProperties.
std::vector< GenericMaterialProperty< Real, is_ad > * > _prop_dF
Material properties to store the derivatives of f with respect to arg[i].
virtual GenericReal< is_ad > computeD3F(unsigned int, unsigned int, unsigned int)
Override this method to calculate the third derivatives.
usingFunctionMaterialBaseMembers(is_ad)
Material base class, central to all Materials that provide a Function as a material property value.
const InputParameters & parameters() const
Get the parameters of the object.