32 _var(*mooseVariable()),
33 _current_node(_var.node()),
34 _u(_var.nodalValue()),
49 "Size of local residual is not equal to the number of array variable components");
99 return RealEigenVector::Ones(
_var.
count());
unsigned int number() const
Get variable number coming from libMesh.
const unsigned int _count
Number of components of the array variable.
virtual void computeJacobian() override
Compute this object's contribution to the diagonal Jacobian entries.
unsigned int count() const
Get the number of components Note: For standard and vector variables, the number is one...
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.
virtual Assembly & assembly(const THREAD_ID tid, const unsigned int sys_num) override
SystemBase & _sys
Reference to the EquationSystem object.
MooseVariableFE< RealEigenVector > * mooseVariable() const
Return the MooseVariableFE object that this interface acts on.
VarKindType
Framework-wide stuff.
FEProblemBase & _fe_problem
Reference to this kernel's FEProblemBase.
unsigned int number() const
Gets the number of this system.
Eigen::Matrix< Real, Eigen::Dynamic, Eigen::Dynamic > RealEigenMatrix
Base class for deriving any boundary condition that works at nodes.
virtual void computeOffDiagJacobian(unsigned int jvar) override
Computes this object's contribution to off-diagonal blocks of the system Jacobian matrix...
ArrayMooseVariable & _var
ArrayNodalBC(const InputParameters ¶meters)
const Node *const & _current_node
current node being processed
void addMooseVariableDependency(MooseVariableFieldBase *var)
Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends...
virtual RealEigenMatrix computeQpOffDiagJacobian(MooseVariableFEBase &jvar)
This is the virtual that derived classes should override for computing an off-diagonal jacobian compo...
virtual bool isNodalDefined() const override
Is this variable defined at nodes.
const dof_id_type & nodalDofIndex() const override
RealEigenVector _work_vector
Work vector for residual.
Interface for objects that need to get values of MooseVariables.
IntRange< T > make_range(T beg, T end)
virtual void computeQpResidual(RealEigenVector &residual)=0
Compute this BC's contribution to the residual at the current quadrature point, to be filled in resid...
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...
static InputParameters validParams()
virtual void computeResidual() override
Compute this object's contribution to the residual.
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 setResidual(SystemBase &sys, const T &residual, MooseVariableFE< T > &var)
Set residual using the variables' insertion API.
virtual RealEigenVector computeQpJacobian()
The user can override this function to compute the "on-diagonal" Jacobian contribution for this Vecto...
static InputParameters validParams()