20 "reaction_coefficient",
21 "The name of the reaction (can be either a scalar, vector, or matrix) material property.");
23 "An automatic differentiation kernel for the array reaction operator ($r * u$)");
29 _r(hasADMaterialProperty<
Real>(
"reaction_coefficient")
30 ? &getADMaterialProperty<
Real>(
"reaction_coefficient")
35 _r_2d_array(hasADMaterialProperty<
RealEigenMatrix>(
"reaction_coefficient")
41 MaterialPropertyName mat = getParam<MaterialPropertyName>(
"reaction_coefficient");
42 mooseError(
"Property '" + mat +
"' is of unsupported type for ADArrayReaction");
ADArrayReaction(const InputParameters ¶meters)
Eigen::Matrix< ADReal, Eigen::Dynamic, 1 > ADRealEigenVector
static InputParameters validParams()
static InputParameters validParams()
static InputParameters validParams()
Array kernel for adding a reaction term.
const ArrayVariableTestValue & _test
the current test function
Base class for array variable (equation) kernels using automatic differentiation. ...
unsigned int _i
current index for the test function
registerMooseObject("MooseApp", ADArrayReaction)
Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic > RealEigenMatrix
const ADMaterialProperty< Real > * _r
scalar reaction coefficient
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const ADArrayVariableValue & _u
Holds the solution at current quadrature points.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
Eigen::Matrix< Real, Eigen::Dynamic, 1 > RealEigenVector
virtual void computeQpResidual(ADRealEigenVector &residual) override
Compute this Kernel's contribution to the residual at the current quadrature point, to be filled in residual.
const ADMaterialProperty< RealEigenVector > *const _r_array
array reaction coefficient
const ADMaterialProperty< RealEigenMatrix > *const _r_2d_array
matrix of reaction coefficients (for cross reaction terms between array variables) ...
unsigned int _qp
The current quadrature point index.