45 os <<
"|ElementUserObject";
47 os <<
"|SideUserObject";
49 os <<
"|InternalSideUserObject";
51 os <<
"|NodalUserObject";
53 os <<
"|GeneralUserObject";
55 os <<
"|ThreadedGeneralUserObject";
57 os <<
"|ShapeElementUserObject";
59 os <<
"|ShapeSideUserObject";
61 os <<
"|Postprocessor";
63 os <<
"|VectorPostprocessor";
65 os <<
"|InterfaceUserObject";
69 os <<
"|DomainUserObject";
71 os <<
"|MortarUserObject";
82 if (a->_vals.size() == 0)
86 for (
auto val :
_vals)
87 if (std::find(a->_vals.begin(), a->_vals.end(), val) != a->_vals.end())
96 if (!a || a->_vals.size() !=
_vals.size())
99 for (
size_t i = 0; i < a->_vals.size(); i++)
100 if (a->_vals[i] !=
_vals[i])
112 for (
auto & tag : t->getMatrixTags({}))
113 _vals.push_back(static_cast<int>(tag));
124 for (
auto & tag : t->getVectorTags({}))
125 _vals.push_back(static_cast<int>(tag));
133 if (
const auto sup = dynamic_cast<const SetupInterface *>(obj))
135 const auto & current_items = sup->getExecuteOnEnum();
136 _vals.reserve(current_items.size());
137 for (
auto & on : current_items)
146 if (!a || a->_vals.empty())
148 auto cond = a->
_vals[0];
152 for (
const auto val :
_vals)
162 if (!a || a->_vals.size() !=
_vals.size())
165 for (
size_t i = 0; i < a->_vals.size(); i++)
166 if (a->_vals[i] !=
_vals[i])
176 if (blk && blk->blockRestricted())
178 for (
auto id : blk->blockIDs())
189 if (!a || a->_vals.size() < 1)
192 auto cond = a->
_vals[0];
198 for (
auto id :
_vals)
210 if (!a || a->_vals.size() !=
_vals.size())
213 for (
size_t i = 0; i < a->_vals.size(); i++)
214 if (a->_vals[i] !=
_vals[i])
224 if (bnd && bnd->boundaryRestricted())
226 for (
auto & bound : bnd->boundaryIDs())
227 _vals.push_back(bound);
237 if (!a || a->_vals.size() < 1)
241 for (
auto val :
_vals)
245 if (std::find(a->_vals.begin(), a->_vals.end(), val) != a->_vals.end())
257 if (!a || a->_vals.size() !=
_vals.size())
260 for (
size_t i = 0; i < a->_vals.size(); i++)
261 if (a->_vals[i] !=
_vals[i])
275 return a && (a->_val ==
_val);
286 const auto * uo =
dynamic_cast<const UserObject *
>(obj);
287 _val = uo ? uo->getParam<
int>(
"execution_order_group") : 0;
293 return a && (a->_val ==
_val);
307 _val = sys->number();
314 return a && (a->_val ==
_val);
330 auto a =
dynamic_cast<const AttribPreIC *
>(&other);
331 return a && (a->_val ==
_val);
343 const auto a =
dynamic_cast<const AttribPreAux *
>(&other);
345 bool is_match =
false;
347 if (a && !
_vals.empty() && !a->_vals.empty())
349 is_match = std::includes(
_vals.begin(),
_vals.end(), a->_vals.begin(), a->_vals.end()) ||
350 std::includes(a->_vals.begin(), a->_vals.end(),
_vals.begin(),
_vals.end());
359 const auto a =
dynamic_cast<const AttribPreAux *
>(&other);
373 bool is_match =
false;
375 if (a && !
_vals.empty() && !a->_vals.empty())
377 is_match = std::includes(
_vals.begin(),
_vals.end(), a->_vals.begin(), a->_vals.end()) ||
378 std::includes(a->_vals.begin(), a->_vals.end(),
_vals.begin(),
_vals.end());
404 auto a =
dynamic_cast<const AttribName *
>(&other);
405 return a && (a->_val ==
_val);
424 return a && (a->_val ==
_val);
444 return _initd && a && a->_initd && (a->_val ==
_val);
458 _val =
static_cast<int>(vi->mooseVariableBase()->number());
463 auto a =
dynamic_cast<const AttribVar *
>(&other);
464 return a && (
_val != -1) && (a->_val ==
_val);
502 return a && (a->_val &
_val);
509 return a && (a->_val ==
_val);
516 obj->
getParam<
bool>(
"use_displaced_mesh");
523 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
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...
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...
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 const std::string & name() const
Get the name of the class.
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.
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.
const T & getParam(const std::string &name) const
Retrieve a parameter for the object.
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...
const InputParameters & parameters() const
Get the parameters of the object.
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
Base class for user-specific data.
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)