30 Moose::VarKindType::VAR_SOLVER,
31 Moose::VarFieldType::VAR_FIELD_VECTOR),
32 _var(*mooseVariable()),
33 _current_node(_var.node()),
37 mooseError(
"Vector nodal boundary conditions only make sense for LAGRANGE_VEC variables");
45 if (dof_indices.empty())
50 for (
const auto i : index_range(dof_indices))
58 if (cached_rows.empty())
64 for (
const auto i : index_range(cached_rows))
80 if (cached_rows.empty())
88 for (
const auto i : index_range(cached_rows))
100 return RealVectorValue(1., 1., 1.);
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
virtual Assembly & assembly(const THREAD_ID tid, const unsigned int sys_num) override
const libMesh::FEType & feType() const
Get the type of finite element object.
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.
Interface for objects that need to get values of MooseVariables.
MooseVariableFE< RealVectorValue > * mooseVariable() const
Return the MooseVariableFE object that this interface acts on.
Base class for deriving any boundary condition that works at nodes.
static InputParameters validParams()
SystemBase & _sys
Reference to the EquationSystem object.
FEProblemBase & _fe_problem
Reference to this kernel's FEProblemBase.
unsigned int number() const
Gets the number of this system.
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.
VectorNodalBC(const InputParameters ¶meters)
virtual RealVectorValue computeQpJacobian()
The user can override this function to compute the "on-diagonal" Jacobian contribution for this Vecto...
virtual void computeJacobian() override
Compute this object's contribution to the diagonal Jacobian entries.
const VectorMooseVariable & _var
virtual RealVectorValue computeQpResidual()=0
static InputParameters validParams()
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
This is the virtual that derived classes should override for computing an off-diagonal jacobian compo...
virtual void computeResidual() override
Compute this object's contribution to the residual.
virtual void computeOffDiagJacobian(unsigned int jvar) override
Computes this object's contribution to off-diagonal blocks of the system Jacobian matrix.
const Node *const & _current_node
current node being processed
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...