www.mooseframework.org
Attributes.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 };
40 
41 template <>
42 struct enable_bitmask_operators<Interfaces>
43 {
44  static const bool enable = true;
45 };
46 
47 std::ostream & operator<<(std::ostream & os, Interfaces & iface);
48 
49 #define clonefunc(T) \
50  virtual std::unique_ptr<Attribute> clone() const override \
51  { \
52  return std::unique_ptr<Attribute>(new T(*this)); \
53  }
54 
55 #define hashfunc(...) \
56  virtual size_t hash() const override \
57  { \
58  size_t h = 0; \
59  Moose::hash_combine(h, __VA_ARGS__); \
60  return h; \
61  }
62 
66 class AttribTagBase : public Attribute
67 {
68 public:
69  AttribTagBase(TheWarehouse & w, const std::string & attrib_name) : Attribute(w, attrib_name) {}
70  AttribTagBase(TheWarehouse & w, TagID tag, const std::string & attrib_name)
71  : Attribute(w, attrib_name)
72  {
73  _vals.push_back(tag);
74  }
75  AttribTagBase(TheWarehouse & w, const std::set<TagID> & tags, const std::string & attrib_name)
76  : Attribute(w, attrib_name)
77  {
78  for (auto tag : tags)
79  _vals.push_back(tag);
80  }
81 
82  virtual bool isMatch(const Attribute & other) const override;
83  virtual bool isEqual(const Attribute & other) const override;
84  hashfunc(_vals);
85 
86 protected:
87  std::vector<TagID> _vals;
88 };
89 
91 {
92 public:
93  typedef unsigned int Key;
94  void setFrom(Key k)
95  {
96  _vals.clear();
97  _vals.push_back(k);
98  }
99 
100  AttribMatrixTags(TheWarehouse & w) : AttribTagBase(w, "matrix_tags") {}
101  AttribMatrixTags(TheWarehouse & w, TagID tag) : AttribTagBase(w, tag, "matrix_tags") {}
102  AttribMatrixTags(TheWarehouse & w, const std::set<TagID> & tags)
103  : AttribTagBase(w, tags, "matrix_tags")
104  {
105  }
106  virtual void initFrom(const MooseObject * obj) override;
108 };
109 
111 {
112 public:
114 
115  typedef unsigned int Key;
116  void setFrom(Key k)
117  {
118  _vals.clear();
119  _vals.push_back(k);
120  }
121 
122  AttribVectorTags(TheWarehouse & w) : AttribTagBase(w, "vector_tags") {}
123  AttribVectorTags(TheWarehouse & w, TagID tag) : AttribTagBase(w, tag, "vector_tags") {}
124  AttribVectorTags(TheWarehouse & w, const std::set<TagID> & tags)
125  : AttribTagBase(w, tags, "vector_tags")
126  {
127  }
128  virtual void initFrom(const MooseObject * obj) override;
129 };
130 
131 class AttribExecOns : public Attribute
132 {
133 public:
135  static const ExecFlagType EXEC_ALL;
136 
137  typedef int Key;
138  void setFrom(Key k)
139  {
140  _vals.clear();
141  _vals.push_back(k);
142  }
143 
144  AttribExecOns(TheWarehouse & w) : Attribute(w, "exec_ons") {}
145  AttribExecOns(TheWarehouse & w, const int id) : Attribute(w, "exec_ons"), _vals({id}) {}
146  AttribExecOns(TheWarehouse & w, const ExecFlagType & exec_flag)
147  : Attribute(w, "exec_ons"), _vals({exec_flag.id()})
148  {
149  }
150  virtual void initFrom(const MooseObject * obj) override;
151  virtual bool isMatch(const Attribute & other) const override;
152  virtual bool isEqual(const Attribute & other) const override;
153  hashfunc(_vals);
155 
156 private:
157  std::vector<Key> _vals;
158 };
159 
161 {
162 public:
163  typedef SubdomainID Key;
164  void setFrom(Key k)
165  {
166  _vals.clear();
167  _vals.push_back(k);
168  }
169 
170  AttribSubdomains(TheWarehouse & w) : Attribute(w, "subdomains") {}
172  {
173  _vals.push_back(id);
174  }
175  virtual void initFrom(const MooseObject * obj) override;
176  virtual bool isMatch(const Attribute & other) const override;
177  virtual bool isEqual(const Attribute & other) const override;
178  hashfunc(_vals);
180 
181 private:
182  std::vector<SubdomainID> _vals;
183 };
184 
189 {
190 public:
191  typedef std::tuple<BoundaryID, bool> Key;
192  void setFrom(Key k)
193  {
194  _vals.clear();
195  _vals.push_back(std::get<0>(k));
196  _must_be_restricted = std::get<1>(k);
197  }
198 
199  AttribBoundaries(TheWarehouse & w) : Attribute(w, "boundaries") {}
200  AttribBoundaries(TheWarehouse & w, BoundaryID id, bool must_be_restricted = false)
201  : Attribute(w, "boundaries"), _must_be_restricted(must_be_restricted)
202  {
203  _vals.push_back(id);
204  }
206  const std::set<BoundaryID> & ids,
207  bool must_be_restricted = false)
208  : Attribute(w, "boundaries"), _must_be_restricted(must_be_restricted)
209  {
210  for (auto id : ids)
211  _vals.push_back(id);
212  }
214  const std::vector<BoundaryID> & ids,
215  bool must_be_restricted = false)
216  : Attribute(w, "boundaries"), _must_be_restricted(must_be_restricted)
217  {
218  _vals.reserve(ids.size());
219  for (auto id : ids)
220  _vals.push_back(id);
221  }
222  virtual void initFrom(const MooseObject * obj) override;
223  virtual bool isMatch(const Attribute & other) const override;
224  virtual bool isEqual(const Attribute & other) const override;
227 
228 private:
229  std::vector<BoundaryID> _vals;
230  bool _must_be_restricted = false;
231 };
232 
233 class AttribThread : public Attribute
234 {
235 public:
236  typedef THREAD_ID Key;
237  void setFrom(Key k) { _val = k; }
238 
239  AttribThread(TheWarehouse & w) : Attribute(w, "thread") {}
240  AttribThread(TheWarehouse & w, THREAD_ID t) : Attribute(w, "thread"), _val(t) {}
241  virtual void initFrom(const MooseObject * obj) override;
242  virtual bool isMatch(const Attribute & other) const override;
243  virtual bool isEqual(const Attribute & other) const override;
244  hashfunc(_val);
246 
247 private:
249 };
250 
252 {
253 public:
254  typedef int Key;
255  void setFrom(Key k) { _val = k; }
256 
257  AttribExecutionOrderGroup(TheWarehouse & w) : Attribute(w, "execution_order_group") {}
259  : Attribute(w, "execution_order_group"), _val(p)
260  {
261  }
262  virtual void initFrom(const MooseObject * obj) override;
263  virtual bool isMatch(const Attribute & other) const override;
264  virtual bool isEqual(const Attribute & other) const override;
265  hashfunc(_val);
267 
268 private:
269  int _val = 0;
270 };
271 
275 class AttribSysNum : public Attribute
276 {
277 public:
278  typedef unsigned int Key;
279  void setFrom(Key k) { _val = k; }
280 
281  AttribSysNum(TheWarehouse & w) : Attribute(w, "sys_num") {}
282  AttribSysNum(TheWarehouse & w, unsigned int t) : Attribute(w, "sys_num"), _val(t) {}
283  virtual void initFrom(const MooseObject * obj) override;
284  virtual bool isMatch(const Attribute & other) const override;
285  virtual bool isEqual(const Attribute & other) const override;
286  hashfunc(_val);
288 
289 private:
290  unsigned int _val = libMesh::invalid_uint;
291 };
292 
294 class AttribPreIC : public Attribute
295 {
296 public:
297  typedef bool Key;
298  void setFrom(Key k) { _val = k; }
299 
300  AttribPreIC(TheWarehouse & w) : Attribute(w, "pre_ic") {}
301  AttribPreIC(TheWarehouse & w, bool pre_ic) : Attribute(w, "pre_ic"), _val(pre_ic) {}
302  virtual void initFrom(const MooseObject * obj) override;
303  virtual bool isMatch(const Attribute & other) const override;
304  virtual bool isEqual(const Attribute & other) const override;
305  hashfunc(_val);
307 
308 private:
309  bool _val = false;
310 };
311 
313 class AttribPreAux : public Attribute
314 {
315 public:
316  typedef int Key;
317  void setFrom(Key k)
318  {
319  _vals.clear();
320  _vals.insert(k);
321  }
322 
323  AttribPreAux(TheWarehouse & w) : Attribute(w, "pre_aux") {}
324  AttribPreAux(TheWarehouse & w, Key val) : Attribute(w, "pre_aux") { _vals.insert(val); }
325  AttribPreAux(TheWarehouse & w, const std::set<Key> & vals) : Attribute(w, "pre_aux"), _vals(vals)
326  {
327  }
328  virtual void initFrom(const MooseObject * obj) override;
329  virtual bool isMatch(const Attribute & other) const override;
330  virtual bool isEqual(const Attribute & other) const override;
331  hashfunc(_vals);
333 
334 private:
335  std::set<Key> _vals;
336 };
337 
344 class AttribPostAux : public Attribute
345 {
346 public:
347  typedef int Key;
348  void setFrom(Key k)
349  {
350  _vals.clear();
351  _vals.insert(k);
352  }
353 
354  AttribPostAux(TheWarehouse & w) : Attribute(w, "post_aux") {}
355  AttribPostAux(TheWarehouse & w, Key val) : Attribute(w, "post_aux") { _vals.insert(val); }
356  AttribPostAux(TheWarehouse & w, const std::set<Key> & vals)
357  : Attribute(w, "post_aux"), _vals(vals)
358  {
359  }
360  virtual void initFrom(const MooseObject * obj) override;
361  virtual bool isMatch(const Attribute & other) const override;
362  virtual bool isEqual(const Attribute & other) const override;
363  hashfunc(_vals);
365 
366 private:
367  std::set<Key> _vals;
368 };
369 
370 class AttribName : public Attribute
371 {
372 public:
373  typedef std::string Key;
374  void setFrom(const Key & k) { _val = k; }
375 
376  AttribName(TheWarehouse & w) : Attribute(w, "name") {}
377  AttribName(TheWarehouse & w, const std::string & name) : Attribute(w, "name"), _val(name) {}
378  virtual void initFrom(const MooseObject * obj) override;
379  virtual bool isMatch(const Attribute & other) const override;
380  virtual bool isEqual(const Attribute & other) const override;
381  hashfunc(_val);
383 
384 private:
385  std::string _val;
386 };
387 
388 class AttribSystem : public Attribute
389 {
390 public:
391  typedef std::string Key;
392  void setFrom(const Key & k) { _val = k; }
393 
394  AttribSystem(TheWarehouse & w) : Attribute(w, "system") {}
395  AttribSystem(TheWarehouse & w, const std::string & system) : Attribute(w, "system"), _val(system)
396  {
397  }
398  virtual void initFrom(const MooseObject * obj) override;
399  virtual bool isMatch(const Attribute & other) const override;
400  virtual bool isEqual(const Attribute & other) const override;
401  hashfunc(_val);
403 
404 private:
405  std::string _val;
406 };
407 
412 {
413 public:
414  typedef bool Key;
415  void setFrom(const Key & k) { _val = k; }
416 
418  : Attribute(w, "residual_object"), _val(false), _initd(false)
419  {
420  }
421 
422  AttribResidualObject(TheWarehouse & w, bool is_residual_object)
423  : Attribute(w, "residual_object"), _val(is_residual_object), _initd(true)
424  {
425  }
426 
427  virtual void initFrom(const MooseObject * obj) override;
428  virtual bool isMatch(const Attribute & other) const override;
429  virtual bool isEqual(const Attribute & other) const override;
430  hashfunc(_val);
432 
433 private:
434  bool _val;
435  bool _initd;
436 };
437 
438 class AttribVar : public Attribute
439 {
440 public:
441  typedef int Key;
442  void setFrom(const Key & k) { _val = k; }
443 
444  AttribVar(TheWarehouse & w) : Attribute(w, "variable") {}
445  AttribVar(TheWarehouse & w, int var) : Attribute(w, "variable"), _val(var) {}
446  virtual void initFrom(const MooseObject * obj) override;
447  virtual bool isMatch(const Attribute & other) const override;
448  virtual bool isEqual(const Attribute & other) const override;
449  hashfunc(_val);
451 
452 private:
453  int _val = -1;
454 };
455 
457 {
458 public:
459  typedef Interfaces Key;
460  void setFrom(Key k) { _val = static_cast<uint64_t>(k); }
461 
462  AttribInterfaces(TheWarehouse & w) : Attribute(w, "interfaces") {}
464  : Attribute(w, "interfaces"), _val(static_cast<uint64_t>(mask))
465  {
466  }
467  AttribInterfaces(TheWarehouse & w, unsigned int mask) : Attribute(w, "interfaces"), _val(mask) {}
468  virtual void initFrom(const MooseObject * obj) override;
469  virtual bool isMatch(const Attribute & other) const override;
470  virtual bool isEqual(const Attribute & other) const override;
471  hashfunc(_val);
473 
474 private:
475  uint64_t _val = 0;
476 };
477 
482 {
483 public:
484  typedef signed char Key;
485  void setFrom(Key k) { _val = k; }
486 
487  AttribDisplaced(TheWarehouse & w) : Attribute(w, "displaced") {}
488  AttribDisplaced(TheWarehouse & w, Key t) : Attribute(w, "displaced"), _val(t) {}
489  virtual void initFrom(const MooseObject * obj) override;
490  virtual bool isMatch(const Attribute & other) const override;
491  virtual bool isEqual(const Attribute & other) const override;
492  hashfunc(_val);
494 
495 private:
496  Key _val = -1;
497 };
498 
499 #undef clonefunc
500 #undef hashfunc
std::string name(const ElemQuality q)
std::tuple< BoundaryID, bool > Key
Definition: Attributes.h:191
hashfunc(_val)
AttribVectorTags(TheWarehouse &w, TagID tag)
Definition: Attributes.h:123
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:369
AttribTagBase(TheWarehouse &w, TagID tag, const std::string &attrib_name)
Definition: Attributes.h:70
std::set< Key > _vals
Definition: Attributes.h:335
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:118
std::ostream & operator<<(std::ostream &os, Interfaces &iface)
Definition: Attributes.C:39
std::string Key
Definition: Attributes.h:373
std::vector< SubdomainID > _vals
Definition: Attributes.h:182
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:392
void setFrom(const Key &k)
Definition: Attributes.h:415
AttribMatrixTags(TheWarehouse &w, const std::set< TagID > &tags)
Definition: Attributes.h:102
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:93
AttribExecOns(TheWarehouse &w, const int id)
Definition: Attributes.h:145
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:324
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:77
std::string _val
Definition: Attributes.h:385
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:402
const unsigned int invalid_uint
unsigned int Key
Definition: Attributes.h:115
AttribPreAux(TheWarehouse &w)
Definition: Attributes.h:323
unsigned int TagID
Definition: MooseTypes.h:199
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:302
THREAD_ID Key
Definition: Attributes.h:236
void setFrom(Key k)
Definition: Attributes.h:298
Attribute is an abstract class that can be implemented in order to track custom metadata about MooseO...
Definition: TheWarehouse.h:50
AttribDisplaced(TheWarehouse &w)
Definition: Attributes.h:487
AttribSysNum(TheWarehouse &w)
Definition: Attributes.h:281
AttribPostAux(TheWarehouse &w)
Definition: Attributes.h:354
bool _must_be_restricted
Definition: Attributes.h:230
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:267
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:454
AttribPreAux(TheWarehouse &w, Key val)
Definition: Attributes.h:324
unsigned int _val
Definition: Attributes.h:290
AttribInterfaces(TheWarehouse &w, Interfaces mask)
Definition: Attributes.h:463
AttribExecutionOrderGroup(TheWarehouse &w)
Definition: Attributes.h:257
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:159
AttribResidualObject(TheWarehouse &w, bool is_residual_object)
Definition: Attributes.h:422
void setFrom(Key k)
Definition: Attributes.h:279
void setFrom(Key k)
Definition: Attributes.h:348
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:385
clonefunc(AttribVectorTags)
AttribBoundaries(TheWarehouse &w, const std::vector< BoundaryID > &ids, bool must_be_restricted=false)
Definition: Attributes.h:213
AttribInterfaces(TheWarehouse &w, unsigned int mask)
Definition: Attributes.h:467
AttribTagBase(TheWarehouse &w, const std::set< TagID > &tags, const std::string &attrib_name)
Definition: Attributes.h:75
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:434
unsigned int Key
Definition: Attributes.h:278
std::vector< BoundaryID > _vals
Definition: Attributes.h:229
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
Definition: Attributes.h:313
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:290
/class BoundaryRestrictable /brief Provides functionality for limiting the object to certain boundary...
AttribInterfaces(TheWarehouse &w)
Definition: Attributes.h:462
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:130
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:513
unsigned int Key
Definition: Attributes.h:93
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:207
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:445
std::basic_ostream< charT, traits > * os
Definition: InfixIterator.h:33
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:395
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:186
AttribSubdomains(TheWarehouse &w, SubdomainID id)
Definition: Attributes.h:171
void setFrom(Key k)
Definition: Attributes.h:460
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:284
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:397
hashfunc(_vals, _must_be_restricted)
AttribDisplaced(TheWarehouse &w, Key t)
Definition: Attributes.h:488
signed char Key
Definition: Attributes.h:484
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:254
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:468
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
Definition: Attributes.h:294
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:272
std::vector< Key > _vals
Definition: Attributes.h:157
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:415
AttribBoundaries(TheWarehouse &w, const std::set< BoundaryID > &ids, bool must_be_restricted=false)
Definition: Attributes.h:205
clonefunc(AttribDisplaced)
AttribBoundaries(TheWarehouse &w, BoundaryID id, bool must_be_restricted=false)
Definition: Attributes.h:200
clonefunc(AttribResidualObject)
AttribThread(TheWarehouse &w, THREAD_ID t)
Definition: Attributes.h:240
AttribPostAux(TheWarehouse &w, const std::set< Key > &vals)
Definition: Attributes.h:356
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:520
void setFrom(Key k)
Definition: Attributes.h:485
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:234
clonefunc(AttribExecutionOrderGroup)
Tracks the libmesh system number that a MooseObject is associated with.
Definition: Attributes.h:275
AttribExecutionOrderGroup(TheWarehouse &w, Key p)
Definition: Attributes.h:258
clonefunc(AttribPreIC)
AttribMatrixTags(TheWarehouse &w)
Definition: Attributes.h:100
AttribPreIC(TheWarehouse &w, bool pre_ic)
Definition: Attributes.h:301
Every object that can be built by the factory should be derived from this class.
Definition: MooseObject.h:33
ElementUserObject class in which the _phi and _grad_phi shape function data is available and correctl...
void setFrom(Key k)
Definition: Attributes.h:237
boundary_id_type BoundaryID
void setFrom(Key k)
Definition: Attributes.h:164
AttribVectorTags(TheWarehouse &w)
Definition: Attributes.h:122
void setFrom(const Key &k)
Definition: Attributes.h:374
AttribBoundaries tracks all boundary IDs associated with an object.
Definition: Attributes.h:188
TheWarehouse is a container for MooseObjects that allows querying/filtering over various customizeabl...
Definition: TheWarehouse.h:185
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:135
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:341
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:499
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:421
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:311
AttribPreIC(TheWarehouse &w)
Definition: Attributes.h:300
void setFrom(Key k)
Definition: Attributes.h:94
std::string Key
Definition: Attributes.h:391
Base class for all Postprocessors.
Definition: Postprocessor.h:23
void setFrom(const Key &k)
Definition: Attributes.h:392
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:318
AttribSystem(TheWarehouse &w)
Definition: Attributes.h:394
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
Definition: Attributes.h:344
AttribPreAux(TheWarehouse &w, const std::set< Key > &vals)
Definition: Attributes.h:325
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:506
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:106
std::set< Key > _vals
Definition: Attributes.h:367
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:124
Residual objects have this attribute.
Definition: Attributes.h:411
AttribTagBase(TheWarehouse &w, const std::string &attrib_name)
Definition: Attributes.h:69
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:220
SubdomainID Key
Definition: Attributes.h:163
clonefunc(AttribPreAux)
std::vector< TagID > _vals
Definition: Attributes.h:87
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:448
AttribVar(TheWarehouse &w)
Definition: Attributes.h:444
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:143
AttribSubdomains(TheWarehouse &w)
Definition: Attributes.h:170
void setFrom(Key k)
Definition: Attributes.h:116
AttribResidualObject(TheWarehouse &w)
Definition: Attributes.h:417
AttribBoundaries(TheWarehouse &w)
Definition: Attributes.h:199
AttribThread(TheWarehouse &w)
Definition: Attributes.h:239
AttribPostAux(TheWarehouse &w, Key val)
Definition: Attributes.h:355
void setFrom(const Key &k)
Definition: Attributes.h:442
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:441
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:328
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:278
AttribTagBase tracks all (vector or matrix) tags associated with an object.
Definition: Attributes.h:66
AttribSysNum(TheWarehouse &w, unsigned int t)
Definition: Attributes.h:282
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:409
AttribMatrixTags(TheWarehouse &w, TagID tag)
Definition: Attributes.h:101
void setFrom(Key k)
Definition: Attributes.h:192
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:335
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:474
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:461
clonefunc(AttribBoundaries)
clonefunc(AttribExecOns)
Interfaces Key
Definition: Attributes.h:459
Tracks whether the object is on the displaced mesh.
Definition: Attributes.h:481
AttribExecOns(TheWarehouse &w)
Definition: Attributes.h:144
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:428
AttribName(TheWarehouse &w, const std::string &name)
Definition: Attributes.h:377
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:364
std::string _val
Definition: Attributes.h:405
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:357
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:296
void setFrom(Key k)
Definition: Attributes.h:138
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition: Attributes.C:172
Base class for user-specific data.
Definition: UserObject.h:39
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:527
SideUserObject class in which the _phi and _grad_phi shape function data is available and correctly i...
unsigned int THREAD_ID
Definition: MooseTypes.h:198
THREAD_ID _val
Definition: Attributes.h:248
An instance of this object type has one copy per thread that runs on each thread. ...
AttribName(TheWarehouse &w)
Definition: Attributes.h:376
AttribExecOns(TheWarehouse &w, const ExecFlagType &exec_flag)
Definition: Attributes.h:146
void setFrom(Key k)
Definition: Attributes.h:317