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: ",
void mooseError(Args &&... args)
Emit an error message with the given stringified, concatenated args and terminate the application.
Base class for creating new types of boundary conditions.
static InputParameters validParams()
static InputParameters validParams()
IntegratedBCBase(const InputParameters ¶meters)
void prepareShapes(unsigned int var_num) override final
Prepare shape functions.
const Elem *const & _current_elem
current element
virtual bool shouldApply() const override
Hook for turning the boundary condition on and off.
const bool _skip_execution_outside_variable_domain
Whether to allow skipping the execution of the boundary condition outside of its domain of definition...
An interface for accessing Materials.
static InputParameters validParams()
THREAD_ID _tid
The thread ID for this kernel.
virtual const MooseVariableBase & variable() const =0
Returns the variable that this object operates on.
SubProblem & _subproblem
Reference to this kernel's SubProblem.
virtual void prepareFaceShapes(unsigned int var, const THREAD_ID tid)=0
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...
MaterialDataType
MaterialData types.