46 os <<
"|ElementUserObject";
48 os <<
"|SideUserObject";
50 os <<
"|InternalSideUserObject";
52 os <<
"|NodalUserObject";
54 os <<
"|GeneralUserObject";
56 os <<
"|ThreadedGeneralUserObject";
58 os <<
"|ShapeElementUserObject";
60 os <<
"|ShapeSideUserObject";
62 os <<
"|Postprocessor";
64 os <<
"|VectorPostprocessor";
66 os <<
"|InterfaceUserObject";
70 os <<
"|DomainUserObject";
72 os <<
"|MortarUserObject";
74 os <<
"|FVInterpolationMethod";
85 if (a->_vals.size() == 0)
89 for (
auto val :
_vals)
90 if (
std::find(a->_vals.begin(), a->_vals.end(), val) != a->_vals.end())
99 if (!a || a->_vals.size() !=
_vals.size())
102 for (
size_t i = 0; i < a->_vals.size(); i++)
103 if (a->_vals[i] !=
_vals[i])
115 for (
auto & tag : t->getMatrixTags({}))
116 _vals.push_back(static_cast<int>(tag));
127 for (
auto & tag : t->getVectorTags({}))
128 _vals.push_back(static_cast<int>(tag));
136 if (
const auto sup = dynamic_cast<const SetupInterface *>(obj))
138 const auto & current_items = sup->getExecuteOnEnum();
139 _vals.reserve(current_items.size());
140 for (
auto & on : current_items)
149 if (!a || a->_vals.empty())
151 auto cond = a->
_vals[0];
155 for (
const auto val :
_vals)
165 if (!a || a->_vals.size() !=
_vals.size())
168 for (
size_t i = 0; i < a->_vals.size(); i++)
169 if (a->_vals[i] !=
_vals[i])
179 if (blk && blk->blockRestricted())
181 for (
auto id : blk->blockIDs())
192 if (!a || a->_vals.size() < 1)
195 auto cond = a->
_vals[0];
201 for (
auto id :
_vals)
213 if (!a || a->_vals.size() !=
_vals.size())
216 for (
size_t i = 0; i < a->_vals.size(); i++)
217 if (a->_vals[i] !=
_vals[i])
227 if (bnd && bnd->boundaryRestricted())
229 for (
auto & bound : bnd->boundaryIDs())
230 _vals.push_back(bound);
240 if (!a || a->_vals.size() < 1)
244 for (
auto val :
_vals)
248 if (
std::find(a->_vals.begin(), a->_vals.end(), val) != a->_vals.end())
260 if (!a || a->_vals.size() !=
_vals.size())
263 for (
size_t i = 0; i < a->_vals.size(); i++)
264 if (a->_vals[i] !=
_vals[i])
278 return a && (a->_val ==
_val);
290 _val = uo ? uo->getParam<
int>(
"execution_order_group") : 0;
296 return a && (a->_val ==
_val);
310 _val = sys->number();
317 return a && (a->_val ==
_val);
333 auto a =
dynamic_cast<const AttribPreIC *
>(&other);
334 return a && (a->_val ==
_val);
346 const auto a =
dynamic_cast<const AttribPreAux *
>(&other);
348 bool is_match =
false;
350 if (a && !
_vals.empty() && !a->_vals.empty())
352 is_match = std::includes(
_vals.begin(),
_vals.end(), a->_vals.begin(), a->_vals.end()) ||
353 std::includes(a->_vals.begin(), a->_vals.end(),
_vals.begin(),
_vals.end());
362 const auto a =
dynamic_cast<const AttribPreAux *
>(&other);
376 bool is_match =
false;
378 if (a && !
_vals.empty() && !a->_vals.empty())
380 is_match = std::includes(
_vals.begin(),
_vals.end(), a->_vals.begin(), a->_vals.end()) ||
381 std::includes(a->_vals.begin(), a->_vals.end(),
_vals.begin(),
_vals.end());
407 auto a =
dynamic_cast<const AttribName *
>(&other);
408 return a && (a->_val ==
_val);
427 return a && (a->_val ==
_val);
447 return _initd && a && a->_initd && (a->_val ==
_val);
461 _val =
static_cast<int>(vi->mooseVariableBase()->number());
466 auto a =
dynamic_cast<const AttribVar *
>(&other);
467 return a && (
_val != -1) && (a->_val ==
_val);
506 return a && (a->_val &
_val);
513 return a && (a->_val ==
_val);
520 obj->
getParam<
bool>(
"use_displaced_mesh");
527 return a && (a->_val ==
_val);
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
std::vector< SubdomainID > _vals
KOKKOS_INLINE_FUNCTION const T * find(const T &target, const T *const begin, const T *const end)
Find a value in an array.
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Attribute is an abstract class that can be implemented in order to track custom metadata about MooseO...
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
const InputParameters & parameters() const
Get the parameters of the object.
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
std::vector< BoundaryID > _vals
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
/class BoundaryRestrictable /brief Provides functionality for limiting the object to certain boundary...
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
std::basic_ostream< charT, traits > * os
Base class for a system (of equations)
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
const SubdomainID INVALID_BLOCK_ID
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
const std::string & name() const
Get the name of the class.
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
Tracks the libmesh system number that a MooseObject is associated with.
Every object that can be built by the factory should be derived from this class.
AttribBoundaries tracks all boundary IDs associated with an object.
static const ExecFlagType EXEC_ALL
Execute flag that is used to represent all flags when querying AttribExecOns.
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
Residual objects have this attribute.
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
std::vector< TagID > _vals
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
const SubdomainID ANY_BLOCK_ID
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
Class for containing MooseEnum item information.
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
AttribTagBase tracks all (vector or matrix) tags associated with an object.
An interface that restricts an object to subdomains via the 'blocks' input parameter.
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
virtual bool isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other...
Tracks whether the object is on the displaced mesh.
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
void ErrorVector unsigned int
virtual bool isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other...
const BoundaryID ANY_BOUNDARY_ID
std::ostream & operator<<(std::ostream &os, Interfaces &iface)