45 static const bool enable =
true;
51 virtual std::unique_ptr<Attribute> clone() const override \
53 return std::unique_ptr<Attribute>(new T(*this)); \
56#define hashfunc(...) \
57 virtual size_t hash() const override \
60 Moose::hash_combine(h, __VA_ARGS__); \
94 typedef unsigned int Key;
192 typedef std::tuple<BoundaryID, bool>
Key;
196 _vals.push_back(std::get<0>(k));
207 const std::set<BoundaryID> & ids,
208 bool must_be_restricted =
false)
215 const std::vector<BoundaryID> & ids,
216 bool must_be_restricted =
false)
219 _vals.reserve(ids.size());
483 :
Attribute(w,
"interfaces"),
_val(static_cast<uint64_t>(mask))
std::ostream & operator<<(std::ostream &os, Interfaces &iface)
boundary_id_type BoundaryID
AttribBoundaries tracks all boundary IDs associated with an 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.
std::vector< BoundaryID > _vals
AttribBoundaries(TheWarehouse &w, const std::set< BoundaryID > &ids, bool must_be_restricted=false)
std::tuple< BoundaryID, bool > Key
hashfunc(_vals, _must_be_restricted)
AttribBoundaries(TheWarehouse &w, const std::vector< BoundaryID > &ids, bool must_be_restricted=false)
AttribBoundaries(TheWarehouse &w, BoundaryID id, bool must_be_restricted=false)
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.
AttribBoundaries(TheWarehouse &w)
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
clonefunc(AttribBoundaries)
Tracks whether the object is on the displaced mesh.
clonefunc(AttribDisplaced)
AttribDisplaced(TheWarehouse &w)
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 isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other.
AttribDisplaced(TheWarehouse &w, Key t)
static const ExecFlagType EXEC_ALL
Execute flag that is used to represent all flags when querying AttribExecOns.
AttribExecOns(TheWarehouse &w, const int id)
AttribExecOns(TheWarehouse &w, const ExecFlagType &exec_flag)
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.
AttribExecOns(TheWarehouse &w)
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
clonefunc(AttribExecutionOrderGroup)
AttribExecutionOrderGroup(TheWarehouse &w, Key p)
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.
AttribExecutionOrderGroup(TheWarehouse &w)
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.
AttribInterfaces(TheWarehouse &w, Interfaces mask)
AttribInterfaces(TheWarehouse &w)
clonefunc(AttribInterfaces)
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.
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
AttribInterfaces(TheWarehouse &w, unsigned int mask)
AttribKokkos(TheWarehouse &w, bool is_kokkos)
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.
AttribKokkos(TheWarehouse &w)
void setFrom(const Key &k)
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 isMatch(const Attribute &other) const override
isMatch returns true if the meta-data stored in this attribute is equivalent to that stored in other.
AttribName(TheWarehouse &w, const std::string &name)
AttribName(TheWarehouse &w)
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
void setFrom(const Key &k)
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
AttribPostAux(TheWarehouse &w, Key val)
AttribPostAux(TheWarehouse &w)
AttribPostAux(TheWarehouse &w, const std::set< Key > &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.
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
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.
AttribPreAux(TheWarehouse &w, Key val)
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.
AttribPreAux(TheWarehouse &w)
AttribPreAux(TheWarehouse &w, const std::set< Key > &vals)
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
AttribPreIC(TheWarehouse &w)
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.
AttribPreIC(TheWarehouse &w, bool pre_ic)
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.
Residual objects have this attribute.
AttribResidualObject(TheWarehouse &w)
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.
AttribResidualObject(TheWarehouse &w, bool is_residual_object)
clonefunc(AttribResidualObject)
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.
void setFrom(const Key &k)
AttribSubdomains(TheWarehouse &w)
std::vector< SubdomainID > _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 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.
clonefunc(AttribSubdomains)
AttribSubdomains(TheWarehouse &w, SubdomainID id)
Tracks the libmesh system number that a MooseObject is associated with.
AttribSysNum(TheWarehouse &w, unsigned int t)
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.
AttribSysNum(TheWarehouse &w)
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.
void setFrom(const Key &k)
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.
AttribSystem(TheWarehouse &w)
AttribSystem(TheWarehouse &w, const std::string &system)
AttribTagBase tracks all (vector or matrix) tags associated with an object.
AttribTagBase(TheWarehouse &w, TagID tag, const std::string &attrib_name)
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.
AttribTagBase(TheWarehouse &w, const std::string &attrib_name)
AttribTagBase(TheWarehouse &w, const std::set< TagID > &tags, const std::string &attrib_name)
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 isEqual(const Attribute &other) const override
isEqual returns true if the meta-data stored in this attribute is identical to that stored in other.
AttribThread(TheWarehouse &w, THREAD_ID t)
AttribThread(TheWarehouse &w)
AttribVar(TheWarehouse &w, int var)
void setFrom(const Key &k)
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.
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
AttribVar(TheWarehouse &w)
Attribute is an abstract class that can be implemented in order to track custom metadata about MooseO...
An interface that restricts an object to subdomains via the 'blocks' input parameter.
/class BoundaryRestrictable /brief Provides functionality for limiting the object to certain boundary...
This user object allows related evaluations on elements, boundaries, internal sides,...
Registered base class for linear FV interpolation objects.
Base class for implementing interface user objects.
Base class for user objects executed on all element sides internal to one or more blocks,...
Class for containing MooseEnum item information.
const int & id() const
Return the numeric, name, or raw name.
Every object that can be built by the factory should be derived from this class.
Base class for creating new nodally-based mortar user objects.
A user object that runs over all the nodes and does an aggregation step to compute a single value.
Base class for all Postprocessors.
Reporter objects allow for the declaration of arbitrary data types that are aggregate values for a si...
ElementUserObject class in which the _phi and _grad_phi shape function data is available and correctl...
SideUserObject class in which the _phi and _grad_phi shape function data is available and correctly i...
Base class for user objects executed one or more sidesets, which may be on the outer boundary of the ...
TheWarehouse is a container for MooseObjects that allows querying/filtering over various customizeabl...
An instance of this object type has one copy per thread that runs on each thread.
Base class for user-specific data.
Base class for Postprocessors that produce a vector of values.
const unsigned int invalid_uint