18 #include <type_traits> 44 static const bool enable =
true;
49 #define clonefunc(T) \ 50 virtual std::unique_ptr<Attribute> clone() const override \ 52 return std::unique_ptr<Attribute>(new T(*this)); \ 55 #define hashfunc(...) \ 56 virtual size_t hash() const override \ 59 Moose::hash_combine(h, __VA_ARGS__); \ 93 typedef unsigned int Key;
191 typedef std::tuple<BoundaryID, bool>
Key;
195 _vals.push_back(std::get<0>(k));
206 const std::set<BoundaryID> & ids,
207 bool must_be_restricted =
false)
214 const std::vector<BoundaryID> & ids,
215 bool must_be_restricted =
false)
218 _vals.reserve(ids.size());
464 :
Attribute(w,
"interfaces"),
_val(static_cast<uint64_t>(mask))
std::string name(const ElemQuality q)
std::tuple< BoundaryID, bool > Key
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, TagID tag, const std::string &attrib_name)
std::ostream & operator<<(std::ostream &os, Interfaces &iface)
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.
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...
AttribExecOns(TheWarehouse &w, const int id)
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 unsigned int invalid_uint
AttribPreAux(TheWarehouse &w)
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...
AttribDisplaced(TheWarehouse &w)
AttribSysNum(TheWarehouse &w)
AttribPostAux(TheWarehouse &w)
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.
AttribPreAux(TheWarehouse &w, Key val)
AttribInterfaces(TheWarehouse &w, Interfaces mask)
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...
AttribResidualObject(TheWarehouse &w, bool is_residual_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...
AttribBoundaries(TheWarehouse &w, const std::vector< BoundaryID > &ids, bool must_be_restricted=false)
AttribInterfaces(TheWarehouse &w, unsigned int mask)
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.
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...
AttribInterfaces(TheWarehouse &w)
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...
Base class for user objects executed one or more sidesets, which may be on the outer boundary of the ...
AttribVar(TheWarehouse &w, int var)
std::basic_ostream< charT, traits > * os
This user object allows related evaluations on elements, boundaries, internal sides, interfaces in one single place.
AttribSystem(TheWarehouse &w, const std::string &system)
clonefunc(AttribInterfaces)
Base class for creating new nodally-based mortar user objects.
Reporter objects allow for the declaration of arbitrary data types that are aggregate values for a si...
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...
AttribSubdomains(TheWarehouse &w, SubdomainID id)
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.
hashfunc(_vals, _must_be_restricted)
AttribDisplaced(TheWarehouse &w, Key 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...
A user object that runs over all the nodes and does an aggregation step to compute a single value...
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.
AttribBoundaries(TheWarehouse &w, const std::set< BoundaryID > &ids, bool must_be_restricted=false)
clonefunc(AttribDisplaced)
AttribBoundaries(TheWarehouse &w, BoundaryID id, bool must_be_restricted=false)
clonefunc(AttribResidualObject)
AttribThread(TheWarehouse &w, THREAD_ID t)
AttribPostAux(TheWarehouse &w, const std::set< Key > &vals)
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...
clonefunc(AttribExecutionOrderGroup)
Tracks the libmesh system number that a MooseObject is associated with.
AttribExecutionOrderGroup(TheWarehouse &w, Key p)
AttribPreIC(TheWarehouse &w, bool pre_ic)
Every object that can be built by the factory should be derived from this class.
ElementUserObject class in which the _phi and _grad_phi shape function data is available and correctl...
boundary_id_type BoundaryID
void setFrom(const Key &k)
AttribBoundaries tracks all boundary IDs associated with an object.
TheWarehouse is a container for MooseObjects that allows querying/filtering over various customizeabl...
clonefunc(AttribSubdomains)
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...
AttribPreIC(TheWarehouse &w)
Base class for all Postprocessors.
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...
AttribSystem(TheWarehouse &w)
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
AttribPreAux(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...
Base class for user objects executed on all element sides internal to one or more blocks...
Residual objects have this attribute.
AttribTagBase(TheWarehouse &w, 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.
std::vector< TagID > _vals
const int & id() const
Return the numeric, name, or raw name.
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...
AttribVar(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...
AttribSubdomains(TheWarehouse &w)
AttribResidualObject(TheWarehouse &w)
AttribBoundaries(TheWarehouse &w)
AttribThread(TheWarehouse &w)
AttribPostAux(TheWarehouse &w, Key val)
void setFrom(const Key &k)
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.
AttribSysNum(TheWarehouse &w, unsigned int t)
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...
clonefunc(AttribBoundaries)
Tracks whether the object is on the displaced mesh.
AttribExecOns(TheWarehouse &w)
Base class for implementing interface user objects.
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...
AttribName(TheWarehouse &w, const std::string &name)
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Base class for Postprocessors that produce a vector of values.
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.
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...
SideUserObject class in which the _phi and _grad_phi shape function data is available and correctly i...
An instance of this object type has one copy per thread that runs on each thread. ...
AttribName(TheWarehouse &w)
AttribExecOns(TheWarehouse &w, const ExecFlagType &exec_flag)