106{
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128 std::map<T *, std::set<int>> pre_aux_dependencies;
129 std::map<T *, std::set<int>> post_aux_dependencies;
130
131
132
133
134
135 std::map<T *, bool> is_pre_ic;
136
137 for (const auto obj : objs)
138 is_pre_ic[obj] = false;
139
141 {
143 for (const auto obj : objs)
144 {
145 if (depend_objects_aux.count(obj->name()) > 0)
146 {
147 pre_aux_dependencies[obj].insert(flag);
149 is_pre_ic.at(obj) = true;
150 }
152
153
154
155 post_aux_dependencies[obj].insert(flag);
156 }
157 }
158
159 for (const auto obj : objs)
160 {
161 if (ic_deps.count(obj->name()) > 0 ||
162 (obj->isParamValid("force_preic") && obj->template getParam<bool>("force_preic")))
163 {
165 is_pre_ic.at(obj) = true;
166 }
167
168 if ((obj->isParamValid("force_preaux") && obj->template getParam<bool>("force_preaux")))
169 {
170 post_aux_dependencies[obj].clear();
172 pre_aux_dependencies[obj].insert(flag);
173 }
174 else if (obj->isParamValid("force_postaux") && obj->template getParam<bool>("force_postaux"))
175 {
176 pre_aux_dependencies[obj].clear();
178 post_aux_dependencies[obj].insert(flag);
179 }
180 else
181 {
182
183
184
185
186
187 if (!is_pre_ic.at(obj))
189 }
190 }
191
192 for (auto & item : pre_aux_dependencies)
194
195 for (auto & item : post_aux_dependencies)
197}
const ExecFlagType EXEC_INITIAL
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
TODO: delete this later - it is a temporary hack for dealing with inter-system dependencies.
std::set< std::string > getDependObjects(ExecFlagType type)
Get a list of dependent UserObjects for this exec type.
Class for containing MooseEnum item information.
void update(MooseObject *obj)
update updates the metadata/attribute-info stored for the given object obj that must already exists i...
ExecFlagEnum execute_flags
Storage for the registered execute flags.