17 #include "libmesh/quadrature.h"    26   params.
addParam<
bool>(
"use_displaced_mesh",
    28                         "Whether or not this object should use the "    29                         "displaced mesh for computation. Note that in "    30                         "the case this is true but no displacements "    31                         "are provided in the Mesh block the "    32                         "undisplaced mesh will still be used.");
    39   params.
addParam<std::vector<AuxVariableName>>(
    42       "The name of auxiliary variables to save this Kernel's residual contributions to. "    43       " Everything about that variable must match everything about this variable (the "    44       "type, what blocks it's on, etc.)");
    45   params.
addParam<std::vector<AuxVariableName>>(
    48       "The name of auxiliary variables to save this Kernel's diagonal Jacobian "    49       "contributions to. Everything about that variable must match everything "    50       "about this variable (the type, what blocks it's on, etc.)");
    56       "This parameter must exist if save_in variables are specified and must have the same length "    57       "as save_in. This vector specifies whether the corresponding aux_var should save-in "    58       "residual contributions from the primary ('p') or secondary side ('s').");
    60       "diag_save_in_var_side",
    62       "This parameter must exist if diag_save_in variables are specified and must have the same "    63       "length as diag_save_in. This vector specifies whether the corresponding aux_var should "    64       "save-in jacobian contributions from the primary ('p') or secondary side ('s').");
    66                               "Residual and Jacobian debug output");
    86     _current_elem(_assembly.elem()),
    87     _current_elem_volume(_assembly.elemVolume()),
    88     _neighbor_elem(_assembly.neighbor()),
    89     _neighbor_elem_volume(_assembly.neighborVolume()),
    90     _current_side(_assembly.side()),
    91     _current_side_elem(_assembly.sideElem()),
    92     _current_side_volume(_assembly.sideElemVolume()),
    93     _coord_sys(_assembly.coordSystem()),
    94     _q_point(_assembly.qPointsFace()),
    95     _qrule(_assembly.qRuleFace()),
    96     _JxW(_assembly.JxWFace()),
    97     _coord(_assembly.coordTransformation()),
    99     _save_in_strings(parameters.
get<
std::vector<AuxVariableName>>(
"save_in")),
   101     _diag_save_in_strings(parameters.
get<
std::vector<AuxVariableName>>(
"diag_save_in"))
 const Real & neighborVolume()
Returns the reference to the current neighbor volume. 
 
static Threads::spin_mutex _resid_vars_mutex
Mutex that prevents multiple threads from saving into the residual aux_var at the same time...
 
static InputParameters validParams()
 
static InputParameters validParams()
 
/class BoundaryRestrictable /brief Provides functionality for limiting the object to certain boundary...
 
THREAD_ID _tid
The thread ID for this kernel. 
 
const Real & getNeighborElemVolume()
The volume of the current neighbor. 
 
InterfaceKernelBase(const InputParameters ¶meters)
 
void prepareShapes(unsigned int var_num) override final
Prepare shape functions. 
 
SubProblem & _subproblem
Reference to this kernel's SubProblem. 
 
static InputParameters validParams()
 
This is a base class for objects that can provide residual contributions for both local and neighbor ...
 
Assembly & _assembly
Reference to this Kernel's assembly object. 
 
static Threads::spin_mutex _jacoby_vars_mutex
Mutex that prevents multiple threads from saving into the jacobian aux_var at the same time...
 
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
 
const std::set< SubdomainID > EMPTY_BLOCK_IDS
 
static InputParameters validParams()
 
This interface is designed for DGKernel, InternalSideUserObject, InterfaceUserObject, where material properties on a side of both its primary side (face) and its secondary side (neighbor) all required. 
 
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
 
This is a "smart" enum class intended to replace many of the shortcomings in the C++ enum type...
 
virtual void prepareFaceShapes(unsigned int var, const THREAD_ID tid)=0
 
const Elem & get(const ElemType type_in)