19#include "libmesh/quadrature.h"
27 "variable",
"The name of the variable that this damper operates on");
35 _assembly(_subproblem.assembly(_tid, _sys.number())),
36 _coord_sys(_assembly.coordSystem()),
37 _var(_sys.getFieldVariable<Real>(_tid, parameters.get<NonlinearVariableName>(
"variable"))),
38 _current_node(_var.node()),
40 _u_increment(_var.increment()),
44 "NodalDamper only supports scalar variables. Variable '" +
_var.
name() +
45 "' has multiple components.");
60 const unsigned int n_comp = node->n_comp(sys_num, var_num);
Base class for deriving dampers.
static InputParameters validParams()
An interface for accessing Materials.
static InputParameters validParams()
const std::string & name() const
Get the name of the class.
SystemBase & sys()
Get the system this variable is part of.
unsigned int number() const
Get variable number coming from libMesh.
unsigned int count() const
Get the number of components Note: For standard and vector variables, the number is one.
MooseVariable & _var
Non-linear variable this damper works on.
static InputParameters validParams()
NodalDamper(const InputParameters ¶meters)
bool variableDefinedOnNode(const Node *node) const
Check whether this damper's variable has DOFs on the given node.
Real computeDamping()
Computes this Damper's damping for one node.
virtual Real computeQpDamping()=0
This MUST be overridden by a child damper.
unsigned int number() const
Gets the number of this system.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...