12 #include "libmesh/id_types.h" 49 template <
typename DofObjectType>
50 std::set<MooseVariableFieldBase *>
52 const std::set<MooseVariableFieldBase *> & vars_to_omit = {});
63 template <
typename DofObjectType>
64 std::set<MooseVariableFieldBase *>
66 const std::set<MooseVariableFieldBase *> & vars_to_check);
89 template <
typename DofObjectType>
90 std::set<MooseVariableFieldBase *>
92 const DofObjectType & dof_object,
const std::set<MooseVariableFieldBase *> & vars_to_omit)
94 if (vars_to_omit.empty())
97 std::set<MooseVariableFieldBase *> vars_to_check;
100 vars_to_omit.begin(),
102 std::inserter(vars_to_check, vars_to_check.begin()));
const std::set< MooseVariableFieldBase * > & getMooseVariableDependencies() const
Retrieve the set of MooseVariableFieldBase that this object depends on.
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 * > checkVariables(const DofObjectType &dof_object, const std::set< MooseVariableFieldBase *> &vars_to_check)
Check whether all of the supplied variables have degree of freedom indices on the supplied degree of ...
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.