148{
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170 std::map<T *, std::set<int>> pre_aux_dependencies;
171 std::map<T *, std::set<int>> post_aux_dependencies;
172
173
174
175
176
177 std::map<T *, bool> is_pre_ic;
178
179 for (const auto obj : objs)
180 is_pre_ic[obj] = false;
181
183 {
185 for (const auto obj : objs)
186 {
187 if (depend_objects_aux.count(obj->name()) > 0)
188 {
189 pre_aux_dependencies[obj].insert(flag);
191 is_pre_ic.at(obj) = true;
192 }
194
195
196
197 post_aux_dependencies[obj].insert(flag);
198 }
199 }
200
201 for (const auto obj : objs)
202 {
203 if (ic_deps.count(obj->name()) > 0 ||
204 (obj->isParamValid("force_preic") && obj->template getParam<bool>("force_preic")))
205 {
207 is_pre_ic.at(obj) = true;
208 }
209
210 if ((obj->isParamValid("force_preaux") && obj->template getParam<bool>("force_preaux")))
211 {
212 post_aux_dependencies[obj].clear();
214 pre_aux_dependencies[obj].insert(flag);
215 }
216 else if (obj->isParamValid("force_postaux") && obj->template getParam<bool>("force_postaux"))
217 {
218 pre_aux_dependencies[obj].clear();
220 post_aux_dependencies[obj].insert(flag);
221 }
222 else
223 {
224
225
226
227
228
229 if (!is_pre_ic.at(obj))
231 }
232 }
233
234 for (auto & item : pre_aux_dependencies)
236
237 for (auto & item : post_aux_dependencies)
239}
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.