29 _var(*mooseVariable()),
98 return RealEigenVector::Zero(
_count);
104 return RealEigenMatrix::Zero(
_count, jvar.
count());
RealEigenVector _work_vector
Work vector for residual.
virtual void computeResidual() override
Compute and assemble the residual at the current node.
const std::vector< Real > & arrayScalingFactor() const
unsigned int number() const
Get variable number coming from libMesh.
virtual void computeJacobian() override
Compute and assemble the Jacobian at one node.
void addResiduals(Assembly &assembly, const Residuals &residuals, const Indices &dof_indices, Real scaling_factor)
Add the provided incoming residuals corresponding to the provided dof indices.
unsigned int count() const
Get the number of components Note: For standard and vector variables, the number is one...
void prepareDofs()
Prepare our array variable degrees of freedom.
virtual RealEigenMatrix computeQpOffDiagJacobian(const MooseVariableFieldBase &jvar)
This is the virtual that derived classes should override for computing an off-diagonal jacobian compo...
This class provides an interface for common operations on field variables of both FE and FV types wit...
const MooseVariableFieldBase & getVariable(unsigned int jvar_num) const
Retrieve the variable object from our system associated with jvar_num.
SystemBase & _sys
Reference to the EquationSystem object.
MooseVariableFE< RealEigenVector > * mooseVariable() const
Return the MooseVariableFE object that this interface acts on.
MooseVariableFE< RealEigenVector > & _var
variable this works on
static InputParameters validParams()
Class constructor.
ArrayNodalKernel(const InputParameters ¶meters)
VarKindType
Framework-wide stuff.
unsigned int number() const
Gets the number of this system.
Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic > RealEigenMatrix
Assembly & _assembly
Reference to this Kernel's assembly object.
virtual void computeQpResidual(RealEigenVector &residual)=0
The user must override this function to compute the residual at a node.
std::vector< dof_id_type > _work_dofs
Work vector for the degree of freedom indices.
void addMooseVariableDependency(MooseVariableFieldBase *var)
Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends...
static InputParameters validParams()
Class constructor.
Base class for creating new types of nodal kernels.
virtual bool isNodalDefined() const override
Is this variable defined at nodes.
const dof_id_type & nodalDofIndex() const override
const unsigned int _count
Number of components of the array variable.
Interface for objects that need to get values of MooseVariables.
IntRange< T > make_range(T beg, T end)
Eigen::Matrix< Real, Eigen::Dynamic, 1 > RealEigenVector
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
const Node *const & _current_node
current node being processed
void addJacobianElement(Assembly &assembly, Real value, dof_id_type row_index, dof_id_type column_index, Real scaling_factor)
Add into a single Jacobian element.
virtual RealEigenVector computeQpJacobian()
The user can override this function to compute the "on-diagonal" Jacobian contribution.
unsigned int _qp
Quadrature point index.
virtual void computeOffDiagJacobian(unsigned int jvar) override
Compute the off-diagonal Jacobian at one node.