71 mooseError(
"I'm an AD object, so computeQpJacobian should never be called");
76 mooseError(
"I'm an AD object, so setJacobian should never be called");
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
Base class for creating nodal kernels with hand-coded Jacobians.
virtual void computeResidual() override
Compute the residual at the current node.
const MooseVariableFE< RealEigenVector > & variable() const override
Gets the variable this is active on.
virtual void computeQpResidual(ADRealEigenVector &residual)=0
The user can override this function to compute the residual at a node.
void setJacobian(unsigned int, unsigned int, Real)
static InputParameters validParams()
Class constructor.
const Node * _my_node
Cache variable to make sure we don't do duplicate AD computations.
virtual void computeQpJacobian()
Dummy method so we can make derived generic classes that template on <bool is_ad>
virtual void computeOffDiagJacobian(unsigned int jvar) override
Compute the off-diagonal Jacobian at one node.
MooseVariableFE< RealEigenVector > & _var
variable this works on
const ADArrayVariableValue & _u
Value of the unknown variable this is acting on.
ADRealEigenVector _work_vector
Work vector for residual.
const unsigned int _count
Number of components of the array variable.
virtual void computeJacobian() override
Compute the Jacobian at one node.
virtual void jacobianSetup() override
Gets called just before the Jacobian is computed and before this object is asked to do its job.
const InputParameters & parameters() const
Get the parameters of the object.
Class for stuff related to variables.
Interface for objects that need to get values of MooseVariables.
Base class for creating new types of nodal kernels.