19 params.
addParam<std::vector<AuxVariableName>>(
22 "The name of auxiliary variables to save this BC's residual contributions to. " 23 "Everything about that variable must match everything about this variable (the " 24 "type, what blocks it's on, etc.)");
25 params.
addParam<std::vector<AuxVariableName>>(
28 "The name of auxiliary variables to save this BC's diagonal jacobian " 29 "contributions to. Everything about that variable must match everything " 30 "about this variable (the type, what blocks it's on, etc.)");
35 "skip_execution_outside_variable_domain",
37 "Whether to skip execution of this boundary condition when the variable it " 38 "applies to is not defined on the boundary. This can facilitate setups with " 39 "moving variable domains and fixed boundaries. Note that the FEProblem boundary-restricted " 40 "integrity checks will also need to be turned off if using this option");
53 _current_elem(_assembly.elem()),
54 _current_elem_volume(_assembly.elemVolume()),
55 _current_side(_assembly.side()),
56 _current_side_elem(_assembly.sideElem()),
57 _current_side_volume(_assembly.sideElemVolume()),
58 _current_boundary_id(_assembly.currentBoundaryID()),
59 _qrule(_assembly.qRuleFace()),
60 _q_point(_assembly.qPointsFace()),
61 _JxW(_assembly.JxWFace()),
62 _coord(_assembly.coordTransformation()),
63 _save_in_strings(parameters.
get<
std::vector<AuxVariableName>>(
"save_in")),
64 _diag_save_in_strings(parameters.
get<
std::vector<AuxVariableName>>(
"diag_save_in")),
65 _skip_execution_outside_variable_domain(
66 getParam<bool>(
"skip_execution_outside_variable_domain"))
80 const bool check_subdomain =
true;
82 const bool check_subdomain =
false;
90 mooseError(
"This boundary condition is being executed outside the domain of " 91 "definition of its variable, on subdomain: ",
const Elem *const & _current_elem
current element
T * get(const std::unique_ptr< T > &u)
The MooseUtils::get() specializations are used to support making forwards-compatible code changes fro...
MaterialDataType
MaterialData types.
IntegratedBCBase(const InputParameters ¶meters)
static InputParameters validParams()
THREAD_ID _tid
The thread ID for this kernel.
const bool _skip_execution_outside_variable_domain
Whether to allow skipping the execution of the boundary condition outside of its domain of definition...
SubProblem & _subproblem
Reference to this kernel's SubProblem.
void prepareShapes(unsigned int var_num) override final
Prepare shape functions.
virtual bool shouldApply() const override
Hook for turning the boundary condition on and off.
Base class for creating new types of boundary conditions.
const std::set< SubdomainID > EMPTY_BLOCK_IDS
An interface for accessing Materials.
static InputParameters validParams()
void mooseError(Args &&... args) const
Emits an error prefixed with object name and type and optionally a file path to the top-level block p...
virtual const MooseVariableBase & variable() const =0
Returns the variable that this object operates on.
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
static InputParameters validParams()
virtual void prepareFaceShapes(unsigned int var, const THREAD_ID tid)=0