14 #include "libmesh/id_types.h" 33 #ifdef MOOSE_KOKKOS_ENABLED 59 template <
typename DofObjectType>
60 std::set<MooseVariableFieldBase *>
62 const std::set<MooseVariableFieldBase *> & vars_to_omit = {});
73 virtual std::set<MooseVariableFieldBase *>
75 const std::set<MooseVariableFieldBase *> & vars_to_check);
86 std::set<MooseVariableFieldBase *>
88 const std::set<MooseVariableFieldBase *> & vars_to_check);
106 template <
typename DofObjectType>
107 std::set<MooseVariableFieldBase *>
109 const std::set<MooseVariableFieldBase *> & vars_to_check);
117 template <
typename DofObjectType>
118 std::set<MooseVariableFieldBase *>
120 const DofObjectType & dof_object,
const std::set<MooseVariableFieldBase *> & vars_to_omit)
122 if (vars_to_omit.empty())
125 std::set<MooseVariableFieldBase *> vars_to_check;
128 vars_to_omit.begin(),
130 std::inserter(vars_to_check, vars_to_check.begin()));
134 inline std::set<MooseVariableFieldBase *>
136 const libMesh::Node & node,
const std::set<MooseVariableFieldBase *> & vars_to_check)
141 inline std::set<MooseVariableFieldBase *>
143 const libMesh::Elem & element,
const std::set<MooseVariableFieldBase *> & vars_to_check)
const std::set< MooseVariableFieldBase * > & getMooseVariableDependencies() const
Retrieve the set of MooseVariableFieldBase that this object depends on.
virtual std::set< MooseVariableFieldBase * > checkVariables(const libMesh::Node &node, const std::set< MooseVariableFieldBase *> &vars_to_check)
Check whether all of the supplied variables have degree of freedom indices on the supplied node...
MooseVariableDependencyInterface(const MooseObject *)
This class provides an interface for common operations on field variables of both FE and FV types wit...
The following methods are specializations for using the libMesh::Parallel::packed_range_* routines fo...
std::set< MooseVariableFieldBase * > checkVariablesHelper(const DofObjectType &dof_object, const std::set< MooseVariableFieldBase *> &vars_to_check)
Helper method for checking variables for dof indices.
std::set< MooseVariableFieldBase * > _moose_variable_dependencies
Every object that can be built by the factory should be derived from this class.
void addMooseVariableDependency(const std::vector< MooseVariableFieldBase *> &vars)
std::set< MooseVariableFieldBase * > checkAllVariables(const DofObjectType &dof_object, const std::set< MooseVariableFieldBase *> &vars_to_omit={})
Check whether all of the variable dependencies have degree of freedom indices on the supplied degree ...
void addMooseVariableDependency(MooseVariableFieldBase *var)
Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends...
std::vector< libMesh::dof_id_type > _dof_indices
A container for holding dof indices in order to avoid constant memory reallocation.