31 _var(*mooseVariable()),
32 _current_node(_var.node()),
36 mooseError(
"Vector nodal boundary conditions only make sense for LAGRANGE_VEC variables");
44 if (dof_indices.empty())
57 if (cached_rows.empty())
79 if (cached_rows.empty())
virtual void computeOffDiagJacobian(unsigned int jvar) override
Computes this object's contribution to off-diagonal blocks of the system Jacobian matrix...
virtual void computeJacobian() override
Compute this object's contribution to the diagonal Jacobian entries.
unsigned int number() const
Get variable number coming from libMesh.
virtual RealVectorValue computeQpJacobian()
The user can override this function to compute the "on-diagonal" Jacobian contribution for this Vecto...
static InputParameters validParams()
virtual RealVectorValue computeQpResidual()=0
const FEType & feType() const
Get the type of finite element object.
SystemBase & _sys
Reference to the EquationSystem object.
MooseVariableFE< RealVectorValue > * mooseVariable() const
const std::vector< dof_id_type > & dofIndices() const final
Get local DoF indices.
VectorNodalBC(const InputParameters ¶meters)
VarKindType
Framework-wide stuff.
FEProblemBase & _fe_problem
Reference to this kernel's FEProblemBase.
virtual void computeResidual() override
Compute this object's contribution to the residual.
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
This is the virtual that derived classes should override for computing an off-diagonal jacobian compo...
unsigned int number() const
Gets the number of this system.
Base class for deriving any boundary condition that works at nodes.
void addMooseVariableDependency(MooseVariableFieldBase *var)
Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Interface for objects that need to get values of MooseVariables.
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
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.
Assembly & assembly(const THREAD_ID tid, const unsigned int nl_sys_num) override
void setResidual(SystemBase &sys, const T &residual, MooseVariableFE< T > &var)
Set residual using the variables' insertion API.
auto index_range(const T &sizable)
const VectorMooseVariable & _var
const Node *const & _current_node
current node being processed
static InputParameters validParams()