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);
117template <
typename DofObjectType>
118std::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()));
134inline std::set<MooseVariableFieldBase *>
136 const libMesh::Node & node,
const std::set<MooseVariableFieldBase *> & vars_to_check)
141inline std::set<MooseVariableFieldBase *>
143 const libMesh::Elem & element,
const std::set<MooseVariableFieldBase *> & vars_to_check)
Every object that can be built by the factory should be derived from this class.
const std::set< MooseVariableFieldBase * > & getMooseVariableDependencies() const
Retrieve the set of MooseVariableFieldBase that this object depends on.
std::set< MooseVariableFieldBase * > checkVariablesHelper(const DofObjectType &dof_object, const std::set< MooseVariableFieldBase * > &vars_to_check)
Helper method for checking variables for dof indices.
std::vector< libMesh::dof_id_type > _dof_indices
A container for holding dof indices in order to avoid constant memory reallocation.
void addMooseVariableDependency(const std::vector< MooseVariableFieldBase * > &vars)
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.
std::set< MooseVariableFieldBase * > _moose_variable_dependencies
void addMooseVariableDependency(MooseVariableFieldBase *var)
Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends...
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 ...
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...