18 #include "libmesh/threads.h" 26 params.registerSystemAttributeName(
"Kernel");
28 params.addParam<std::vector<AuxVariableName>>(
31 "The name of auxiliary variables to save this Kernel's residual contributions to. " 32 " Everything about that variable must match everything about this variable (the " 33 "type, what blocks it's on, etc.)");
34 params.addParam<std::vector<AuxVariableName>>(
37 "The name of auxiliary variables to save this Kernel's diagonal Jacobian " 38 "contributions to. Everything about that variable must match everything " 39 "about this variable (the type, what blocks it's on, etc.)");
41 params.addParam<
bool>(
"use_displaced_mesh",
43 "Whether or not this object should use the " 44 "displaced mesh for computation. Note that in " 45 "the case this is true but no displacements " 46 "are provided in the Mesh block the " 47 "undisplaced mesh will still be used.");
49 params.addParamNamesToGroup(
"diag_save_in save_in use_displaced_mesh",
"Advanced");
50 params.addCoupledVar(
"displacements",
"The displacements");
53 params.addRelationshipManager(
"ElementSideNeighborLayers",
56 { rm_params.
set<
unsigned short>(
"layers") = 0; });
67 _current_elem(_assembly.elem()),
68 _current_elem_volume(_assembly.elemVolume()),
69 _q_point(_assembly.qPoints()),
70 _qrule(_assembly.qRule()),
71 _JxW(_assembly.JxW()),
72 _coord(_assembly.coordTransformation()),
74 _save_in_strings(parameters.
get<
std::vector<AuxVariableName>>(
"save_in")),
75 _has_diag_save_in(false),
76 _diag_save_in_strings(parameters.
get<
std::vector<AuxVariableName>>(
"diag_save_in")),
77 _use_displaced_mesh(getParam<bool>(
"use_displaced_mesh"))
80 for (decltype(num_disp) i = 0; i < num_disp; ++i)
virtual unsigned int coupled(const std::string &var_name, unsigned int comp=0) const
Returns the index for a coupled variable by name.
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()
KernelBase(const InputParameters ¶meters)
static InputParameters validParams()
static InputParameters validParams()
std::vector< unsigned int > _displacements
unsigned int coupledComponents(const std::string &var_name) const
Number of coupled components.
This is the common base class for objects that give residual contributions.
An interface for accessing Materials.
const std::set< BoundaryID > EMPTY_BOUNDARY_IDS
An interface that restricts an object to subdomains via the 'blocks' input parameter.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
static InputParameters validParams()