27 Moose::VarKindType::VAR_SOLVER,
28 Moose::VarFieldType::VAR_FIELD_ARRAY),
29 _var(*mooseVariable()),
33 _scaling(_var.arrayScalingFactor())
57 mooseAssert(
_ivar_indices->size() ==
_count,
"The number of dofs should be equal to count");
75 mooseAssert(
_ivar_indices->size() ==
_count,
"The number of dofs should be equal to count");
77 "The number of dofs should be equal to count");
const std::vector< dof_id_type > * _ivar_indices
DOF indices.
virtual void computeResidual() override
Compute and assemble the residual at the current node.
MooseVariableFE< RealEigenVector > & _var
variable this works on
void setJacobian(unsigned int i, unsigned int j, Real value)
Add a Jacobian entry for the current nodal kernel contribution.
const unsigned int _count
Number of components of the array variable.
virtual void computeQpOffDiagJacobian(unsigned int)
The user can override this function to compute the inter-variable off-diagonal Jacobian contribution ...
virtual void computeQpResidual(RealEigenVector &residual)=0
The user must override this function to compute the residual at a node.
virtual void computeQpJacobian()
The user can override this function to compute the intra-variable off-diagonal Jacobian contribution ...
RealEigenVector _work_vector
Work vector for residual.
static InputParameters validParams()
Class constructor.
virtual void computeOffDiagJacobian(unsigned int jvar) override
Compute the off-diagonal Jacobian at one node.
const std::vector< dof_id_type > * _jvar_indices
virtual void computeJacobian() override
Compute and assemble the Jacobian at one node.
ArrayNodalKernel(const InputParameters ¶meters)
const std::vector< Real > & _scaling
scaling factors
unsigned int number() const
Get variable number coming from libMesh.
void addMooseVariableDependency(MooseVariableFieldBase *var)
Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends...
const std::vector< dof_id_type > & dofIndices() const final
Get local DoF indices.
virtual bool isNodalDefined() const override
Is this variable defined at nodes.
Interface for objects that need to get values of MooseVariables.
virtual const OutputTools< RealEigenVector >::VariableValue & value()
The value of the variable this object is operating on.
MooseVariableFE< RealEigenVector > * mooseVariable() const
Return the MooseVariableFE object that this interface acts on.
Base class for creating new types of nodal kernels.
unsigned int _qp
Quadrature point index.
static InputParameters validParams()
Class constructor.
Assembly & _assembly
Reference to this Kernel's assembly object.
const MooseVariableFieldBase & getVariable(unsigned int jvar_num) const
Retrieve the variable object from our system associated with jvar_num.
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.
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.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...