https://mooseframework.inl.gov
Attributes.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "MooseHashing.h"
13 #include "TheWarehouse.h"
14 #include "Moose.h"
15 
16 #include <ostream>
17 #include <tuple>
18 #include <type_traits>
19 
20 enum class Interfaces
21 {
22  UserObject = 1 << 1,
23  ElementUserObject = 1 << 2,
24  SideUserObject = 1 << 3,
25  InternalSideUserObject = 1 << 4,
26  NodalUserObject = 1 << 5,
27  GeneralUserObject = 1 << 6,
29  ShapeElementUserObject = 1 << 8,
30  ShapeSideUserObject = 1 << 9,
31  Postprocessor = 1 << 10,
32  VectorPostprocessor = 1 << 11,
33  InterfaceUserObject = 1 << 12,
34  BlockRestrictable = 1 << 13,
35  BoundaryRestrictable = 1 << 14,
36  Reporter = 1 << 15,
37  DomainUserObject = 1 << 16,
38  MortarUserObject = 1 << 17,
39  FVInterpolationMethod = 1 << 18
40 };
41 
42 template <>
43 struct enable_bitmask_operators<Interfaces>
44 {
45  static const bool enable = true;
46 };
47 
48 std::ostream & operator<<(std::ostream & os, Interfaces & iface);
49 
50 #define clonefunc(T) \
51  virtual std::unique_ptr<Attribute> clone() const override \
52  { \
53  return std::unique_ptr<Attribute>(new T(*this)); \
54  }
55 
56 #define hashfunc(...) \
57  virtual size_t hash() const override \
58  { \
59  size_t h = 0; \
60  Moose::hash_combine(h, __VA_ARGS__); \
61  return h; \
62  }
63 
67 class AttribTagBase : public Attribute
68 {
69 public:
70  AttribTagBase(TheWarehouse & w, const std::string & attrib_name) : Attribute(w, attrib_name) {}
71  AttribTagBase(TheWarehouse & w, TagID tag, const std::string & attrib_name)
72  : Attribute(w, attrib_name)
73  {
74  _vals.push_back(tag);
75  }
76  AttribTagBase(TheWarehouse & w, const std::set<TagID> & tags, const std::string & attrib_name)
77  : Attribute(w, attrib_name)
78  {
79  for (auto tag : tags)
80  _vals.push_back(tag);
81  }
82 
83  virtual bool isMatch(const Attribute & other) const override;
84  virtual bool isEqual(const Attribute & other) const override;
85  hashfunc(_vals);
86 
87 protected:
88  std::vector<TagID> _vals;
89 };
90 
92 {
93 public:
94  typedef unsigned int Key;
95  void setFrom(Key k)
96  {
97  _vals.clear();
98  _vals.push_back(k);
99  }
100 
101  AttribMatrixTags(TheWarehouse & w) : AttribTagBase(w, "matrix_tags") {}
102  AttribMatrixTags(TheWarehouse & w, TagID tag) : AttribTagBase(w, tag, "matrix_tags") {}
103  AttribMatrixTags(TheWarehouse & w, const std::set<TagID> & tags)
104  : AttribTagBase(w, tags, "matrix_tags")
105  {
106  }
107  virtual void initFrom(const MooseObject * obj) override;
109 };
110 
112 {
113 public:
115 
116  typedef unsigned int Key;
117  void setFrom(Key k)
118  {
119  _vals.clear();
120  _vals.push_back(k);
121  }
122 
123  AttribVectorTags(TheWarehouse & w) : AttribTagBase(w, "vector_tags") {}
124  AttribVectorTags(TheWarehouse & w, TagID tag) : AttribTagBase(w, tag, "vector_tags") {}
125  AttribVectorTags(TheWarehouse & w, const std::set<TagID> & tags)
126  : AttribTagBase(w, tags, "vector_tags")
127  {
128  }
129  virtual void initFrom(const MooseObject * obj) override;
130 };
131 
132 class AttribExecOns : public Attribute
133 {
134 public:
136  static const ExecFlagType EXEC_ALL;
137 
138  typedef int Key;
139  void setFrom(Key k)
140  {
141  _vals.clear();
142  _vals.push_back(k);
143  }
144 
145  AttribExecOns(TheWarehouse & w) : Attribute(w, "exec_ons") {}
146  AttribExecOns(TheWarehouse & w, const int id) : Attribute(w, "exec_ons"), _vals({id}) {}
147  AttribExecOns(TheWarehouse & w, const ExecFlagType & exec_flag)
148  : Attribute(w, "exec_ons"), _vals({exec_flag.id()})
149  {
150  }
151  virtual void initFrom(const MooseObject * obj) override;
152  virtual bool isMatch(const Attribute & other) const override;
153  virtual bool isEqual(const Attribute & other) const override;
154  hashfunc(_vals);
156 
157 private:
158  std::vector<Key> _vals;
159 };
160 
162 {
163 public:
164  typedef SubdomainID Key;
165  void setFrom(Key k)
166  {
167  _vals.clear();
168  _vals.push_back(k);
169  }
170 
171  AttribSubdomains(TheWarehouse & w) : Attribute(w, "subdomains") {}
173  {
174  _vals.push_back(id);
175  }
176  virtual void initFrom(const MooseObject * obj) override;
177  virtual bool isMatch(const Attribute & other) const override;
178  virtual bool isEqual(const Attribute & other) const override;
179  hashfunc(_vals);
181 
182 private:
183  std::vector<SubdomainID> _vals;
184 };
185 
190 {
191 public:
192  typedef std::tuple<BoundaryID, bool> Key;
193  void setFrom(Key k)
194  {
195  _vals.clear();
196  _vals.push_back(std::get<0>(k));
197  _must_be_restricted = std::get<1>(k);
198  }
199 
200  AttribBoundaries(TheWarehouse & w) : Attribute(w, "boundaries") {}
201  AttribBoundaries(TheWarehouse & w, BoundaryID id, bool must_be_restricted = false)
202  : Attribute(w, "boundaries"), _must_be_restricted(must_be_restricted)
203  {
204  _vals.push_back(id);
205  }
207  const std::set<BoundaryID> & ids,
208  bool must_be_restricted = false)
209  : Attribute(w, "boundaries"), _must_be_restricted(must_be_restricted)
210  {
211  for (auto id : ids)
212  _vals.push_back(id);
213  }
215  const std::vector<BoundaryID> & ids,
216  bool must_be_restricted = false)
217  : Attribute(w, "boundaries"), _must_be_restricted(must_be_restricted)
218  {
219  _vals.reserve(ids.size());
220  for (auto id : ids)
221  _vals.push_back(id);
222  }
223  virtual void initFrom(const MooseObject * obj) override;
224  virtual bool isMatch(const Attribute & other) const override;
225  virtual bool isEqual(const Attribute & other) const override;
228 
229 private:
230  std::vector<BoundaryID> _vals;
231  bool _must_be_restricted = false;
232 };
233 
234 class AttribThread : public Attribute
235 {
236 public:
237  typedef THREAD_ID Key;
238  void setFrom(Key k) { _val = k; }
239 
240  AttribThread(TheWarehouse & w) : Attribute(w, "thread") {}
241  AttribThread(TheWarehouse & w, THREAD_ID t) : Attribute(w, "thread"), _val(t) {}
242  virtual void initFrom(const MooseObject * obj) override;
243  virtual bool isMatch(const Attribute & other) const override;
244  virtual bool isEqual(const Attribute & other) const override;
245  hashfunc(_val);
247 
248 private:
250 };
251 
253 {
254 public:
255  typedef int Key;
256  void setFrom(Key k) { _val = k; }
257 
258  AttribExecutionOrderGroup(TheWarehouse & w) : Attribute(w, "execution_order_group") {}
260  : Attribute(w, "execution_order_group"), _val(p)
261  {
262  }
263  virtual void initFrom(const MooseObject * obj) override;
264  virtual bool isMatch(const Attribute & other) const override;
265  virtual bool isEqual(const Attribute & other) const override;
266  hashfunc(_val);
268 
269 private:
270  int _val = 0;
271 };
272 
276 class AttribSysNum : public Attribute
277 {
278 public:
279  typedef unsigned int Key;
280  void setFrom(Key k) { _val = k; }
281 
282  AttribSysNum(TheWarehouse & w) : Attribute(w, "sys_num") {}
283  AttribSysNum(TheWarehouse & w, unsigned int t) : Attribute(w, "sys_num"), _val(t) {}
284  virtual void initFrom(const MooseObject * obj) override;
285  virtual bool isMatch(const Attribute & other) const override;
286  virtual bool isEqual(const Attribute & other) const override;
287  hashfunc(_val);
289 
290 private:
291  unsigned int _val = libMesh::invalid_uint;
292 };
293 
295 class AttribPreIC : public Attribute
296 {
297 public:
298  typedef bool Key;
299  void setFrom(Key k) { _val = k; }
300 
301  AttribPreIC(TheWarehouse & w) : Attribute(w, "pre_ic") {}
302  AttribPreIC(TheWarehouse & w, bool pre_ic) : Attribute(w, "pre_ic"), _val(pre_ic) {}
303  virtual void initFrom(const MooseObject * obj) override;
304  virtual bool isMatch(const Attribute & other) const override;
305  virtual bool isEqual(const Attribute & other) const override;
306  hashfunc(_val);
308 
309 private:
310  bool _val = false;
311 };
312 
314 class AttribPreAux : public Attribute
315 {
316 public:
317  typedef int Key;
318  void setFrom(Key k)
319  {
320  _vals.clear();
321  _vals.insert(k);
322  }
323 
324  AttribPreAux(TheWarehouse & w) : Attribute(w, "pre_aux") {}
325  AttribPreAux(TheWarehouse & w, Key val) : Attribute(w, "pre_aux") { _vals.insert(val); }
326  AttribPreAux(TheWarehouse & w, const std::set<Key> & vals) : Attribute(w, "pre_aux"), _vals(vals)
327  {
328  }
329  virtual void initFrom(const MooseObject * obj) override;
330  virtual bool isMatch(const Attribute & other) const override;
331  virtual bool isEqual(const Attribute & other) const override;
332  hashfunc(_vals);
334 
335 private:
336  std::set<Key> _vals;
337 };
338 
345 class AttribPostAux : public Attribute
346 {
347 public:
348  typedef int Key;
349  void setFrom(Key k)
350  {
351  _vals.clear();
352  _vals.insert(k);
353  }
354 
355  AttribPostAux(TheWarehouse & w) : Attribute(w, "post_aux") {}
356  AttribPostAux(TheWarehouse & w, Key val) : Attribute(w, "post_aux") { _vals.insert(val); }
357  AttribPostAux(TheWarehouse & w, const std::set<Key> & vals)
358  : Attribute(w, "post_aux"), _vals(vals)
359  {
360  }
361  virtual void initFrom(const MooseObject * obj) override;
362  virtual bool isMatch(const Attribute & other) const override;
363  virtual bool isEqual(const Attribute & other) const override;
364  hashfunc(_vals);
366 
367 private:
368  std::set<Key> _vals;
369 };
370 
371 class AttribName : public Attribute
372 {
373 public:
374  typedef std::string Key;
375  void setFrom(const Key & k) { _val = k; }
376 
377  AttribName(TheWarehouse & w) : Attribute(w, "name") {}
378  AttribName(TheWarehouse & w, const std::string & name) : Attribute(w, "name"), _val(name) {}
379  virtual void initFrom(const MooseObject * obj) override;
380  virtual bool isMatch(const Attribute & other) const override;
381  virtual bool isEqual(const Attribute & other) const override;
382  hashfunc(_val);
384 
385 private:
386  std::string _val;
387 };
388 
389 class AttribSystem : public Attribute
390 {
391 public:
392  typedef std::string Key;
393  void setFrom(const Key & k) { _val = k; }
394 
395  AttribSystem(TheWarehouse & w) : Attribute(w, "system") {}
396  AttribSystem(TheWarehouse & w, const std::string & system) : Attribute(w, "system"), _val(system)
397  {
398  }
399  virtual void initFrom(const MooseObject * obj) override;
400  virtual bool isMatch(const Attribute & other) const override;
401  virtual bool isEqual(const Attribute & other) const override;
402  hashfunc(_val);
404 
405 private:
406  std::string _val;
407 };
408 
413 {
414 public:
415  typedef bool Key;
416  void setFrom(const Key & k) { _val = k; }
417 
419  : Attribute(w, "residual_object"), _val(false), _initd(false)
420  {
421  }
422 
423  AttribResidualObject(TheWarehouse & w, bool is_residual_object)
424  : Attribute(w, "residual_object"), _val(is_residual_object), _initd(true)
425  {
426  }
427 
428  virtual void initFrom(const MooseObject * obj) override;
429  virtual bool isMatch(const Attribute & other) const override;
430  virtual bool isEqual(const Attribute & other) const override;
431  hashfunc(_val);
433 
434 private:
435  bool _val;
436  bool _initd;
437 };
438 
439 class AttribVar : public Attribute
440 {
441 public:
442  typedef int Key;
443  void setFrom(const Key & k) { _val = k; }
444 
445  AttribVar(TheWarehouse & w) : Attribute(w, "variable") {}
446  AttribVar(TheWarehouse & w, int var) : Attribute(w, "variable"), _val(var) {}
447  virtual void initFrom(const MooseObject * obj) override;
448  virtual bool isMatch(const Attribute & other) const override;
449  virtual bool isEqual(const Attribute & other) const override;
450  hashfunc(_val);
452 
453 private:
454  int _val = -1;
455 };
456 
458 {
459 public:
460  typedef Interfaces Key;
461  void setFrom(Key k) { _val = static_cast<uint64_t>(k); }
462 
463  AttribInterfaces(TheWarehouse & w) : Attribute(w, "interfaces") {}
465  : Attribute(w, "interfaces"), _val(static_cast<uint64_t>(mask))
466  {
467  }
468  AttribInterfaces(TheWarehouse & w, unsigned int mask) : Attribute(w, "interfaces"), _val(mask) {}
469  virtual void initFrom(const MooseObject * obj) override;
470  virtual bool isMatch(const Attribute & other) const override;
471  virtual bool isEqual(const Attribute & other) const override;
472  hashfunc(_val);
474 
475 private:
476  uint64_t _val = 0;
477 };
478 
483 {
484 public:
485  typedef signed char Key;
486  void setFrom(Key k) { _val = k; }
487 
488  AttribDisplaced(TheWarehouse & w) : Attribute(w, "displaced") {}
489  AttribDisplaced(TheWarehouse & w, Key t) : Attribute(w, "displaced"), _val(t) {}
490  virtual void initFrom(const MooseObject * obj) override;
491  virtual bool isMatch(const Attribute & other) const override;
492  virtual bool isEqual(const Attribute & other) const override;
493  hashfunc(_val);
495 
496 private:
497  Key _val = -1;
498 };
499 
500 #undef clonefunc
501 #undef hashfunc
std::string name(const ElemQuality q)
std::tuple< BoundaryID, bool > Key
Definition: Attributes.h:192
hashfunc(_val)
AttribVectorTags(TheWarehouse &w, TagID tag)
Definition: Attributes.h:124
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...
Definition: Attributes.C:372
AttribTagBase(TheWarehouse &w, TagID tag, const std::string &attrib_name)
Definition: Attributes.h:71
std::set< Key > _vals
Definition: Attributes.h:336
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:121
std::ostream & operator<<(std::ostream &os, Interfaces &iface)
Definition: Attributes.C:40
std::string Key
Definition: Attributes.h:374
std::vector< SubdomainID > _vals
Definition: Attributes.h:183
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:395
void setFrom(const Key &k)
Definition: Attributes.h:416
AttribMatrixTags(TheWarehouse &w, const std::set< TagID > &tags)
Definition: Attributes.h:103
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...
Definition: Attributes.C:96
AttribExecOns(TheWarehouse &w, const int id)
Definition: Attributes.h:146
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:327
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...
Definition: Attributes.C:80
std::string _val
Definition: Attributes.h:386
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...
Definition: Attributes.C:405
const unsigned int invalid_uint
unsigned int Key
Definition: Attributes.h:116
AttribPreAux(TheWarehouse &w)
Definition: Attributes.h:324
unsigned int TagID
Definition: MooseTypes.h:238
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:305
THREAD_ID Key
Definition: Attributes.h:237
void setFrom(Key k)
Definition: Attributes.h:299
Attribute is an abstract class that can be implemented in order to track custom metadata about MooseO...
Definition: TheWarehouse.h:51
AttribDisplaced(TheWarehouse &w)
Definition: Attributes.h:488
AttribSysNum(TheWarehouse &w)
Definition: Attributes.h:282
AttribPostAux(TheWarehouse &w)
Definition: Attributes.h:355
bool _must_be_restricted
Definition: Attributes.h:231
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:270
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:457
AttribPreAux(TheWarehouse &w, Key val)
Definition: Attributes.h:325
unsigned int _val
Definition: Attributes.h:291
AttribInterfaces(TheWarehouse &w, Interfaces mask)
Definition: Attributes.h:464
AttribExecutionOrderGroup(TheWarehouse &w)
Definition: Attributes.h:258
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...
Definition: Attributes.C:162
AttribResidualObject(TheWarehouse &w, bool is_residual_object)
Definition: Attributes.h:423
void setFrom(Key k)
Definition: Attributes.h:280
void setFrom(Key k)
Definition: Attributes.h:349
clonefunc(AttribSystem)
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...
Definition: Attributes.C:388
clonefunc(AttribVectorTags)
AttribBoundaries(TheWarehouse &w, const std::vector< BoundaryID > &ids, bool must_be_restricted=false)
Definition: Attributes.h:214
AttribInterfaces(TheWarehouse &w, unsigned int mask)
Definition: Attributes.h:468
AttribTagBase(TheWarehouse &w, const std::set< TagID > &tags, const std::string &attrib_name)
Definition: Attributes.h:76
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:437
unsigned int Key
Definition: Attributes.h:279
std::vector< BoundaryID > _vals
Definition: Attributes.h:230
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
Definition: Attributes.h:314
clonefunc(AttribVar)
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...
Definition: Attributes.C:293
/class BoundaryRestrictable /brief Provides functionality for limiting the object to certain boundary...
AttribInterfaces(TheWarehouse &w)
Definition: Attributes.h:463
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:133
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:517
Registered base class for linear FV interpolation objects.
unsigned int Key
Definition: Attributes.h:94
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...
Definition: Attributes.C:210
Base class for user objects executed one or more sidesets, which may be on the outer boundary of the ...
AttribVar(TheWarehouse &w, int var)
Definition: Attributes.h:446
std::basic_ostream< charT, traits > * os
Definition: InfixIterator.h:34
Interfaces
Definition: Attributes.h:20
This user object allows related evaluations on elements, boundaries, internal sides, interfaces in one single place.
AttribSystem(TheWarehouse &w, const std::string &system)
Definition: Attributes.h:396
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...
Definition: Reporter.h:47
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...
Definition: Attributes.C:189
AttribSubdomains(TheWarehouse &w, SubdomainID id)
Definition: Attributes.h:172
void setFrom(Key k)
Definition: Attributes.h:461
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:287
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:400
hashfunc(_vals, _must_be_restricted)
AttribDisplaced(TheWarehouse &w, Key t)
Definition: Attributes.h:489
signed char Key
Definition: Attributes.h:485
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...
Definition: Attributes.C:257
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...
Definition: Attributes.C:471
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
Definition: Attributes.h:295
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...
Definition: Attributes.C:275
std::vector< Key > _vals
Definition: Attributes.h:158
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:418
AttribBoundaries(TheWarehouse &w, const std::set< BoundaryID > &ids, bool must_be_restricted=false)
Definition: Attributes.h:206
clonefunc(AttribDisplaced)
AttribBoundaries(TheWarehouse &w, BoundaryID id, bool must_be_restricted=false)
Definition: Attributes.h:201
clonefunc(AttribResidualObject)
AttribThread(TheWarehouse &w, THREAD_ID t)
Definition: Attributes.h:241
AttribPostAux(TheWarehouse &w, const std::set< Key > &vals)
Definition: Attributes.h:357
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...
Definition: Attributes.C:524
void setFrom(Key k)
Definition: Attributes.h:486
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...
Definition: Attributes.C:237
clonefunc(AttribExecutionOrderGroup)
Tracks the libmesh system number that a MooseObject is associated with.
Definition: Attributes.h:276
AttribExecutionOrderGroup(TheWarehouse &w, Key p)
Definition: Attributes.h:259
clonefunc(AttribPreIC)
AttribMatrixTags(TheWarehouse &w)
Definition: Attributes.h:101
AttribPreIC(TheWarehouse &w, bool pre_ic)
Definition: Attributes.h:302
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:28
ElementUserObject class in which the _phi and _grad_phi shape function data is available and correctl...
void setFrom(Key k)
Definition: Attributes.h:238
boundary_id_type BoundaryID
void setFrom(Key k)
Definition: Attributes.h:165
AttribVectorTags(TheWarehouse &w)
Definition: Attributes.h:123
void setFrom(const Key &k)
Definition: Attributes.h:375
AttribBoundaries tracks all boundary IDs associated with an object.
Definition: Attributes.h:189
TheWarehouse is a container for MooseObjects that allows querying/filtering over various customizeabl...
Definition: TheWarehouse.h:186
clonefunc(AttribThread)
clonefunc(AttribName)
clonefunc(AttribSubdomains)
static const ExecFlagType EXEC_ALL
Execute flag that is used to represent all flags when querying AttribExecOns.
Definition: Attributes.h:136
clonefunc(AttribMatrixTags)
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...
Definition: Attributes.C:344
clonefunc(AttribPostAux)
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...
Definition: Attributes.C:503
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...
Definition: Attributes.C:424
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...
Definition: Attributes.C:314
AttribPreIC(TheWarehouse &w)
Definition: Attributes.h:301
void setFrom(Key k)
Definition: Attributes.h:95
std::string Key
Definition: Attributes.h:392
Base class for all Postprocessors.
Definition: Postprocessor.h:23
void setFrom(const Key &k)
Definition: Attributes.h:393
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...
Definition: Attributes.C:321
AttribSystem(TheWarehouse &w)
Definition: Attributes.h:395
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
Definition: Attributes.h:345
AttribPreAux(TheWarehouse &w, const std::set< Key > &vals)
Definition: Attributes.h:326
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...
Definition: Attributes.C:510
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:109
std::set< Key > _vals
Definition: Attributes.h:368
Base class for user objects executed on all element sides internal to one or more blocks...
hashfunc(_vals)
AttribVectorTags(TheWarehouse &w, const std::set< TagID > &tags)
Definition: Attributes.h:125
Residual objects have this attribute.
Definition: Attributes.h:412
AttribTagBase(TheWarehouse &w, const std::string &attrib_name)
Definition: Attributes.h:70
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:223
SubdomainID Key
Definition: Attributes.h:164
clonefunc(AttribPreAux)
std::vector< TagID > _vals
Definition: Attributes.h:88
const int & id() const
Return the numeric, name, or raw name.
Definition: MooseEnumItem.h:34
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...
Definition: Attributes.C:451
AttribVar(TheWarehouse &w)
Definition: Attributes.h:445
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...
Definition: Attributes.C:146
AttribSubdomains(TheWarehouse &w)
Definition: Attributes.h:171
void setFrom(Key k)
Definition: Attributes.h:117
AttribResidualObject(TheWarehouse &w)
Definition: Attributes.h:418
AttribBoundaries(TheWarehouse &w)
Definition: Attributes.h:200
AttribThread(TheWarehouse &w)
Definition: Attributes.h:240
AttribPostAux(TheWarehouse &w, Key val)
Definition: Attributes.h:356
void setFrom(const Key &k)
Definition: Attributes.h:443
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...
Definition: Attributes.C:444
Class for containing MooseEnum item information.
Definition: MooseEnumItem.h:18
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...
Definition: Attributes.C:331
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...
Definition: Attributes.C:281
AttribTagBase tracks all (vector or matrix) tags associated with an object.
Definition: Attributes.h:67
AttribSysNum(TheWarehouse &w, unsigned int t)
Definition: Attributes.h:283
An interface that restricts an object to subdomains via the &#39;blocks&#39; 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...
Definition: Attributes.C:412
AttribMatrixTags(TheWarehouse &w, TagID tag)
Definition: Attributes.h:102
void setFrom(Key k)
Definition: Attributes.h:193
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...
Definition: Attributes.C:338
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:477
clonefunc(AttribSysNum)
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...
Definition: Attributes.C:464
clonefunc(AttribBoundaries)
clonefunc(AttribExecOns)
Interfaces Key
Definition: Attributes.h:460
Tracks whether the object is on the displaced mesh.
Definition: Attributes.h:482
AttribExecOns(TheWarehouse &w)
Definition: Attributes.h:145
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...
Definition: Attributes.C:431
AttribName(TheWarehouse &w, const std::string &name)
Definition: Attributes.h:378
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:367
std::string _val
Definition: Attributes.h:406
Base class for Postprocessors that produce a vector of values.
hashfunc(_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...
Definition: Attributes.C:360
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...
Definition: Attributes.C:299
void setFrom(Key k)
Definition: Attributes.h:139
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:175
Base class for user-specific data.
Definition: UserObject.h:19
hashfunc(_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...
Definition: Attributes.C:531
SideUserObject class in which the _phi and _grad_phi shape function data is available and correctly i...
unsigned int THREAD_ID
Definition: MooseTypes.h:237
THREAD_ID _val
Definition: Attributes.h:249
An instance of this object type has one copy per thread that runs on each thread. ...
AttribName(TheWarehouse &w)
Definition: Attributes.h:377
AttribExecOns(TheWarehouse &w, const ExecFlagType &exec_flag)
Definition: Attributes.h:147
void setFrom(Key k)
Definition: Attributes.h:318