https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
20enum class Interfaces
21{
22 UserObject = 1 << 1,
23 ElementUserObject = 1 << 2,
24 SideUserObject = 1 << 3,
26 NodalUserObject = 1 << 5,
27 GeneralUserObject = 1 << 6,
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
42template <>
43struct enable_bitmask_operators<Interfaces>
44{
45 static const bool enable = true;
46};
47
48std::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
68{
69public:
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;
86
87protected:
88 std::vector<TagID> _vals;
89};
90
92{
93public:
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{
113public:
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
133{
134public:
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}) {}
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;
156
157private:
158 std::vector<Key> _vals;
159};
160
162{
163public:
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;
181
182private:
183 std::vector<SubdomainID> _vals;
184};
185
190{
191public:
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
229private:
230 std::vector<BoundaryID> _vals;
232};
233
235{
236public:
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;
247
248private:
250};
251
253{
254public:
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;
268
269private:
270 int _val = 0;
271};
272
277{
278public:
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;
289
290private:
292};
293
295class AttribPreIC : public Attribute
296{
297public:
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;
308
309private:
310 bool _val = false;
311};
312
315{
316public:
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;
334
335private:
336 std::set<Key> _vals;
337};
338
346{
347public:
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;
366
367private:
368 std::set<Key> _vals;
369};
370
371class AttribName : public Attribute
372{
373public:
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;
384
385private:
386 std::string _val;
387};
388
390{
391public:
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;
404
405private:
406 std::string _val;
407};
408
410{
411public:
412 typedef bool Key;
413 void setFrom(const Key & k) { _val = k; }
414
415 AttribKokkos(TheWarehouse & w) : Attribute(w, "kokkos"), _val(false) {}
416 AttribKokkos(TheWarehouse & w, bool is_kokkos) : Attribute(w, "kokkos"), _val(is_kokkos) {}
417 virtual void initFrom(const MooseObject * obj) override;
418 virtual bool isMatch(const Attribute & other) const override;
419 virtual bool isEqual(const Attribute & other) const override;
422
423private:
424 bool _val;
425};
426
431{
432public:
433 typedef bool Key;
434 void setFrom(const Key & k) { _val = k; }
435
437 : Attribute(w, "residual_object"), _val(false), _initd(false)
438 {
439 }
440
441 AttribResidualObject(TheWarehouse & w, bool is_residual_object)
442 : Attribute(w, "residual_object"), _val(is_residual_object), _initd(true)
443 {
444 }
445
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;
451
452private:
453 bool _val;
454 bool _initd;
455};
456
457class AttribVar : public Attribute
458{
459public:
460 typedef int Key;
461 void setFrom(const Key & k) { _val = k; }
462
463 AttribVar(TheWarehouse & w) : Attribute(w, "variable") {}
464 AttribVar(TheWarehouse & w, int var) : Attribute(w, "variable"), _val(var) {}
465 virtual void initFrom(const MooseObject * obj) override;
466 virtual bool isMatch(const Attribute & other) const override;
467 virtual bool isEqual(const Attribute & other) const override;
470
471private:
472 int _val = -1;
473};
474
476{
477public:
479 void setFrom(Key k) { _val = static_cast<uint64_t>(k); }
480
481 AttribInterfaces(TheWarehouse & w) : Attribute(w, "interfaces") {}
483 : Attribute(w, "interfaces"), _val(static_cast<uint64_t>(mask))
484 {
485 }
486 AttribInterfaces(TheWarehouse & w, unsigned int mask) : Attribute(w, "interfaces"), _val(mask) {}
487 virtual void initFrom(const MooseObject * obj) override;
488 virtual bool isMatch(const Attribute & other) const override;
489 virtual bool isEqual(const Attribute & other) const override;
492
493private:
494 uint64_t _val = 0;
495};
496
501{
502public:
503 typedef signed char Key;
504 void setFrom(Key k) { _val = k; }
505
506 AttribDisplaced(TheWarehouse & w) : Attribute(w, "displaced") {}
507 AttribDisplaced(TheWarehouse & w, Key t) : Attribute(w, "displaced"), _val(t) {}
508 virtual void initFrom(const MooseObject * obj) override;
509 virtual bool isMatch(const Attribute & other) const override;
510 virtual bool isEqual(const Attribute & other) const override;
513
514private:
515 Key _val = -1;
516};
517
518#undef clonefunc
519#undef hashfunc
Interfaces
Definition Attributes.h:21
std::ostream & operator<<(std::ostream &os, Interfaces &iface)
Definition Attributes.C:40
boundary_id_type BoundaryID
unsigned int TagID
Definition MooseTypes.h:238
unsigned int THREAD_ID
Definition MooseTypes.h:237
AttribBoundaries tracks all boundary IDs associated with an object.
Definition Attributes.h:190
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
std::vector< BoundaryID > _vals
Definition Attributes.h:230
AttribBoundaries(TheWarehouse &w, const std::set< BoundaryID > &ids, bool must_be_restricted=false)
Definition Attributes.h:206
std::tuple< BoundaryID, bool > Key
Definition Attributes.h:192
hashfunc(_vals, _must_be_restricted)
AttribBoundaries(TheWarehouse &w, const std::vector< BoundaryID > &ids, bool must_be_restricted=false)
Definition Attributes.h:214
AttribBoundaries(TheWarehouse &w, BoundaryID id, bool must_be_restricted=false)
Definition Attributes.h:201
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
AttribBoundaries(TheWarehouse &w)
Definition Attributes.h:200
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
clonefunc(AttribBoundaries)
void setFrom(Key k)
Definition Attributes.h:193
Tracks whether the object is on the displaced mesh.
Definition Attributes.h:501
clonefunc(AttribDisplaced)
AttribDisplaced(TheWarehouse &w)
Definition Attributes.h: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:541
void setFrom(Key k)
Definition Attributes.h:504
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:548
signed char Key
Definition Attributes.h:503
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:555
AttribDisplaced(TheWarehouse &w, Key t)
Definition Attributes.h:507
void setFrom(Key k)
Definition Attributes.h:139
static const ExecFlagType EXEC_ALL
Execute flag that is used to represent all flags when querying AttribExecOns.
Definition Attributes.h:136
AttribExecOns(TheWarehouse &w, const int id)
Definition Attributes.h:146
std::vector< Key > _vals
Definition Attributes.h:158
clonefunc(AttribExecOns)
AttribExecOns(TheWarehouse &w, const ExecFlagType &exec_flag)
Definition Attributes.h:147
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
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 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
AttribExecOns(TheWarehouse &w)
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:287
clonefunc(AttribExecutionOrderGroup)
AttribExecutionOrderGroup(TheWarehouse &w, Key p)
Definition Attributes.h:259
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
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:299
Interfaces Key
Definition Attributes.h:478
AttribInterfaces(TheWarehouse &w, Interfaces mask)
Definition Attributes.h:482
AttribInterfaces(TheWarehouse &w)
Definition Attributes.h:481
clonefunc(AttribInterfaces)
void setFrom(Key k)
Definition Attributes.h:479
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:534
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:527
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition Attributes.C:501
AttribInterfaces(TheWarehouse &w, unsigned int mask)
Definition Attributes.h:486
AttribKokkos(TheWarehouse &w, bool is_kokkos)
Definition Attributes.h:416
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:455
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:448
AttribKokkos(TheWarehouse &w)
Definition Attributes.h:415
void setFrom(const Key &k)
Definition Attributes.h:413
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
clonefunc(AttribKokkos)
void setFrom(Key k)
Definition Attributes.h:95
AttribMatrixTags(TheWarehouse &w, const std::set< TagID > &tags)
Definition Attributes.h:103
AttribMatrixTags(TheWarehouse &w, TagID tag)
Definition Attributes.h:102
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
AttribMatrixTags(TheWarehouse &w)
Definition Attributes.h:101
clonefunc(AttribMatrixTags)
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:412
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
AttribName(TheWarehouse &w, const std::string &name)
Definition Attributes.h:378
AttribName(TheWarehouse &w)
Definition Attributes.h:377
hashfunc(_val)
std::string _val
Definition Attributes.h:386
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
std::string Key
Definition Attributes.h:374
void setFrom(const Key &k)
Definition Attributes.h:375
clonefunc(AttribName)
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
Definition Attributes.h:346
std::set< Key > _vals
Definition Attributes.h:368
void setFrom(Key k)
Definition Attributes.h:349
AttribPostAux(TheWarehouse &w, Key val)
Definition Attributes.h:356
AttribPostAux(TheWarehouse &w)
Definition Attributes.h:355
AttribPostAux(TheWarehouse &w, const std::set< Key > &vals)
Definition Attributes.h:357
clonefunc(AttribPostAux)
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
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
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
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
Definition Attributes.h:315
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
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
AttribPreAux(TheWarehouse &w, Key val)
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:360
clonefunc(AttribPreAux)
hashfunc(_vals)
AttribPreAux(TheWarehouse &w)
Definition Attributes.h:324
std::set< Key > _vals
Definition Attributes.h:336
AttribPreAux(TheWarehouse &w, const std::set< Key > &vals)
Definition Attributes.h:326
void setFrom(Key k)
Definition Attributes.h:318
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
Definition Attributes.h:296
AttribPreIC(TheWarehouse &w)
Definition Attributes.h:301
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
AttribPreIC(TheWarehouse &w, bool pre_ic)
Definition Attributes.h:302
clonefunc(AttribPreIC)
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:338
void setFrom(Key k)
Definition Attributes.h:299
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
Residual objects have this attribute.
Definition Attributes.h:431
AttribResidualObject(TheWarehouse &w)
Definition Attributes.h:436
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition Attributes.C:461
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:475
AttribResidualObject(TheWarehouse &w, bool is_residual_object)
Definition Attributes.h:441
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.
Definition Attributes.C:468
void setFrom(const Key &k)
Definition Attributes.h:434
void setFrom(Key k)
Definition Attributes.h:165
AttribSubdomains(TheWarehouse &w)
Definition Attributes.h:171
std::vector< SubdomainID > _vals
Definition Attributes.h:183
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
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
SubdomainID Key
Definition Attributes.h:164
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
clonefunc(AttribSubdomains)
AttribSubdomains(TheWarehouse &w, SubdomainID id)
Definition Attributes.h:172
Tracks the libmesh system number that a MooseObject is associated with.
Definition Attributes.h:277
clonefunc(AttribSysNum)
unsigned int _val
Definition Attributes.h:291
void setFrom(Key k)
Definition Attributes.h:280
AttribSysNum(TheWarehouse &w, unsigned int t)
Definition Attributes.h:283
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
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
unsigned int Key
Definition Attributes.h:279
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
AttribSysNum(TheWarehouse &w)
Definition Attributes.h:282
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
std::string _val
Definition Attributes.h:406
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:431
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
AttribSystem(TheWarehouse &w)
Definition Attributes.h:395
clonefunc(AttribSystem)
AttribSystem(TheWarehouse &w, const std::string &system)
Definition Attributes.h:396
std::string Key
Definition Attributes.h:392
AttribTagBase tracks all (vector or matrix) tags associated with an object.
Definition Attributes.h:68
AttribTagBase(TheWarehouse &w, TagID tag, const std::string &attrib_name)
Definition Attributes.h:71
std::vector< TagID > _vals
Definition Attributes.h:88
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
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
AttribTagBase(TheWarehouse &w, const std::string &attrib_name)
Definition Attributes.h:70
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:270
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
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
void setFrom(Key k)
Definition Attributes.h:238
THREAD_ID Key
Definition Attributes.h:237
THREAD_ID _val
Definition Attributes.h:249
clonefunc(AttribThread)
AttribThread(TheWarehouse &w, THREAD_ID t)
Definition Attributes.h:241
AttribThread(TheWarehouse &w)
Definition Attributes.h:240
hashfunc(_val)
AttribVar(TheWarehouse &w, int var)
Definition Attributes.h:464
clonefunc(AttribVar)
void setFrom(const Key &k)
Definition Attributes.h:461
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:495
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:488
virtual void initFrom(const MooseObject *obj) override
initFrom reads and stores the desired meta-data from obj for later matching comparisons.
Definition Attributes.C:481
AttribVar(TheWarehouse &w)
Definition Attributes.h:463
clonefunc(AttribVectorTags)
AttribVectorTags(TheWarehouse &w, const std::set< TagID > &tags)
Definition Attributes.h:125
AttribVectorTags(TheWarehouse &w, TagID tag)
Definition Attributes.h:124
unsigned int Key
Definition Attributes.h:116
AttribVectorTags(TheWarehouse &w)
Definition Attributes.h:123
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
void setFrom(Key k)
Definition Attributes.h:117
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.
Definition MooseObject.h:31
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...
Definition Reporter.h:48
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.
Definition UserObject.h:20
Base class for Postprocessors that produce a vector of values.
const unsigned int invalid_uint