18 #include "libmesh/threads.h" 27 params.addParam<std::vector<AuxVariableName>>(
30 "The name of auxiliary variables to save this Kernel's residual contributions to. " 31 " Everything about that variable must match everything about this variable (the " 32 "type, what blocks it's on, etc.)");
33 params.addParam<std::vector<AuxVariableName>>(
36 "The name of auxiliary variables to save this Kernel's diagonal Jacobian " 37 "contributions to. Everything about that variable must match everything " 38 "about this variable (the type, what blocks it's on, etc.)");
40 params.addParam<
bool>(
"use_displaced_mesh",
42 "Whether or not this object should use the " 43 "displaced mesh for computation. Note that in " 44 "the case this is true but no displacements " 45 "are provided in the Mesh block the " 46 "undisplaced mesh will still be used.");
48 params.addParamNamesToGroup(
"diag_save_in save_in use_displaced_mesh",
"Advanced");
49 params.addCoupledVar(
"displacements",
"The displacements");
52 params.addRelationshipManager(
"ElementSideNeighborLayers",
55 { rm_params.
set<
unsigned short>(
"layers") = 0; });
66 _current_elem(_assembly.elem()),
67 _current_elem_volume(_assembly.elemVolume()),
68 _q_point(_assembly.qPoints()),
69 _qrule(_assembly.qRule()),
70 _JxW(_assembly.JxW()),
71 _coord(_assembly.coordTransformation()),
73 _save_in_strings(parameters.
get<
std::vector<AuxVariableName>>(
"save_in")),
74 _has_diag_save_in(false),
75 _diag_save_in_strings(parameters.
get<
std::vector<AuxVariableName>>(
"diag_save_in")),
76 _use_displaced_mesh(getParam<bool>(
"use_displaced_mesh"))
79 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()