32 _var(*mooseVariable()),
33 _current_node(_var.node()),
48 "saved-in auxiliary variable is incompatible with the object's nonlinear variable: ",
65 "saved-in auxiliary variable is incompatible with the object's nonlinear variable: ",
85 for (
unsigned int i = 0; i <
_save_in.size(); i++)
127 if (cached_val == 0.)
164 const unsigned int ivar = ivariable->number();
165 const unsigned int jvar = jvariable->number();
virtual void computeOffDiagJacobian(unsigned int jvar) override
Computes this object's contribution to off-diagonal blocks of the system Jacobian matrix...
std::vector< std::pair< MooseVariableFEBase *, MooseVariableFEBase * > > & couplingEntries(const THREAD_ID tid, const unsigned int nl_sys_num)
Class for stuff related to variables.
std::string incompatVarMsg(MooseVariableFieldBase &var1, MooseVariableFieldBase &var2)
Builds and returns a string of the form:
bool _has_save_in
The aux variables to save the residual contributions to.
virtual void computeResidualAndJacobian() override
Compute this object's contribution to the residual and Jacobian simultaneously.
std::vector< AuxVariableName > _save_in_strings
unsigned int number() const
Get variable number coming from libMesh.
virtual Real computeQpResidual()=0
const Node *const & _current_node
current node being processed
NodalBC(const InputParameters ¶meters)
THREAD_ID _tid
The thread ID for this kernel.
const FEType & feType() const
Get the type of finite element object.
virtual void computeResidual() override
Compute this object's contribution to the residual.
SystemBase & _sys
Reference to the EquationSystem object.
MooseVariableFE< Real > * mooseVariable() const
virtual Real computeQpJacobian()
The user can override this function to compute the "on-diagonal" Jacobian contribution for this Nodal...
SubProblem & _subproblem
Reference to this kernel's SubProblem.
VarKindType
Framework-wide stuff.
FEProblemBase & _fe_problem
Reference to this kernel's FEProblemBase.
std::vector< MooseVariableFEBase * > _save_in
virtual MooseVariable & getStandardVariable(const THREAD_ID tid, const std::string &var_name)=0
Returns the variable reference for requested MooseVariable which may be in any system.
void paramError(const std::string ¶m, Args... args) const
Emits an error prefixed with the file and line number of the given param (from the input file) along ...
unsigned int number() const
Gets the number of this system.
Base class for deriving any boundary condition that works at nodes.
virtual Real computeQpOffDiagJacobian(unsigned int jvar)
This is the virtual that derived classes should override for computing an off-diagonal jacobian compo...
std::vector< AuxVariableName > _diag_save_in_strings
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
bool _has_diag_save_in
The aux variables to save the diagonal Jacobian contributions to.
virtual bool isNodalDefined() const override
Is this variable defined at nodes.
const dof_id_type & nodalDofIndex() const override
virtual void addVariableToZeroOnResidual(std::string var_name)
Adds this variable to the list of variables to be zeroed during each residual evaluation.
Interface for objects that need to get values of MooseVariables.
virtual void addVariableToZeroOnJacobian(std::string var_name)
Adds this variable to the list of variables to be zeroed during each Jacobian evaluation.
std::vector< MooseVariableFEBase * > _diag_save_in
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
static InputParameters validParams()
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.
SystemBase & sys()
Get the system this variable is part of.
virtual void computeJacobian() override
Compute this object's contribution to the diagonal Jacobian entries.
bool _is_implicit
If the object is using implicit or explicit form.
static InputParameters validParams()