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 40 template <
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;
virtual GenericReal< is_ad > computeDF(unsigned int arg)
Override this method for calculating the first derivatives.
Material base class, central to all Materials that provide a Function as a material property value...
virtual GenericReal< is_ad > computeF()
Override this method to provide the free energy function.
virtual GenericReal< is_ad > computeD3F(unsigned int, unsigned int, unsigned int)
Override this method to calculate the third derivatives.
DerivativeFunctionMaterialBaseTempl(const InputParameters ¶meters)
std::vector< std::vector< GenericMaterialProperty< Real, is_ad > * > > _prop_d2F
Material properties to store the second derivatives.
void libmesh_ignore(const Args &...)
virtual GenericReal< is_ad > computeD2F(unsigned int arg1, unsigned int arg2)
Override this method to calculate the second derivatives.
DerivativeFunctionMaterialBaseTempl< true > ADDerivativeFunctionMaterialBase
usingFunctionMaterialBaseMembers(is_ad)
void initialSetup() override
Check if we got the right number of components in the 'coupled_variables' vector. ...
bool _third_derivatives
Calculate (and allocate memory for) the third derivatives of the free energy.
const InputParameters & parameters() const
Get the parameters of the object.
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.
void computeProperties() override
Performs the quadrature point loop, calling computeQpProperties.
typename Moose::GenericType< Real, is_ad > GenericReal
DerivativeFunctionMaterialBaseTempl< false > DerivativeFunctionMaterialBase
std::vector< GenericMaterialProperty< Real, is_ad > * > _prop_dF
Material properties to store the derivatives of f with respect to arg[i].
static InputParameters validParams()