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"))),
39 _current_elem(_var.currentElem()),
40 _q_point(_assembly.qPoints()),
41 _qrule(_assembly.qRule()),
42 _JxW(_assembly.JxW()),
47 _grad_u(_var.gradSln())
55 Real cur_damping = 1.0;
60 if (cur_damping < damping)
61 damping = cur_damping;
const QBase *const & _qrule
Quadrature rule.
static InputParameters validParams()
constexpr auto increment(std::index_sequence< first, tail... >)
Increment the first number in an index sequence, but roll over into the next number if it reaches Nma...
ElementDamper(const InputParameters ¶meters)
static InputParameters validParams()
unsigned int _qp
Quadrature point index.
T * get(const std::unique_ptr< T > &u)
The MooseUtils::get() specializations are used to support making forwards-compatible code changes fro...
static InputParameters validParams()
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const std::set< SubdomainID > EMPTY_BLOCK_IDS
An interface for accessing Materials.
const std::set< BoundaryID > EMPTY_BOUNDARY_IDS
virtual Real computeQpDamping()=0
This MUST be overridden by a child damper.
Base class for deriving dampers.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
Real computeDamping()
Computes this Damper's damping for one element.