KernelGrad
Derive from this base class if your residual is of the form
i.e. if the test function (_grad_test[_i][_qp]) can be factored out.
Derived classes
Override
precomputeQpResidual()instead ofcomputeQpResidual()(do not multiply by_grad_test[_i][_qp]).precomputeQpJacobian()instead ofcomputeQpJacobian()(do not multiply by_grad_test[_i][_qp])computeOffDiagJacobianstill has to be implemented as if deriving fromKernel.
Note that precomputeQpResidual() and precomputeQpJacobian() return a RealGradient type.